2023-09-06 18:23:17 +00:00
|
|
|
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
|
2024-04-15 22:10:32 +00:00
|
|
|
index 4028103044ba8996e0c547795520f96a3470a6a6..864d37c74946129e380f1ff06278952ea73365ce 100644
|
2023-09-06 18:23:17 +00:00
|
|
|
--- a/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc
|
|
|
|
+++ b/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc
|
2024-01-25 17:46:30 +00:00
|
|
|
@@ -96,6 +96,17 @@ enum WebSocketOpCode {
|
2023-09-06 18:23:17 +00:00
|
|
|
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 {
|
2024-01-25 17:46:30 +00:00
|
|
|
@@ -286,7 +297,10 @@ bool WebSocketChannelImpl::Connect(const KURL& url, const String& protocol) {
|
2023-09-06 18:23:17 +00:00
|
|
|
// 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()});
|