diff --git a/DEPS b/DEPS index 572430f146..9ccbd67efb 100644 --- a/DEPS +++ b/DEPS @@ -2,7 +2,7 @@ gclient_gn_args_from = 'src' vars = { 'chromium_version': - '158.0.8114.0', + '158.0.8116.0', 'node_version': 'v24.22.1', 'nan_version': diff --git a/filenames.hunspell.gni b/filenames.hunspell.gni index a1a98df9cb..8eb44a55ee 100644 --- a/filenames.hunspell.gni +++ b/filenames.hunspell.gni @@ -5,7 +5,7 @@ hunspell_dictionaries = [ "//third_party/hunspell_dictionaries/cs-CZ-3-0.bdic", "//third_party/hunspell_dictionaries/cy-GB-1-0.bdic", "//third_party/hunspell_dictionaries/da-DK-3-0.bdic", - "//third_party/hunspell_dictionaries/de-DE-3-0.bdic", + "//third_party/hunspell_dictionaries/de-DE-3-1.bdic", "//third_party/hunspell_dictionaries/el-GR-3-0.bdic", "//third_party/hunspell_dictionaries/en-AU-10-2.bdic", "//third_party/hunspell_dictionaries/en-CA-10-2.bdic", @@ -16,37 +16,34 @@ hunspell_dictionaries = [ "//third_party/hunspell_dictionaries/et-EE-3-0.bdic", "//third_party/hunspell_dictionaries/fa-IR-9-0.bdic", "//third_party/hunspell_dictionaries/fo-FO-3-0.bdic", - "//third_party/hunspell_dictionaries/fr-FR-3-0.bdic", - "//third_party/hunspell_dictionaries/gl-1-0.bdic", + "//third_party/hunspell_dictionaries/fr-FR-3-1.bdic", + "//third_party/hunspell_dictionaries/gl-1-1.bdic", "//third_party/hunspell_dictionaries/he-IL-3-0.bdic", "//third_party/hunspell_dictionaries/hi-IN-3-0.bdic", "//third_party/hunspell_dictionaries/hr-HR-3-0.bdic", - "//third_party/hunspell_dictionaries/hu-HU-3-0.bdic", - "//third_party/hunspell_dictionaries/hy-1-0.bdic", + "//third_party/hunspell_dictionaries/hu-HU-3-1.bdic", + "//third_party/hunspell_dictionaries/hy-1-1.bdic", "//third_party/hunspell_dictionaries/id-ID-3-0.bdic", "//third_party/hunspell_dictionaries/it-IT-3-0.bdic", "//third_party/hunspell_dictionaries/ko-3-0.bdic", "//third_party/hunspell_dictionaries/lt-LT-3-0.bdic", "//third_party/hunspell_dictionaries/lv-LV-3-0.bdic", - "//third_party/hunspell_dictionaries/nb-NO-3-0.bdic", - "//third_party/hunspell_dictionaries/nl-NL-3-0.bdic", + "//third_party/hunspell_dictionaries/nb-NO-3-1.bdic", + "//third_party/hunspell_dictionaries/nl-NL-3-1.bdic", "//third_party/hunspell_dictionaries/pl-PL-3-0.bdic", - "//third_party/hunspell_dictionaries/pt-BR-3-0.bdic", + "//third_party/hunspell_dictionaries/pt-BR-3-1.bdic", "//third_party/hunspell_dictionaries/pt-PT-3-0.bdic", - "//third_party/hunspell_dictionaries/ro-RO-3-0.bdic", + "//third_party/hunspell_dictionaries/ro-RO-3-1.bdic", "//third_party/hunspell_dictionaries/ru-RU-3-0.bdic", - "//third_party/hunspell_dictionaries/sh-3-0.bdic", "//third_party/hunspell_dictionaries/sh-4-0.bdic", "//third_party/hunspell_dictionaries/sk-SK-3-0.bdic", "//third_party/hunspell_dictionaries/sl-SI-3-0.bdic", "//third_party/hunspell_dictionaries/sq-3-0.bdic", - "//third_party/hunspell_dictionaries/sr-3-0.bdic", "//third_party/hunspell_dictionaries/sr-4-0.bdic", "//third_party/hunspell_dictionaries/sv-SE-3-0.bdic", - "//third_party/hunspell_dictionaries/ta-IN-3-0.bdic", + "//third_party/hunspell_dictionaries/ta-IN-3-1.bdic", "//third_party/hunspell_dictionaries/tg-TG-5-0.bdic", "//third_party/hunspell_dictionaries/tr-TR-4-0.bdic", - "//third_party/hunspell_dictionaries/uk-UA-4-0.bdic", "//third_party/hunspell_dictionaries/uk-UA-5-0.bdic", "//third_party/hunspell_dictionaries/vi-VN-3-0.bdic", "//third_party/hunspell_dictionaries/xx-XX-3-0.bdic", diff --git a/patches/chromium/.patches b/patches/chromium/.patches index 2f006c4e08..3ed4cfb338 100644 --- a/patches/chromium/.patches +++ b/patches/chromium/.patches @@ -137,4 +137,3 @@ fix_gate_webstoreprivate_on_a_delegated_availability_check.patch build_drop_the_unused_chrome_browser_win_dep_from_color_mixers.patch fix_plumb_the_requesting_frame_through_pointer_lock_requests.patch feat_let_the_host_of_a_remote_nswindow_set_more_of_its_behavior.patch -add_entries_to_the_spki_blocklist.patch diff --git a/patches/chromium/add_didinstallconditionalfeatures.patch b/patches/chromium/add_didinstallconditionalfeatures.patch index 10ad4d042c..408687707f 100644 --- a/patches/chromium/add_didinstallconditionalfeatures.patch +++ b/patches/chromium/add_didinstallconditionalfeatures.patch @@ -23,10 +23,10 @@ index 3734444c7c00a295c55c864b983e7b146ca70047..dccd23b881c3646e061c3ce2669df96d int32_t world_id) {} virtual void DidClearWindowObject() {} diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc -index f7124e9dffba85d652ed5040c17ec3c6358a6f3a..24c87e097556b4eb94d1864f2dc6d6de127408f8 100644 +index fae2ead4f8f3363c129e05f09114aa45a4cd037e..7b9ea42088e66c6d51707900748c831390b0b354 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc -@@ -5003,6 +5003,13 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local context, +@@ -5006,6 +5006,13 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local context, } } diff --git a/patches/chromium/add_entries_to_the_spki_blocklist.patch b/patches/chromium/add_entries_to_the_spki_blocklist.patch deleted file mode 100644 index a88f8907f2..0000000000 --- a/patches/chromium/add_entries_to_the_spki_blocklist.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Sam Attard -Date: Tue, 20 Oct 2026 00:00:20 +0000 -Subject: Add entries to the SPKI blocklist - -Adds public key hashes that Chrome ships to its users through the CRLSet -component, which Electron does not consume, so they are carried in the -compiled-in list instead. The comment above each entry is the SHA-256 -fingerprint of the corresponding certificate. - -This patch can be removed once the hashes land in the upstream blocklist. - -diff --git a/net/cert/cert_verify_proc_blocklist.inc b/net/cert/cert_verify_proc_blocklist.inc -index b00fc5124ba8c70d71d1a0bc535d6db3c3f121cf..fb7920b263780b8e58cdce9018732723e80f73eb 100644 ---- a/net/cert/cert_verify_proc_blocklist.inc -+++ b/net/cert/cert_verify_proc_blocklist.inc -@@ -418,7 +418,39 @@ static constexpr uint8_t - // 289ed1676f42b679f2b665bb5a3f25610d9d19ac017beafa46787f1d6022986a.pem - {0x36, 0xce, 0x75, 0xed, 0xea, 0x80, 0x6f, 0x09, 0x85, 0x14, 0x56, - 0x83, 0x29, 0x4e, 0x54, 0xdb, 0xdf, 0xf0, 0x2f, 0xc8, 0x21, 0x87, -- 0x0c, 0xf5, 0x06, 0x7a, 0x30, 0x8d, 0x15, 0x04, 0xbe, 0x3a} -+ 0x0c, 0xf5, 0x06, 0x7a, 0x30, 0x8d, 0x15, 0x04, 0xbe, 0x3a}, -+ // 0164d7ceae5bb909c272af151ff44b1177ae9b47d9424b94f1d9558c30934d19.pem -+ {0x49, 0xdd, 0x35, 0x3d, 0xc2, 0xb9, 0x19, 0xa3, 0x77, 0x06, 0x45, -+ 0x11, 0x7d, 0x0e, 0x60, 0xc1, 0x61, 0x15, 0xe7, 0xd1, 0xbc, 0x25, -+ 0x9e, 0xef, 0xe7, 0x34, 0xb0, 0x0e, 0xa4, 0x34, 0xfe, 0x5f}, -+ // 432ec25f0d28de9006d97bf752f17bbb2cd41f669933fcb072d9a1148d0261f3.pem -+ {0x5c, 0x06, 0x60, 0xa2, 0xb1, 0x64, 0x91, 0x0d, 0x8f, 0xf5, 0x89, -+ 0xc1, 0x8e, 0x14, 0x55, 0x2e, 0x9e, 0x0e, 0xc2, 0x37, 0xdc, 0xef, -+ 0xe2, 0xcb, 0x73, 0x6d, 0x41, 0xa4, 0x81, 0x1f, 0x81, 0xa0}, -+ // cb6e15165ac802e9b3f993f16c25d41f4e81c21ebde71ae1b012ac00bf9c7c3f.pem -+ {0x63, 0xec, 0xef, 0xee, 0x43, 0x1d, 0x49, 0x52, 0x3b, 0xc1, 0x13, -+ 0x6c, 0x4e, 0x72, 0xd0, 0x20, 0x6a, 0x47, 0x70, 0x86, 0xca, 0xf6, -+ 0x06, 0xcd, 0x5c, 0xf0, 0x25, 0x68, 0x6c, 0x10, 0x9c, 0xf8}, -+ // 4b2460a466f95fd40113bcdcca2ceb29b3b093921de45474da7df48874c630b1.pem -+ {0x92, 0xc0, 0x63, 0xd6, 0x7e, 0x8f, 0x14, 0xdb, 0x71, 0xd2, 0x88, -+ 0xe1, 0x12, 0x66, 0xff, 0xda, 0xf6, 0x9c, 0xbf, 0x11, 0x5f, 0x7b, -+ 0xab, 0x14, 0xf3, 0xbc, 0x2f, 0x68, 0xd2, 0x5e, 0x0e, 0x30}, -+ // 42c4accd12c4f59597925e1a08a7a90102608543809308d50ec427e118ba1493.pem -+ {0xeb, 0xed, 0x64, 0x75, 0xc2, 0xc2, 0xd8, 0x0f, 0xcb, 0x19, 0x9f, -+ 0x3f, 0xe8, 0xdd, 0x6e, 0x6b, 0x3c, 0xe6, 0x0b, 0x77, 0xeb, 0x15, -+ 0xd4, 0xe4, 0x2c, 0x3d, 0xec, 0x0c, 0x6f, 0x5b, 0x51, 0x05}, -+ // 9e39de2881273acc225a149c72ba3e0f51424963669ab633ee1dc7df5db067b4.pem -+ {0xec, 0x4f, 0xfa, 0x1a, 0xd0, 0xac, 0x88, 0x08, 0x13, 0x14, 0xb7, -+ 0xaa, 0xff, 0xef, 0x6a, 0x91, 0xf9, 0x7c, 0xd5, 0x72, 0x91, 0xbb, -+ 0x5b, 0xa6, 0x86, 0xc5, 0x41, 0x5f, 0x5e, 0xb4, 0xf6, 0xb6}, -+ // 98b896625c0c230adeec3eb2cf6aad5001ecf9156a68644e82374ce5833bc25b.pem -+ {0x43, 0xbf, 0xfa, 0x19, 0xd6, 0xef, 0x65, 0x14, 0x51, 0xf6, 0x84, -+ 0x1e, 0x01, 0x99, 0x31, 0xe9, 0x6f, 0x6f, 0x2e, 0xae, 0xff, 0x28, -+ 0xab, 0x4b, 0x6f, 0x1c, 0xe4, 0x57, 0x6d, 0xe2, 0x71, 0x7b}, -+ // e7568fe6e12331f4fd7de61da4c7559d0f8eb192a218d4741a3ba75184333838.pem -+ {0xe0, 0x25, 0x4c, 0x7f, 0xcd, 0xc2, 0x65, 0xe2, 0xf0, 0xf8, 0xa4, -+ 0x28, 0xda, 0xbb, 0x75, 0xab, 0x4a, 0xe0, 0x39, 0xb4, 0x87, 0x2d, -+ 0x62, 0xf5, 0xee, 0x57, 0xf0, 0x87, 0x7d, 0x5a, 0x8a, 0x41} - }; - - // Hashes of SubjectPublicKeyInfos known to be used for interception by a diff --git a/patches/chromium/build_allow_electron_to_use_exec_script.patch b/patches/chromium/build_allow_electron_to_use_exec_script.patch index 9fc7633698..1d77b9b974 100644 --- a/patches/chromium/build_allow_electron_to_use_exec_script.patch +++ b/patches/chromium/build_allow_electron_to_use_exec_script.patch @@ -6,10 +6,10 @@ Subject: build: allow electron to use exec_script This is similar to the //build usecase so we're OK adding ourselves here. diff --git a/.gn b/.gn -index 17f0534b97791db0a217e8f0e09e417fcca0bbb0..c254a0fa897b988a9d78402c222fd3af619d6a81 100644 +index c2a5600e10ccab009471555fd2d1883d767c2418..27a5ed9c63b1bb64a566ff2cb00a76a087a6c4e0 100644 --- a/.gn +++ b/.gn -@@ -470,6 +470,31 @@ exec_script_allowlist = +@@ -471,6 +471,31 @@ exec_script_allowlist = # script. exec_script only happens when the checkout_mesa gclient arg is # set. If/when a 'proper' GN build for Mesa exists, this can be removed. "//third_party/dawn/third_party/meson/meson_target.gni", diff --git a/patches/chromium/can_create_window.patch b/patches/chromium/can_create_window.patch index b74826b22c..3b4386ea4e 100644 --- a/patches/chromium/can_create_window.patch +++ b/patches/chromium/can_create_window.patch @@ -12,7 +12,7 @@ that the new window is created in its own BrowsingInstance (and process). 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 1e4b3bd54bc803e589f9df55c166e128eede0c9d..0f9dbb5d2e2915a918ab0ab1856c5b0baf5ceb64 100644 +index 69c52b10aca962914aa2b274d0147c7540d4039e..397360f399d230da5ff3b93bdd9acb8960e5772f 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc @@ -10822,6 +10822,7 @@ void RenderFrameHostImpl::CreateNewWindow( @@ -94,7 +94,7 @@ index 572c5763b9995dde20a0a7a2ddaa077934939b1d..66c36cedacc93897e1bf51bee5181eee // Operation result when the renderer asks the browser to create a new window. diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc -index 261b8ae64ee65224faeefeb13bc977ec65d7ac4f..05bba57793e23406ecef58434c17e7a099f677db 100644 +index 4e9dde914bf78d0a2a9d633ae05c5a853c1b4073..225a1e707b6b6b37210b04acba30404a567f20f1 100644 --- a/content/public/browser/content_browser_client.cc +++ b/content/public/browser/content_browser_client.cc @@ -842,6 +842,8 @@ bool ContentBrowserClient::CanCreateWindow( @@ -107,10 +107,10 @@ index 261b8ae64ee65224faeefeb13bc977ec65d7ac4f..05bba57793e23406ecef58434c17e7a0 bool opener_suppressed, bool* no_javascript_access) { diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h -index 7f772ce2e85635d8831c09a76d1d3d723668f604..f6d69c8962c42259cc3bf0d9be8ed9624be87f2f 100644 +index a65c03cf1d94784ec965638826017f0659aeaa0c..ecf2fdb84c4195b3d97663e36b7c5cd4d28833a3 100644 --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h -@@ -207,6 +207,7 @@ class TrustedURLLoaderHeaderClient; +@@ -206,6 +206,7 @@ class TrustedURLLoaderHeaderClient; class URLResponseHead; } // namespace mojom struct ResourceRequest; @@ -118,7 +118,7 @@ index 7f772ce2e85635d8831c09a76d1d3d723668f604..f6d69c8962c42259cc3bf0d9be8ed962 } // namespace network namespace sandbox { -@@ -1301,6 +1302,8 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -1302,6 +1303,8 @@ class CONTENT_EXPORT ContentBrowserClient { const std::string& frame_name, WindowOpenDisposition disposition, const blink::mojom::WindowFeatures& features, @@ -188,10 +188,10 @@ index b4ef8f00ca8ce9f35ef5dad5f553423baf0acf39..440c5f7ed9ee4b3ace56a4264a12dd9a // typically happens when popups are created. virtual void WebContentsCreated(WebContents* source_contents, diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc -index 5b1482411797c02f084bff82c2a8d650e650b7d7..f7124e9dffba85d652ed5040c17ec3c6358a6f3a 100644 +index 2cbaf6fdb3498e520d8da1291b5c0e4f12538b52..fae2ead4f8f3363c129e05f09114aa45a4cd037e 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc -@@ -7152,6 +7152,10 @@ WebView* RenderFrameImpl::CreateNewWindow( +@@ -7155,6 +7155,10 @@ WebView* RenderFrameImpl::CreateNewWindow( params->started_by_ad = GetWebFrame()->IsAdFrame() || GetWebFrame()->IsAdScriptInStack(); @@ -229,10 +229,10 @@ index 071e87d29d1523eaf277bcc209021f55bb04098b..e3181687596e33a85163d40262b2ff74 bool opener_suppressed, bool* no_javascript_access) override; diff --git a/third_party/blink/public/web/web_window_features.h b/third_party/blink/public/web/web_window_features.h -index 1208199428a2de729650c82e988ab67abeb0e786..2e6643ede047a580a636dbf75e86c99fe57e6b82 100644 +index 37cfc495b51a4e9a18ff6bdf9c6305562d02a298..e008fa40ea8011bb7a917942ae8d8118dad4ff35 100644 --- a/third_party/blink/public/web/web_window_features.h +++ b/third_party/blink/public/web/web_window_features.h -@@ -59,6 +59,8 @@ struct WebWindowFeatures { +@@ -69,6 +69,8 @@ struct WebWindowFeatures { bool noreferrer = false; bool background = false; bool persistent = false; diff --git a/patches/chromium/chore_expose_isolate_parameter_in_script_lifecycle_observers.patch b/patches/chromium/chore_expose_isolate_parameter_in_script_lifecycle_observers.patch index d30037cfac..84dc312292 100644 --- a/patches/chromium/chore_expose_isolate_parameter_in_script_lifecycle_observers.patch +++ b/patches/chromium/chore_expose_isolate_parameter_in_script_lifecycle_observers.patch @@ -34,10 +34,10 @@ index dccd23b881c3646e061c3ce2669df96d5b108617..237bfb19ad9905dd39f1a9e2b7a6df69 virtual void DidClearWindowObject() {} virtual void DidChangeScrollOffset(blink::mojom::ScrollType) {} diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc -index 24c87e097556b4eb94d1864f2dc6d6de127408f8..72f061969c51d9b84e5ed9df10e190e8cffb9998 100644 +index 7b9ea42088e66c6d51707900748c831390b0b354..711ab3e34f3c625176c0ff3aae3cdf684708041e 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc -@@ -5010,10 +5010,11 @@ void RenderFrameImpl::DidInstallConditionalFeatures( +@@ -5013,10 +5013,11 @@ void RenderFrameImpl::DidInstallConditionalFeatures( } } diff --git a/patches/chromium/feat_carry_embedder_startup_data_in_createnewwindowreply.patch b/patches/chromium/feat_carry_embedder_startup_data_in_createnewwindowreply.patch index e43f5217f7..3c6f409cd3 100644 --- a/patches/chromium/feat_carry_embedder_startup_data_in_createnewwindowreply.patch +++ b/patches/chromium/feat_carry_embedder_startup_data_in_createnewwindowreply.patch @@ -26,7 +26,7 @@ hook called before the new RenderFrame is created so it can be picked up by RenderFrameCreated() on the same call stack. diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc -index 18db7394fbeee9c9a5139432d13a47e71a654507..f01ebc1f1842eae3e1fc91866c90f54e45aefd94 100644 +index 47d9ed286e8d3acb2535bbd32f91f04e8f29d623..2224838eff19125c8b1219eb3164db4727a9781c 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc @@ -11021,7 +11021,12 @@ void RenderFrameHostImpl::CreateNewWindow( @@ -71,7 +71,7 @@ index 66c36cedacc93897e1bf51bee5181eeed3e310ee..02e1b5b8b417016a53ec6554d046c333 // A per-navigation interface passed along with the BeginNavigation call, used diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc -index 05bba57793e23406ecef58434c17e7a099f677db..b73374946e0ff282a4cf84883294c0fadd9837d0 100644 +index 225a1e707b6b6b37210b04acba30404a567f20f1..f3b7b2433d086c0b3eaab1fe519adb196661508e 100644 --- a/content/public/browser/content_browser_client.cc +++ b/content/public/browser/content_browser_client.cc @@ -851,6 +851,13 @@ bool ContentBrowserClient::CanCreateWindow( @@ -89,10 +89,10 @@ index 05bba57793e23406ecef58434c17e7a099f677db..b73374946e0ff282a4cf84883294c0fa ContentBrowserClient::CreateSpeechRecognitionManagerDelegate() { return nullptr; diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h -index 3ca3e0bdeb60451c15747451438a00122db4bbb3..8597727170d8c8c10739c62bf77846c0133ac249 100644 +index c07e24cef724f792908b1bd6bdcb6650ec243274..80cb58fff791d9a38b4d618f6adc364cb3f68f92 100644 --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h -@@ -64,6 +64,7 @@ +@@ -63,6 +63,7 @@ #include "media/mojo/mojom/speech_recognizer.mojom-forward.h" #include "mojo/public/cpp/bindings/generic_pending_receiver.h" #include "mojo/public/cpp/bindings/pending_receiver.h" @@ -100,7 +100,7 @@ index 3ca3e0bdeb60451c15747451438a00122db4bbb3..8597727170d8c8c10739c62bf77846c0 #include "mojo/public/cpp/bindings/pending_remote.h" #include "mojo/public/cpp/bindings/remote.h" #include "mojo/public/cpp/system/message_pipe.h" -@@ -1313,6 +1314,17 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -1314,6 +1315,17 @@ class CONTENT_EXPORT ContentBrowserClient { bool opener_suppressed, bool* no_javascript_access); @@ -148,10 +148,10 @@ index db698a9a9adfd9bd2dfc8dd29932b3e4b7764f73..9088b206b2101b8e8b101d5a75809308 // `outermost_origin` is only set if it is an extension scheme, otherwise // it will be null. It is null to avoid leaking unnecessary information into diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc -index 72f061969c51d9b84e5ed9df10e190e8cffb9998..c6ca7530c37244715ce882bdb6af519f215768e2 100644 +index 711ab3e34f3c625176c0ff3aae3cdf684708041e..7c3292c5799b3c532285f23280164958540d3bfe 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc -@@ -7209,6 +7209,14 @@ WebView* RenderFrameImpl::CreateNewWindow( +@@ -7212,6 +7212,14 @@ WebView* RenderFrameImpl::CreateNewWindow( return nullptr; } diff --git a/patches/chromium/feat_corner_smoothing_css_rule_and_blink_painting.patch b/patches/chromium/feat_corner_smoothing_css_rule_and_blink_painting.patch index 9879b1e72b..7f223a9c73 100644 --- a/patches/chromium/feat_corner_smoothing_css_rule_and_blink_painting.patch +++ b/patches/chromium/feat_corner_smoothing_css_rule_and_blink_painting.patch @@ -46,10 +46,10 @@ index 5e751bb0e254b6cd67b05c6bd2e677c074717099..c567a09c696413371ed732cc2f81d9b9 'internal-forced-visited-' ): diff --git a/third_party/blink/renderer/core/css/css_properties.json5 b/third_party/blink/renderer/core/css/css_properties.json5 -index e6ac98742e22bd84f3b49956ce69f41b6bf32a6f..f7d4492a3284b96e2520dd8267c42b3154f8c636 100644 +index abe43ce2114077a8bab9a763fa516bf2fd4bc505..b9b84c8a2b6bc960d525349a3fb1cbf295104b4a 100644 --- a/third_party/blink/renderer/core/css/css_properties.json5 +++ b/third_party/blink/renderer/core/css/css_properties.json5 -@@ -10392,6 +10392,27 @@ +@@ -10396,6 +10396,27 @@ property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], }, @@ -133,10 +133,10 @@ index af2402cf8aea806bd6fbd31cf26cfb5c0786a585..91adf48116f635c91c101c20861ee1b1 } // namespace css_longhand } // namespace blink diff --git a/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc b/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc -index 1f752fc5c5686c069ce70f4d63545860b842d826..32b83cb3599375111990353c139cb4df85d4e02a 100644 +index aa6daa9b29e98a8b4f9e68cb0a4f9753f9824bac..37d172f1b4b2fdaf294e5edf32861afb48fa4246 100644 --- a/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc +++ b/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc -@@ -4270,6 +4270,15 @@ PositionTryFallback StyleBuilderConverter::ConvertSinglePositionTryFallback( +@@ -4275,6 +4275,15 @@ PositionTryFallback StyleBuilderConverter::ConvertSinglePositionTryFallback( return PositionTryFallback(scoped_name, tactic_list); } @@ -153,10 +153,10 @@ index 1f752fc5c5686c069ce70f4d63545860b842d826..32b83cb3599375111990353c139cb4df const CSSValue& value) { const auto& list = To(value); diff --git a/third_party/blink/renderer/core/css/resolver/style_builder_converter.h b/third_party/blink/renderer/core/css/resolver/style_builder_converter.h -index 1e49ca030a59091b1b51669769e43c2c7ce81e10..5c2a169ce90c44890b6d7965b62856105558d24d 100644 +index 3ffc4fc86d7af9f8a0d2b12109759164f24eae0a..9e680f0ff181f08ecac15d469e92ef4e6fecc3e9 100644 --- a/third_party/blink/renderer/core/css/resolver/style_builder_converter.h +++ b/third_party/blink/renderer/core/css/resolver/style_builder_converter.h -@@ -476,6 +476,7 @@ class StyleBuilderConverter { +@@ -477,6 +477,7 @@ class StyleBuilderConverter { StyleResolverState&, const CSSValue&, bool allow_any_keyword_in_position_area = false); @@ -204,7 +204,7 @@ index b721dd3809c0b6c89574a515bac32d397a1bfb09..750a3603bd18680228220b831709d327 return result; } diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn -index 198d556d4497fed5e3101fb04a00131ec634d400..acf4619b8efaa4aed0d9cfe72f0bd2396b62e9f8 100644 +index da36201679d531330892ceadbc03013b222a2e20..45f52d2cc6b77e1a28e4501e3d2475ebc2647978 100644 --- a/third_party/blink/renderer/platform/BUILD.gn +++ b/third_party/blink/renderer/platform/BUILD.gn @@ -1744,6 +1744,8 @@ component("platform") { @@ -315,7 +315,7 @@ index 9d125de843259dae40e6b08eaf65ea3650435295..428219fb35d7a967dcaee91aa1c3628e auto draw_as_single_path = [&]() { diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -index bc09fbe794c055d44cea2a9962aeac60a87584ac..5f0d41ffc62542748a3a77dd5895b2b9e583cc08 100644 +index f00aa5a57a38fa72926d00142a32fc9d5cb209d5..49cc36389c1c1a0a20ebb7de3fc2c805e70eff4e 100644 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 @@ -237,6 +237,10 @@ diff --git a/patches/chromium/feat_deliver_service_worker_preload_data_via_embeddedworkerstartparams.patch b/patches/chromium/feat_deliver_service_worker_preload_data_via_embeddedworkerstartparams.patch index 14af395f84..c8ecdea4ee 100644 --- a/patches/chromium/feat_deliver_service_worker_preload_data_via_embeddedworkerstartparams.patch +++ b/patches/chromium/feat_deliver_service_worker_preload_data_via_embeddedworkerstartparams.patch @@ -33,7 +33,7 @@ index de70e90d1fb9aff03ab972c15aedd618358fc1d1..9b3d66e0e646d384f24d1b905c1e7b59 if (policy_container_host_) { params->policy_container = diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc -index b73374946e0ff282a4cf84883294c0fadd9837d0..99bf7893adc958094d80c18c807c94f1711e88b3 100644 +index f3b7b2433d086c0b3eaab1fe519adb196661508e..12eb36a66ba2a1351aad00b7c00aee21cf318e9b 100644 --- a/content/public/browser/content_browser_client.cc +++ b/content/public/browser/content_browser_client.cc @@ -858,6 +858,13 @@ ContentBrowserClient::GetExtraCreateNewWindowReplyData( @@ -51,10 +51,10 @@ index b73374946e0ff282a4cf84883294c0fadd9837d0..99bf7893adc958094d80c18c807c94f1 ContentBrowserClient::CreateSpeechRecognitionManagerDelegate() { return nullptr; diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h -index 8597727170d8c8c10739c62bf77846c0133ac249..58eb10b0e36ad3c9ab9111478bf0511abec6de69 100644 +index 80cb58fff791d9a38b4d618f6adc364cb3f68f92..9280572e0ed44c2c1c25266c01b37fd6dfb59eb1 100644 --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h -@@ -1325,6 +1325,17 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -1326,6 +1326,17 @@ class CONTENT_EXPORT ContentBrowserClient { RenderFrameHost* new_window_main_frame, const GURL& target_url); diff --git a/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch b/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch index c1bb5a2f2d..482ebd75e9 100644 --- a/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch +++ b/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch @@ -90,10 +90,10 @@ index 8af69cac78b7488d28f1f05ccb174793fe5148cd..9f74e511c263d147b5fbe81fe100d217 private: const HWND hwnd_; diff --git a/components/viz/service/BUILD.gn b/components/viz/service/BUILD.gn -index 6acbea5d741982ff7c7ec01ac813e0418802bb10..2dff02a63c0b26ee1604efe35b88959d5684d9f5 100644 +index 80c201e6f239f713491bf51303455909a93de3f5..b16027f7e0ae706386e0ee159a16eed0a8c5bc7c 100644 --- a/components/viz/service/BUILD.gn +++ b/components/viz/service/BUILD.gn -@@ -180,6 +180,8 @@ viz_component("service") { +@@ -174,6 +174,8 @@ viz_component("service") { "display_embedder/skia_output_surface_shared_image_interface.h", "display_embedder/skia_render_copy_results.cc", "display_embedder/skia_render_copy_results.h", diff --git a/patches/chromium/feat_expose_documentloader_setdefersloading_on_webdocumentloader.patch b/patches/chromium/feat_expose_documentloader_setdefersloading_on_webdocumentloader.patch index 6e21ec809d..5cf51ab751 100644 --- a/patches/chromium/feat_expose_documentloader_setdefersloading_on_webdocumentloader.patch +++ b/patches/chromium/feat_expose_documentloader_setdefersloading_on_webdocumentloader.patch @@ -29,7 +29,7 @@ index b6da61a76551f1de95b8cfb0a1167b14040f3dd1..9413492f8e0fd6c5371c66329e1ad6d4 // Returns the http referrer of original request which initited this load. diff --git a/third_party/blink/renderer/core/loader/document_loader.h b/third_party/blink/renderer/core/loader/document_loader.h -index 462358cb17f1e4f765d67e7fbbf536bf85cd9b96..8bde556c8b3638a55d56b20671508433b30edda2 100644 +index eec882554e19f51e5316d7f243ea104426254717..04a93e4d756f77f957677b66f42baf62390bc143 100644 --- a/third_party/blink/renderer/core/loader/document_loader.h +++ b/third_party/blink/renderer/core/loader/document_loader.h @@ -329,7 +329,7 @@ class CORE_EXPORT DocumentLoader : public GarbageCollected, diff --git a/patches/chromium/feat_expose_raw_response_headers_from_urlloader.patch b/patches/chromium/feat_expose_raw_response_headers_from_urlloader.patch index ff61f4bfcc..8c9b8e3fae 100644 --- a/patches/chromium/feat_expose_raw_response_headers_from_urlloader.patch +++ b/patches/chromium/feat_expose_raw_response_headers_from_urlloader.patch @@ -112,7 +112,7 @@ index 2551c74d161edc11e3d4e95c858c144a063ae80a..a3d1eb8d487a207a5a9c8cdc01ae01dd string mime_type; diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc -index 747330be85fa8cc714e3c3c495c9a447dc1e084a..825c67af25374d243704c35dc869cffcf7d4d8c9 100644 +index ceb7aa322339be65889e1a4e26b4a46c369e9dc4..9625b84b5d6e748a52e3387a2df41e40fd3fb777 100644 --- a/services/network/url_loader.cc +++ b/services/network/url_loader.cc @@ -373,6 +373,9 @@ URLLoader::URLLoader( diff --git a/patches/chromium/feat_surface_global_shortcut_registration_results_to_embedders.patch b/patches/chromium/feat_surface_global_shortcut_registration_results_to_embedders.patch index 8807c762f6..dd4f17f72d 100644 --- a/patches/chromium/feat_surface_global_shortcut_registration_results_to_embedders.patch +++ b/patches/chromium/feat_surface_global_shortcut_registration_results_to_embedders.patch @@ -25,10 +25,10 @@ is upstream as of 154.0.8023.0.) This patch should be submitted upstream. diff --git a/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener.h b/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener.h -index 2e6b062c5162adfd7716f510c7ac1542c894e219..8146142e14f91d7b778d3162de87f97376517bca 100644 +index 4f996dce458e50cc00f556f7da5681d926c8dec8..6f0de8ce780defb9db80fbef1427256abd4ed971 100644 --- a/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener.h +++ b/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener.h -@@ -86,6 +86,18 @@ class COMPONENT_EXPORT(GLOBAL_ACCELERATOR_LISTENER) GlobalAcceleratorListener { +@@ -89,6 +89,18 @@ class COMPONENT_EXPORT(GLOBAL_ACCELERATOR_LISTENER) GlobalAcceleratorListener { base::RepeatingCallback execute_command) {} @@ -48,10 +48,10 @@ index 2e6b062c5162adfd7716f510c7ac1542c894e219..8146142e14f91d7b778d3162de87f973 virtual void PruneStaleCommands() {} diff --git a/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener_linux.cc b/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener_linux.cc -index 3ccf93da7d44721b5e015f2c82950c4d7e9dca75..30a440a5557a2750549833ecd8d68a2bfa243df4 100644 +index 8a4e6872a3288da51db9b7cc72310b49c30b3857..47634846e414e83f9e3848789b36f8a247dc1719 100644 --- a/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener_linux.cc +++ b/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener_linux.cc -@@ -111,6 +111,7 @@ void GlobalAcceleratorListenerLinux::OnServiceStarted(uint32_t version) { +@@ -115,6 +115,7 @@ void GlobalAcceleratorListenerLinux::OnServiceStarted(uint32_t version) { portal_version_ = version; if (!*service_started_) { @@ -59,7 +59,7 @@ index 3ccf93da7d44721b5e015f2c82950c4d7e9dca75..30a440a5557a2750549833ecd8d68a2b bound_commands_.clear(); return; } -@@ -165,8 +166,12 @@ void GlobalAcceleratorListenerLinux::OnCommandsChanged( +@@ -169,8 +170,12 @@ void GlobalAcceleratorListenerLinux::OnCommandsChanged( gfx::AcceleratedWidget widget, base::RepeatingCallback execute_command) { @@ -73,9 +73,9 @@ index 3ccf93da7d44721b5e015f2c82950c4d7e9dca75..30a440a5557a2750549833ecd8d68a2b return; } -@@ -209,6 +214,13 @@ void GlobalAcceleratorListenerLinux::OnCommandsChanged( - } +@@ -217,6 +222,13 @@ void GlobalAcceleratorListenerLinux::OnCommandsChanged( + SaveState(); MaybeBind(); + + // If every global command of this group is already bound in the current @@ -86,8 +86,8 @@ index 3ccf93da7d44721b5e015f2c82950c4d7e9dca75..30a440a5557a2750549833ecd8d68a2b + } } - void GlobalAcceleratorListenerLinux::MaybeBind() { -@@ -265,6 +277,8 @@ void GlobalAcceleratorListenerLinux::OnCreateSessionResponse( + void GlobalAcceleratorListenerLinux::SetStateStore( +@@ -289,6 +301,8 @@ void GlobalAcceleratorListenerLinux::OnCreateSessionResponse( if (!session) { VLOG(1) << "Failed to create portal session."; session_.reset(); @@ -96,7 +96,7 @@ index 3ccf93da7d44721b5e015f2c82950c4d7e9dca75..30a440a5557a2750549833ecd8d68a2b return; } -@@ -323,6 +337,7 @@ void GlobalAcceleratorListenerLinux::OnListShortcuts( +@@ -356,6 +370,7 @@ void GlobalAcceleratorListenerLinux::OnListShortcuts( [&](const std::string& id) { return listed_ids.contains(id); })) { session_ids_ = ids_to_bind; bind_state_ = BindState::kBound; @@ -104,7 +104,7 @@ index 3ccf93da7d44721b5e015f2c82950c4d7e9dca75..30a440a5557a2750549833ecd8d68a2b return; } -@@ -352,10 +367,16 @@ void GlobalAcceleratorListenerLinux::BindShortcuts(std::string parent_handle) { +@@ -385,12 +400,18 @@ void GlobalAcceleratorListenerLinux::BindShortcuts(std::string parent_handle) { } const base::flat_set ids_to_bind = GetIdsToBind(); @@ -113,16 +113,18 @@ index 3ccf93da7d44721b5e015f2c82950c4d7e9dca75..30a440a5557a2750549833ecd8d68a2b for (const std::string& id : ids_to_bind) { dbus_xdg::Dictionary& props = shortcut_map[id]; props.clear(); -- const ui::Command& command = bound_commands_.at(id).command; -+ const BoundCommand& bound_cmd = bound_commands_.at(id); -+ if (pending_groups_seen.insert(bound_cmd.accelerator_group_id).second) { -+ pending_bind_groups_.push_back(bound_cmd.accelerator_group_id); -+ } -+ const ui::Command& command = bound_cmd.command; - props["description"] = - dbus_utils::Variant::Wrap<"s">(GetDescription(command)); - std::string trigger = AcceleratorToXdgShortcut(command.accelerator()); -@@ -397,11 +418,25 @@ void GlobalAcceleratorListenerLinux::OnBindShortcuts( + auto bound_it = bound_commands_.find(id); + if (bound_it != bound_commands_.end()) { +- const ui::Command& command = bound_it->second.command; ++ const BoundCommand& bound_cmd = bound_it->second; ++ if (pending_groups_seen.insert(bound_cmd.accelerator_group_id).second) { ++ pending_bind_groups_.push_back(bound_cmd.accelerator_group_id); ++ } ++ const ui::Command& command = bound_cmd.command; + props["description"] = + dbus_utils::Variant::Wrap<"s">(GetDescription(command)); + std::string trigger = AcceleratorToXdgShortcut(command.accelerator()); +@@ -438,6 +459,10 @@ void GlobalAcceleratorListenerLinux::OnBindShortcuts( const bool needs_rebind = bind_state_ == BindState::kNeedsRebind; base::flat_set bound_ids = std::move(pending_bind_ids_); pending_bind_ids_.clear(); @@ -131,7 +133,10 @@ index 3ccf93da7d44721b5e015f2c82950c4d7e9dca75..30a440a5557a2750549833ecd8d68a2b + const std::vector groups = std::move(pending_bind_groups_); + pending_bind_groups_.clear(); - if (!results.has_value()) { + if (results.has_value()) { + for (const std::string& id : bound_ids) { +@@ -450,7 +475,17 @@ void GlobalAcceleratorListenerLinux::OnBindShortcuts( + } else { LOG(ERROR) << "Failed to call BindShortcuts (error code " << static_cast(results.error()) << ")."; + NotifyGroupsResolved(groups, false); @@ -148,7 +153,7 @@ index 3ccf93da7d44721b5e015f2c82950c4d7e9dca75..30a440a5557a2750549833ecd8d68a2b session_ids_ = std::move(bound_ids); bind_state_ = BindState::kBound; -@@ -445,6 +480,39 @@ void GlobalAcceleratorListenerLinux::OnSignalConnected( +@@ -494,6 +529,39 @@ void GlobalAcceleratorListenerLinux::OnSignalConnected( } } @@ -186,24 +191,24 @@ index 3ccf93da7d44721b5e015f2c82950c4d7e9dca75..30a440a5557a2750549833ecd8d68a2b +} + void GlobalAcceleratorListenerLinux::PruneStaleCommands() { - std::erase_if(bound_commands_, [](const auto& pair) { - return pair.second.execute_command.IsCancelled(); + // The shortcuts stay in `offered_shortcuts_` so that they remain stored in + // the portal while their owner isn't loaded. diff --git a/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener_linux.h b/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener_linux.h -index e958a852b589637e24e03369e6f2d64ac11c21f6..36caacda4b1452255647b8cccbf9df9a3669d812 100644 +index 2ac4df595566e680fc90a4513000a96167d6479e..e3272d105487098539c1fb8123885aa346d41a26 100644 --- a/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener_linux.h +++ b/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener_linux.h -@@ -119,6 +119,8 @@ class COMPONENT_EXPORT(GLOBAL_ACCELERATOR_LISTENER) +@@ -135,6 +135,8 @@ class COMPONENT_EXPORT(GLOBAL_ACCELERATOR_LISTENER) gfx::AcceleratedWidget widget, base::RepeatingCallback execute_command) override; + void SetRegistrationResolvedCallback( + RegistrationResolvedCallback callback) override; void PruneStaleCommands() override; + void SetStateStore(std::unique_ptr store) override; - void OnCreateSessionResponse(dbus_xdg::Session* session); -@@ -157,6 +159,14 @@ class COMPONENT_EXPORT(GLOBAL_ACCELERATOR_LISTENER) - // in this session. - bool IsIdOfLoadedGroup(const std::string& id) const; +@@ -182,6 +184,14 @@ class COMPONENT_EXPORT(GLOBAL_ACCELERATOR_LISTENER) + void LoadState(); + void SaveState(); + // Runs `registration_resolved_callback_` once per accelerator group that + // has global commands. @@ -216,9 +221,9 @@ index e958a852b589637e24e03369e6f2d64ac11c21f6..36caacda4b1452255647b8cccbf9df9a // DBus components. scoped_refptr bus_; raw_ptr global_shortcuts_proxy_ = nullptr; -@@ -191,6 +201,10 @@ class COMPONENT_EXPORT(GLOBAL_ACCELERATOR_LISTENER) - // IDs sent in the in-flight BindShortcuts call. - base::flat_set pending_bind_ids_; +@@ -224,6 +234,10 @@ class COMPONENT_EXPORT(GLOBAL_ACCELERATOR_LISTENER) + + std::unique_ptr state_store_; + RegistrationResolvedCallback registration_resolved_callback_; + // Accelerator groups included in the in-flight BindShortcuts request. diff --git a/patches/chromium/fix_add_reinitializegeneratedcodecachecontext_to.patch b/patches/chromium/fix_add_reinitializegeneratedcodecachecontext_to.patch index 9dd5d3d79d..2c3ebd3d11 100644 --- a/patches/chromium/fix_add_reinitializegeneratedcodecachecontext_to.patch +++ b/patches/chromium/fix_add_reinitializegeneratedcodecachecontext_to.patch @@ -14,10 +14,10 @@ This new method properly shuts down the existing context and creates a fresh one, allowing Electron session.setCodeCachePath() to work correctly. diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage_partition_impl.cc -index 7b69ec7f354934ff19e7b95d3ea46b7111935e7b..8e1c495781696340ad9721422b3f133cdf413b35 100644 +index 09f5b2b5810980d84596de2f51a347aa7bee51e2..051870f48efaa4dd998bd896ca27cefa2aeb281c 100644 --- a/content/browser/storage_partition_impl.cc +++ b/content/browser/storage_partition_impl.cc -@@ -1885,6 +1885,22 @@ StoragePartitionImpl::GetGeneratedCodeCacheContext() { +@@ -1886,6 +1886,22 @@ StoragePartitionImpl::GetGeneratedCodeCacheContext() { return generated_code_cache_context_.get(); } diff --git a/patches/chromium/fix_adjust_headless_mode_handling_in_native_widget.patch b/patches/chromium/fix_adjust_headless_mode_handling_in_native_widget.patch index 3baad15179..3cd6ba52cd 100644 --- a/patches/chromium/fix_adjust_headless_mode_handling_in_native_widget.patch +++ b/patches/chromium/fix_adjust_headless_mode_handling_in_native_widget.patch @@ -94,10 +94,10 @@ index a41254c1f31654c1326b4bf1f29237bdf44bbe5a..8ca5673a225b69b5630383ed9673653b StateRestorationData? state_restoration_data; diff --git a/ui/views/cocoa/native_widget_mac_ns_window_host.h b/ui/views/cocoa/native_widget_mac_ns_window_host.h -index ad6a2ca5960749d2b1a45f39f4ab419370dde406..2c850a6c5d01936052f2eb41f814a25ea109055e 100644 +index 37cdddfb2f8309aa1bb331d2052eeff02fc5584b..c3547acc8b176181b950c98ea6d2d421830a63e6 100644 --- a/ui/views/cocoa/native_widget_mac_ns_window_host.h +++ b/ui/views/cocoa/native_widget_mac_ns_window_host.h -@@ -579,6 +579,7 @@ class VIEWS_EXPORT NativeWidgetMacNSWindowHost +@@ -580,6 +580,7 @@ class VIEWS_EXPORT NativeWidgetMacNSWindowHost bool is_miniaturized_ = false; bool is_window_key_ = false; bool is_mouse_capture_active_ = false; diff --git a/patches/chromium/fix_constrain_allowuniversalaccessfromfileurls_to_file_origins_in.patch b/patches/chromium/fix_constrain_allowuniversalaccessfromfileurls_to_file_origins_in.patch index 7a8b215856..e07ce2771f 100644 --- a/patches/chromium/fix_constrain_allowuniversalaccessfromfileurls_to_file_origins_in.patch +++ b/patches/chromium/fix_constrain_allowuniversalaccessfromfileurls_to_file_origins_in.patch @@ -101,10 +101,10 @@ index a13cd92bc70a5eb20cfc46469a6be481766d793c..b26653958baa3a35b6f9a6b4f5deee2e // universal access privilege. WeakMember universal_access_agent_; diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc -index 71fa6521f2842fb338bd03c8dafa2a692ca56bbe..8e3eaf7379f4b4d44f023b9f47bb191d23e88661 100644 +index 93cdf174f6050019a7c224919bc233f80e22d162..241c9e63c4420e1721864126ec7a702142ec37b4 100644 --- a/third_party/blink/renderer/core/loader/document_loader.cc +++ b/third_party/blink/renderer/core/loader/document_loader.cc -@@ -2708,22 +2708,16 @@ bool ShouldReuseDOMWindow(LocalDOMWindow* window, +@@ -2713,22 +2713,16 @@ bool ShouldReuseDOMWindow(LocalDOMWindow* window, return *window_coi_key == *navigation_coi_key; } @@ -131,7 +131,7 @@ index 71fa6521f2842fb338bd03c8dafa2a692ca56bbe..8e3eaf7379f4b4d44f023b9f47bb191d } // Inheriting cases use their agent's AgentClusterKey value, which is set -@@ -2824,7 +2818,7 @@ void DocumentLoader::InitializeWindow(Document* owner_document) { +@@ -2829,7 +2823,7 @@ void DocumentLoader::InitializeWindow(Document* owner_document) { // WindowAgentFactory::GetAgentForOrigin(), as the two conditions below hand // out universal WindowAgent objects, and thus override the AgentClusterKey // provided by the browser process. diff --git a/patches/chromium/fix_crash_loading_non-standard_schemes_in_iframes.patch b/patches/chromium/fix_crash_loading_non-standard_schemes_in_iframes.patch index 732caf23da..eead661199 100644 --- a/patches/chromium/fix_crash_loading_non-standard_schemes_in_iframes.patch +++ b/patches/chromium/fix_crash_loading_non-standard_schemes_in_iframes.patch @@ -30,10 +30,10 @@ 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 a34547429ca6d73e9bd25502eaca23b8c53cf086..b0cf19902386377baadcfc4f95bb6c4b1311647a 100644 +index fbd2863a172d63fee4e8370dff2d97b186622f78..1c7bf9b3ce51b7fae03bd0056ffd244aa9b4f462 100644 --- a/content/browser/renderer_host/navigation_request.cc +++ b/content/browser/renderer_host/navigation_request.cc -@@ -13150,6 +13150,12 @@ url::Origin NavigationRequest::GetOriginForURLLoaderFactoryUnchecked() { +@@ -13187,6 +13187,12 @@ url::Origin NavigationRequest::GetOriginForURLLoaderFactoryUnchecked() { target_rph_id); } @@ -47,10 +47,10 @@ index a34547429ca6d73e9bd25502eaca23b8c53cf086..b0cf19902386377baadcfc4f95bb6c4b // origin of |common_params.url| and/or |common_params.initiator_origin|. url::Origin resolved_origin = url::Origin::Resolve( diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc -index feb3a3d9ab15661cf160eb02af6699645942fcd0..71fa6521f2842fb338bd03c8dafa2a692ca56bbe 100644 +index f71cf41acadfff30c84a3d4e7e69ad48c7fead2c..93cdf174f6050019a7c224919bc233f80e22d162 100644 --- a/third_party/blink/renderer/core/loader/document_loader.cc +++ b/third_party/blink/renderer/core/loader/document_loader.cc -@@ -2462,6 +2462,7 @@ Frame* DocumentLoader::CalculateOwnerFrame() { +@@ -2467,6 +2467,7 @@ Frame* DocumentLoader::CalculateOwnerFrame() { scoped_refptr DocumentLoader::CalculateOrigin( Document* owner_document) { scoped_refptr origin; @@ -58,7 +58,7 @@ index feb3a3d9ab15661cf160eb02af6699645942fcd0..71fa6521f2842fb338bd03c8dafa2a69 // Whether the origin is newly created within this call, instead of copied // from an existing document's origin or from `origin_to_commit_`. If this is // true, we won't try to compare the nonce of this origin (if it's opaque) to -@@ -2498,6 +2499,9 @@ scoped_refptr DocumentLoader::CalculateOrigin( +@@ -2503,6 +2504,9 @@ scoped_refptr DocumentLoader::CalculateOrigin( // non-renderer only origin bits will be the same, which will be asserted at // the end of this function. origin = origin_to_commit_; diff --git a/patches/chromium/fix_gate_webstoreprivate_on_a_delegated_availability_check.patch b/patches/chromium/fix_gate_webstoreprivate_on_a_delegated_availability_check.patch index 04864b99c3..5741533ab6 100644 --- a/patches/chromium/fix_gate_webstoreprivate_on_a_delegated_availability_check.patch +++ b/patches/chromium/fix_gate_webstoreprivate_on_a_delegated_availability_check.patch @@ -16,10 +16,10 @@ earlier ones. Generated features are now immutable, so the override has to be made in the core definition. diff --git a/extensions/common/api/_api_features.json b/extensions/common/api/_api_features.json -index bd83166693433c9919fdfbec972014dffa433773..c5b934dfe12b35c21c983a5d8d32acbc4d9ee659 100644 +index 84034e36dee719160cbb70d0bb4fcf712c3583a5..73f3dc3d18e87c27f9d4c9461820b48a701b30bb 100644 --- a/extensions/common/api/_api_features.json +++ b/extensions/common/api/_api_features.json -@@ -987,6 +987,10 @@ +@@ -982,6 +982,10 @@ "webstorePrivate": [{ "channel": "stable", "contexts": ["web_page"], diff --git a/patches/chromium/fix_make_macos_text_replacement_work_on_contenteditable.patch b/patches/chromium/fix_make_macos_text_replacement_work_on_contenteditable.patch index 55e66777d5..54d2dfc7d5 100644 --- a/patches/chromium/fix_make_macos_text_replacement_work_on_contenteditable.patch +++ b/patches/chromium/fix_make_macos_text_replacement_work_on_contenteditable.patch @@ -11,10 +11,10 @@ is currently bugged on these elements. This patch fixes that. 2. Space now adds a space after accepting the replacement. diff --git a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm -index 92eaacfb3256ded77bd119e6ca30640472621f79..fbc27e7840584819cdff34565338f797048ab84a 100644 +index dbd8cbc192931ee7821f7e76923c6cb260bddb61..a34636240f0c14c4369237573b2e0a9bdd952e29 100644 --- a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm +++ b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm -@@ -566,6 +566,13 @@ - (void)didAcceptReplacementString:(NSString*)acceptedString +@@ -568,6 +568,13 @@ - (void)didAcceptReplacementString:(NSString*)acceptedString if (acceptedString == nil) return; diff --git a/patches/chromium/fix_media_key_usage_with_globalshortcuts.patch b/patches/chromium/fix_media_key_usage_with_globalshortcuts.patch index 69984ec43e..ba9e4ed8ba 100644 --- a/patches/chromium/fix_media_key_usage_with_globalshortcuts.patch +++ b/patches/chromium/fix_media_key_usage_with_globalshortcuts.patch @@ -76,18 +76,18 @@ index 0e9bffaf0203d39d9fb82d717f36b449d5566181..5cf3d98f4679a252290a34c15491a8a4 auto it = accelerator_map_.begin(); while (it != accelerator_map_.end()) { diff --git a/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener.h b/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener.h -index cb21419eecd14718c467f068c618f7b75b98efc5..2e6b062c5162adfd7716f510c7ac1542c894e219 100644 +index 0712e324023e5db9e7a550c1d0167cea39292860..4f996dce458e50cc00f556f7da5681d926c8dec8 100644 --- a/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener.h +++ b/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener.h -@@ -10,6 +10,7 @@ - #include "base/component_export.h" +@@ -13,6 +13,7 @@ #include "base/functional/callback.h" #include "base/memory/raw_ptr.h" + #include "base/values.h" +#include "content/public/browser/media_keys_listener_manager.h" #include "ui/base/accelerators/command.h" #include "ui/gfx/native_ui_types.h" -@@ -44,6 +45,9 @@ class COMPONENT_EXPORT(GLOBAL_ACCELERATOR_LISTENER) GlobalAcceleratorListener { +@@ -47,6 +48,9 @@ class COMPONENT_EXPORT(GLOBAL_ACCELERATOR_LISTENER) GlobalAcceleratorListener { // The instance may be nullptr. static GlobalAcceleratorListener* GetInstance(); diff --git a/patches/chromium/fix_plumb_the_requesting_frame_through_pointer_lock_requests.patch b/patches/chromium/fix_plumb_the_requesting_frame_through_pointer_lock_requests.patch index 2b12705a01..73e8d0f61d 100644 --- a/patches/chromium/fix_plumb_the_requesting_frame_through_pointer_lock_requests.patch +++ b/patches/chromium/fix_plumb_the_requesting_frame_through_pointer_lock_requests.patch @@ -306,10 +306,10 @@ index 1ff83218d9bc4ec2990c59bd79cc06e5d5fd8e85..6e7770af81bdbf476e7fa0b1eeb6b369 pending_remote? context); }; diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc -index 2062d26942b0dd745eb9b4a9879a8afdf8dc68a0..62ed10c1765ebb923eba6ad6f33060f2762d82bf 100644 +index 494aa6a5b68f04239b101aa71385a4920f051850..64c47d8bc88a74b93201a10ddf783689919e6c90 100644 --- a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc +++ b/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc -@@ -3672,6 +3672,7 @@ void WebFrameWidgetImpl::CancelComposition() { +@@ -3675,6 +3675,7 @@ void WebFrameWidgetImpl::CancelComposition() { } void WebFrameWidgetImpl::RequestMouseLock( @@ -317,7 +317,7 @@ index 2062d26942b0dd745eb9b4a9879a8afdf8dc68a0..62ed10c1765ebb923eba6ad6f33060f2 bool has_transient_user_activation, bool request_unadjusted_movement, mojom::blink::WidgetInputHandlerHost::RequestMouseLockCallback callback) { -@@ -3685,7 +3686,7 @@ void WebFrameWidgetImpl::RequestMouseLock( +@@ -3688,7 +3689,7 @@ void WebFrameWidgetImpl::RequestMouseLock( // callback. It does share the same signature as the mojo definition // for simplicity. if (host) { diff --git a/patches/chromium/fix_select_the_first_menu_item_when_opened_via_keyboard.patch b/patches/chromium/fix_select_the_first_menu_item_when_opened_via_keyboard.patch index 213002127e..7049d3203f 100644 --- a/patches/chromium/fix_select_the_first_menu_item_when_opened_via_keyboard.patch +++ b/patches/chromium/fix_select_the_first_menu_item_when_opened_via_keyboard.patch @@ -11,7 +11,7 @@ PlatformStyle::kAutoSelectFirstMenuItemFromKeyboard covers the other views platforms. diff --git a/ui/views/controls/menu/menu_controller.cc b/ui/views/controls/menu/menu_controller.cc -index 1bf100493229e36f0c6115287f6a00e59da1ebb0..2bc4a7e943a128d6db75f0314f0d741c92d3983e 100644 +index 7fda897b7b50dc128ab5bce91b925d5047fab370..915f63ba17b69f483bcc1ac4ff19e8632305c595 100644 --- a/ui/views/controls/menu/menu_controller.cc +++ b/ui/views/controls/menu/menu_controller.cc @@ -839,6 +839,22 @@ void MenuController::Run(Widget* parent, @@ -37,7 +37,7 @@ index 1bf100493229e36f0c6115287f6a00e59da1ebb0..2bc4a7e943a128d6db75f0314f0d741c if (button_controller) { pressed_lock_ = button_controller->TakeLock( false, ui::LocatedEvent::FromIfValid(event)); -@@ -2861,18 +2877,15 @@ void MenuController::OpenMenuImpl(MenuItemView* item, bool show) { +@@ -2863,18 +2879,15 @@ void MenuController::OpenMenuImpl(MenuItemView* item, bool show) { return; } diff --git a/patches/chromium/fix_use_delegated_generic_capturer_when_available.patch b/patches/chromium/fix_use_delegated_generic_capturer_when_available.patch index 80018c1c66..94584c97b9 100644 --- a/patches/chromium/fix_use_delegated_generic_capturer_when_available.patch +++ b/patches/chromium/fix_use_delegated_generic_capturer_when_available.patch @@ -15,10 +15,10 @@ capturer was window or screen-specific, as the IDs remain valid for generic capturer as well. diff --git a/content/browser/media/capture/desktop_capture_device.cc b/content/browser/media/capture/desktop_capture_device.cc -index dbec4584f9fc18806909830119511e6154bdcbbf..f99c077cb53bc3fc3646715c41bd15a485b4f89c 100644 +index 5866c4ae91052efc7b6d211b1fdc3e6b9fa7e6ae..9eca3638fcf7215d6a416b5420e27fbe18c0b47a 100644 --- a/content/browser/media/capture/desktop_capture_device.cc +++ b/content/browser/media/capture/desktop_capture_device.cc -@@ -1407,9 +1407,16 @@ std::unique_ptr DesktopCaptureDevice::Create( +@@ -1413,9 +1413,16 @@ std::unique_ptr DesktopCaptureDevice::Create( switch (source.type) { case DesktopMediaID::TYPE_SCREEN: { @@ -38,7 +38,7 @@ index dbec4584f9fc18806909830119511e6154bdcbbf..f99c077cb53bc3fc3646715c41bd15a4 if (screen_capturer && screen_capturer->SelectSource(source.id)) { capturer = std::make_unique( std::move(screen_capturer), options); -@@ -1426,8 +1433,15 @@ std::unique_ptr DesktopCaptureDevice::Create( +@@ -1432,8 +1439,15 @@ std::unique_ptr DesktopCaptureDevice::Create( } case DesktopMediaID::TYPE_WINDOW: { diff --git a/patches/chromium/frame_host_manager.patch b/patches/chromium/frame_host_manager.patch index 63718d9213..8044b1ee6f 100644 --- a/patches/chromium/frame_host_manager.patch +++ b/patches/chromium/frame_host_manager.patch @@ -20,10 +20,10 @@ index 97b080c56f58b7e9cbc78ebb5e639601cdc334c4..06e7b74af7e2c40cde2642307ee293e5 } diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h -index f6d69c8962c42259cc3bf0d9be8ed9624be87f2f..3ca3e0bdeb60451c15747451438a00122db4bbb3 100644 +index ecf2fdb84c4195b3d97663e36b7c5cd4d28833a3..c07e24cef724f792908b1bd6bdcb6650ec243274 100644 --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h -@@ -355,6 +355,11 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -354,6 +354,11 @@ class CONTENT_EXPORT ContentBrowserClient { virtual ~ContentBrowserClient() = default; diff --git a/patches/chromium/gritsettings_resource_ids.patch b/patches/chromium/gritsettings_resource_ids.patch index 7b2581c8ba..c0c0d568fd 100644 --- a/patches/chromium/gritsettings_resource_ids.patch +++ b/patches/chromium/gritsettings_resource_ids.patch @@ -6,10 +6,10 @@ 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 bd5e1ce22f52283045089eac5d5eece80294492f..0ca7ba10c2e858eff8621db9d9b38ef7082bff57 100644 +index 928475db8a60081d6bbaec025948973bcc65f888..183be197fb1ab9f96460e600dc91e3b2e7ca70bf 100644 --- a/tools/gritsettings/resource_ids.spec +++ b/tools/gritsettings/resource_ids.spec -@@ -1800,6 +1800,11 @@ +@@ -1808,6 +1808,11 @@ "includes": [12000], }, diff --git a/patches/chromium/mas_avoid_private_macos_api_usage.patch.patch b/patches/chromium/mas_avoid_private_macos_api_usage.patch.patch index 04668d1c58..4674e8a026 100644 --- a/patches/chromium/mas_avoid_private_macos_api_usage.patch.patch +++ b/patches/chromium/mas_avoid_private_macos_api_usage.patch.patch @@ -908,10 +908,10 @@ index 5abdca1cb441d306b5dbea7d7bf7e1400ce3a14d..d2235a096f5ea7b5c3ecdc84af9b10a8 // Beware: This view was briefly removed (in favor of a bare CALayer) in // https://crrev.com/c/1236675. The ordering of unassociated layers relative diff --git a/components/viz/service/BUILD.gn b/components/viz/service/BUILD.gn -index 42fc3926fd9e3712d93d8f67e4ba7cfb3f24dbb9..6acbea5d741982ff7c7ec01ac813e0418802bb10 100644 +index f26d694210e94f500c8dab69eb362f52336baf07..80c201e6f239f713491bf51303455909a93de3f5 100644 --- a/components/viz/service/BUILD.gn +++ b/components/viz/service/BUILD.gn -@@ -397,6 +397,7 @@ viz_component("service") { +@@ -388,6 +388,7 @@ viz_component("service") { "frame_sinks/external_begin_frame_source_mojo_mac.h", ] } @@ -919,7 +919,7 @@ index 42fc3926fd9e3712d93d8f67e4ba7cfb3f24dbb9..6acbea5d741982ff7c7ec01ac813e041 } if (is_ios) { -@@ -757,6 +758,7 @@ viz_source_set("unit_tests") { +@@ -748,6 +749,7 @@ viz_source_set("unit_tests") { "frame_sinks/external_begin_frame_source_mac_unittest.cc", ] frameworks = [ "IOSurface.framework" ] @@ -979,7 +979,7 @@ index 010c713090e5038dc90db131c8f621422d30c03b..20c35e887a0496ee609c077e3b0494bd void ForwardKeyboardEvent(const input::NativeWebKeyboardEvent& key_event, diff --git a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm -index c74a6130862162d4fdb07cf3d4a60604d0ae0482..92eaacfb3256ded77bd119e6ca30640472621f79 100644 +index 45e8631ea6e5497edb90b91223d962abe3071849..dbd8cbc192931ee7821f7e76923c6cb260bddb61 100644 --- a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm +++ b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm @@ -35,6 +35,7 @@ @@ -990,7 +990,7 @@ index c74a6130862162d4fdb07cf3d4a60604d0ae0482..92eaacfb3256ded77bd119e6ca306404 #include "skia/ext/skia_utils_mac.h" #include "third_party/blink/public/common/features.h" #include "third_party/blink/public/mojom/input/input_handler.mojom.h" -@@ -2499,15 +2500,21 @@ - (NSAccessibilityRole)accessibilityRole { +@@ -2501,15 +2502,21 @@ - (NSAccessibilityRole)accessibilityRole { // Since this implementation doesn't have to wait any IPC calls, this doesn't // make any key-typing jank. --hbono 7/23/09 // @@ -1013,10 +1013,10 @@ index c74a6130862162d4fdb07cf3d4a60604d0ae0482..92eaacfb3256ded77bd119e6ca306404 return kAttributes; } diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn -index cda5d70ca84a6ac0a326bda684292810f42a363f..2673ba0a388130d54b2c63b115a705d917d343a8 100644 +index 4e929a8d7ce90f7bc4aa9205fd676e27b4d659c9..2402a6091de68d5e37c5ec1039eeb2b4055c6976 100644 --- a/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn -@@ -385,6 +385,7 @@ source_set("browser") { +@@ -384,6 +384,7 @@ source_set("browser") { "//ui/webui/resources", "//v8", "//v8:v8_version", @@ -1228,10 +1228,10 @@ index a1068589ad844518038ee7bc15a3de9bc5cba525..1ff781c49f086ec8015c7d3c44567dbe } // namespace content diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn -index 675418f6057ea053db13fe1fad74ecb0ae916652..69a4f3508c1339163daf8e1dccb1f0246c87d9f9 100644 +index 55748f1d95405ecdb2fd730791cd063621f12872..0ac18717077395f3698f1d4b0a2bca4c2554874d 100644 --- a/content/test/BUILD.gn +++ b/content/test/BUILD.gn -@@ -651,6 +651,7 @@ static_library("test_support") { +@@ -649,6 +649,7 @@ static_library("test_support") { "//url", "//url/mojom:url_mojom_gurl", "//v8", @@ -1239,7 +1239,7 @@ index 675418f6057ea053db13fe1fad74ecb0ae916652..69a4f3508c1339163daf8e1dccb1f024 ] data_deps = [ -@@ -1135,6 +1136,8 @@ static_library("browsertest_support") { +@@ -1133,6 +1134,8 @@ static_library("browsertest_support") { } configs += [ "//v8:external_startup_data" ] @@ -1248,7 +1248,7 @@ index 675418f6057ea053db13fe1fad74ecb0ae916652..69a4f3508c1339163daf8e1dccb1f024 } mojom("content_test_mojo_bindings") { -@@ -2061,6 +2064,7 @@ test("content_browsertests") { +@@ -2058,6 +2061,7 @@ test("content_browsertests") { "//ui/shell_dialogs", "//ui/snapshot", "//ui/webui:test_support", @@ -1256,7 +1256,7 @@ index 675418f6057ea053db13fe1fad74ecb0ae916652..69a4f3508c1339163daf8e1dccb1f024 ] if (!(is_chromeos && target_cpu == "arm64" && current_cpu == "arm")) { -@@ -3453,6 +3457,7 @@ test("content_unittests") { +@@ -3446,6 +3450,7 @@ test("content_unittests") { "//ui/shell_dialogs", "//ui/webui:test_support", "//url", @@ -2077,10 +2077,10 @@ index b20c2d410c6848a5041d14322e834818e3f175e7..2575c23d4909651bf568480c2173d1b2 void DisplayCALayerTree::GotIOSurfaceFrame( diff --git a/ui/accessibility/platform/BUILD.gn b/ui/accessibility/platform/BUILD.gn -index eadb44ecc00a1ac4f5c442eafe9ceb53279a36b1..107b98812188104f39ce90c27307d6aac2bd387d 100644 +index f0850f8dd184571bf1c3f7a5e26c6b719c6c1925..a74ebc91c325addedec9209cc3729949d061d518 100644 --- a/ui/accessibility/platform/BUILD.gn +++ b/ui/accessibility/platform/BUILD.gn -@@ -303,6 +303,7 @@ component("platform") { +@@ -300,6 +300,7 @@ component("platform") { "AppKit.framework", "Foundation.framework", ] @@ -2171,10 +2171,10 @@ index 9423a2891552e8df3ea5b05c720ab11795c4b92d..610c479ef03759d3082b42d7a402cbea // Accessible object if (AXElementWrapper::IsValidElement(value)) { diff --git a/ui/base/BUILD.gn b/ui/base/BUILD.gn -index c92c5700536048d3fafc030ff259526c6e7dba55..ecfa2b7713024a0f9d1dc3b2a394b4ccd8ebdf10 100644 +index bf24872b5002f61820bae1a496d3332814f30dbf..8f1401184c874df7a1a258f2a60882dbdc76c057 100644 --- a/ui/base/BUILD.gn +++ b/ui/base/BUILD.gn -@@ -365,6 +365,13 @@ component("base") { +@@ -367,6 +367,13 @@ component("base") { ] } @@ -2188,7 +2188,7 @@ index c92c5700536048d3fafc030ff259526c6e7dba55..ecfa2b7713024a0f9d1dc3b2a394b4cc if (is_ios) { sources += [ "device_form_factor_ios.mm", -@@ -521,6 +528,12 @@ component("base") { +@@ -520,6 +527,12 @@ component("base") { "//url", ] @@ -2292,10 +2292,10 @@ index 93e90c4eba9bc9b93d68e834eb6baabeb2d0ecf0..1b90f41d05f847a94adf2f4da827b1d0 } // namespace diff --git a/ui/display/BUILD.gn b/ui/display/BUILD.gn -index 71144801e65cf220e160b9c03d93dd07e20cbcce..935594966ce0deb145ffe99a6d9af6265b113c5c 100644 +index 6f419c1255ad8e10e50a0de3bc9599a07e8d917e..8f93adfc525f98fb569f3dd63ff9788329e387a0 100644 --- a/ui/display/BUILD.gn +++ b/ui/display/BUILD.gn -@@ -142,6 +142,12 @@ component("display") { +@@ -139,6 +139,12 @@ component("display") { "//ui/gfx/geometry", ] @@ -2415,10 +2415,10 @@ index 618217772a2fa38077ca0913dc017ecc6a702142..f06c9cf5bd3d841935d4e7353e704027 // Query the display's refresh rate. To get a float number such as 59.95Hz, // use 1.0/screen.minimumRefreshInterval instead of diff --git a/ui/gfx/BUILD.gn b/ui/gfx/BUILD.gn -index 250c1ad2048f80386864f6037e2d0eda6eeebc26..b6d4aeba0072475d384a96bc838d0e1de56c65f4 100644 +index c50d748fb83207ff46e5d46a8979ebea1d5c30f7..e4c4a8cdb71bc872e8dbf998b6bfa7a0ff053d25 100644 --- a/ui/gfx/BUILD.gn +++ b/ui/gfx/BUILD.gn -@@ -286,6 +286,8 @@ component("gfx") { +@@ -284,6 +284,8 @@ component("gfx") { "CoreGraphics.framework", "CoreText.framework", ] @@ -2466,7 +2466,7 @@ index 65ae8170664d15c7884261812400d0ed638a681d..86c937f1e6d03b88803a2ca80abff19c // enough. return PlatformFontMac::SystemFontType::kGeneral; diff --git a/ui/views/BUILD.gn b/ui/views/BUILD.gn -index c0d1b5edde7890a13fcdf1e8a18d7733041593fa..d88b9590e4ea4170aa680e56dca5916f9e7363b8 100644 +index 86668cf470ff935533b03342b0afdc4c24f976d8..5223189e074ff1871fd0b916a24b7753101d433e 100644 --- a/ui/views/BUILD.gn +++ b/ui/views/BUILD.gn @@ -791,6 +791,8 @@ component("views") { @@ -2488,7 +2488,7 @@ index c0d1b5edde7890a13fcdf1e8a18d7733041593fa..d88b9590e4ea4170aa680e56dca5916f sources += [ "test/desktop_window_tree_host_win_test_api.cc", diff --git a/ui/views/cocoa/native_widget_mac_ns_window_host.h b/ui/views/cocoa/native_widget_mac_ns_window_host.h -index d2a9632c4c8097f426ccf8f62597a67d1ca5bb3b..ad6a2ca5960749d2b1a45f39f4ab419370dde406 100644 +index a66a1f0ffaae89ab3f338fe2c80d907c34da6f91..37cdddfb2f8309aa1bb331d2052eeff02fc5584b 100644 --- a/ui/views/cocoa/native_widget_mac_ns_window_host.h +++ b/ui/views/cocoa/native_widget_mac_ns_window_host.h @@ -20,6 +20,7 @@ @@ -2499,7 +2499,7 @@ index d2a9632c4c8097f426ccf8f62597a67d1ca5bb3b..ad6a2ca5960749d2b1a45f39f4ab4193 #include "mojo/public/cpp/bindings/associated_receiver.h" #include "mojo/public/cpp/bindings/associated_remote.h" #include "ui/accelerated_widget_mac/accelerated_widget_mac.h" -@@ -35,7 +36,9 @@ +@@ -36,7 +37,9 @@ #include "ui/views/window/dialog_observer.h" @class NativeWidgetMacNSWindow; @@ -2509,7 +2509,7 @@ index d2a9632c4c8097f426ccf8f62597a67d1ca5bb3b..ad6a2ca5960749d2b1a45f39f4ab4193 @class NSView; namespace remote_cocoa { -@@ -529,10 +532,12 @@ class VIEWS_EXPORT NativeWidgetMacNSWindowHost +@@ -530,10 +533,12 @@ class VIEWS_EXPORT NativeWidgetMacNSWindowHost mojo::AssociatedRemote remote_ns_window_remote_; diff --git a/patches/chromium/notification_provenance.patch b/patches/chromium/notification_provenance.patch index cfb9acaaa1..0b13999da4 100644 --- a/patches/chromium/notification_provenance.patch +++ b/patches/chromium/notification_provenance.patch @@ -92,7 +92,7 @@ index 6f405c9b8c2a34ac071cc4c2b3bdc953c7f5ea1a..9346ccc6249672f133975386cc8c44fa contents_.get()->GetPrimaryMainFrame()->GetWeakDocumentPtr(), RenderProcessHost::NotificationServiceCreatorType::kDocument, diff --git a/content/browser/notifications/platform_notification_context_impl.cc b/content/browser/notifications/platform_notification_context_impl.cc -index 827ea31d1b87443e7062725491a4be883a7d5128..b90f5faad8a8470a785fb0775e366b953bb2285c 100644 +index 3c200766a4b26e415b74b14ba04e7e199685fe00..693695165ddaf095210a5d1f8a2f7da5ac344617 100644 --- a/content/browser/notifications/platform_notification_context_impl.cc +++ b/content/browser/notifications/platform_notification_context_impl.cc @@ -289,6 +289,7 @@ void PlatformNotificationContextImpl::Shutdown() { @@ -133,7 +133,7 @@ index 9bf238e64af483294ae3c3f18a4e9aed49a8658d..b9b2a4c8c387b8e8b4eb1f02fc0f891c const GURL& document_url, const WeakDocumentPtr& weak_document_ptr, diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc -index 131df98facffae8a55a98704a729006c405f6274..87c93425984b86d8122b29a5b6255be38e213207 100644 +index 766cd4bdabacfa02ccf4432ab88d755eb2ac338a..a74018cf7431452d32a1523dc902362697d75971 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc @@ -2557,7 +2557,7 @@ void RenderProcessHostImpl::CreateNotificationService( diff --git a/patches/chromium/render_widget_host_view_mac.patch b/patches/chromium/render_widget_host_view_mac.patch index b7bbb3496c..d15f16f9c9 100644 --- a/patches/chromium/render_widget_host_view_mac.patch +++ b/patches/chromium/render_widget_host_view_mac.patch @@ -8,7 +8,7 @@ respond to the first mouse click in their window, which is desirable for some kinds of utility windows. Similarly for `disableAutoHideCursor`. diff --git a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm -index b72b0edd65c823f5dd8933a1eaf6b1ca59a61e6b..c74a6130862162d4fdb07cf3d4a60604d0ae0482 100644 +index 53bc6fac1a8f8a287ab05438f019c5c0dd6bd767..45e8631ea6e5497edb90b91223d962abe3071849 100644 --- a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm +++ b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm @@ -192,6 +192,11 @@ void ExtractUnderlines(NSAttributedString* string, @@ -23,7 +23,7 @@ index b72b0edd65c823f5dd8933a1eaf6b1ca59a61e6b..c74a6130862162d4fdb07cf3d4a60604 // RenderWidgetHostViewCocoa --------------------------------------------------- // Private methods: -@@ -856,6 +861,10 @@ - (AcceptMouseEvents)acceptsMouseEventsOption { +@@ -858,6 +863,10 @@ - (AcceptMouseEvents)acceptsMouseEventsOption { } - (BOOL)acceptsFirstMouse:(NSEvent*)theEvent { @@ -34,7 +34,7 @@ index b72b0edd65c823f5dd8933a1eaf6b1ca59a61e6b..c74a6130862162d4fdb07cf3d4a60604 // A click that another process posts straight to this process does not // activate the app, unlike one the window server routes here, so treating it // as an activation click would only drop it. -@@ -1527,6 +1536,10 @@ - (void)keyEvent:(NSEvent*)theEvent wasKeyEquivalent:(BOOL)equiv { +@@ -1529,6 +1538,10 @@ - (void)keyEvent:(NSEvent*)theEvent wasKeyEquivalent:(BOOL)equiv { eventType == NSEventTypeKeyDown && !(modifierFlags & NSEventModifierFlagCommand); diff --git a/patches/chromium/support_mixed_sandbox_with_zygote.patch b/patches/chromium/support_mixed_sandbox_with_zygote.patch index 02565a2baa..99e2b76f68 100644 --- a/patches/chromium/support_mixed_sandbox_with_zygote.patch +++ b/patches/chromium/support_mixed_sandbox_with_zygote.patch @@ -22,13 +22,13 @@ However, the patch would need to be reviewed by the security team, as it does touch a security-sensitive class. diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc -index 87c93425984b86d8122b29a5b6255be38e213207..aca2627015bec55846b892886b3fe955cb614325 100644 +index a74018cf7431452d32a1523dc902362697d75971..630c5cc7d0335cc25ba121a45c4ae07152d1c9dc 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc @@ -2135,6 +2135,10 @@ bool RenderProcessHostImpl::Init() { std::unique_ptr sandbox_delegate = std::make_unique( - *cmd_line, IsPdf(), IsJitDisabled()); + *cmd_line, IsPdf(), IsJitDisabled(), GetID()); +#elif BUILDFLAG(USE_ZYGOTE) + bool use_zygote = !cmd_line->HasSwitch(switches::kNoZygote); + std::unique_ptr sandbox_delegate = @@ -37,7 +37,7 @@ index 87c93425984b86d8122b29a5b6255be38e213207..aca2627015bec55846b892886b3fe955 std::unique_ptr sandbox_delegate = std::make_unique(); diff --git a/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.cc b/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.cc -index 4766810d7478f90c665572232f23beb33107f897..ab43ba8d994c966ce42b3e3e82e334939c554f4f 100644 +index abbae93de0a9fb7f7cf8f3dc9a0f61a30d1221b2..5a6ab9d547501c6c5b8ae0e67340155591eaf8e6 100644 --- a/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.cc +++ b/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.cc @@ -36,6 +36,9 @@ namespace content { @@ -51,10 +51,10 @@ index 4766810d7478f90c665572232f23beb33107f897..ab43ba8d994c966ce42b3e3e82e33493 *base::CommandLine::ForCurrentProcess(); base::CommandLine::StringType renderer_prefix = diff --git a/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.h b/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.h -index ecc214dff1b68eb94526958d9a463f78eeccf8cb..0736f4cc5db0140a7b87fea74794dcf7094b8ccd 100644 +index 99a9fda1bc8c3971206da724ad1ee880a98d6dd2..0e1b27c27160cfaa38a122c4919bc29f6b66739f 100644 --- a/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.h +++ b/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.h -@@ -24,6 +24,11 @@ class CONTENT_EXPORT RendererSandboxedProcessLauncherDelegate +@@ -25,6 +25,11 @@ class CONTENT_EXPORT RendererSandboxedProcessLauncherDelegate public: RendererSandboxedProcessLauncherDelegate() = default; @@ -66,7 +66,7 @@ index ecc214dff1b68eb94526958d9a463f78eeccf8cb..0736f4cc5db0140a7b87fea74794dcf7 ~RendererSandboxedProcessLauncherDelegate() override = default; #if BUILDFLAG(USE_ZYGOTE) -@@ -36,6 +41,11 @@ class CONTENT_EXPORT RendererSandboxedProcessLauncherDelegate +@@ -37,6 +42,11 @@ class CONTENT_EXPORT RendererSandboxedProcessLauncherDelegate // sandbox::policy::SandboxDelegate: sandbox::mojom::Sandbox GetSandboxType() override; diff --git a/patches/chromium/webview_fullscreen.patch b/patches/chromium/webview_fullscreen.patch index 4754d810d9..cede21f12e 100644 --- a/patches/chromium/webview_fullscreen.patch +++ b/patches/chromium/webview_fullscreen.patch @@ -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 0f9dbb5d2e2915a918ab0ab1856c5b0baf5ceb64..18db7394fbeee9c9a5139432d13a47e71a654507 100644 +index 397360f399d230da5ff3b93bdd9acb8960e5772f..47d9ed286e8d3acb2535bbd32f91f04e8f29d623 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc @@ -9752,6 +9752,17 @@ void RenderFrameHostImpl::EnterFullscreen( diff --git a/patches/sqlite/fix_rename_sqlite_win32_exports_to_avoid_conflicts_with_node_js.patch b/patches/sqlite/fix_rename_sqlite_win32_exports_to_avoid_conflicts_with_node_js.patch index 3eed20c3ed..169e368c6d 100644 --- a/patches/sqlite/fix_rename_sqlite_win32_exports_to_avoid_conflicts_with_node_js.patch +++ b/patches/sqlite/fix_rename_sqlite_win32_exports_to_avoid_conflicts_with_node_js.patch @@ -10,13 +10,13 @@ the exported symbols in SQLite to avoid conflicts with Node.js. This should be upstreamed to SQLite. diff --git a/amalgamation/rename_exports.h b/amalgamation/rename_exports.h -index 078603c620c4ce2f184bfcfaada44a090b3710db..5f74b8b43d4725fcf6d061c9906f62c71e952e9a 100644 +index 81e7b72ed367c29abcf26e4addf809017e2618b9..08fdfa441fc3c87822ac7ee6427228137b499d7a 100644 --- a/amalgamation/rename_exports.h +++ b/amalgamation/rename_exports.h -@@ -383,6 +383,15 @@ - #define sqlite3session_patchset chrome_sqlite3session_patchset // Lines 11972-11976 - #define sqlite3session_patchset_strm chrome_sqlite3session_patchset_strm // Lines 13296-13300 - #define sqlite3session_table_filter chrome_sqlite3session_table_filter // Lines 11740-11747 +@@ -385,6 +385,15 @@ + #define sqlite3session_patchset chrome_sqlite3session_patchset // Lines 12070-12074 + #define sqlite3session_patchset_strm chrome_sqlite3session_patchset_strm // Lines 13394-13398 + #define sqlite3session_table_filter chrome_sqlite3session_table_filter // Lines 11838-11845 +#define sqlite3_win32_write_debug chrome_sqlite3_win32_write_debug +#define sqlite3_win32_sleep chrome_sqlite3_win32_sleep +#define sqlite3_win32_is_nt chrome_sqlite3_win32_is_nt diff --git a/shell/browser/api/electron_api_app.cc b/shell/browser/api/electron_api_app.cc index 91df03c537..e6588a8ea0 100644 --- a/shell/browser/api/electron_api_app.cc +++ b/shell/browser/api/electron_api_app.cc @@ -43,6 +43,7 @@ #include "content/public/browser/gpu_data_manager.h" #include "content/public/browser/network_service_instance.h" #include "content/public/browser/render_frame_host.h" +#include "content/public/common/child_process_id.h" #include "content/public/common/content_switches.h" #include "crypto/crypto_buildflags.h" #include "electron/mas.h" @@ -779,7 +780,7 @@ void App::AllowCertificateError( base::OnceClosure App::SelectClientCertificate( content::BrowserContext* browser_context, - int process_id, + content::ChildProcessId process_id, content::WebContents* web_contents, net::SSLCertRequestInfo* cert_request_info, net::ClientCertIdentityList identities, diff --git a/shell/browser/api/electron_api_app.h b/shell/browser/api/electron_api_app.h index 506789d787..ccd125db2f 100644 --- a/shell/browser/api/electron_api_app.h +++ b/shell/browser/api/electron_api_app.h @@ -16,6 +16,7 @@ #include "content/public/browser/gpu_data_manager_observer.h" #include "content/public/browser/render_process_host.h" #include "content/public/browser/scoped_accessibility_mode.h" +#include "content/public/common/child_process_id.h" #include "crypto/crypto_buildflags.h" #include "electron/mas.h" #include "gin/wrappable.h" @@ -147,7 +148,7 @@ class App final : public gin::Wrappable, override; base::OnceClosure SelectClientCertificate( content::BrowserContext* browser_context, - int process_id, + content::ChildProcessId process_id, content::WebContents* web_contents, net::SSLCertRequestInfo* cert_request_info, net::ClientCertIdentityList identities, diff --git a/shell/browser/electron_browser_client.cc b/shell/browser/electron_browser_client.cc index e723890f95..21efa35b48 100644 --- a/shell/browser/electron_browser_client.cc +++ b/shell/browser/electron_browser_client.cc @@ -719,7 +719,7 @@ void ElectronBrowserClient::AllowCertificateError( base::OnceClosure ElectronBrowserClient::SelectClientCertificate( content::BrowserContext* browser_context, - int process_id, + content::ChildProcessId process_id, content::WebContents* web_contents, net::SSLCertRequestInfo* cert_request_info, net::ClientCertIdentityList client_certs, @@ -2185,7 +2185,9 @@ void ElectronBrowserClient::RegisterBrowserInterfaceBindersForServiceWorker( } #if BUILDFLAG(IS_MAC) -base::FilePath ElectronBrowserClient::GetChildProcessPath(int child_flags) { +base::FilePath ElectronBrowserClient::GetChildProcessPath( + int child_flags, + content::ChildProcessId child_process_id) { if (child_flags != static_cast( ElectronChildProcessHostFlags::kChildProcessHelperPlugin)) { diff --git a/shell/browser/electron_browser_client.h b/shell/browser/electron_browser_client.h index c0ca3801d7..a67cd24f89 100644 --- a/shell/browser/electron_browser_client.h +++ b/shell/browser/electron_browser_client.h @@ -18,6 +18,7 @@ #include "content/public/browser/frame_tree_node_id.h" #include "content/public/browser/render_process_host_observer.h" #include "content/public/browser/web_contents.h" +#include "content/public/common/child_process_id.h" #include "electron/buildflags/buildflags.h" #include "net/ssl/client_cert_identity.h" #include "services/metrics/public/cpp/ukm_source_id.h" @@ -149,7 +150,9 @@ class ElectronBrowserClient : public content::ContentBrowserClient, #endif #if BUILDFLAG(IS_MAC) - base::FilePath GetChildProcessPath(int child_flags) override; + base::FilePath GetChildProcessPath( + int child_flags, + content::ChildProcessId child_process_id) override; device::GeolocationSystemPermissionManager* GetGeolocationSystemPermissionManager() override; #endif @@ -160,7 +163,7 @@ class ElectronBrowserClient : public content::ContentBrowserClient, // certificate handling (see ClientCertificateResponderDelegate). base::OnceClosure SelectClientCertificate( content::BrowserContext* browser_context, - int process_id, + content::ChildProcessId process_id, content::WebContents* web_contents, net::SSLCertRequestInfo* cert_request_info, net::ClientCertIdentityList client_certs, diff --git a/shell/browser/net/client_certificate_responder_delegate.cc b/shell/browser/net/client_certificate_responder_delegate.cc index 31e0a2cf81..f34afdd4a2 100644 --- a/shell/browser/net/client_certificate_responder_delegate.cc +++ b/shell/browser/net/client_certificate_responder_delegate.cc @@ -12,6 +12,7 @@ #include "content/public/browser/browser_context.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/client_certificate_delegate.h" +#include "content/public/common/child_process_id.h" #include "mojo/public/cpp/bindings/callback_helpers.h" #include "mojo/public/cpp/bindings/remote.h" #include "mojo/public/cpp/bindings/self_owned_receiver.h" @@ -118,8 +119,9 @@ void OnGotClientCerts( // ElectronBrowserClient handles both the empty-list case (continue without a // certificate) and routing to the `select-client-certificate` app event. ElectronBrowserClient::Get()->SelectClientCertificate( - browser_context, /*process_id=*/0, /*web_contents=*/nullptr, - cert_info.get(), std::move(identities), std::move(delegate)); + browser_context, /*process_id=*/content::ChildProcessId(), + /*web_contents=*/nullptr, cert_info.get(), std::move(identities), + std::move(delegate)); } } // namespace