Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: restore flag that allowed websockets to not be backgrounded (#39754
) * fix: restore flag that allowed websockets to not be backgrounded Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com> * chore: update patches * chore: update patches --------- Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com> Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
- Loading branch information
1 parent
a3acea9
commit ab272cb
Showing
2 changed files
with
42 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
41 changes: 41 additions & 0 deletions
41
patches/chromium/revert_remove_the_allowaggressivethrottlingwithwebsocket_feature.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 | ||
From: Samuel Attard <samuel.r.attard@gmail.com> | ||
Date: Tue, 5 Sep 2023 13:22:31 -0700 | ||
Subject: Revert "Remove the AllowAggressiveThrottlingWithWebSocket feature." | ||
|
||
This reverts commit 615c1810a187840ffeb04096087efff86edb37de. | ||
|
||
diff --git a/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc b/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc | ||
index 98a78f1a7b6a5005f7d5da4ac279e38b61fac4dc..330e1e37b2d9f154ccc360d1102375efded12ff9 100644 | ||
--- a/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc | ||
+++ b/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc | ||
@@ -94,6 +94,17 @@ enum WebSocketOpCode { | ||
kOpCodeBinary = 0x2, | ||
}; | ||
|
||
+// When enabled, a page can be aggressively throttled even if it uses a | ||
+// WebSocket. Aggressive throttling does not affect the execution of WebSocket | ||
+// event handlers, so there is little reason to disable it on pages using a | ||
+// WebSocket. | ||
+// | ||
+// TODO(crbug.com/1121725): Cleanup this feature in June 2021, when it becomes | ||
+// enabled by default on Stable. | ||
+BASE_FEATURE(kAllowAggressiveThrottlingWithWebSocket, | ||
+ "AllowAggressiveThrottlingWithWebSocket", | ||
+ base::FEATURE_ENABLED_BY_DEFAULT); | ||
+ | ||
} // namespace | ||
|
||
void WebSocketChannelImpl::MessageDataDeleter::operator()(char* p) const { | ||
@@ -284,7 +295,10 @@ bool WebSocketChannelImpl::Connect(const KURL& url, const String& protocol) { | ||
// even if the `WebSocketChannel` is closed. | ||
feature_handle_for_scheduler_ = scheduler->RegisterFeature( | ||
SchedulingPolicy::Feature::kWebSocket, | ||
- SchedulingPolicy{SchedulingPolicy::DisableBackForwardCache()}); | ||
+ base::FeatureList::IsEnabled(kAllowAggressiveThrottlingWithWebSocket) | ||
+ ? SchedulingPolicy{SchedulingPolicy::DisableBackForwardCache()} | ||
+ : SchedulingPolicy{SchedulingPolicy::DisableAggressiveThrottling(), | ||
+ SchedulingPolicy::DisableBackForwardCache()}); | ||
scheduler->RegisterStickyFeature( | ||
SchedulingPolicy::Feature::kWebSocketSticky, | ||
SchedulingPolicy{SchedulingPolicy::DisableBackForwardCache()}); |