electron/patches/chromium/revert_remove_the_allowaggressivethrottlingwithwebsocket_feature.patch
electron-roller[bot] cf5a4640f5
chore: bump chromium to 133.0.6878.0 (main) (#44831)
* chore: bump chromium in DEPS to 133.0.6858.0

* chore: bump chromium in DEPS to 133.0.6860.0

* chore: update patches

v8/revert_fastapi_remove_dynamic_overload_resolution.patch had some additions due to https://chromium-review.googlesource.com/c/v8/v8/+/6023139

* 6044060: Reland "Moves shared GN templates into //build/config/apple."
https://chromium-review.googlesource.com/c/chromium/src/+/6044060

* Revert "6023139: [fastapi] Add support for attribute setters"
https://chromium-review.googlesource.com/c/v8/v8/+/6023139

* Update printing.patch

The removed include is present in the original source file now, just slightly before where it was being added.

6015430: Reduce platform-like buildflags in sandbox code
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/6015430

* 6039836: Migrate Command::IsMediaKey to be a member of ui::Accelerator
https://chromium-review.googlesource.com/c/chromium/src/+/6039836

* 6038659: [CodeHealth] Clean up the feature ZstdContentEncoding
https://chromium-review.googlesource.com/c/chromium/src/+/6038659

* chore: bump chromium in DEPS to 133.0.6862.0

* chore: update patches

* 72747: crypto: switch to C++
https://boringssl-review.googlesource.com/c/boringssl/+/72747

* fixup! 72747: crypto: switch to C++ https://boringssl-review.googlesource.com/c/boringssl/+/72747

* chore: gen libc++ filenames

* 6042601: [shared storage] Implement with_lock option for methods from response headers
https://chromium-review.googlesource.com/c/chromium/src/+/6042601

* chore: bump chromium in DEPS to 133.0.6864.0

* chore: bump chromium in DEPS to 133.0.6866.0

* chore: bump chromium in DEPS to 133.0.6868.0

* chore: bump chromium in DEPS to 133.0.6870.0

* chore: bump chromium in DEPS to 133.0.6872.0

* chore: bump chromium in DEPS to 133.0.6874.0

* chore: bump chromium in DEPS to 133.0.6876.0

* 6039992: Fix false activation logic for context menu. | https://chromium-review.googlesource.com/c/chromium/src/+/6039992

* chore: update patches

* chore: update patches

* chore: bump chromium in DEPS to 133.0.6878.0

* chore: update patches

* [Build] Organize //components/dbus into a single component

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/6055280

* Merge //components/dbus/* into a single //components/dbus, which
  matches how most components are organized. This avoids having
  many small shared libraries which incurs unnecessary overhead.
* Limit visibility of //components/dbus/* to //components/dbus

* fixup! Update _LIBCPP_ABI_VERSION to always have a default value while keeping unstable false due to changes in llvm https://github.com/llvm/llvm-project/pull/112094

* 6040416: Let s know which widget the input came on. | https://chromium-review.googlesource.com/c/chromium/src/+/6040416

* 6056267: [MPArch guest view] Fix authentication for MPArch guests | https://chromium-review.googlesource.com/c/chromium/src/+/6056267

* make_span() is deprecated: https://issues.chromium.org/issues/341907909

* fixup: https://issues.chromium.org/issues/341907909

* chore: delete extra bracket from removing make_span commit

* fixup: 6059305: Make WTF::UTF8ConversionMode a scoped enum | https://chromium-review.googlesource.com/c/chromium/src/+/6059305

* 6051058: CookieInclusionStatus: Remove ctors which bypass invariants | https://chromium-review.googlesource.com/c/chromium/src/+/6051058

* 6038981: Remove most remaining CHECK(false)s | https://chromium-review.googlesource.com/c/chromium/src/+/6038981

* build: use third_party/simdutf in Node.js

* chore: node ./script/gen-libc++-filenames.js

* chore: fix strict-cast conversion error in subspan()

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/6044946

* chore: fix strict-cast conversion error in base::as_bytes()

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/6044946

* chore: fix strict-cast conversion error in span.split_at()

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/6044946

* chore: use shorthand target name

* chore: better docs in build_add_public_config_simdutf_config.patch

---------

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: clavin <clavin@electronjs.org>
Co-authored-by: alice <alice@makenotion.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2024-12-10 13:16:07 -06:00

41 lines
2.2 KiB
Diff

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 7a885de263f1c84fc676c62caa6c787983e47994..854d57812e99bb4668aa3bbf3f63bdb0219e658d 100644
--- a/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc
+++ b/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc
@@ -104,6 +104,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
WebSocketChannelImpl::MessageDataDeleter::MessageDataDeleter(
@@ -297,7 +308,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()});