chore: bump chromium to 135.0.7041.2 (main) (#45850)

* chore: bump chromium in DEPS to 135.0.7041.2

* [Extensions] Remove ExtensionsBrowserClient::GetUserAgent()

6306854

* chore: update patches

* [api] Remove deprecated FunctionCallbackInfo::Holder()

6309166

* [test] Add createExternalizableTwoByteString to extension

6304942

* fixup [test] Add createExternalizableTwoByteString to extension

---------

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
This commit is contained in:
electron-roller[bot] 2025-02-28 17:29:23 -05:00 committed by GitHub
parent eac270bea7
commit add374ef6a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
31 changed files with 112 additions and 64 deletions

2
DEPS
View file

@ -2,7 +2,7 @@ gclient_gn_args_from = 'src'
vars = {
'chromium_version':
'135.0.7040.0',
'135.0.7041.2',
'node_version':
'v22.14.0',
'nan_version':

View file

@ -15,7 +15,7 @@ Refs changes in:
This patch reverts the changes to fix associated crashes in Electron.
diff --git a/third_party/blink/renderer/core/frame/frame.cc b/third_party/blink/renderer/core/frame/frame.cc
index e662d4d61595735a30d5c721147a95698d4da3d9..6a0388aad469422dd1c0c2164f8aa858c55cce70 100644
index fb943cbe362b560d36f31076cf28c56eeb32c9d1..d29a28b96a5ed7152512382ed7001fc9e348aea8 100644
--- a/third_party/blink/renderer/core/frame/frame.cc
+++ b/third_party/blink/renderer/core/frame/frame.cc
@@ -134,14 +134,6 @@ bool Frame::Detach(FrameDetachType type) {

View file

@ -33,7 +33,7 @@ index bdf6d5865fb0069f4df368613167069d2fb50c86..93a126365406badf911d938dde2dcd8b
"//base",
"//build:branding_buildflags",
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 55f0989f2235d9522f8e1f2c2c186e6c803a2277..1b1e217c3b99f7682931929285db4b6cc5297efb 100644
index 0c9c08fe6c1303bc624464582857eb05b422f14c..adb35ecb5ba8fa69b2f20a6b4fd6a154a792bee3 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -4565,7 +4565,7 @@ static_library("browser") {
@ -46,10 +46,10 @@ index 55f0989f2235d9522f8e1f2c2c186e6c803a2277..1b1e217c3b99f7682931929285db4b6c
# than here in :chrome_dll.
deps += [ "//chrome:packed_resources_integrity_header" ]
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index 8de22ff79b2f79efbe08e587f310b42cc7aca7e9..530b86aff07d6301242bbd93a1d0ee7fdfc5f5cc 100644
index 77056dcfa38390f5e047a9a9fea2e86357c33237..9c9f2c4bd3de71928e63ee8ea8f33a51c3404302 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -7046,9 +7046,12 @@ test("unit_tests") {
@@ -7052,9 +7052,12 @@ test("unit_tests") {
"//chrome/notification_helper",
]
@ -63,7 +63,7 @@ index 8de22ff79b2f79efbe08e587f310b42cc7aca7e9..530b86aff07d6301242bbd93a1d0ee7f
"//chrome//services/util_win:unit_tests",
"//chrome/app:chrome_dll_resources",
"//chrome/app:win_unit_tests",
@@ -8010,6 +8013,10 @@ test("unit_tests") {
@@ -8015,6 +8018,10 @@ test("unit_tests") {
"../browser/performance_manager/policies/background_tab_loading_policy_unittest.cc",
]
@ -74,7 +74,7 @@ index 8de22ff79b2f79efbe08e587f310b42cc7aca7e9..530b86aff07d6301242bbd93a1d0ee7f
sources += [
# The importer code is not used on Android.
"../common/importer/firefox_importer_utils_unittest.cc",
@@ -8065,7 +8072,6 @@ test("unit_tests") {
@@ -8070,7 +8077,6 @@ test("unit_tests") {
# Non-android deps for "unit_tests" target.
deps += [
"../browser/screen_ai:screen_ai_install_state",

View file

@ -9,7 +9,7 @@ potentially prevent a window from being created.
TODO(loc): this patch is currently broken.
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
index 4b7821aa92f1b503205da3bc7b297edb793e8b6c..661883b2423e6fab045d2a503dbbca2f59f52094 100644
index d7f1dc68e780f08af438c6ce67a3c856ef31daef..09752e9cda20f0020976015d58f73f320031d11e 100644
--- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -9612,6 +9612,7 @@ void RenderFrameHostImpl::CreateNewWindow(
@ -21,10 +21,10 @@ index 4b7821aa92f1b503205da3bc7b297edb793e8b6c..661883b2423e6fab045d2a503dbbca2f
&no_javascript_access);
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 1c1e71f9cd6b496ac71aeaa1af06aed7d7de7a2a..55e8c7151816d8892ea9de79dd265d60823641d3 100644
index c3e88374849c6062195fb78072123f05e1929fe8..79bc1f7a5c44a0dd255b5ca676d95c9fa9c31496 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -5031,6 +5031,12 @@ FrameTree* WebContentsImpl::CreateNewWindow(
@@ -5032,6 +5032,12 @@ FrameTree* WebContentsImpl::CreateNewWindow(
SetPartitionedPopinOpenerOnNewWindowIfNeeded(new_contents_impl, params,
opener);
@ -37,7 +37,7 @@ index 1c1e71f9cd6b496ac71aeaa1af06aed7d7de7a2a..55e8c7151816d8892ea9de79dd265d60
// If the new frame has a name, make sure any SiteInstances that can find
// this named frame have proxies for it. Must be called after
// SetSessionStorageNamespace, since this calls CreateRenderView, which uses
@@ -5072,12 +5078,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
@@ -5073,12 +5079,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
AddWebContentsDestructionObserver(new_contents_impl);
}

View file

@ -14,10 +14,10 @@ track down the source of this problem & figure out if we can fix it
by changing something in Electron.
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index c6cb7d5ab2afbe272d6eb817456e4ba9d1f2be9d..a4780deb95ab5d1391191e1ba505b0f2c2bafd2a 100644
index 86a1a0244a3744d0571c046d3e6fc9413c9fbbf0..1396f371c8ae82a1ce52096c176a135cf02b2d65 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -4950,7 +4950,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
@@ -4951,7 +4951,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
: IsGuest();
// While some guest types do not have a guest SiteInstance, the ones that
// don't all override WebContents creation above.

View file

@ -218,10 +218,10 @@ index c6838c83ef971b88769b1f3fba8095025ae25464..2da6a4e08340e72ba7de5d03444c2f17
content::WebContents* AddNewContents(
content::WebContents* source,
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index b2e68cacaf357147f357cffce0ee6d14726790bc..c6e46c170fa51233f3a1744dded3e5106f44f1b9 100644
index 9f18308873306e841bbc15d9ba36c93ba5603a15..9d6ad368980202f74d36785623d27354beef3f03 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -4913,8 +4913,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
@@ -4914,8 +4914,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
// TODO(crbug.com/40202416): Support a way for MPArch guests to support this.
if (delegate_ && delegate_->IsWebContentsCreationOverridden(
source_site_instance, params.window_container_type,

View file

@ -95,10 +95,10 @@ index 801bfd401ea4a8e72417d88efaa718cc6fb60883..663fec68d0c2855cdf83bb259b85c229
friend class ContentClientCreator;
friend class ContentClientInitializer;
diff --git a/gin/v8_initializer.cc b/gin/v8_initializer.cc
index 9597933fe35d4419a8a954c3b6a7ba9a574e5e5b..738903c041e5aa6545b0b6282752558e541d84bf 100644
index e72331d0821a14507e3c973f07889adcf45d3bdf..3acfc0d49787579d0250703eed3d6e31b79c567a 100644
--- a/gin/v8_initializer.cc
+++ b/gin/v8_initializer.cc
@@ -658,8 +658,7 @@ void V8Initializer::GetV8ExternalSnapshotData(const char** snapshot_data_out,
@@ -657,8 +657,7 @@ void V8Initializer::GetV8ExternalSnapshotData(const char** snapshot_data_out,
#if defined(V8_USE_EXTERNAL_STARTUP_DATA)
@ -108,7 +108,7 @@ index 9597933fe35d4419a8a954c3b6a7ba9a574e5e5b..738903c041e5aa6545b0b6282752558e
if (g_mapped_snapshot) {
// TODO(crbug.com/40558459): Confirm not loading different type of snapshot
// files in a process.
@@ -668,10 +667,17 @@ void V8Initializer::LoadV8Snapshot(V8SnapshotFileType snapshot_file_type) {
@@ -667,10 +666,17 @@ void V8Initializer::LoadV8Snapshot(V8SnapshotFileType snapshot_file_type) {
base::MemoryMappedFile::Region file_region;
base::File file =

View file

@ -6,7 +6,7 @@ Subject: disable_hidden.patch
Electron uses this to disable background throttling for hidden windows.
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
index e6d739f62afc1c8fa8c19601f8bc034c5ce7edf1..99d7fe568cecce44b68dfb896f4d2560d75b5556 100644
index 79a679ac59c3ebe4dc1180389cf7073560e843e6..8aa812aa9bb3de4c7bc58192baf45c90402d6ff4 100644
--- a/content/browser/renderer_host/render_widget_host_impl.cc
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
@@ -832,6 +832,10 @@ void RenderWidgetHostImpl::WasHidden() {
@ -21,10 +21,10 @@ index e6d739f62afc1c8fa8c19601f8bc034c5ce7edf1..99d7fe568cecce44b68dfb896f4d2560
// Prompts should remain open and functional across tab switches.
if (!delegate_ || !delegate_->IsWaitingForPointerLockPrompt(this)) {
diff --git a/content/browser/renderer_host/render_widget_host_impl.h b/content/browser/renderer_host/render_widget_host_impl.h
index fe1fdd4d52e8671daf173dbded92af0e95812452..18087692f089fb86def2da7d5ec98acad6e0f3db 100644
index 068b8036ad91357a5bb274f377ffb44f939d87be..c636170388f81f5afdcd3e86f85ec9f2ec944bb0 100644
--- a/content/browser/renderer_host/render_widget_host_impl.h
+++ b/content/browser/renderer_host/render_widget_host_impl.h
@@ -1015,6 +1015,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl
@@ -1018,6 +1018,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl
// Requests a commit and forced redraw in the renderer compositor.
void ForceRedrawForTesting();

View file

@ -33,7 +33,7 @@ index 0ab8187b0db8ae6db46d81738f653a2bc4c566f6..de3d55e85c22317f7f9375eb94d0d5d4
} // namespace net
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
index 64dede12549790b8ce9e50b3de2a62154f5acf79..5d39f64bda0a48f1e278686f3ac567fd441afce4 100644
index e346cfb127a1fa8656bfbc1eba829907e19bc22f..e18583e520b4ab66110605b67c703a1c48b770a4 100644
--- a/services/network/network_context.cc
+++ b/services/network/network_context.cc
@@ -1810,6 +1810,13 @@ void NetworkContext::SetNetworkConditions(

View file

@ -28,7 +28,7 @@ The patch should be removed in favor of either:
Upstream bug https://bugs.chromium.org/p/chromium/issues/detail?id=1081397.
diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc
index f9dc10236c19c8464459002e991a4963aebd8873..7bfefa4fb26df1b7ce2bff5e91166d7db91b90b6 100644
index 73f61aa418db85558a0f8cfa574ee2e2f575ef90..4f376522e87fc8075eca6705b1bb781c86cde947 100644
--- a/content/browser/renderer_host/navigation_request.cc
+++ b/content/browser/renderer_host/navigation_request.cc
@@ -11048,6 +11048,12 @@ NavigationRequest::GetOriginForURLLoaderFactoryUncheckedWithDebugInfo() {

View file

@ -87,10 +87,10 @@ index 51522e60d6dc14f1113cc438558b6b393c3fe73a..153ed02f493a83ef9ca354cc18736f93
// The view with active text input state, i.e., a focused <input> element.
// It will be nullptr if no such view exists. Note that the active view
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index c9ec18657b11ad00bc4c3cb1f9cae327c2785386..c6cb7d5ab2afbe272d6eb817456e4ba9d1f2be9d 100644
index 55840c1cf5323d1796f1c3b056602411f513a220..86a1a0244a3744d0571c046d3e6fc9413c9fbbf0 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -9738,7 +9738,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(
@@ -9739,7 +9739,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(
"WebContentsImpl::OnFocusedElementChangedInFrame",
"render_frame_host", frame);
RenderWidgetHostViewBase* root_view =

View file

@ -11,10 +11,10 @@ This patch should be upstreamed as a conditional revert of the logic in desktop
vs mobile runtimes. i.e. restore the old logic only on desktop platforms
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
index e420ccfd374e1a6be1ab1e16752584413de23c63..7d3d003fee030926e330a02a9f00b1f807940be3 100644
index 574e31bcfeb16cdb9a6c0121ffbc1abe175bb4ab..70b56daa9f59db356755b98014f0fce84980c554 100644
--- a/content/browser/renderer_host/render_widget_host_impl.cc
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
@@ -2103,9 +2103,8 @@ RenderWidgetHostImpl::GetWidgetInputHandler() {
@@ -2114,9 +2114,8 @@ RenderWidgetHostImpl::GetWidgetInputHandler() {
void RenderWidgetHostImpl::NotifyScreenInfoChanged() {
// The resize message (which may not happen immediately) will carry with it
// the screen info as well as the new size (if the screen has changed scale

View file

@ -6,10 +6,10 @@ Subject: frame_host_manager.patch
Allows embedder to intercept site instances created by chromium.
diff --git a/content/browser/renderer_host/render_frame_host_manager.cc b/content/browser/renderer_host/render_frame_host_manager.cc
index 7ece2f1a4e55587c37bff9ebeec6d8783625f795..fc5f6cffb6eee6a80728e649ec503d3be10644bc 100644
index 537b9313ca471e342c7dd894dd82e0ab67e23d2b..5573b22d28d1df7dfaa57b702511b78f9606d8d7 100644
--- a/content/browser/renderer_host/render_frame_host_manager.cc
+++ b/content/browser/renderer_host/render_frame_host_manager.cc
@@ -4728,6 +4728,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
@@ -4729,6 +4729,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
request->ResetStateForSiteInstanceChange();
}

View file

@ -41,10 +41,10 @@ index ff42cfbb6a228e902317c7e3ab035d8437d5dd62..e27f177ce27e177abf6cee84cd466e7a
// Returns whether `Initialize` has already been invoked in the process.
// Initialization is a one-way operation (i.e., this method cannot return
diff --git a/gin/v8_initializer.cc b/gin/v8_initializer.cc
index 22ff86f4c419e9d7d095a31b0ec25b033a319ae6..9597933fe35d4419a8a954c3b6a7ba9a574e5e5b 100644
index 532f0a1b5a7dbe6d8fd8c734e7f6b72dbc1df4ad..e72331d0821a14507e3c973f07889adcf45d3bdf 100644
--- a/gin/v8_initializer.cc
+++ b/gin/v8_initializer.cc
@@ -542,7 +542,8 @@ void SetFeatureFlags() {
@@ -541,7 +541,8 @@ void SetFeatureFlags() {
void V8Initializer::Initialize(IsolateHolder::ScriptMode mode,
const std::string& js_command_line_flags,
bool disallow_v8_feature_flag_overrides,
@ -54,7 +54,7 @@ index 22ff86f4c419e9d7d095a31b0ec25b033a319ae6..9597933fe35d4419a8a954c3b6a7ba9a
static bool v8_is_initialized = false;
if (v8_is_initialized)
return;
@@ -556,7 +557,8 @@ void V8Initializer::Initialize(IsolateHolder::ScriptMode mode,
@@ -555,7 +556,8 @@ void V8Initializer::Initialize(IsolateHolder::ScriptMode mode,
}
SetFlags(mode, js_command_line_flags);

View file

@ -6,7 +6,7 @@ Subject: gritsettings_resource_ids.patch
Add electron resources file to the list of resource ids generation.
diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_ids.spec
index 4d696890b52f95c29c5d0f47ce45ecf277a17e92..20d60e4ccaf97d4ef70dc7fcdaa431a16b4f0801 100644
index 2cd6ca756a745e1387469914eb3d649dff104ccb..45ce48afff4178af11d3cb55b859c9b48aa5ab60 100644
--- a/tools/gritsettings/resource_ids.spec
+++ b/tools/gritsettings/resource_ids.spec
@@ -1472,6 +1472,11 @@

View file

@ -792,7 +792,7 @@ index a1068589ad844518038ee7bc15a3de9bc5cba525..1ff781c49f086ec8015c7d3c44567dbe
} // namespace content
diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
index 856af923d58b66f06f85cfb167e06b54b1090059..8bb78dc0bc7cd6aea37b3b3d839dc7d99ccb5ef1 100644
index 23d2ac7768ec651a6542b14eb1b9d3636f90b192..c5d33465dba18c7fd1258e8a0e78f870d5be441c 100644
--- a/content/test/BUILD.gn
+++ b/content/test/BUILD.gn
@@ -658,6 +658,7 @@ static_library("test_support") {
@ -811,7 +811,7 @@ index 856af923d58b66f06f85cfb167e06b54b1090059..8bb78dc0bc7cd6aea37b3b3d839dc7d9
}
mojom("content_test_mojo_bindings") {
@@ -1945,6 +1947,7 @@ test("content_browsertests") {
@@ -1946,6 +1948,7 @@ test("content_browsertests") {
"//ui/shell_dialogs",
"//ui/snapshot",
"//ui/webui:test_support",
@ -819,7 +819,7 @@ index 856af923d58b66f06f85cfb167e06b54b1090059..8bb78dc0bc7cd6aea37b3b3d839dc7d9
]
if (!(is_chromeos && target_cpu == "arm64" && current_cpu == "arm")) {
@@ -3250,6 +3253,7 @@ test("content_unittests") {
@@ -3251,6 +3254,7 @@ test("content_unittests") {
"//ui/latency:test_support",
"//ui/shell_dialogs:shell_dialogs",
"//ui/webui:test_support",
@ -1843,7 +1843,7 @@ index 29ae2da6a8a2c2a612dfb92f7f9c03ca5fa306b1..440c139a32a0c205e77b657d4aab6468
// Query the display's refresh rate.
if (@available(macos 12.0, *)) {
diff --git a/ui/gfx/BUILD.gn b/ui/gfx/BUILD.gn
index ce11b87ffe8824cbe190c1cde30f05723006141f..a9eb639710a11122d2c1200a4a69f45562b5ae40 100644
index cb507971bef962e91cd8fca696692194696d1142..d2aee3962e3377980940e6d3538487a566a609b4 100644
--- a/ui/gfx/BUILD.gn
+++ b/ui/gfx/BUILD.gn
@@ -334,6 +334,12 @@ component("gfx") {

View file

@ -7,7 +7,7 @@ This adds a callback from the network service that's used to implement
session.setCertificateVerifyCallback.
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
index 4ebe50a989edc12592357e289c582aa8ef3c47f3..64dede12549790b8ce9e50b3de2a62154f5acf79 100644
index 1c73ead38a713a3b4c582c857ab062040625cceb..e346cfb127a1fa8656bfbc1eba829907e19bc22f 100644
--- a/services/network/network_context.cc
+++ b/services/network/network_context.cc
@@ -159,6 +159,11 @@

View file

@ -10,7 +10,7 @@ an about:blank check to this area.
Ref: https://chromium-review.googlesource.com/c/chromium/src/+/5403876
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
index 9b2373a00cbdc1d0427cd8ebc11d271f28a136d1..cd6264777c1827c4a12061f4ba6159fa3b402a80 100644
index b7a1be346c77fcef6c288789bc11f9849d6a126d..2b6d2a4c068757fa6dd16c7a0ffb7d478993d7d8 100644
--- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -802,8 +802,8 @@ void VerifyThatBrowserAndRendererCalculatedOriginsToCommitMatch(

View file

@ -30,10 +30,10 @@ index 8ad5a5042355ce918ab13784fbc0d633b6f0efa9..7f7b86abf3e18501025a854000f0d9ad
// RenderWidgetHost on the primary main frame, and false otherwise.
virtual bool IsWidgetForPrimaryMainFrame(RenderWidgetHostImpl*);
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
index 99d7fe568cecce44b68dfb896f4d2560d75b5556..e420ccfd374e1a6be1ab1e16752584413de23c63 100644
index 8aa812aa9bb3de4c7bc58192baf45c90402d6ff4..574e31bcfeb16cdb9a6c0121ffbc1abe175bb4ab 100644
--- a/content/browser/renderer_host/render_widget_host_impl.cc
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
@@ -2037,6 +2037,9 @@ void RenderWidgetHostImpl::SetCursor(const ui::Cursor& cursor) {
@@ -2048,6 +2048,9 @@ void RenderWidgetHostImpl::SetCursor(const ui::Cursor& cursor) {
if (view_) {
view_->UpdateCursor(cursor);
}
@ -44,10 +44,10 @@ index 99d7fe568cecce44b68dfb896f4d2560d75b5556..e420ccfd374e1a6be1ab1e1675258441
void RenderWidgetHostImpl::ShowContextMenuAtPoint(
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 55e8c7151816d8892ea9de79dd265d60823641d3..b2e68cacaf357147f357cffce0ee6d14726790bc 100644
index 79bc1f7a5c44a0dd255b5ca676d95c9fa9c31496..9f18308873306e841bbc15d9ba36c93ba5603a15 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -5780,6 +5780,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
@@ -5781,6 +5781,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
return text_input_manager_.get();
}
@ -60,10 +60,10 @@ index 55e8c7151816d8892ea9de79dd265d60823641d3..b2e68cacaf357147f357cffce0ee6d14
RenderWidgetHostImpl* render_widget_host) {
return render_widget_host == GetPrimaryMainFrame()->GetRenderWidgetHost();
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
index 071670aa236a444cf14915f42e26c92a8e4deb27..808ec7b6d12722481fe7f572137d7cba227bd96e 100644
index ea5598aafb86078ed34b18a05e6709c3df0c0f24..adfe5bb3bac589c2ad67cbbad01ce39c2b222936 100644
--- a/content/browser/web_contents/web_contents_impl.h
+++ b/content/browser/web_contents/web_contents_impl.h
@@ -1174,6 +1174,7 @@ class CONTENT_EXPORT WebContentsImpl
@@ -1173,6 +1173,7 @@ class CONTENT_EXPORT WebContentsImpl
void SendScreenRects() override;
void SendActiveState(bool active) override;
TextInputManager* GetTextInputManager() override;

View file

@ -15,10 +15,10 @@ This CL removes these filters so the unresponsive event can still be
accessed from our JS event. The filtering is moved into Electron's code.
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index a4780deb95ab5d1391191e1ba505b0f2c2bafd2a..3bb048d556940209c0557b6912cfc3caacf44045 100644
index 1396f371c8ae82a1ce52096c176a135cf02b2d65..b371464c15a5ab821d8dbea96b33475c9ed92803 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -9875,25 +9875,13 @@ void WebContentsImpl::RendererUnresponsive(
@@ -9876,25 +9876,13 @@ void WebContentsImpl::RendererUnresponsive(
base::RepeatingClosure hang_monitor_restarter) {
OPTIONAL_TRACE_EVENT1("content", "WebContentsImpl::RendererUnresponsive",
"render_widget_host", render_widget_host);

View file

@ -233,7 +233,7 @@ index 2991489fae8a4eecad97b1ecb2271f096d9a9229..93b7aa620ad1da250ac06e3383ca6897
}
diff --git a/content/common/features.cc b/content/common/features.cc
index 34254abe5fd7c5d9bcca420d965581a839a63721..f764bb5f67867c4be5598c15a6444ea78a6456aa 100644
index b55390ed12152c1d5ab01415ac2b64422b59ad8b..51d76c126025f422def2a46ebb5d6c427f5ae3cb 100644
--- a/content/common/features.cc
+++ b/content/common/features.cc
@@ -262,6 +262,14 @@ BASE_FEATURE(kIOSurfaceCapturer,

View file

@ -9,10 +9,10 @@ is needed for OSR.
Originally landed in https://github.com/electron/libchromiumcontent/pull/226.
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index c6e46c170fa51233f3a1744dded3e5106f44f1b9..bc1ba59d00e9789c337afd30c662df0eba0c5131 100644
index 9d6ad368980202f74d36785623d27354beef3f03..9fb2ac59a8b6a4e6f1ca388cd053c8f4d5eac8ff 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -3852,6 +3852,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
@@ -3853,6 +3853,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
params.main_frame_name, GetOpener(), primary_main_frame_policy,
base::UnguessableToken::Create());
@ -26,7 +26,7 @@ index c6e46c170fa51233f3a1744dded3e5106f44f1b9..bc1ba59d00e9789c337afd30c662df0e
std::unique_ptr<WebContentsViewDelegate> delegate =
GetContentClient()->browser()->GetWebContentsViewDelegate(this);
@@ -3862,6 +3869,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
@@ -3863,6 +3870,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
view_ = CreateWebContentsView(this, std::move(delegate),
&render_view_host_delegate_view_);
}
@ -35,7 +35,7 @@ index c6e46c170fa51233f3a1744dded3e5106f44f1b9..bc1ba59d00e9789c337afd30c662df0e
CHECK(view_.get());
diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h
index 24afa41509becd05d331bccd2452019f90b419d8..bea85663723c7b2d54f6dce11172d9e33e144676 100644
index 4f3914d6936cbf0119b34da82ab6d5d67bb526f7..49291ee02aa20a34cab44838121e1cff0c380508 100644
--- a/content/public/browser/web_contents.h
+++ b/content/public/browser/web_contents.h
@@ -116,10 +116,13 @@ class BrowserPluginGuestDelegate;

View file

@ -15,7 +15,7 @@ Note that we also need to manually update embedder's
`api::WebContents::IsFullscreenForTabOrPending` value.
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
index 661883b2423e6fab045d2a503dbbca2f59f52094..9b2373a00cbdc1d0427cd8ebc11d271f28a136d1 100644
index 09752e9cda20f0020976015d58f73f320031d11e..b7a1be346c77fcef6c288789bc11f9849d6a126d 100644
--- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -8722,6 +8722,17 @@ void RenderFrameHostImpl::EnterFullscreen(
@ -37,10 +37,10 @@ index 661883b2423e6fab045d2a503dbbca2f59f52094..9b2373a00cbdc1d0427cd8ebc11d271f
if (had_fullscreen_token && !GetView()->HasFocus())
GetView()->Focus();
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index bc1ba59d00e9789c337afd30c662df0eba0c5131..c9ec18657b11ad00bc4c3cb1f9cae327c2785386 100644
index 9fb2ac59a8b6a4e6f1ca388cd053c8f4d5eac8ff..55840c1cf5323d1796f1c3b056602411f513a220 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -4127,21 +4127,25 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent(
@@ -4128,21 +4128,25 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent(
const input::NativeWebKeyboardEvent& event) {
OPTIONAL_TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("content.verbose"),
"WebContentsImpl::PreHandleKeyboardEvent");
@ -78,7 +78,7 @@ index bc1ba59d00e9789c337afd30c662df0eba0c5131..c9ec18657b11ad00bc4c3cb1f9cae327
}
bool WebContentsImpl::HandleMouseEvent(const blink::WebMouseEvent& event) {
@@ -4300,7 +4304,7 @@ void WebContentsImpl::EnterFullscreenMode(
@@ -4301,7 +4305,7 @@ void WebContentsImpl::EnterFullscreenMode(
OPTIONAL_TRACE_EVENT0("content", "WebContentsImpl::EnterFullscreenMode");
DCHECK(CanEnterFullscreenMode(requesting_frame));
DCHECK(requesting_frame->IsActive());

View file

@ -10,10 +10,10 @@ to handle this without patching, but this is fairly clean for now and no longer
patching legacy devtools code.
diff --git a/front_end/entrypoints/main/MainImpl.ts b/front_end/entrypoints/main/MainImpl.ts
index ab334c2440a468ab859952c408bdc2aa9387e705..d5627aaf1c53fb3332788b1c097ce47a89ba749d 100644
index 469a7440eb5a0306a48e33668453a998ca5fe093..8cf1b93049a16d7bad1c64269b180fdba6d08ef3 100644
--- a/front_end/entrypoints/main/MainImpl.ts
+++ b/front_end/entrypoints/main/MainImpl.ts
@@ -788,6 +788,8 @@ export class MainImpl {
@@ -787,6 +787,8 @@ export class MainImpl {
globalThis.Main = globalThis.Main || {};
// @ts-expect-error Exported for Tests.js
globalThis.Main.Main = MainImpl;

View file

@ -5,3 +5,4 @@ remove_several_apis_deprecated_in_version_12_6.patch
apply_allcan_read_write.patch
fix_support_new_variant_of_namedpropertyhandlerconfiguration_and.patch
fix_correct_usages_of_v8_returnvalue_void_set_nonempty_for_new.patch
chore_remove_deprecated_functioncallbackinfo_holder.patch

View file

@ -0,0 +1,30 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: John Kleinschmidt <jkleinsc@electronjs.org>
Date: Fri, 28 Feb 2025 11:17:01 -0500
Subject: chore remove deprecated FunctionCallbackInfo Holder
v8 version 13.5.191 removed the deprecated FunctionCallbackInfo::Holder().
Callers are supposed to use FunctionCallbackInfo::This() instead.
See https://chromium-review.googlesource.com/c/v8/v8/+/6309166
diff --git a/nan_callbacks_12_inl.h b/nan_callbacks_12_inl.h
index 1af2459efcf54fa97ff24aaa221892eede6eb0d3..e8505247a5070dba572954ba63bc193c9fd51eb6 100644
--- a/nan_callbacks_12_inl.h
+++ b/nan_callbacks_12_inl.h
@@ -109,7 +109,14 @@ class FunctionCallbackInfo {
inline v8::Local<v8::Function> Callee() const { return info_.Callee(); }
#endif
inline v8::Local<v8::Value> Data() const { return data_; }
+#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION < 13 || \
+(V8_MAJOR_VERSION == 13 && defined(V8_MINOR_VERSION) && \
+(V8_MINOR_VERSION < 5 || (V8_MINOR_VERSION == 5 && \
+defined(V8_BUILD_NUMBER) && V8_BUILD_NUMBER < 191))))
inline v8::Local<v8::Object> Holder() const { return info_.Holder(); }
+#else
+ inline v8::Local<v8::Object> Holder() const { return info_.This(); }
+#endif
inline bool IsConstructCall() const { return info_.IsConstructCall(); }
inline int Length() const { return info_.Length(); }
inline v8::Local<v8::Value> operator[](int i) const { return info_[i]; }

View file

@ -43,3 +43,4 @@ build_change_crdtp_protocoltypetraits_signatures_to_avoid_conflict.patch
test_make_eval_snapshot_tests_more_flexible.patch
build_option_to_use_custom_inspector_protocol_path.patch
fix_adjust_wpt_and_webidl_tests_for_enabled_float16array.patch
chore_add_createexternalizabletwobytestring_to_globals.patch

View file

@ -0,0 +1,21 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: John Kleinschmidt <jkleinsc@electronjs.org>
Date: Fri, 28 Feb 2025 11:24:53 -0500
Subject: chore: add createExternalizableTwoByteString to globals
https://chromium-review.googlesource.com/c/v8/v8/+/6304942 added
createExternalizableTwoByteString, so make sure it is handled
as a global in the parallel/test-fs-write test.
diff --git a/test/parallel/test-fs-write.js b/test/parallel/test-fs-write.js
index 82f3425de2aa162aa97047098806a08d0f8be4bd..31ab5b833db94fec6f2e976f53f650bc6318e794 100644
--- a/test/parallel/test-fs-write.js
+++ b/test/parallel/test-fs-write.js
@@ -48,6 +48,7 @@ assert.notStrictEqual(isOneByteString, undefined);
// Account for extra globals exposed by --expose_externalize_string.
common.allowGlobals(
createExternalizableString,
+ createExternalizableTwoByteString,
externalizeString,
isOneByteString,
globalThis.x,

View file

@ -46,7 +46,7 @@ index 3e57ae8efe33f326ef0e5d609c311d4be5b8afd6..dc521d39c2280dfc3217e97c1e413b2b
V8_INLINE static void* GetAlignedPointerFromInternalField(
const BasicTracedReference<Object>& object, int index) {
diff --git a/src/api/api.cc b/src/api/api.cc
index 75718eafb17f7deb3eca94df67023bca0558e1c5..ce8ee239cc222253c6d7ce06e1ecd31befe27c68 100644
index 412179152521fa45eab085818b9d9a5a0c274362..9eeb209ca92fd372d38f1d6dd0b096cee32d1061 100644
--- a/src/api/api.cc
+++ b/src/api/api.cc
@@ -6385,14 +6385,33 @@ Local<Data> v8::Object::SlowGetInternalField(int index) {

View file

@ -393,10 +393,6 @@ std::string ElectronExtensionsBrowserClient::GetApplicationLocale() {
return ElectronBrowserClient::Get()->GetApplicationLocale();
}
std::string ElectronExtensionsBrowserClient::GetUserAgent() const {
return ElectronBrowserClient::Get()->GetUserAgent();
}
void ElectronExtensionsBrowserClient::RegisterBrowserInterfaceBindersForFrame(
mojo::BinderMapWithContext<content::RenderFrameHost*>* map,
content::RenderFrameHost* render_frame_host,

View file

@ -140,7 +140,6 @@ class ElectronExtensionsBrowserClient
content::WebContents* web_contents) override;
extensions::KioskDelegate* GetKioskDelegate() override;
std::string GetApplicationLocale() override;
std::string GetUserAgent() const override;
void RegisterBrowserInterfaceBindersForFrame(
mojo::BinderMapWithContext<content::RenderFrameHost*>* map,
content::RenderFrameHost* render_frame_host,