diff --git a/DEPS b/DEPS index ac998d306add..cd9ac4312245 100644 --- a/DEPS +++ b/DEPS @@ -2,7 +2,7 @@ gclient_gn_args_from = 'src' vars = { 'chromium_version': - '140.0.7327.0', + '140.0.7339.2', 'node_version': 'v22.18.0', 'nan_version': diff --git a/chromium_src/BUILD.gn b/chromium_src/BUILD.gn index 9b82db3d10b7..2acef923561b 100644 --- a/chromium_src/BUILD.gn +++ b/chromium_src/BUILD.gn @@ -76,16 +76,8 @@ static_library("chrome") { "//chrome/browser/picture_in_picture/scoped_picture_in_picture_occlusion_observation.h", "//chrome/browser/platform_util.cc", "//chrome/browser/platform_util.h", - "//chrome/browser/predictors/preconnect_manager.cc", - "//chrome/browser/predictors/preconnect_manager.h", - "//chrome/browser/predictors/preconnect_manager_impl.cc", - "//chrome/browser/predictors/preconnect_manager_impl.h", "//chrome/browser/predictors/predictors_features.cc", "//chrome/browser/predictors/predictors_features.h", - "//chrome/browser/predictors/proxy_lookup_client_impl.cc", - "//chrome/browser/predictors/proxy_lookup_client_impl.h", - "//chrome/browser/predictors/resolve_host_client_impl.cc", - "//chrome/browser/predictors/resolve_host_client_impl.h", "//chrome/browser/process_singleton.h", "//chrome/browser/process_singleton_internal.cc", "//chrome/browser/process_singleton_internal.h", diff --git a/filenames.libcxx.gni b/filenames.libcxx.gni index abadb50e756f..1b32357d69c4 100644 --- a/filenames.libcxx.gni +++ b/filenames.libcxx.gni @@ -968,6 +968,7 @@ libcxx_headers = [ "//third_party/libc++/src/include/__format/enable_insertable.h", "//third_party/libc++/src/include/__format/escaped_output_table.h", "//third_party/libc++/src/include/__format/extended_grapheme_cluster_table.h", + "//third_party/libc++/src/include/__format/fmt_pair_like.h", "//third_party/libc++/src/include/__format/format_arg.h", "//third_party/libc++/src/include/__format/format_arg_store.h", "//third_party/libc++/src/include/__format/format_args.h", diff --git a/patches/chromium/.patches b/patches/chromium/.patches index b3424b49c478..bb43b0165cf6 100644 --- a/patches/chromium/.patches +++ b/patches/chromium/.patches @@ -136,3 +136,4 @@ revert_update_siso-chromium_image.patch build_set_mac_sdk_minimum_to_10.patch fix_add_macos_memory_query_fallback_to_avoid_crash.patch fix_resolve_dynamic_background_material_update_issue_on_windows_11.patch +chore_restore_some_deprecated_wrapper_utility_in_gin.patch diff --git a/patches/chromium/add_didinstallconditionalfeatures.patch b/patches/chromium/add_didinstallconditionalfeatures.patch index 3ccf6c21176b..9b4daa0f5d07 100644 --- a/patches/chromium/add_didinstallconditionalfeatures.patch +++ b/patches/chromium/add_didinstallconditionalfeatures.patch @@ -23,7 +23,7 @@ index c26cff0adef977617b10bbaa7c0c13cf5e6e91d3..f9c7af85af33572a88956bf1bc9765e9 int32_t world_id) {} virtual void DidClearWindowObject() {} diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc -index 9aeb16e6b6ac67f910e27725f793909b8bf068a1..4bf39b8043717d2eaf2bc4293c26cc2848de3513 100644 +index ede4414f875254b77ffb29d0e1bfb254c619b10f..5f766b7d1bd20131b380e862090716de899d086c 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc @@ -4676,6 +4676,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local context, diff --git a/patches/chromium/add_ui_scopedcliboardwriter_writeunsaferawdata.patch b/patches/chromium/add_ui_scopedcliboardwriter_writeunsaferawdata.patch index 6ba4f671fdb7..68a06fe5092c 100644 --- a/patches/chromium/add_ui_scopedcliboardwriter_writeunsaferawdata.patch +++ b/patches/chromium/add_ui_scopedcliboardwriter_writeunsaferawdata.patch @@ -8,10 +8,10 @@ was removed as part of the Raw Clipboard API scrubbing. https://bugs.chromium.org/p/chromium/issues/detail?id=1217643 diff --git a/ui/base/clipboard/scoped_clipboard_writer.cc b/ui/base/clipboard/scoped_clipboard_writer.cc -index 4aa6a6cd282943025c82a6a611268270e9eb6568..878cad6d367a7e361aff276a139cb613207680f6 100644 +index 0b457d0742b24381718092d6af11f396fda30436..e1619eeeb8f29e6745da282a33a3464ec97aefb0 100644 --- a/ui/base/clipboard/scoped_clipboard_writer.cc +++ b/ui/base/clipboard/scoped_clipboard_writer.cc -@@ -234,6 +234,16 @@ void ScopedClipboardWriter::WriteData(std::u16string_view format, +@@ -236,6 +236,16 @@ void ScopedClipboardWriter::WriteData(std::u16string_view format, } } diff --git a/patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch b/patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch index 02e3bfc8e45a..9e464688ad6a 100644 --- a/patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch +++ b/patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch @@ -23,10 +23,10 @@ index d321fe74be7af24d1246224d7a28c9dede3635b2..af2cb60c42863b1fdad487c28d544b7a return receiver_.BindNewEndpointAndPassDedicatedRemote(); } diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc -index 595e6374f990e1fb79eb0b4aea522317ab8fa6db..0de21cbd727ec4b6e96dc801b65cd9b1a51a06ed 100644 +index 87c448c04f8f164f7b2dca6f21a8ea9cc26db163..e88cfee7ad8495e7733c85efc8d21ad2aef26db0 100644 --- a/content/browser/renderer_host/render_view_host_impl.cc +++ b/content/browser/renderer_host/render_view_host_impl.cc -@@ -770,6 +770,11 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) { +@@ -773,6 +773,11 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) { GetWidget()->GetAssociatedFrameWidget()->SetBackgroundOpaque(opaque); } @@ -116,10 +116,10 @@ index c8d27cfee8ef3fe244291f4667b59df1037c359b..92ed53a689991ec8eca9572bf2f7a212 // Visibility ----------------------------------------------------------- diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc -index b65266c1e992af51fa340762e1879708e8483caa..157b2f6533f76190409fa1c7e56924cd811512b5 100644 +index b0a8c14c845a69c72ab823af1eccad22b27f1ad6..6ba55d345d4b18c9c76e26a8a1eb3835dd692581 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -2484,6 +2484,10 @@ void WebViewImpl::SetPageLifecycleStateInternal( +@@ -2485,6 +2485,10 @@ void WebViewImpl::SetPageLifecycleStateInternal( TRACE_EVENT2("navigation", "WebViewImpl::SetPageLifecycleStateInternal", "old_state", old_state, "new_state", new_state); @@ -130,7 +130,7 @@ index b65266c1e992af51fa340762e1879708e8483caa..157b2f6533f76190409fa1c7e56924cd bool storing_in_bfcache = new_state->is_in_back_forward_cache && !old_state->is_in_back_forward_cache; bool restoring_from_bfcache = !new_state->is_in_back_forward_cache && -@@ -3985,10 +3989,23 @@ PageScheduler* WebViewImpl::Scheduler() const { +@@ -3986,10 +3990,23 @@ PageScheduler* WebViewImpl::Scheduler() const { return GetPage()->GetPageScheduler(); } diff --git a/patches/chromium/blink_local_frame.patch b/patches/chromium/blink_local_frame.patch index b358fe31e911..aba16a3b4d57 100644 --- a/patches/chromium/blink_local_frame.patch +++ b/patches/chromium/blink_local_frame.patch @@ -49,7 +49,7 @@ index c9f34fa47702504ccdefb8d61c55f5eaae501085..26df03d777c9ea487cae37f3df91d1df // its owning reference back to our owning LocalFrame. client_->Detached(type); diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc -index bd66ef7cb0b9539bf40223f75358f8260ff343f5..5d40a0034ec65117ce902ffd5b551b0ee74c35b9 100644 +index f4386917072e83f8797d0dbed5f1e2c72659ce80..800a904a8fa47e0a36d8393e11b3e7d7c4a3550e 100644 --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc @@ -738,10 +738,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) { diff --git a/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch b/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch index 75d624de876a..080b9e3c8ddc 100644 --- a/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch +++ b/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch @@ -11,10 +11,10 @@ if we ever align our .pak file generation with Chrome we can remove this patch. diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn -index 3713bfab32418551a569a1ce306ba59525c6fa99..8e79affdaf0b0fed69dda1bacab0f6cc23b09ebf 100644 +index e648bb4ed2ff72441faa8773e449e0b6174f5af5..fd2c1d3ac575d10de7d5c09e4418d17217a43b77 100644 --- a/chrome/BUILD.gn +++ b/chrome/BUILD.gn -@@ -196,11 +196,16 @@ if (!is_android && !is_mac) { +@@ -195,11 +195,16 @@ if (!is_android && !is_mac) { "common/crash_keys.h", ] @@ -33,10 +33,10 @@ index 3713bfab32418551a569a1ce306ba59525c6fa99..8e79affdaf0b0fed69dda1bacab0f6cc "//base", "//build:branding_buildflags", diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn -index 7ebfe97cffd4b7b36161147b95cf136feffb695d..33afd46708f5bb9c59cf6cb0eade49a50d037d55 100644 +index 9c4efeae559f3f752ea9f83904417a35ef436434..ed40f8c920714e6c241cedcbbff6b38ad311489b 100644 --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -4774,7 +4774,7 @@ static_library("browser") { +@@ -4753,7 +4753,7 @@ static_library("browser") { ] } @@ -46,10 +46,10 @@ index 7ebfe97cffd4b7b36161147b95cf136feffb695d..33afd46708f5bb9c59cf6cb0eade49a5 # than here in :chrome_dll. deps += [ "//chrome:packed_resources_integrity_header" ] diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn -index fba79fe6d8e279f72d2419efdc884c00bcde6a38..dc7caf30b6707c7b345fd552cfee558cbe2e9f48 100644 +index b950e537f5fc2d8fd6137d9c9131858404e78d9c..dde9dfd95521ceac67dced54efe90e5068eba797 100644 --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn -@@ -7472,9 +7472,12 @@ test("unit_tests") { +@@ -7455,9 +7455,12 @@ test("unit_tests") { "//chrome/notification_helper", ] @@ -63,7 +63,7 @@ index fba79fe6d8e279f72d2419efdc884c00bcde6a38..dc7caf30b6707c7b345fd552cfee558c "//chrome//services/util_win:unit_tests", "//chrome/app:chrome_dll_resources", "//chrome/app:win_unit_tests", -@@ -8416,6 +8419,10 @@ test("unit_tests") { +@@ -8394,6 +8397,10 @@ test("unit_tests") { "../browser/performance_manager/policies/background_tab_loading_policy_unittest.cc", ] @@ -74,7 +74,7 @@ index fba79fe6d8e279f72d2419efdc884c00bcde6a38..dc7caf30b6707c7b345fd552cfee558c sources += [ # The importer code is not used on Android. "../common/importer/firefox_importer_utils_unittest.cc", -@@ -8472,7 +8479,6 @@ test("unit_tests") { +@@ -8450,7 +8457,6 @@ test("unit_tests") { # TODO(crbug.com/417513088): Maybe merge with the non-android `deps` declaration above? deps += [ "../browser/screen_ai:screen_ai_install_state", diff --git a/patches/chromium/build_libc_as_static_library.patch b/patches/chromium/build_libc_as_static_library.patch index 89a1399c4606..2ae7f8e07e82 100644 --- a/patches/chromium/build_libc_as_static_library.patch +++ b/patches/chromium/build_libc_as_static_library.patch @@ -7,7 +7,7 @@ Build libc++ as static library to compile and pass nan tests diff --git a/buildtools/third_party/libc++/BUILD.gn b/buildtools/third_party/libc++/BUILD.gn -index 5ca9d9dadfce0af39483ac1534c082ddf009942a..9233a1d0d9ddc4453c391f95bee88efb2426ae2d 100644 +index bce370633601c97a35ba50678fa0b8e6799cdb1b..a0dd11a4848328f4c306dad2c7af28c6a47a255a 100644 --- a/buildtools/third_party/libc++/BUILD.gn +++ b/buildtools/third_party/libc++/BUILD.gn @@ -820,6 +820,7 @@ target(libcxx_target_type, "libc++") { diff --git a/patches/chromium/can_create_window.patch b/patches/chromium/can_create_window.patch index 67d6623cca43..ea6127817c87 100644 --- a/patches/chromium/can_create_window.patch +++ b/patches/chromium/can_create_window.patch @@ -9,10 +9,10 @@ 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 378e3eb2f8b9d4daaf39ef213dec88d86cf90a5c..0ace2e0c7073ee97ebb274db4b184a074f6ae544 100644 +index 04ab9256afe51df82b2c5a34334a7e98f49bc82a..861468d545856eb894b3eaae943028b954c83b82 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -9774,6 +9774,7 @@ void RenderFrameHostImpl::CreateNewWindow( +@@ -9816,6 +9816,7 @@ void RenderFrameHostImpl::CreateNewWindow( last_committed_origin_, params->window_container_type, params->target_url, params->referrer.To(), params->frame_name, params->disposition, *params->features, @@ -21,10 +21,10 @@ index 378e3eb2f8b9d4daaf39ef213dec88d86cf90a5c..0ace2e0c7073ee97ebb274db4b184a07 &no_javascript_access); diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 5c319d0b7c81cb7335170a23e2863750ae9c6aa0..ec2989ca2c736140c9be6b78591798ac733e752e 100644 +index be06cbb8229a4cc85abf63a42aef0884e200e59b..c2b6725c51fe8997a23a7cb8b04e715b39382939 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -5281,6 +5281,10 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -5316,6 +5316,10 @@ FrameTree* WebContentsImpl::CreateNewWindow( create_params.initially_hidden = renderer_started_hidden; create_params.initial_popup_url = params.target_url; @@ -35,7 +35,7 @@ index 5c319d0b7c81cb7335170a23e2863750ae9c6aa0..ec2989ca2c736140c9be6b78591798ac // Even though all codepaths leading here are in response to a renderer // trying to open a new window, if the new window ends up in a different // browsing instance, then the RenderViewHost, RenderWidgetHost, -@@ -5336,6 +5340,12 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -5371,6 +5375,12 @@ FrameTree* WebContentsImpl::CreateNewWindow( // Sets the newly created WebContents WindowOpenDisposition. new_contents_impl->original_window_open_disposition_ = params.disposition; @@ -48,7 +48,7 @@ index 5c319d0b7c81cb7335170a23e2863750ae9c6aa0..ec2989ca2c736140c9be6b78591798ac // 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 -@@ -5377,12 +5387,6 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -5412,12 +5422,6 @@ FrameTree* WebContentsImpl::CreateNewWindow( AddWebContentsDestructionObserver(new_contents_impl); } @@ -170,10 +170,10 @@ index a4b8c5f950549e018c0d09522ff8890a1a774966..6c4c6265c26f5304b8f77d7fc5a4fad5 // 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 f80c9d4a9829428cbb8fa850800bb809c58cec2d..9aeb16e6b6ac67f910e27725f793909b8bf068a1 100644 +index 7e54042f2fb8b36072a7a47f00d22385a641284e..ede4414f875254b77ffb29d0e1bfb254c619b10f 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc -@@ -6766,6 +6766,10 @@ WebView* RenderFrameImpl::CreateNewWindow( +@@ -6774,6 +6774,10 @@ WebView* RenderFrameImpl::CreateNewWindow( request.HasUserGesture(), GetWebFrame()->IsAdFrame(), GetWebFrame()->IsAdScriptInStack()); @@ -232,10 +232,10 @@ index 82e9d3dfb5f7da76d89fe15ae61d379fa46e177d..fd035512099a54dff6cc951a2226c23a } // namespace blink diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_party/blink/renderer/core/frame/local_dom_window.cc -index 1cb6b73c7cb7b8f187b7d1d4f2ecf6f0a90fbbf5..5bd9e6bb6b3ff3cf82f95f3c2b8c9f9617179d75 100644 +index 23a95863dc888a9ffb4b09c2b034665ef1186f7c..558f6afcdf8faa91744ac2143a03de88c0965366 100644 --- a/third_party/blink/renderer/core/frame/local_dom_window.cc +++ b/third_party/blink/renderer/core/frame/local_dom_window.cc -@@ -2349,6 +2349,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate, +@@ -2354,6 +2354,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate, WebWindowFeatures window_features = GetWindowFeaturesFromString(features, entered_window); diff --git a/patches/chromium/chore_introduce_blocking_api_for_electron.patch b/patches/chromium/chore_introduce_blocking_api_for_electron.patch index 8da30a4eaa0e..2f4e037564c7 100644 --- a/patches/chromium/chore_introduce_blocking_api_for_electron.patch +++ b/patches/chromium/chore_introduce_blocking_api_for_electron.patch @@ -7,7 +7,7 @@ This patch comes after Chromium removed the ScopedAllowIO API in favor of explicitly adding ScopedAllowBlocking calls as friends. diff --git a/base/threading/thread_restrictions.h b/base/threading/thread_restrictions.h -index 19ec986c51c65d5332ab9032ead1292ecc785160..fe1f06e18b0d21a2d95a1a2894b116c1c9dbea05 100644 +index f9e528588b2f2a645366c3c59148a2af06c280fe..7090003e45a213b2bc326713c6df11d764a85205 100644 --- a/base/threading/thread_restrictions.h +++ b/base/threading/thread_restrictions.h @@ -132,6 +132,7 @@ class KeyStorageLinux; @@ -18,7 +18,7 @@ index 19ec986c51c65d5332ab9032ead1292ecc785160..fe1f06e18b0d21a2d95a1a2894b116c1 class Profile; class ProfileImpl; class ScopedAllowBlockingForProfile; -@@ -278,6 +279,9 @@ class BackendImpl; +@@ -279,6 +280,9 @@ class BackendImpl; class InFlightIO; bool CleanupDirectorySync(const base::FilePath&); } // namespace disk_cache @@ -36,7 +36,7 @@ index 19ec986c51c65d5332ab9032ead1292ecc785160..fe1f06e18b0d21a2d95a1a2894b116c1 friend class ::ProfileImpl; friend class ::ScopedAllowBlockingForProfile; friend class ::StartupTabProviderImpl; -@@ -612,6 +617,7 @@ class BASE_EXPORT ScopedAllowBlocking { +@@ -613,6 +618,7 @@ class BASE_EXPORT ScopedAllowBlocking { friend class cronet::CronetPrefsManager; friend class crypto::ScopedAllowBlockingForNSS; // http://crbug.com/59847 friend class drive::FakeDriveService; diff --git a/patches/chromium/chore_partial_revert_of.patch b/patches/chromium/chore_partial_revert_of.patch index 267b939513d7..99152d0bce1e 100644 --- a/patches/chromium/chore_partial_revert_of.patch +++ b/patches/chromium/chore_partial_revert_of.patch @@ -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 65d5726b06a24d6ffca55413fd767cb46c87a137..3f68fa06dd2864e047d12f0c59a3c649494f0bf9 100644 +index 158f4dc1f14fff6298aad03b3002d5d20534285d..5f467feafef5f0b2c486432f3f29303fe5e40f12 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -5252,7 +5252,7 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -5287,7 +5287,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. diff --git a/patches/chromium/chore_patch_out_profile_methods.patch b/patches/chromium/chore_patch_out_profile_methods.patch index a2aeec764da4..1a9b19fe303f 100644 --- a/patches/chromium/chore_patch_out_profile_methods.patch +++ b/patches/chromium/chore_patch_out_profile_methods.patch @@ -27,7 +27,7 @@ index e3b9f14a4cf2167064ce6716053e663adffa1542..65f13a4607c8145858fd47d81cb9960c // When the enterprise policy is not set, use finch/feature flag choice. return base::FeatureList::IsEnabled( diff --git a/chrome/browser/pdf/pdf_extension_util.cc b/chrome/browser/pdf/pdf_extension_util.cc -index 0af6001acc689428807c21ff471fb8aa303c2dd0..152aeaba8d9d87b711a63f6d651ecb6c32cf3fa5 100644 +index e6ca5e24870f8449b6ea95bd5d3c7fc88225b776..8d27c28e527f123b6b6a7f12844897ce5057e26e 100644 --- a/chrome/browser/pdf/pdf_extension_util.cc +++ b/chrome/browser/pdf/pdf_extension_util.cc @@ -248,10 +248,13 @@ bool IsPrintingEnabled(content::BrowserContext* context) { diff --git a/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch b/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch index b76b08b787c0..a8e3ebaa35a0 100644 --- a/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch +++ b/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch @@ -80,10 +80,10 @@ index b6582b4013d9682d32bd524b4053b443a4df00f8..afcbce72e0f247b4d5a637b27c9f25d9 content::WebContents* source, const content::OpenURLParams& params, diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc -index 0e42b32898b2005f26bbbe381ab66261f70c3dec..d0dd86d659cdd6059ef08763f24ae16185f7949b 100644 +index dec508b3eb4d55b661e258a6d8b01aea8309ef14..b91e06a75592fdb672ba9b4628cc81a4e538e883 100644 --- a/chrome/browser/ui/browser.cc +++ b/chrome/browser/ui/browser.cc -@@ -2357,8 +2357,7 @@ bool Browser::IsWebContentsCreationOverridden( +@@ -2348,8 +2348,7 @@ bool Browser::IsWebContentsCreationOverridden( content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -93,7 +93,7 @@ index 0e42b32898b2005f26bbbe381ab66261f70c3dec..d0dd86d659cdd6059ef08763f24ae161 if (IsActorOperatingOnWebContents( profile(), content::WebContents::FromRenderFrameHost(opener))) { // If an ExecutionEngine is acting on the opener, prevent it from creating -@@ -2370,7 +2369,7 @@ bool Browser::IsWebContentsCreationOverridden( +@@ -2361,7 +2360,7 @@ bool Browser::IsWebContentsCreationOverridden( return (window_container_type == content::mojom::WindowContainerType::BACKGROUND && ShouldCreateBackgroundContents(source_site_instance, opener_url, @@ -103,10 +103,10 @@ index 0e42b32898b2005f26bbbe381ab66261f70c3dec..d0dd86d659cdd6059ef08763f24ae161 WebContents* Browser::CreateCustomWebContents( diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h -index eb82055fc5e3a61104e1d8c1bb5c43179073c93b..9c4df5529fcadcef9f9bb9e0ef8df755af5262af 100644 +index a87e55f9381c9a59096fe90dfa15e2a25bb3ad0d..6067bab9ad7ace935f319c27fab8471db0cd3acc 100644 --- a/chrome/browser/ui/browser.h +++ b/chrome/browser/ui/browser.h -@@ -939,8 +939,7 @@ class Browser : public TabStripModelObserver, +@@ -944,8 +944,7 @@ class Browser : public TabStripModelObserver, content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -159,10 +159,10 @@ index 08b9f7ad8544011ee1cbb9bc9857ea06e2fa2c0b..69f666bdc05662bc40e133022b5364cb } content::WebContents* CreateCustomWebContents( diff --git a/components/embedder_support/android/delegate/web_contents_delegate_android.cc b/components/embedder_support/android/delegate/web_contents_delegate_android.cc -index 6416cadb017fb8b1dddbecc2a4a9f6e69a5e028c..7485309c57a091e2c9077d92e9dcb7c91e738c81 100644 +index c07249241e5265030c1feada568fbd54f4e18efa..f0946d19ce07723be8a3736f523db1951cccbb95 100644 --- a/components/embedder_support/android/delegate/web_contents_delegate_android.cc +++ b/components/embedder_support/android/delegate/web_contents_delegate_android.cc -@@ -200,14 +200,13 @@ bool WebContentsDelegateAndroid::IsWebContentsCreationOverridden( +@@ -202,14 +202,13 @@ bool WebContentsDelegateAndroid::IsWebContentsCreationOverridden( content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -180,7 +180,7 @@ index 6416cadb017fb8b1dddbecc2a4a9f6e69a5e028c..7485309c57a091e2c9077d92e9dcb7c9 java_gurl); } diff --git a/components/embedder_support/android/delegate/web_contents_delegate_android.h b/components/embedder_support/android/delegate/web_contents_delegate_android.h -index 7a8cdc28f87399e494a58490cdc4ac0dd4b06520..0c2a83b44f6909b5b3a6303715e1611d039711bb 100644 +index 13afd2de87888e927d8baf77f4c3de65179c52f5..06de4a27e625745947d2c119fa8f5eb555d99a1d 100644 --- a/components/embedder_support/android/delegate/web_contents_delegate_android.h +++ b/components/embedder_support/android/delegate/web_contents_delegate_android.h @@ -84,8 +84,7 @@ class WebContentsDelegateAndroid : public content::WebContentsDelegate { @@ -222,10 +222,10 @@ index b969f1d97b7e3396119b579cfbe61e19ff7d2dd4..b8d6169652da28266a514938b45b39c5 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 e1f9c3070f0de3ee2d54791bd18fcdf35de6b7b5..2004582d7041b94a3232c3c160b2bfd9351f6658 100644 +index 82a0eafc85ca825e04037027d0189899e47b9c99..8527faad558fd9409711e374ed6299039891c82b 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -5215,8 +5215,7 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -5250,8 +5250,7 @@ FrameTree* WebContentsImpl::CreateNewWindow( if (delegate_ && delegate_->IsWebContentsCreationOverridden( opener, source_site_instance, params.window_container_type, diff --git a/patches/chromium/chore_restore_some_deprecated_wrapper_utility_in_gin.patch b/patches/chromium/chore_restore_some_deprecated_wrapper_utility_in_gin.patch new file mode 100644 index 000000000000..551f3b052433 --- /dev/null +++ b/patches/chromium/chore_restore_some_deprecated_wrapper_utility_in_gin.patch @@ -0,0 +1,174 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: deepak1556 +Date: Tue, 5 Aug 2025 02:26:29 +0900 +Subject: chore: restore some deprecated wrapper utility in gin + +Restores part of https://chromium-review.googlesource.com/c/chromium/src/+/6799157 + +Patch can be removed once cppgc migration is complete +https://github.com/electron/electron/issues/47922 + +diff --git a/gin/object_template_builder.cc b/gin/object_template_builder.cc +index 5a31687bbd0fca61db3a7c41ed73d938340d6446..b84f5fd336bc4b61b2cd0b2fc92382b00e928701 100644 +--- a/gin/object_template_builder.cc ++++ b/gin/object_template_builder.cc +@@ -141,7 +141,7 @@ ObjectTemplateBuilder::ObjectTemplateBuilder(v8::Isolate* isolate, + : "Objects of this type cannot be created using the " + "constructor"))), + template_(constructor_template_->InstanceTemplate()) { +- template_->SetInternalFieldCount(0); ++ template_->SetInternalFieldCount(kNumberOfInternalFields); + } + + ObjectTemplateBuilder::ObjectTemplateBuilder(v8::Isolate* isolate, +diff --git a/gin/per_isolate_data.cc b/gin/per_isolate_data.cc +index 884990426f13a6abca22a60dd8cc0685f8435b23..64ac0a64a05105532f3cda898aeac68c21338e60 100644 +--- a/gin/per_isolate_data.cc ++++ b/gin/per_isolate_data.cc +@@ -68,12 +68,32 @@ PerIsolateData* PerIsolateData::From(Isolate* isolate) { + return static_cast(isolate->GetData(kEmbedderNativeGin)); + } + ++void PerIsolateData::DeprecatedSetObjectTemplate(DeprecatedWrapperInfo* info, ++ Local templ) { ++ deprecated_object_templates_[info] = Eternal(isolate_, templ); ++} ++ + void PerIsolateData::SetObjectTemplate( + const WrapperInfo* info, + Local templ) { + object_templates_[info] = Eternal(isolate_, templ); + } + ++void PerIsolateData::SetFunctionTemplate(DeprecatedWrapperInfo* info, ++ Local templ) { ++ function_templates_[info] = Eternal(isolate_, templ); ++} ++ ++v8::Local PerIsolateData::DeprecatedGetObjectTemplate( ++ DeprecatedWrapperInfo* info) { ++ DeprecatedObjectTemplateMap::iterator it = ++ deprecated_object_templates_.find(info); ++ if (it == deprecated_object_templates_.end()) { ++ return v8::Local(); ++ } ++ return it->second.Get(isolate_); ++} ++ + v8::Local PerIsolateData::GetObjectTemplate( + const WrapperInfo* info) { + ObjectTemplateMap::iterator it = object_templates_.find(info); +@@ -83,6 +103,15 @@ v8::Local PerIsolateData::GetObjectTemplate( + return it->second.Get(isolate_); + } + ++v8::Local PerIsolateData::GetFunctionTemplate( ++ DeprecatedWrapperInfo* info) { ++ FunctionTemplateMap::iterator it = function_templates_.find(info); ++ if (it == function_templates_.end()) { ++ return v8::Local(); ++ } ++ return it->second.Get(isolate_); ++} ++ + void PerIsolateData::AddDisposeObserver(DisposeObserver* observer) { + dispose_observers_.AddObserver(observer); + } +diff --git a/gin/per_isolate_data.h b/gin/per_isolate_data.h +index bce889749415da341e6e6e4082ac06bbeb4bb80a..d748c1cf8cef7da90686686f1b8072bcd530541d 100644 +--- a/gin/per_isolate_data.h ++++ b/gin/per_isolate_data.h +@@ -51,11 +51,24 @@ class GIN_EXPORT PerIsolateData { + + static PerIsolateData* From(v8::Isolate* isolate); + ++ void DeprecatedSetObjectTemplate( ++ DeprecatedWrapperInfo* info, ++ v8::Local object_template); ++ + void SetObjectTemplate(const WrapperInfo* info, + v8::Local object_template); + ++ void SetFunctionTemplate(DeprecatedWrapperInfo* info, ++ v8::Local function_template); ++ ++ v8::Local DeprecatedGetObjectTemplate( ++ DeprecatedWrapperInfo* info); ++ + v8::Local GetObjectTemplate(const WrapperInfo* info); + ++ v8::Local GetFunctionTemplate( ++ DeprecatedWrapperInfo* info); ++ + void AddDisposeObserver(DisposeObserver* observer); + void RemoveDisposeObserver(DisposeObserver* observer); + void NotifyBeforeDispose(); +@@ -74,14 +87,20 @@ class GIN_EXPORT PerIsolateData { + } + + private: ++ typedef std::map> ++ DeprecatedObjectTemplateMap; + typedef std::map> + ObjectTemplateMap; ++ typedef std::map> ++ FunctionTemplateMap; + + // PerIsolateData doesn't actually own |isolate_|. Instead, the isolate is + // owned by the IsolateHolder, which also owns the PerIsolateData. + raw_ptr isolate_; + raw_ptr allocator_; ++ DeprecatedObjectTemplateMap deprecated_object_templates_; + ObjectTemplateMap object_templates_; ++ FunctionTemplateMap function_templates_; + base::ObserverList dispose_observers_; + std::shared_ptr task_runner_; + std::shared_ptr user_visible_task_runner_; +diff --git a/gin/public/wrapper_info.h b/gin/public/wrapper_info.h +index 34b5f1c30c05152122f23708a1df62f00296fcd6..dac3459dc822db1b242288293605ab4c4a6cf76f 100644 +--- a/gin/public/wrapper_info.h ++++ b/gin/public/wrapper_info.h +@@ -13,6 +13,17 @@ + + namespace gin { + ++enum InternalFields { ++ kWrapperInfoIndex, ++ kEncodedValueIndex, ++ kNumberOfInternalFields, ++}; ++ ++struct GIN_EXPORT DeprecatedWrapperInfo { ++ static DeprecatedWrapperInfo* From(v8::Local object); ++ const GinEmbedder embedder; ++}; ++ + struct GIN_EXPORT WrapperInfo : v8::Object::WrapperTypeInfo { + const WrappablePointerTag pointer_tag; + }; +diff --git a/gin/wrappable.cc b/gin/wrappable.cc +index 803b5648e1c3ec3621149e98850bebfbf7f2de75..dd49202103993ee03379acd6873b92bc8fccb786 100644 +--- a/gin/wrappable.cc ++++ b/gin/wrappable.cc +@@ -48,7 +48,7 @@ v8::MaybeLocal WrappableBase::GetWrapper(v8::Isolate* isolate) { + CHECK(!templ.IsEmpty()); + data->SetObjectTemplate(info, templ); + } +- CHECK_EQ(0, templ->InternalFieldCount()); ++ CHECK_EQ(kNumberOfInternalFields, templ->InternalFieldCount()); + v8::Local wrapper; + // |wrapper| may be empty in some extreme cases, e.g., when + // Object.prototype.constructor is overwritten. +@@ -56,6 +56,12 @@ v8::MaybeLocal WrappableBase::GetWrapper(v8::Isolate* isolate) { + return {}; + } + ++ // Delete the internal fields once gin_helper::DeprecatedWrappable does ++ // not exist anymore. ++ int indices[] = {kWrapperInfoIndex, kEncodedValueIndex}; ++ void* values[] = {nullptr, nullptr}; ++ wrapper->SetAlignedPointerInInternalFields(2, indices, values); ++ + AssociateWithWrapper(isolate, wrapper); + return wrapper; + } diff --git a/patches/chromium/create_browser_v8_snapshot_file_name_fuse.patch b/patches/chromium/create_browser_v8_snapshot_file_name_fuse.patch index 0fcac2ff4031..49126765bd10 100644 --- a/patches/chromium/create_browser_v8_snapshot_file_name_fuse.patch +++ b/patches/chromium/create_browser_v8_snapshot_file_name_fuse.patch @@ -7,7 +7,7 @@ By default, chromium sets up one v8 snapshot to be used in all v8 contexts. This to have a dedicated browser process v8 snapshot defined by the file `browser_v8_context_snapshot.bin`. diff --git a/content/app/content_main_runner_impl.cc b/content/app/content_main_runner_impl.cc -index b14a4ad434241b9e8bd24135583935aee4b4df8e..9b8f18cb1ff0ff8242acbb5bb7e145dec713a535 100644 +index 46c7c57b5ff40b0e40d66bbeb8ec3f2b7f86cea0..46d144563983dee5a793948d9fd11852fb311088 100644 --- a/content/app/content_main_runner_impl.cc +++ b/content/app/content_main_runner_impl.cc @@ -272,8 +272,13 @@ void AsanProcessInfoCB(const char*, bool*) { diff --git a/patches/chromium/disable_compositor_recycling.patch b/patches/chromium/disable_compositor_recycling.patch index 264ea701997c..fee2cd98e7ab 100644 --- a/patches/chromium/disable_compositor_recycling.patch +++ b/patches/chromium/disable_compositor_recycling.patch @@ -6,7 +6,7 @@ Subject: fix: disabling compositor recycling Compositor recycling is useful for Chrome because there can be many tabs and spinning up a compositor for each one would be costly. In practice, Chrome uses the parent compositor code path of browser_compositor_view_mac.mm; the NSView of each tab is detached when it's hidden and attached when it's shown. For Electron, there is no parent compositor, so we're forced into the "own compositor" code path, which seems to be non-optimal and pretty ruthless in terms of the release of resources. Electron has no real concept of multiple tabs per window, so it should be okay to disable this ruthless recycling altogether in Electron. diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm -index 26592c97be3474a24f294d3cf2e74627f8dda4b9..7be1d1e11e74cec4774d97cde29d8d44cebb9376 100644 +index f26dd97bebd2c467d5a13b98b3f75afb14a615c2..20f73565457d38c3af87e9d76a1df527490cb217 100644 --- a/content/browser/renderer_host/render_widget_host_view_mac.mm +++ b/content/browser/renderer_host/render_widget_host_view_mac.mm @@ -561,7 +561,11 @@ diff --git a/patches/chromium/disable_hidden.patch b/patches/chromium/disable_hidden.patch index d1e81475c16d..c7c6b9f145c4 100644 --- a/patches/chromium/disable_hidden.patch +++ b/patches/chromium/disable_hidden.patch @@ -6,10 +6,10 @@ 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 fb8a955d9efe122057b681e4a8084cb069b1b816..0c5aa1c0e4c344f807cf0fcb7cc3cf532c1eaf23 100644 +index c28aa525c51e9be757d5d8f8e5a60857b7a451d4..e8baae79ab127e4626f39247a5e57fe6a6114453 100644 --- a/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc -@@ -836,6 +836,10 @@ void RenderWidgetHostImpl::WasHidden() { +@@ -847,6 +847,10 @@ void RenderWidgetHostImpl::WasHidden() { return; } @@ -21,12 +21,12 @@ index fb8a955d9efe122057b681e4a8084cb069b1b816..0c5aa1c0e4c344f807cf0fcb7cc3cf53 // 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 1e5164c3f015711d337f3775eb67381b76126344..062f911a9515285444f9c0abf9220f8d37a68e8f 100644 +index f07055487abd76b2a72ba555ff1b5bcd996bbd3a..7d46db80c667900576cf46264034890203020a75 100644 --- a/content/browser/renderer_host/render_widget_host_impl.h +++ b/content/browser/renderer_host/render_widget_host_impl.h -@@ -1020,6 +1020,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl - // Requests a commit and forced redraw in the renderer compositor. - void ForceRedrawForTesting(); +@@ -1026,6 +1026,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl + // cpu-priority boosted to run discard logic. + void SetIsDiscarding(bool is_discarding); + // Electron: Prevents the widget from getting hidden. + bool disable_hidden_ = false; diff --git a/patches/chromium/expose_setuseragent_on_networkcontext.patch b/patches/chromium/expose_setuseragent_on_networkcontext.patch index 53567d0c9f98..2438c9e707ea 100644 --- a/patches/chromium/expose_setuseragent_on_networkcontext.patch +++ b/patches/chromium/expose_setuseragent_on_networkcontext.patch @@ -33,7 +33,7 @@ index 0ab8187b0db8ae6db46d81738f653a2bc4c566f6..de3d55e85c22317f7f9375eb94d0d5d4 } // namespace net diff --git a/services/network/network_context.cc b/services/network/network_context.cc -index 214f53d2808c23c5bed96b84a2f09f4944a3df45..9e79b01fd2a022305ba2c6d78f1a25c9c443da27 100644 +index d3982d4608c76dcc583ab26914d0f17435f1532f..a1ed237de6315df0534c6e462f3d63bd311dd5a2 100644 --- a/services/network/network_context.cc +++ b/services/network/network_context.cc @@ -1872,6 +1872,13 @@ void NetworkContext::SetNetworkConditions( @@ -63,10 +63,10 @@ index b9f201ccf04433a29083cd15cfe599fe9600c9c0..137aaf96a8d02b81afe64fde6b19ed11 void SetEnableReferrers(bool enable_referrers) override; #if BUILDFLAG(IS_CT_SUPPORTED) diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom -index ff39e13338ebd369abf897e230cee97d34e379f1..82551b1c3f77424dd1e765bc1c91200376faeadb 100644 +index 1ed66c3b41e583745c5b309670fc4470fa1983cf..c7464641d0fc944aa47f3f1e0406dd4002d0bd0b 100644 --- a/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom -@@ -1282,6 +1282,9 @@ interface NetworkContext { +@@ -1288,6 +1288,9 @@ interface NetworkContext { SetNetworkConditions(mojo_base.mojom.UnguessableToken throttling_profile_id, NetworkConditions? conditions); diff --git a/patches/chromium/extend_apply_webpreferences.patch b/patches/chromium/extend_apply_webpreferences.patch index 49c3ae266a8b..977e2c1c7a5e 100644 --- a/patches/chromium/extend_apply_webpreferences.patch +++ b/patches/chromium/extend_apply_webpreferences.patch @@ -15,7 +15,7 @@ Ideally we could add an embedder observer pattern here but that can be done in future work. diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc -index 157b2f6533f76190409fa1c7e56924cd811512b5..5bb95a4fa1ddb5406a87401143fbf7c010946191 100644 +index 6ba55d345d4b18c9c76e26a8a1eb3835dd692581..a2eea9184ebab62c057c0c6e370f03f3b0460859 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc @@ -1886,6 +1886,8 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs, diff --git a/patches/chromium/feat_add_data_parameter_to_processsingleton.patch b/patches/chromium/feat_add_data_parameter_to_processsingleton.patch index 5b42be5739d1..0a804cbcb153 100644 --- a/patches/chromium/feat_add_data_parameter_to_processsingleton.patch +++ b/patches/chromium/feat_add_data_parameter_to_processsingleton.patch @@ -262,7 +262,7 @@ index 64ebf49c0d1b6396d1cfbe3bf91480f61b47688d..bec94d4039379400ae8b00f1adbbb16a return PROCESS_NOTIFIED; case NotifyChromeResult::NOTIFY_FAILED: diff --git a/chrome/browser/win/chrome_process_finder.cc b/chrome/browser/win/chrome_process_finder.cc -index 6e6ba54cd2920f867d4ab82bee210f5dfcd6a63d..a8073888a3894ecf22a3f651697217b622a8eed0 100644 +index 58a4c5adfda49fb4bd1b5351bd02d358946043bd..adaa070eb0f3cf8f771b57743a7436fd48a1e576 100644 --- a/chrome/browser/win/chrome_process_finder.cc +++ b/chrome/browser/win/chrome_process_finder.cc @@ -39,7 +39,9 @@ HWND FindRunningChromeWindow(const base::FilePath& user_data_dir) { @@ -276,9 +276,9 @@ index 6e6ba54cd2920f867d4ab82bee210f5dfcd6a63d..a8073888a3894ecf22a3f651697217b6 TRACE_EVENT0("startup", "AttemptToNotifyRunningChrome"); DCHECK(remote_window); -@@ -68,12 +70,24 @@ NotifyChromeResult AttemptToNotifyRunningChrome(HWND remote_window) { - new_command_line.AppendSwitchNative(switches::kSourceShortcut, si.lpTitle); - +@@ -70,12 +72,24 @@ NotifyChromeResult AttemptToNotifyRunningChrome(HWND remote_window) { + new_command_line.AppendSwitch(switches::kSourceAppId); + } // Send the command line to the remote chrome window. - // Format is "START\0<<>>\0<<>>". + // Format is diff --git a/patches/chromium/feat_add_support_for_overriding_the_base_spellchecker_download_url.patch b/patches/chromium/feat_add_support_for_overriding_the_base_spellchecker_download_url.patch index 398686ec2ed0..46e3f7aa2095 100644 --- a/patches/chromium/feat_add_support_for_overriding_the_base_spellchecker_download_url.patch +++ b/patches/chromium/feat_add_support_for_overriding_the_base_spellchecker_download_url.patch @@ -9,28 +9,20 @@ production use cases. This is unlikely to be upstreamed as the change is entirely in //chrome. diff --git a/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc b/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc -index d4cdf3ce5cf2c069f44ab644c2310e1c053e4d4e..fcf4589c70f13546a232bd855b69d747e29f8f1d 100644 +index 9b081d7aa87d1c092b0a29039bdeb0023517333b..c061af1d0ff5d55043a8188d51a34984587da977 100644 --- a/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc +++ b/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc -@@ -14,6 +14,7 @@ - #include "base/functional/bind.h" - #include "base/lazy_instance.h" - #include "base/location.h" -+#include "base/no_destructor.h" - #include "base/notreached.h" - #include "base/observer_list.h" - #include "base/path_service.h" -@@ -51,6 +52,8 @@ namespace { - base::LazyInstance::Leaky g_download_url_for_testing = - LAZY_INSTANCE_INITIALIZER; +@@ -53,6 +53,8 @@ GURL& GetDownloadUrlForTesting() { + return *download_url_for_testing; + } +base::NoDestructor g_base_download_url_override; + // Close the file. void CloseDictionary(base::File file) { base::ScopedBlockingCall scoped_blocking_call(FROM_HERE, -@@ -266,6 +269,10 @@ void SpellcheckHunspellDictionary::SetDownloadURLForTesting(const GURL url) { - g_download_url_for_testing.Get() = url; +@@ -268,6 +270,10 @@ void SpellcheckHunspellDictionary::SetDownloadURLForTesting(const GURL url) { + GetDownloadUrlForTesting() = url; } +void SpellcheckHunspellDictionary::SetBaseDownloadURL(const GURL url) { @@ -38,9 +30,9 @@ index d4cdf3ce5cf2c069f44ab644c2310e1c053e4d4e..fcf4589c70f13546a232bd855b69d747 +} + GURL SpellcheckHunspellDictionary::GetDictionaryURL() { - if (g_download_url_for_testing.Get() != GURL()) - return g_download_url_for_testing.Get(); -@@ -273,6 +280,9 @@ GURL SpellcheckHunspellDictionary::GetDictionaryURL() { + if (GetDownloadUrlForTesting() != GURL()) { + return GetDownloadUrlForTesting(); +@@ -276,6 +282,9 @@ GURL SpellcheckHunspellDictionary::GetDictionaryURL() { std::string bdict_file = dictionary_file_.path.BaseName().MaybeAsASCII(); DCHECK(!bdict_file.empty()); diff --git a/patches/chromium/feat_allow_passing_of_objecttemplate_to_objecttemplatebuilder.patch b/patches/chromium/feat_allow_passing_of_objecttemplate_to_objecttemplatebuilder.patch index 8f27c6081103..dbf3c5da4606 100644 --- a/patches/chromium/feat_allow_passing_of_objecttemplate_to_objecttemplatebuilder.patch +++ b/patches/chromium/feat_allow_passing_of_objecttemplate_to_objecttemplatebuilder.patch @@ -10,11 +10,11 @@ Electron needs this constructor, namely for gin_helper::Constructible objects. diff --git a/gin/object_template_builder.cc b/gin/object_template_builder.cc -index 90966dc917099ae749118f3e740b76ff477cf92d..b84f5fd336bc4b61b2cd0b2fc92382b00e928701 100644 +index 9f9ae85ad432ce71f308d6c56265a96985f42766..5a31687bbd0fca61db3a7c41ed73d938340d6446 100644 --- a/gin/object_template_builder.cc +++ b/gin/object_template_builder.cc @@ -144,6 +144,13 @@ ObjectTemplateBuilder::ObjectTemplateBuilder(v8::Isolate* isolate, - template_->SetInternalFieldCount(kNumberOfInternalFields); + template_->SetInternalFieldCount(0); } +ObjectTemplateBuilder::ObjectTemplateBuilder(v8::Isolate* isolate, diff --git a/patches/chromium/feat_configure_launch_options_for_service_process.patch b/patches/chromium/feat_configure_launch_options_for_service_process.patch index 994c0263db83..11d747fcba44 100644 --- a/patches/chromium/feat_configure_launch_options_for_service_process.patch +++ b/patches/chromium/feat_configure_launch_options_for_service_process.patch @@ -19,7 +19,7 @@ to STDOUT_FILENO/STD_OUTPUT_HANDLE and STDERR_FILENO/STD_ERROR_HANDLE allowing t parent process to read from the pipe. diff --git a/content/browser/child_process_launcher.h b/content/browser/child_process_launcher.h -index 2f85aeb4f51c0d126214616027c9c4cec710e263..26d35b53bcc41807452bcc68b484781d491b7a23 100644 +index 0a7e292f77a30f76eb413785551d7fa57acf1799..091628a0dd3ca9b4bdf06d484595342bc70e4427 100644 --- a/content/browser/child_process_launcher.h +++ b/content/browser/child_process_launcher.h @@ -33,6 +33,7 @@ @@ -30,7 +30,7 @@ index 2f85aeb4f51c0d126214616027c9c4cec710e263..26d35b53bcc41807452bcc68b484781d #endif #if BUILDFLAG(IS_POSIX) -@@ -192,7 +193,10 @@ struct ChildProcessLauncherFileData { +@@ -197,7 +198,10 @@ struct ChildProcessLauncherFileData { delete; ~ChildProcessLauncherFileData(); @@ -42,7 +42,7 @@ index 2f85aeb4f51c0d126214616027c9c4cec710e263..26d35b53bcc41807452bcc68b484781d // Files opened by the browser and passed as corresponding file descriptors // in the child process. If a FilePath is provided, the file will be opened // and the descriptor cached for future process launches. If a ScopedFD is -@@ -207,6 +211,15 @@ struct ChildProcessLauncherFileData { +@@ -212,6 +216,15 @@ struct ChildProcessLauncherFileData { std::map> files_to_preload; #endif @@ -348,7 +348,7 @@ index 580fa663e729a43bef44a10de8983c4aecc312fb..f39af3df87786a472f987309ac0dea69 // Whether or not to bind viz::mojom::Gpu to the utility process. bool allowed_gpu_; diff --git a/content/browser/service_host/utility_sandbox_delegate.cc b/content/browser/service_host/utility_sandbox_delegate.cc -index ff9941f1f46658574e8ac53bc80fdf665f873bc0..51dfb23c8ebba7ec075ecab597bd84734773f924 100644 +index 8f89c28144e1ecf3d7dbf9a3b43031cbad12a8ea..faa49bb63bd2e9080da441286bdbf427f22cd26f 100644 --- a/content/browser/service_host/utility_sandbox_delegate.cc +++ b/content/browser/service_host/utility_sandbox_delegate.cc @@ -43,17 +43,19 @@ UtilitySandboxedProcessLauncherDelegate:: 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 c42ff70d077f..fa42771e0954 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 @@ -201,10 +201,10 @@ index ec80337fdac36fa1636f5142c3827d3bbc81644c..634db12dfb443acabde79e9faf59cb84 return result; } diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn -index a29905686b2fe767ee70d0e06b8ceedcc64690c7..72757d6e9f64b64128109fb90f8054c2efb6f7c3 100644 +index 67f6aecb0f50bb58266cec93be57c5c86701f33c..adda233b4b9f6639852e21591f11b16873e2f39a 100644 --- a/third_party/blink/renderer/platform/BUILD.gn +++ b/third_party/blink/renderer/platform/BUILD.gn -@@ -1654,6 +1654,8 @@ component("platform") { +@@ -1656,6 +1656,8 @@ component("platform") { "widget/widget_base.h", "widget/widget_base_client.h", "windows_keyboard_codes.h", @@ -312,7 +312,7 @@ index 7e3d46902fbf736b4240eb3fcb89975a7b222197..57fdc89fc265ad70cb0bff8443cc1026 auto DrawAsSinglePath = [&]() { diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -index 5df85dfe5b214ba0b52ce43c00e7929d648235fb..bd720b56a0d190cee3335c6089c810118d7d4dd3 100644 +index 5b4a8a932a360b0fb3c9a488c8d97c44b4c77ed6..ab8677509fe77f16c0bc67333fa9967fb8ef4564 100644 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 @@ -214,6 +214,10 @@ 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 07fe7ca28d60..45b3ba2c4816 100644 --- a/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch +++ b/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch @@ -204,10 +204,10 @@ index e4b46a79560e7698a6400b2ab8a57f38205a8718..3cb2518c6644cf0618f625d981befd46 const raw_ptr gpu_service_impl_; diff --git a/components/viz/service/display_embedder/software_output_device_mac.cc b/components/viz/service/display_embedder/software_output_device_mac.cc -index 80b4d99c08b622b080cf6d725ebc3cdfbcad7d32..d9c56e04dfd771368a82b852daae297a47fde80e 100644 +index 44c58bde0ddf7b0a4678e7950de6ae3e9e9e5e1e..7c26e293a5b9e16b1cb9ac9c8fbb1e46c78838c3 100644 --- a/components/viz/service/display_embedder/software_output_device_mac.cc +++ b/components/viz/service/display_embedder/software_output_device_mac.cc -@@ -112,6 +112,8 @@ void SoftwareOutputDeviceMac::UpdateAndCopyBufferDamage( +@@ -113,6 +113,8 @@ void SoftwareOutputDeviceMac::UpdateAndCopyBufferDamage( SkCanvas* SoftwareOutputDeviceMac::BeginPaint( const gfx::Rect& new_damage_rect) { @@ -216,7 +216,7 @@ index 80b4d99c08b622b080cf6d725ebc3cdfbcad7d32..d9c56e04dfd771368a82b852daae297a // Record the previous paint buffer. Buffer* previous_paint_buffer = buffer_queue_.empty() ? nullptr : buffer_queue_.back().get(); -@@ -202,6 +204,7 @@ void SoftwareOutputDeviceMac::EndPaint() { +@@ -203,6 +205,7 @@ void SoftwareOutputDeviceMac::EndPaint() { ca_layer_params.is_empty = false; ca_layer_params.scale_factor = scale_factor_; ca_layer_params.pixel_size = pixel_size_; 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 6136d2fc54e8..cdcaff7156e3 100644 --- a/patches/chromium/feat_expose_raw_response_headers_from_urlloader.patch +++ b/patches/chromium/feat_expose_raw_response_headers_from_urlloader.patch @@ -90,7 +90,7 @@ index 02651c7b3b0cb0ab8fd3a4c84ab5b39b0e773536..0cbf060b11cc47c24e5cde0d36edb88c // when it receives the AcceptCHFrame. EnabledClientHints? enabled_client_hints; diff --git a/services/network/public/mojom/url_response_head.mojom b/services/network/public/mojom/url_response_head.mojom -index fbc817126489e5422fd4bd11b6bd9744d648f8ff..b51b2ebe0f3291d04b0479776ddbeb1e05197f56 100644 +index 3a5fbaea905e7c01caee3659ff3be06e8def5615..89da9461e8290b8099456e5222f278770e09f883 100644 --- a/services/network/public/mojom/url_response_head.mojom +++ b/services/network/public/mojom/url_response_head.mojom @@ -14,6 +14,7 @@ import "services/network/public/mojom/encoded_body_length.mojom"; @@ -101,7 +101,7 @@ index fbc817126489e5422fd4bd11b6bd9744d648f8ff..b51b2ebe0f3291d04b0479776ddbeb1e import "services/network/public/mojom/ip_endpoint.mojom"; import "services/network/public/mojom/load_timing_info.mojom"; import "services/network/public/mojom/load_timing_internal_info.mojom"; -@@ -52,6 +53,9 @@ struct URLResponseHead { +@@ -53,6 +54,9 @@ struct URLResponseHead { // The response headers or NULL if the URL type does not support headers. HttpResponseHeaders headers; @@ -112,7 +112,7 @@ index fbc817126489e5422fd4bd11b6bd9744d648f8ff..b51b2ebe0f3291d04b0479776ddbeb1e string mime_type; diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc -index 6318bfabcf5f1f72b78161954f44b2bc2ab2b08d..da73a077a944cb99f3ad41ea9f66cc6045017cb9 100644 +index 61f3909c6f0fe606d30da08fbd3222af44c1a9e4..8b5f2162a2bbfe0bd422b89bc13e9ff93d826afe 100644 --- a/services/network/url_loader.cc +++ b/services/network/url_loader.cc @@ -398,6 +398,9 @@ URLLoader::URLLoader( @@ -134,7 +134,7 @@ index 6318bfabcf5f1f72b78161954f44b2bc2ab2b08d..da73a077a944cb99f3ad41ea9f66cc60 url_request_->SetResponseHeadersCallback(base::BindRepeating( &URLLoader::SetRawResponseHeaders, base::Unretained(this))); } -@@ -1150,6 +1153,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) { +@@ -1151,6 +1154,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) { } response_ = BuildResponseHead(); 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 e69102d0d7fe..db91ce151ab0 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 @@ -28,10 +28,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 525eedb5bc68987de99792e432568b9d9f25196a..0d97b5deba92073c2cf7a2a5353fca5a566c78b0 100644 +index 24d2fc92266d1d398ee43e08a56cc05d9ff6eca3..748d041e518350f49c6aef88275893c19616d014 100644 --- a/content/browser/renderer_host/navigation_request.cc +++ b/content/browser/renderer_host/navigation_request.cc -@@ -11366,6 +11366,11 @@ url::Origin NavigationRequest::GetOriginForURLLoaderFactoryUnchecked() { +@@ -11374,6 +11374,11 @@ url::Origin NavigationRequest::GetOriginForURLLoaderFactoryUnchecked() { target_rph_id); } diff --git a/patches/chromium/fix_on-screen-keyboard_hides_on_input_blur_in_webview.patch b/patches/chromium/fix_on-screen-keyboard_hides_on_input_blur_in_webview.patch index 2112fbebe91d..33e1dc814c88 100644 --- a/patches/chromium/fix_on-screen-keyboard_hides_on_input_blur_in_webview.patch +++ b/patches/chromium/fix_on-screen-keyboard_hides_on_input_blur_in_webview.patch @@ -87,10 +87,10 @@ index 75df43e3cd2721a92c90c18154d53d5c203e2465..ce42c75c8face36d21f53f44c0201ac4 // The view with active text input state, i.e., a focused 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 f49eefa91c94e85091879c0e521a5e27d1165d74..65d5726b06a24d6ffca55413fd767cb46c87a137 100644 +index e2a7b0295d4cfb53c235bbd4652a5a939e854357..158f4dc1f14fff6298aad03b3002d5d20534285d 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -10072,7 +10072,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame( +@@ -10117,7 +10117,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame( "WebContentsImpl::OnFocusedElementChangedInFrame", "render_frame_host", frame); RenderWidgetHostViewBase* root_view = diff --git a/patches/chromium/fix_restore_original_resize_performance_on_macos.patch b/patches/chromium/fix_restore_original_resize_performance_on_macos.patch index 42d583e17333..a3e7d3b7dbae 100644 --- a/patches/chromium/fix_restore_original_resize_performance_on_macos.patch +++ b/patches/chromium/fix_restore_original_resize_performance_on_macos.patch @@ -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 ecbfaf2e7fd842a6f55002975e5bb4c436499905..1001cfe68901a768ee425bb61659504238f6b3ca 100644 +index 8073bdba33d6ddbc0306e8e9256b36cd87537eca..7ae6336c4e3c09ae16639b616a4757f75a044bc4 100644 --- a/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc -@@ -2138,9 +2138,8 @@ RenderWidgetHostImpl::GetWidgetInputHandler() { +@@ -2164,9 +2164,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 diff --git a/patches/chromium/fix_return_v8_value_from_localframe_requestexecutescript.patch b/patches/chromium/fix_return_v8_value_from_localframe_requestexecutescript.patch index 7d68e286f0c1..cd55b9744051 100644 --- a/patches/chromium/fix_return_v8_value_from_localframe_requestexecutescript.patch +++ b/patches/chromium/fix_return_v8_value_from_localframe_requestexecutescript.patch @@ -59,7 +59,7 @@ index cba373664bec3a32abad6fe0396bd67b53b7e67f..a54f1b3351efd2d8f324436f7f35cd43 #endif // THIRD_PARTY_BLINK_PUBLIC_WEB_WEB_SCRIPT_EXECUTION_CALLBACK_H_ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc -index 5d40a0034ec65117ce902ffd5b551b0ee74c35b9..524b4f8168c3f7eaf1fa818db7e33d67b044ca21 100644 +index 800a904a8fa47e0a36d8393e11b3e7d7c4a3550e..3b161ce6b69a32bb283be3ef92c0b7da9e5b8320 100644 --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc @@ -3180,6 +3180,7 @@ void LocalFrame::RequestExecuteScript( @@ -80,7 +80,7 @@ index 5d40a0034ec65117ce902ffd5b551b0ee74c35b9..524b4f8168c3f7eaf1fa818db7e33d67 void LocalFrame::SetEvictCachedSessionStorageOnFreezeOrUnload() { diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/blink/renderer/core/frame/local_frame.h -index 7d10fc64f61896e30f96aec89039c63350019f6e..55f79b093030c2f541a57ecdc2199941c1904678 100644 +index ee7cca8f64d4dfddb3eabdfb18c9f25c3d0776fe..3f2dc5242814eb27b7655aef360e12038de42ede 100644 --- a/third_party/blink/renderer/core/frame/local_frame.h +++ b/third_party/blink/renderer/core/frame/local_frame.h @@ -835,6 +835,7 @@ class CORE_EXPORT LocalFrame final @@ -92,7 +92,7 @@ index 7d10fc64f61896e30f96aec89039c63350019f6e..55f79b093030c2f541a57ecdc2199941 mojom::blink::WantResultOption, mojom::blink::PromiseResultOption); diff --git a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc -index 49b72dc41d1efaf632f6249b3472113f3c8e504f..62678f0813ea9de91ababfddc252a98cb18dba65 100644 +index a7d638b474011b564f326b128183278fd3fdb6e2..11a49018d7c004f34897d1a7f21c7e4705da023c 100644 --- a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc +++ b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc @@ -968,6 +968,7 @@ void LocalFrameMojoHandler::JavaScriptExecuteRequestInIsolatedWorld( diff --git a/patches/chromium/gritsettings_resource_ids.patch b/patches/chromium/gritsettings_resource_ids.patch index c86633b3064e..8b4c2d73fe92 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 ef44ebfa97b63e65996964802c07a3a13e2e34d1..0f581eb87d6de6fafa203f205e0e9b1a2cab3941 100644 +index 972382ea6c9043e06779330a11de90f87e2a11cd..cc8fbf5d6f62390ebbe9aea0bcfe38b8430ec734 100644 --- a/tools/gritsettings/resource_ids.spec +++ b/tools/gritsettings/resource_ids.spec -@@ -1546,6 +1546,11 @@ +@@ -1554,6 +1554,11 @@ "structures": [10100], }, diff --git a/patches/chromium/load_v8_snapshot_in_browser_process.patch b/patches/chromium/load_v8_snapshot_in_browser_process.patch index f12ddf8e5621..98f952b6b6f8 100644 --- a/patches/chromium/load_v8_snapshot_in_browser_process.patch +++ b/patches/chromium/load_v8_snapshot_in_browser_process.patch @@ -9,7 +9,7 @@ but due to the nature of electron, we need to load the v8 snapshot in the browser process. diff --git a/content/app/content_main_runner_impl.cc b/content/app/content_main_runner_impl.cc -index fceb9fb8fab9a2e93b224582b7dc4880987a0255..b14a4ad434241b9e8bd24135583935aee4b4df8e 100644 +index 733dfb4b06214f7dfe084c2ef945cad9f914eabb..46c7c57b5ff40b0e40d66bbeb8ec3f2b7f86cea0 100644 --- a/content/app/content_main_runner_impl.cc +++ b/content/app/content_main_runner_impl.cc @@ -293,11 +293,8 @@ void LoadV8SnapshotFile(const base::CommandLine& command_line) { 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 84be188f8698..7c78f33c78fe 100644 --- a/patches/chromium/mas_avoid_private_macos_api_usage.patch.patch +++ b/patches/chromium/mas_avoid_private_macos_api_usage.patch.patch @@ -35,7 +35,7 @@ system font by checking if it's kCTFontPriorityAttribute is set to system priority. diff --git a/base/BUILD.gn b/base/BUILD.gn -index 723b60da9dd9a3c3e0ce04cd33150ed9e71fcbf6..434f8add599bc9967f7c7a2bd090f8f9f4a17aa0 100644 +index 2f5d46db2e18784c4dcf60e626e8a3cbe1bc2182..4c2819616af7ffc7fae577a4f7b9301b7da39686 100644 --- a/base/BUILD.gn +++ b/base/BUILD.gn @@ -1055,6 +1055,7 @@ component("base") { @@ -385,10 +385,10 @@ index 71158ca9a7101911bb76f0c1b5300b0ff0e326b3..1441b9d4f9560c8b26d4beffe31449ed // The NSWindow used by BridgedNativeWidget. Provides hooks into AppKit that // can only be accomplished by overriding methods. diff --git a/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm b/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm -index 4239df450ee5e01261baa0440813bbda49efc712..7e69b4668b781d40373f29d083f98e2ff2d18304 100644 +index d2200451e0040a0f597a8ee28de4d16398bdf9ea..49f6579f997c8d60288add0ed8ab7bab69e1a550 100644 --- a/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm +++ b/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm -@@ -26,6 +26,7 @@ +@@ -21,6 +21,7 @@ #import "components/remote_cocoa/app_shim/views_nswindow_delegate.h" #import "components/remote_cocoa/app_shim/window_touch_bar_delegate.h" #include "components/remote_cocoa/common/native_widget_ns_window_host.mojom.h" @@ -396,7 +396,7 @@ index 4239df450ee5e01261baa0440813bbda49efc712..7e69b4668b781d40373f29d083f98e2f #include "ui/accessibility/platform/ax_platform_node.h" #import "ui/base/cocoa/user_interface_item_command_handler.h" #import "ui/base/cocoa/window_size_constants.h" -@@ -113,14 +114,18 @@ void OrderChildWindow(NSWindow* child_window, +@@ -108,14 +109,18 @@ void OrderChildWindow(NSWindow* child_window, } // namespace @@ -415,7 +415,7 @@ index 4239df450ee5e01261baa0440813bbda49efc712..7e69b4668b781d40373f29d083f98e2f - (BOOL)hasKeyAppearance; - (long long)_resizeDirectionForMouseLocation:(CGPoint)location; - (BOOL)_isConsideredOpenForPersistentState; -@@ -170,6 +175,8 @@ - (void)cr_mouseDownOnFrameView:(NSEvent*)event { +@@ -165,6 +170,8 @@ - (void)cr_mouseDownOnFrameView:(NSEvent*)event { } @end @@ -424,7 +424,7 @@ index 4239df450ee5e01261baa0440813bbda49efc712..7e69b4668b781d40373f29d083f98e2f @implementation NativeWidgetMacNSWindowTitledFrame - (void)mouseDown:(NSEvent*)event { if (self.window.isMovable) -@@ -197,6 +204,8 @@ - (BOOL)usesCustomDrawing { +@@ -192,6 +199,8 @@ - (BOOL)usesCustomDrawing { } @end @@ -433,7 +433,7 @@ index 4239df450ee5e01261baa0440813bbda49efc712..7e69b4668b781d40373f29d083f98e2f @implementation NativeWidgetMacNSWindow { @private CommandDispatcher* __strong _commandDispatcher; -@@ -394,6 +403,8 @@ - (NSAccessibilityRole)accessibilityRole { +@@ -389,6 +398,8 @@ - (NSAccessibilityRole)accessibilityRole { // NSWindow overrides. @@ -442,7 +442,7 @@ index 4239df450ee5e01261baa0440813bbda49efc712..7e69b4668b781d40373f29d083f98e2f + (Class)frameViewClassForStyleMask:(NSWindowStyleMask)windowStyle { if (windowStyle & NSWindowStyleMaskTitled) { if (Class customFrame = [NativeWidgetMacNSWindowTitledFrame class]) -@@ -405,6 +416,8 @@ + (Class)frameViewClassForStyleMask:(NSWindowStyleMask)windowStyle { +@@ -400,6 +411,8 @@ + (Class)frameViewClassForStyleMask:(NSWindowStyleMask)windowStyle { return [super frameViewClassForStyleMask:windowStyle]; } @@ -582,10 +582,10 @@ index 2d5cad5d7a4ab9292a5f966123687dee06f4512b..ae798fc8f923a9b590c0d9ed703946a2 return kAttributes; } diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn -index 7e5bce7cf95f8d99ceb5dc5bc589140d07f1a7d7..3902892f323b339f4af8cd2b69b5c2aae5032b05 100644 +index adce27e6feaed7172cac9bdcd1b2e83930eb0a77..d912bdedc246503bb4114393baee14fc95c54eb9 100644 --- a/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn -@@ -339,6 +339,7 @@ source_set("browser") { +@@ -345,6 +345,7 @@ source_set("browser") { "//ui/webui/resources", "//v8", "//v8:v8_version", @@ -628,7 +628,7 @@ index 9825b5ab492c418fa62849f12eccc91ab6d2fad8..f1a489b8145d4788a34782348a79f794 // Used to force the NSApplication's focused accessibility element to be the // content::BrowserAccessibilityCocoa accessibility tree when the NSView for diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm -index e38279e46d8fe621db24b4d94f5811459b4ca6b5..26592c97be3474a24f294d3cf2e74627f8dda4b9 100644 +index 55b6b67eace540e302a868dfaf025768bad30514..f26dd97bebd2c467d5a13b98b3f75afb14a615c2 100644 --- a/content/browser/renderer_host/render_widget_host_view_mac.mm +++ b/content/browser/renderer_host/render_widget_host_view_mac.mm @@ -52,6 +52,7 @@ @@ -675,7 +675,7 @@ index e38279e46d8fe621db24b4d94f5811459b4ca6b5..26592c97be3474a24f294d3cf2e74627 } bool RenderWidgetHostViewMac::SyncIsWidgetForMainFrame( -@@ -2191,20 +2198,26 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback, +@@ -2193,20 +2200,26 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback, void RenderWidgetHostViewMac::GetRenderWidgetAccessibilityToken( GetRenderWidgetAccessibilityTokenCallback callback) { base::ProcessId pid = getpid(); @@ -703,10 +703,10 @@ index e38279e46d8fe621db24b4d94f5811459b4ca6b5..26592c97be3474a24f294d3cf2e74627 /////////////////////////////////////////////////////////////////////////////// diff --git a/content/common/BUILD.gn b/content/common/BUILD.gn -index 86da823ffba50c0428e4bd0c763b077beb1268b7..8441af55be805440791c187e11f30148276bc6da 100644 +index 733ae2d15c3ff85faa06db70dc24fdc611113fa4..2424410cc68fe14db6024b6ec41aa73da02fc120 100644 --- a/content/common/BUILD.gn +++ b/content/common/BUILD.gn -@@ -274,6 +274,7 @@ source_set("common") { +@@ -275,6 +275,7 @@ source_set("common") { "//ui/shell_dialogs", "//url", "//url/ipc:url_ipc", @@ -797,7 +797,7 @@ index a1068589ad844518038ee7bc15a3de9bc5cba525..1ff781c49f086ec8015c7d3c44567dbe } // namespace content diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn -index e342b42f42da01f93cd599ade255dac064016881..ddcb3607b3a031e6728dfe225c299a575f803798 100644 +index 28887735ea8e1f03c2bdbfb845c39d63b2fd4680..1040f87089ca52f9e85467eb0172d778a8c05c24 100644 --- a/content/test/BUILD.gn +++ b/content/test/BUILD.gn @@ -669,6 +669,7 @@ static_library("test_support") { @@ -825,7 +825,7 @@ index e342b42f42da01f93cd599ade255dac064016881..ddcb3607b3a031e6728dfe225c299a57 ] if (!(is_chromeos && target_cpu == "arm64" && current_cpu == "arm")) { -@@ -3315,6 +3319,7 @@ test("content_unittests") { +@@ -3317,6 +3321,7 @@ test("content_unittests") { "//ui/shell_dialogs", "//ui/webui:test_support", "//url", @@ -834,10 +834,10 @@ index e342b42f42da01f93cd599ade255dac064016881..ddcb3607b3a031e6728dfe225c299a57 if (enable_nocompile_tests) { diff --git a/content/web_test/BUILD.gn b/content/web_test/BUILD.gn -index 40c262f1425b366b067abea4875d273ee59a1e9d..4bc4981931de0b430a163ad2ed36f9e087c2066a 100644 +index ab961bccc3e4f0f5a40ac74df97447118b256c68..43f00bf0879809e986308a2cb26145c4a2a51dd3 100644 --- a/content/web_test/BUILD.gn +++ b/content/web_test/BUILD.gn -@@ -229,6 +229,7 @@ static_library("web_test_browser") { +@@ -227,6 +227,7 @@ static_library("web_test_browser") { "//ui/gl", "//ui/shell_dialogs", "//url", @@ -1407,10 +1407,10 @@ index eb81a70e4d5d5cd3e6ae9b45f8cd1c795ea76c51..9921ccb10d3455600eddd85f77f10228 } // namespace sandbox diff --git a/third_party/blink/renderer/core/BUILD.gn b/third_party/blink/renderer/core/BUILD.gn -index af174fda43b9737bc4e0c15024bbe98eab83e3b8..73f782e5ce9fdbcefd4f3724b220955d88f336cb 100644 +index cf7fb031d669264d1bb9a033588b48a6dd0cd40c..e56a663f46b64e91defa0e42a91f4e4a777c8a3d 100644 --- a/third_party/blink/renderer/core/BUILD.gn +++ b/third_party/blink/renderer/core/BUILD.gn -@@ -423,6 +423,7 @@ component("core") { +@@ -425,6 +425,7 @@ component("core") { "//ui/gfx/geometry", "//ui/gfx/geometry:geometry_skia", "//ui/strings", @@ -1439,7 +1439,7 @@ index c771cee7be34f36521de34ef893ee578b648a8c8..b0bd447b848bfdb7a9ff9cd98ba95574 blink_core_sources_editing += [ "kill_ring_none.cc" ] } diff --git a/ui/accelerated_widget_mac/BUILD.gn b/ui/accelerated_widget_mac/BUILD.gn -index 296d38b10d16c7b17137358fe89bac6a03afce09..9608842b8b0df441dc654bf96b46f052bce6e818 100644 +index 8c07f1ad347cbc3e5024b25e1dd4a9d14396a82b..601df4d169d7ff2925a9762d353438b3eb8665b5 100644 --- a/ui/accelerated_widget_mac/BUILD.gn +++ b/ui/accelerated_widget_mac/BUILD.gn @@ -81,6 +81,7 @@ component("accelerated_widget_mac") { @@ -1819,7 +1819,7 @@ index 85d9170ae8de43ec0fa18c033d66c0583c26ec2f..c4f76301818404ce853583adf01af85c // Query the display's refresh rate. double refresh_rate = 1.0 / screen.minimumRefreshInterval; diff --git a/ui/gfx/BUILD.gn b/ui/gfx/BUILD.gn -index 1a7b1e3fd1e3971306939a9086014179dd492503..3d7ba97d904a6ad8da6bb3d36497ac00d54b44fa 100644 +index 4c93aa57c3f62784e153dac9b0226b00f75c9d16..f448dd7eb15a90e45b517e50fb1c65e96966c952 100644 --- a/ui/gfx/BUILD.gn +++ b/ui/gfx/BUILD.gn @@ -339,6 +339,12 @@ component("gfx") { @@ -1874,10 +1874,10 @@ index fe3f85073e31de487a08e57d7f9b07aa4eccf8f3..cf5b07203c8bd559a404600cc98cc8ec // enough. return PlatformFontMac::SystemFontType::kGeneral; diff --git a/ui/views/BUILD.gn b/ui/views/BUILD.gn -index 2d45c71e5298cd4f06dfdf457fc0e3b603794ad1..4091b5be5a4b7b70e28ae662270cd87cd2b68f95 100644 +index 3885f2eb20f5e60828256e24761601419368e78f..1bea86f086b765852f569a41c7ff7d1f057eec0e 100644 --- a/ui/views/BUILD.gn +++ b/ui/views/BUILD.gn -@@ -721,6 +721,8 @@ component("views") { +@@ -722,6 +722,8 @@ component("views") { "IOSurface.framework", "QuartzCore.framework", ] @@ -1886,7 +1886,7 @@ index 2d45c71e5298cd4f06dfdf457fc0e3b603794ad1..4091b5be5a4b7b70e28ae662270cd87c } if (is_win) { -@@ -1150,6 +1152,8 @@ source_set("test_support") { +@@ -1151,6 +1153,8 @@ source_set("test_support") { "//ui/base/mojom:ui_base_types", ] @@ -1896,10 +1896,10 @@ index 2d45c71e5298cd4f06dfdf457fc0e3b603794ad1..4091b5be5a4b7b70e28ae662270cd87c 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 119e5e3c0d2b633be85445a72c6d098aec4687d9..df392f299d61cb4b971906e75cbc343037bc766a 100644 +index 4cc9db3ae1ef2443b1ecf923c9c572b7d0e85662..f7bf6a6bb63f9c38cc21c03da1c884d6bee8ab9a 100644 --- a/ui/views/cocoa/native_widget_mac_ns_window_host.h +++ b/ui/views/cocoa/native_widget_mac_ns_window_host.h -@@ -18,6 +18,7 @@ +@@ -19,6 +19,7 @@ #include "components/remote_cocoa/browser/scoped_cg_window_id.h" #include "components/remote_cocoa/common/native_widget_ns_window.mojom.h" #include "components/remote_cocoa/common/native_widget_ns_window_host.mojom.h" @@ -1907,7 +1907,7 @@ index 119e5e3c0d2b633be85445a72c6d098aec4687d9..df392f299d61cb4b971906e75cbc3430 #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" -@@ -33,7 +34,9 @@ +@@ -34,7 +35,9 @@ #include "ui/views/window/dialog_observer.h" @class NativeWidgetMacNSWindow; @@ -1917,7 +1917,7 @@ index 119e5e3c0d2b633be85445a72c6d098aec4687d9..df392f299d61cb4b971906e75cbc3430 @class NSView; namespace remote_cocoa { -@@ -501,10 +504,12 @@ class VIEWS_EXPORT NativeWidgetMacNSWindowHost +@@ -502,10 +505,12 @@ class VIEWS_EXPORT NativeWidgetMacNSWindowHost mojo::AssociatedRemote remote_ns_window_remote_; diff --git a/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch b/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch index 5a0a24193b8a..6db2da2e656a 100644 --- a/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch +++ b/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch @@ -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 32b3fa9dc33551f0d65102155d695f175d19f02d..214f53d2808c23c5bed96b84a2f09f4944a3df45 100644 +index 553d9c01d155ab71fae4a029310d8e2069f5bb95..d3982d4608c76dcc583ab26914d0f17435f1532f 100644 --- a/services/network/network_context.cc +++ b/services/network/network_context.cc @@ -165,6 +165,11 @@ @@ -190,10 +190,10 @@ index 6a60953f3b51dcfdfed8cf6516846c915a583e0b..b9f201ccf04433a29083cd15cfe599fe std::unique_ptr internal_host_resolver_; std::set, base::UniquePtrComparator> diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom -index a3df2e2d28b12414d3fe0d6b4f4ee44b3d21fd44..ff39e13338ebd369abf897e230cee97d34e379f1 100644 +index 5986f8444e582ea0571590060dbcddbe366df74d..1ed66c3b41e583745c5b309670fc4470fa1983cf 100644 --- a/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom -@@ -309,6 +309,17 @@ struct SocketBrokerRemotes { +@@ -315,6 +315,17 @@ struct SocketBrokerRemotes { pending_remote server; }; @@ -211,7 +211,7 @@ index a3df2e2d28b12414d3fe0d6b4f4ee44b3d21fd44..ff39e13338ebd369abf897e230cee97d // Parameters for constructing a network context. struct NetworkContextParams { // The user agent string. -@@ -961,6 +972,9 @@ interface NetworkContext { +@@ -967,6 +978,9 @@ interface NetworkContext { // Sets a client for this network context. SetClient(pending_remote client); diff --git a/patches/chromium/notification_provenance.patch b/patches/chromium/notification_provenance.patch index 8b6bad75fa54..1e32ad11f511 100644 --- a/patches/chromium/notification_provenance.patch +++ b/patches/chromium/notification_provenance.patch @@ -133,10 +133,10 @@ index 5be62a3fb27e37f3c1db6b811172f6dfebe18f61..34349f9832fe4b9a3d48db613a789afb 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 87bfb597bab8e5e87f591fb2a686317ee39caaf5..378c3201d5fe5cfea6c3ae80a64934ad6e21d588 100644 +index 2e5e7c71a529f3d9708c7f6c53cc89f03bdb842e..7d94f8633e5ba4222c9bbf38ca56addf9437bad0 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -2217,7 +2217,7 @@ void RenderProcessHostImpl::CreateNotificationService( +@@ -2218,7 +2218,7 @@ void RenderProcessHostImpl::CreateNotificationService( case RenderProcessHost::NotificationServiceCreatorType::kSharedWorker: case RenderProcessHost::NotificationServiceCreatorType::kDedicatedWorker: { storage_partition_impl_->GetPlatformNotificationContext()->CreateService( @@ -145,7 +145,7 @@ index 87bfb597bab8e5e87f591fb2a686317ee39caaf5..378c3201d5fe5cfea6c3ae80a64934ad creator_type, std::move(receiver)); break; } -@@ -2225,7 +2225,7 @@ void RenderProcessHostImpl::CreateNotificationService( +@@ -2226,7 +2226,7 @@ void RenderProcessHostImpl::CreateNotificationService( CHECK(rfh); storage_partition_impl_->GetPlatformNotificationContext()->CreateService( diff --git a/patches/chromium/osr_shared_texture_remove_keyed_mutex_on_win_dxgi.patch b/patches/chromium/osr_shared_texture_remove_keyed_mutex_on_win_dxgi.patch index 02add87a32b5..28b299ba81da 100644 --- a/patches/chromium/osr_shared_texture_remove_keyed_mutex_on_win_dxgi.patch +++ b/patches/chromium/osr_shared_texture_remove_keyed_mutex_on_win_dxgi.patch @@ -11,10 +11,10 @@ For resolving complex conflict please pin @reitowo For more reason please see: https://crrev.com/c/5465148 diff --git a/gpu/ipc/service/gpu_memory_buffer_factory_dxgi.cc b/gpu/ipc/service/gpu_memory_buffer_factory_dxgi.cc -index b85c1dec1dc289ea5e09d15e6bdf7ea08c747e63..4ba61fa04cd760eb0337ccc8785d60eaf27f8b77 100644 +index 31543b5b018313d2e5890f599109bd48d7bc5e64..2f4003b0557ae275ee3697062fafb6428f5da010 100644 --- a/gpu/ipc/service/gpu_memory_buffer_factory_dxgi.cc +++ b/gpu/ipc/service/gpu_memory_buffer_factory_dxgi.cc -@@ -172,7 +172,8 @@ gfx::GpuMemoryBufferHandle GpuMemoryBufferFactoryDXGI::CreateGpuMemoryBuffer( +@@ -166,7 +166,8 @@ gfx::GpuMemoryBufferHandle GpuMemoryBufferFactoryDXGI::CreateNativeGmbHandle( // so make sure that the usage is one that we support. DCHECK(usage == gfx::BufferUsage::GPU_READ || usage == gfx::BufferUsage::SCANOUT || @@ -24,7 +24,7 @@ index b85c1dec1dc289ea5e09d15e6bdf7ea08c747e63..4ba61fa04cd760eb0337ccc8785d60ea << "Incorrect usage, usage=" << gfx::BufferUsageToString(usage); D3D11_TEXTURE2D_DESC desc = { -@@ -186,7 +187,9 @@ gfx::GpuMemoryBufferHandle GpuMemoryBufferFactoryDXGI::CreateGpuMemoryBuffer( +@@ -180,7 +181,9 @@ gfx::GpuMemoryBufferHandle GpuMemoryBufferFactoryDXGI::CreateNativeGmbHandle( D3D11_BIND_SHADER_RESOURCE | D3D11_BIND_RENDER_TARGET, 0, D3D11_RESOURCE_MISC_SHARED_NTHANDLE | @@ -36,10 +36,10 @@ index b85c1dec1dc289ea5e09d15e6bdf7ea08c747e63..4ba61fa04cd760eb0337ccc8785d60ea Microsoft::WRL::ComPtr d3d11_texture; diff --git a/media/video/renderable_gpu_memory_buffer_video_frame_pool.cc b/media/video/renderable_gpu_memory_buffer_video_frame_pool.cc -index ae574499f3ac6be9d35d40b2debdbc16ca1a4162..fcf8ac3b49485b11b6bcf791a822bf357d16c70b 100644 +index 46c48aa7d08b336f577f81163bf4cc0596a0b2fb..c1098fbc5ea57031f2e153379ae0baaddd3bbe5f 100644 --- a/media/video/renderable_gpu_memory_buffer_video_frame_pool.cc +++ b/media/video/renderable_gpu_memory_buffer_video_frame_pool.cc -@@ -181,7 +181,7 @@ bool FrameResources::Initialize(VideoPixelFormat format, +@@ -182,7 +182,7 @@ bool FrameResources::Initialize(VideoPixelFormat format, auto* context = pool_->GetContext(); @@ -48,7 +48,7 @@ index ae574499f3ac6be9d35d40b2debdbc16ca1a4162..fcf8ac3b49485b11b6bcf791a822bf35 #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) gfx::BufferUsage::SCANOUT_VEA_CPU_READ #else -@@ -192,6 +192,23 @@ bool FrameResources::Initialize(VideoPixelFormat format, +@@ -193,6 +193,23 @@ bool FrameResources::Initialize(VideoPixelFormat format, const gfx::Size coded_size = GetCodedSizeForVideoPixelFormat(format, visible_size_); @@ -72,7 +72,7 @@ index ae574499f3ac6be9d35d40b2debdbc16ca1a4162..fcf8ac3b49485b11b6bcf791a822bf35 gpu::SharedImageUsageSet usage = #if BUILDFLAG(IS_MAC) gpu::SHARED_IMAGE_USAGE_MACOS_VIDEO_TOOLBOX | -@@ -229,7 +246,7 @@ bool FrameResources::Initialize(VideoPixelFormat format, +@@ -230,7 +247,7 @@ bool FrameResources::Initialize(VideoPixelFormat format, VideoPixelFormatToSharedImageFormat(format).value(); shared_image_ = context->CreateSharedImage( diff --git a/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch b/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch index 91f757e9670c..792fba055664 100644 --- a/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch +++ b/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch @@ -30,10 +30,10 @@ index 18c6ee6657e5edb5e90102dd9a20e5c0efeed843..af763ad4e441e54556854cd40c4cb909 // 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 0c5aa1c0e4c344f807cf0fcb7cc3cf532c1eaf23..ecbfaf2e7fd842a6f55002975e5bb4c436499905 100644 +index e8baae79ab127e4626f39247a5e57fe6a6114453..8073bdba33d6ddbc0306e8e9256b36cd87537eca 100644 --- a/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc -@@ -2072,6 +2072,9 @@ void RenderWidgetHostImpl::SetCursor(const ui::Cursor& cursor) { +@@ -2083,6 +2083,9 @@ void RenderWidgetHostImpl::SetCursor(const ui::Cursor& cursor) { if (view_) { view_->UpdateCursor(cursor); } @@ -44,10 +44,10 @@ index 0c5aa1c0e4c344f807cf0fcb7cc3cf532c1eaf23..ecbfaf2e7fd842a6f55002975e5bb4c4 void RenderWidgetHostImpl::ShowContextMenuAtPoint( diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index ec2989ca2c736140c9be6b78591798ac733e752e..e1f9c3070f0de3ee2d54791bd18fcdf35de6b7b5 100644 +index c2b6725c51fe8997a23a7cb8b04e715b39382939..82a0eafc85ca825e04037027d0189899e47b9c99 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -6093,6 +6093,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() { +@@ -6128,6 +6128,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() { return text_input_manager_.get(); } @@ -60,10 +60,10 @@ index ec2989ca2c736140c9be6b78591798ac733e752e..e1f9c3070f0de3ee2d54791bd18fcdf3 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 1d413c5155adc94ed2aacb8d0b9178d9aada519a..304aecf0d6da7600abbff7b156c998e7741759a3 100644 +index f935437d95a1dda9bca5f51efa3e3ac99bd1c650..4b86e98d2c4d79c89ebe0296915730438181686c 100644 --- a/content/browser/web_contents/web_contents_impl.h +++ b/content/browser/web_contents/web_contents_impl.h -@@ -1175,6 +1175,7 @@ class CONTENT_EXPORT WebContentsImpl +@@ -1177,6 +1177,7 @@ class CONTENT_EXPORT WebContentsImpl void SendScreenRects() override; void SendActiveState(bool active) override; TextInputManager* GetTextInputManager() override; diff --git a/patches/chromium/refactor_expose_file_system_access_blocklist.patch b/patches/chromium/refactor_expose_file_system_access_blocklist.patch index 211f24876137..9c0808134d37 100644 --- a/patches/chromium/refactor_expose_file_system_access_blocklist.patch +++ b/patches/chromium/refactor_expose_file_system_access_blocklist.patch @@ -8,7 +8,7 @@ it in Electron and prevent drift from Chrome's blocklist. We should look for a w to upstream this change to Chrome. diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc -index 1e5bedcb5f5a5fa6da577689cb69ecc2ca918e6a..0ecc40f94e967c528f8dfa4be27a666a170d990e 100644 +index 62de0f9e9f74554542d0214d212ef322a3364c8f..00f96d64ef2aa0151356ce1783d146035890db34 100644 --- a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc +++ b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc @@ -82,11 +82,13 @@ @@ -220,7 +220,7 @@ index 1e5bedcb5f5a5fa6da577689cb69ecc2ca918e6a..0ecc40f94e967c528f8dfa4be27a666a // Checks if `path` should be blocked by the `rules`. // The BlockType of the nearest ancestor of a path to check is what -@@ -1269,16 +1091,6 @@ struct ChromeFileSystemAccessPermissionContext::OriginState { +@@ -1271,16 +1093,6 @@ struct ChromeFileSystemAccessPermissionContext::OriginState { std::unique_ptr cleanup_timer; }; @@ -237,7 +237,7 @@ index 1e5bedcb5f5a5fa6da577689cb69ecc2ca918e6a..0ecc40f94e967c528f8dfa4be27a666a ChromeFileSystemAccessPermissionContext:: ChromeFileSystemAccessPermissionContext(content::BrowserContext* context, const base::Clock* clock) -@@ -1297,7 +1109,7 @@ ChromeFileSystemAccessPermissionContext:: +@@ -1299,7 +1111,7 @@ ChromeFileSystemAccessPermissionContext:: #if BUILDFLAG(IS_ANDROID) one_time_permissions_tracker_.Observe( OneTimePermissionsTrackerFactory::GetForBrowserContext(context)); @@ -246,7 +246,7 @@ index 1e5bedcb5f5a5fa6da577689cb69ecc2ca918e6a..0ecc40f94e967c528f8dfa4be27a666a auto* provider = web_app::WebAppProvider::GetForWebApps( Profile::FromBrowserContext(profile_)); if (provider) { -@@ -2564,7 +2376,7 @@ void ChromeFileSystemAccessPermissionContext::OnShutdown() { +@@ -2566,7 +2378,7 @@ void ChromeFileSystemAccessPermissionContext::OnShutdown() { one_time_permissions_tracker_.Reset(); } @@ -255,7 +255,7 @@ index 1e5bedcb5f5a5fa6da577689cb69ecc2ca918e6a..0ecc40f94e967c528f8dfa4be27a666a void ChromeFileSystemAccessPermissionContext::OnWebAppInstalled( const webapps::AppId& app_id) { if (!base::FeatureList::IsEnabled( -@@ -2899,11 +2711,7 @@ bool ChromeFileSystemAccessPermissionContext:: +@@ -2901,11 +2713,7 @@ bool ChromeFileSystemAccessPermissionContext:: HandleType handle_type, UserAction user_action, GrantType grant_type) { @@ -268,7 +268,7 @@ index 1e5bedcb5f5a5fa6da577689cb69ecc2ca918e6a..0ecc40f94e967c528f8dfa4be27a666a if (!base::FeatureList::IsEnabled( features::kFileSystemAccessPersistentPermissions)) { return false; -@@ -2954,6 +2762,7 @@ bool ChromeFileSystemAccessPermissionContext:: +@@ -2956,6 +2764,7 @@ bool ChromeFileSystemAccessPermissionContext:: return false; #endif // BUILDFLAG(IS_ANDROID) diff --git a/patches/chromium/refactor_unfilter_unresponsive_events.patch b/patches/chromium/refactor_unfilter_unresponsive_events.patch index ae098c65c6e6..8429960202a0 100644 --- a/patches/chromium/refactor_unfilter_unresponsive_events.patch +++ b/patches/chromium/refactor_unfilter_unresponsive_events.patch @@ -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 3f68fa06dd2864e047d12f0c59a3c649494f0bf9..4cd0c02dda57e1d718dbac953c937b492d06150c 100644 +index 5f467feafef5f0b2c486432f3f29303fe5e40f12..be0788fff7498a4a51c08f09754394aa975123ef 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -10209,25 +10209,13 @@ void WebContentsImpl::RendererUnresponsive( +@@ -10254,25 +10254,13 @@ void WebContentsImpl::RendererUnresponsive( base::RepeatingClosure hang_monitor_restarter) { OPTIONAL_TRACE_EVENT1("content", "WebContentsImpl::RendererUnresponsive", "render_widget_host", render_widget_host); diff --git a/patches/chromium/resource_file_conflict.patch b/patches/chromium/resource_file_conflict.patch index cf9a8c980b09..6d13b85c3a3f 100644 --- a/patches/chromium/resource_file_conflict.patch +++ b/patches/chromium/resource_file_conflict.patch @@ -52,10 +52,10 @@ Some alternatives to this patch: None of these options seems like a substantial maintainability win over this patch to me (@nornagon). diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn -index 84fea80c038c44333d3bf6553d0ef1d6c3920357..3713bfab32418551a569a1ce306ba59525c6fa99 100644 +index 9fd2e83b2a7bc7e8dae09e45bec64ad41e06ee6a..e648bb4ed2ff72441faa8773e449e0b6174f5af5 100644 --- a/chrome/BUILD.gn +++ b/chrome/BUILD.gn -@@ -1539,7 +1539,7 @@ if (is_chrome_branded && !is_android) { +@@ -1538,7 +1538,7 @@ if (is_chrome_branded && !is_android) { } } @@ -64,7 +64,7 @@ index 84fea80c038c44333d3bf6553d0ef1d6c3920357..3713bfab32418551a569a1ce306ba595 chrome_paks("packed_resources") { if (is_mac) { output_dir = "$root_gen_dir/repack" -@@ -1585,6 +1585,12 @@ repack("browser_tests_pak") { +@@ -1584,6 +1584,12 @@ repack("browser_tests_pak") { deps = [ "//chrome/test/data/webui:resources" ] } diff --git a/patches/chromium/revert_code_health_clean_up_stale_macwebcontentsocclusion.patch b/patches/chromium/revert_code_health_clean_up_stale_macwebcontentsocclusion.patch index 6aae7344ff9c..1e675b019ca5 100644 --- a/patches/chromium/revert_code_health_clean_up_stale_macwebcontentsocclusion.patch +++ b/patches/chromium/revert_code_health_clean_up_stale_macwebcontentsocclusion.patch @@ -233,10 +233,10 @@ index d8167e854a3264b19a07544039fd01aba45e27a1..2e5a4ae715529e3b7b5c8fbb7195c7ce } diff --git a/content/common/features.cc b/content/common/features.cc -index 0da587cc61fed9201e0ddbc29168907cae76c0a2..48eba4f8a587896ba0c28a67bae8cfa1e4764050 100644 +index c53e0eb1d17c288e9be1c780ddb96eec91cd8bd3..bdfec92691bb1f6fc7572f88c5f2f864f601fa59 100644 --- a/content/common/features.cc +++ b/content/common/features.cc -@@ -316,6 +316,14 @@ BASE_FEATURE(kIOSurfaceCapturer, +@@ -324,6 +324,14 @@ BASE_FEATURE(kIOSurfaceCapturer, base::FEATURE_ENABLED_BY_DEFAULT); #endif @@ -252,7 +252,7 @@ index 0da587cc61fed9201e0ddbc29168907cae76c0a2..48eba4f8a587896ba0c28a67bae8cfa1 BASE_FEATURE(kKeepChildProcessAfterIPCReset, "KeepChildProcessAfterIPCReset", diff --git a/content/common/features.h b/content/common/features.h -index a206971121af438c997c6b531b36cb627cc8c59e..602d1ca5951c636ad53d76dddef774147f59aa2c 100644 +index 5cc31620ec45371411c2c6c453742a93b0d94203..185060069ada9b8d977550640aa31d45d47fa42a 100644 --- a/content/common/features.h +++ b/content/common/features.h @@ -101,6 +101,9 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kInterestGroupUpdateIfOlderThan); @@ -263,5 +263,5 @@ index a206971121af438c997c6b531b36cb627cc8c59e..602d1ca5951c636ad53d76dddef77414 +CONTENT_EXPORT BASE_DECLARE_FEATURE(kMacWebContentsOcclusion); +#endif CONTENT_EXPORT BASE_DECLARE_FEATURE(kKeepChildProcessAfterIPCReset); - CONTENT_EXPORT BASE_DECLARE_FEATURE(kMediaDevicesSystemMonitorCache); - CONTENT_EXPORT BASE_DECLARE_FEATURE(kMediaStreamTrackTransfer); + + CONTENT_EXPORT BASE_DECLARE_FEATURE(kLocalNetworkAccessForWorkers); diff --git a/patches/chromium/revert_views_remove_desktopwindowtreehostwin_window_enlargement.patch b/patches/chromium/revert_views_remove_desktopwindowtreehostwin_window_enlargement.patch index a861b2de254d..d15522a940a0 100644 --- a/patches/chromium/revert_views_remove_desktopwindowtreehostwin_window_enlargement.patch +++ b/patches/chromium/revert_views_remove_desktopwindowtreehostwin_window_enlargement.patch @@ -10,10 +10,10 @@ on Windows. We should refactor our code so that this patch isn't necessary. diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json -index 286213e7ca0286e16133c898500b4cdc65dd28bf..4d00a36abf0df2351eb8babc7a7a757d5753a2f4 100644 +index d01dd0a53bb41f0c66676ca313453d43a2aab80a..620017bbe06e504a65bcb3a778be6f440a4d8bce 100644 --- a/testing/variations/fieldtrial_testing_config.json +++ b/testing/variations/fieldtrial_testing_config.json -@@ -24661,6 +24661,21 @@ +@@ -24851,6 +24851,21 @@ ] } ], diff --git a/patches/chromium/support_mixed_sandbox_with_zygote.patch b/patches/chromium/support_mixed_sandbox_with_zygote.patch index cc4047e55d7f..4a48ca4c15db 100644 --- a/patches/chromium/support_mixed_sandbox_with_zygote.patch +++ b/patches/chromium/support_mixed_sandbox_with_zygote.patch @@ -22,10 +22,10 @@ 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 378c3201d5fe5cfea6c3ae80a64934ad6e21d588..ae44f585e71fe028acf493bb001aa17b1ca172b5 100644 +index 7d94f8633e5ba4222c9bbf38ca56addf9437bad0..1b26abc7ca8fbf82fe20eef8f70af83a150f3bdd 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -1832,6 +1832,10 @@ bool RenderProcessHostImpl::Init() { +@@ -1833,6 +1833,10 @@ bool RenderProcessHostImpl::Init() { std::unique_ptr sandbox_delegate = std::make_unique( *cmd_line, IsPdf(), IsJitDisabled()); diff --git a/patches/chromium/web_contents.patch b/patches/chromium/web_contents.patch index c79585c2173d..265bd52bf56b 100644 --- a/patches/chromium/web_contents.patch +++ b/patches/chromium/web_contents.patch @@ -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 2004582d7041b94a3232c3c160b2bfd9351f6658..2a70e261f9ec17be3d666a06b7dad3abae093aaf 100644 +index 8527faad558fd9409711e374ed6299039891c82b..58e1c4b7e177f7bea7c404c7a08ceb07a67d2737 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -4133,6 +4133,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, +@@ -4168,6 +4168,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 2004582d7041b94a3232c3c160b2bfd9351f6658..2a70e261f9ec17be3d666a06b7dad3ab std::unique_ptr delegate = GetContentClient()->browser()->GetWebContentsViewDelegate(this); -@@ -4143,6 +4150,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, +@@ -4178,6 +4185,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, view_ = CreateWebContentsView(this, std::move(delegate), &render_view_host_delegate_view_); } @@ -35,7 +35,7 @@ index 2004582d7041b94a3232c3c160b2bfd9351f6658..2a70e261f9ec17be3d666a06b7dad3ab CHECK(view_.get()); diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h -index 07165bf281f91ebda0dd34ac1a30b35db333352e..2a4f0f0e52287e75e70196960574da929ce6c35f 100644 +index 1a20e4edd4a61c3cdcb4a163d5e63d5d8c063871..4b47ff00b699e46cfa5c204f81d20b990813760c 100644 --- a/content/public/browser/web_contents.h +++ b/content/public/browser/web_contents.h @@ -126,11 +126,14 @@ class PrerenderHandle; diff --git a/patches/chromium/webview_fullscreen.patch b/patches/chromium/webview_fullscreen.patch index e8f9de966f2f..855c67e37c0f 100644 --- a/patches/chromium/webview_fullscreen.patch +++ b/patches/chromium/webview_fullscreen.patch @@ -15,10 +15,10 @@ 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 0ace2e0c7073ee97ebb274db4b184a074f6ae544..ee3015214724be708ca15d480d105bbf41ba1b4e 100644 +index 861468d545856eb894b3eaae943028b954c83b82..3d6489a4abcdf7f6c26507583df446c4b293cd13 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -8880,6 +8880,17 @@ void RenderFrameHostImpl::EnterFullscreen( +@@ -8922,6 +8922,17 @@ void RenderFrameHostImpl::EnterFullscreen( } } @@ -37,10 +37,10 @@ index 0ace2e0c7073ee97ebb274db4b184a074f6ae544..ee3015214724be708ca15d480d105bbf 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 2a70e261f9ec17be3d666a06b7dad3abae093aaf..f49eefa91c94e85091879c0e521a5e27d1165d74 100644 +index 58e1c4b7e177f7bea7c404c7a08ceb07a67d2737..e2a7b0295d4cfb53c235bbd4652a5a939e854357 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -4422,21 +4422,25 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent( +@@ -4457,21 +4457,25 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent( const input::NativeWebKeyboardEvent& event) { OPTIONAL_TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("content.verbose"), "WebContentsImpl::PreHandleKeyboardEvent"); @@ -78,7 +78,7 @@ index 2a70e261f9ec17be3d666a06b7dad3abae093aaf..f49eefa91c94e85091879c0e521a5e27 } bool WebContentsImpl::HandleMouseEvent(const blink::WebMouseEvent& event) { -@@ -4595,7 +4599,7 @@ void WebContentsImpl::EnterFullscreenMode( +@@ -4630,7 +4634,7 @@ void WebContentsImpl::EnterFullscreenMode( OPTIONAL_TRACE_EVENT0("content", "WebContentsImpl::EnterFullscreenMode"); DCHECK(CanEnterFullscreenMode(requesting_frame)); DCHECK(requesting_frame->IsActive()); diff --git a/patches/chromium/worker_context_will_destroy.patch b/patches/chromium/worker_context_will_destroy.patch index bd2d6cd16682..d915bd55bd49 100644 --- a/patches/chromium/worker_context_will_destroy.patch +++ b/patches/chromium/worker_context_will_destroy.patch @@ -10,10 +10,10 @@ An attempt to upstream this was made, but rejected: https://chromium-review.googlesource.com/c/chromium/src/+/1954347 diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h -index 6eb48c506834b50e9bd49a42bbb8f9f32093abfb..64c10021f5d0e58d9fcb740d5a56651d989503df 100644 +index 6979b9cc56a51d4983a99da73649832f96f2cf1d..4f07534707a4d88afe8847120a0e5e546f3283ee 100644 --- a/content/public/renderer/content_renderer_client.h +++ b/content/public/renderer/content_renderer_client.h -@@ -408,6 +408,11 @@ class CONTENT_EXPORT ContentRendererClient { +@@ -422,6 +422,11 @@ class CONTENT_EXPORT ContentRendererClient { virtual void DidInitializeWorkerContextOnWorkerThread( v8::Local context) {} diff --git a/patches/chromium/worker_feat_add_hook_to_notify_script_ready.patch b/patches/chromium/worker_feat_add_hook_to_notify_script_ready.patch index 70e229c58e53..3b285a8d048a 100644 --- a/patches/chromium/worker_feat_add_hook_to_notify_script_ready.patch +++ b/patches/chromium/worker_feat_add_hook_to_notify_script_ready.patch @@ -19,10 +19,10 @@ that clearly establishes the worker script is ready for evaluation with the scop initialized. diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h -index 64c10021f5d0e58d9fcb740d5a56651d989503df..cacb4effd675db544a26198d056d5c45edaeff22 100644 +index 4f07534707a4d88afe8847120a0e5e546f3283ee..2f166ebdb5017dbb2317e0ed1bb0f7bbe90d0a49 100644 --- a/content/public/renderer/content_renderer_client.h +++ b/content/public/renderer/content_renderer_client.h -@@ -408,6 +408,11 @@ class CONTENT_EXPORT ContentRendererClient { +@@ -422,6 +422,11 @@ class CONTENT_EXPORT ContentRendererClient { virtual void DidInitializeWorkerContextOnWorkerThread( v8::Local context) {} diff --git a/patches/devtools_frontend/chore_expose_ui_to_allow_electron_to_set_dock_side.patch b/patches/devtools_frontend/chore_expose_ui_to_allow_electron_to_set_dock_side.patch index 276ec590f5b7..e97bc58c2699 100644 --- a/patches/devtools_frontend/chore_expose_ui_to_allow_electron_to_set_dock_side.patch +++ b/patches/devtools_frontend/chore_expose_ui_to_allow_electron_to_set_dock_side.patch @@ -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 f1d084ed9209148c7b67f4fc75ee7919cf9e5807..83642949c341413d94811c1f9018f3b300c12c72 100644 +index dd308c0dc0f0d54fb808c3d72bacb5ed12890a54..5034ea99d96a60371f3005620fef88b9435c8e72 100644 --- a/front_end/entrypoints/main/MainImpl.ts +++ b/front_end/entrypoints/main/MainImpl.ts -@@ -732,6 +732,8 @@ export class MainImpl { +@@ -734,6 +734,8 @@ export class MainImpl { globalThis.Main = globalThis.Main || {}; // @ts-expect-error Exported for Tests.js globalThis.Main.Main = MainImpl; diff --git a/shell/browser/api/electron_api_session.cc b/shell/browser/api/electron_api_session.cc index e6c24a092e9d..90c4a678475a 100644 --- a/shell/browser/api/electron_api_session.cc +++ b/shell/browser/api/electron_api_session.cc @@ -21,7 +21,6 @@ #include "base/strings/string_util.h" #include "base/uuid.h" #include "chrome/browser/browser_process.h" -#include "chrome/browser/predictors/preconnect_manager.h" #include "chrome/browser/predictors/predictors_traffic_annotations.h" // nogncheck #include "chrome/common/chrome_switches.h" #include "chrome/common/pref_names.h" @@ -40,6 +39,7 @@ #include "content/public/browser/download_item_utils.h" #include "content/public/browser/download_manager_delegate.h" #include "content/public/browser/network_service_instance.h" +#include "content/public/browser/preconnect_manager.h" #include "content/public/browser/preconnect_request.h" #include "content/public/browser/storage_partition.h" #include "gin/arguments.h" diff --git a/shell/browser/electron_browser_context.cc b/shell/browser/electron_browser_context.cc index 685688f6ab4b..9a86b3040be2 100644 --- a/shell/browser/electron_browser_context.cc +++ b/shell/browser/electron_browser_context.cc @@ -19,7 +19,6 @@ #include "base/strings/escape.h" #include "base/strings/string_number_conversions.h" #include "base/strings/string_util.h" -#include "chrome/browser/predictors/preconnect_manager.h" #include "chrome/common/chrome_paths.h" #include "chrome/common/pref_names.h" #include "components/keyed_service/content/browser_context_dependency_manager.h" @@ -34,6 +33,7 @@ #include "content/public/browser/browser_thread.h" #include "content/public/browser/cors_origin_pattern_setter.h" #include "content/public/browser/host_zoom_map.h" +#include "content/public/browser/preconnect_manager.h" #include "content/public/browser/render_process_host.h" #include "content/public/browser/shared_cors_origin_access_list.h" #include "content/public/browser/storage_partition.h" @@ -558,11 +558,11 @@ std::string ElectronBrowserContext::GetUserAgent() const { return user_agent_.value_or(ElectronBrowserClient::Get()->GetUserAgent()); } -predictors::PreconnectManager* ElectronBrowserContext::GetPreconnectManager() { +content::PreconnectManager* ElectronBrowserContext::GetPreconnectManager() { if (!preconnect_manager_) { preconnect_manager_delegate_ = std::make_unique(); - preconnect_manager_ = predictors::PreconnectManager::Create( + preconnect_manager_ = content::PreconnectManager::Create( preconnect_manager_delegate_->GetWeakPtr(), this); } return preconnect_manager_.get(); diff --git a/shell/browser/electron_browser_context.h b/shell/browser/electron_browser_context.h index 3960a1b01382..17e5bb02dab8 100644 --- a/shell/browser/electron_browser_context.h +++ b/shell/browser/electron_browser_context.h @@ -22,6 +22,10 @@ class PrefService; class ValueMapPrefStore; +namespace content { +class PreconnectManager; +} // namespace content + namespace gin { class Arguments; } @@ -30,10 +34,6 @@ namespace network { class SharedURLLoaderFactory; } -namespace predictors { -class PreconnectManager; -} // namespace predictors - namespace storage { class SpecialStoragePolicy; } @@ -88,7 +88,7 @@ class ElectronBrowserContext : public content::BrowserContext { bool can_use_http_cache() const { return use_cache_; } int max_cache_size() const { return max_cache_size_; } ResolveProxyHelper* GetResolveProxyHelper(); - predictors::PreconnectManager* GetPreconnectManager(); + content::PreconnectManager* GetPreconnectManager(); scoped_refptr GetURLLoaderFactory(); std::string GetMediaDeviceIDSalt(); @@ -192,7 +192,7 @@ class ElectronBrowserContext : public content::BrowserContext { std::unique_ptr media_device_id_salt_; scoped_refptr resolve_proxy_helper_; scoped_refptr storage_policy_; - std::unique_ptr preconnect_manager_; + std::unique_ptr preconnect_manager_; std::unique_ptr preconnect_manager_delegate_; std::unique_ptr protocol_registry_; diff --git a/shell/browser/electron_preconnect_manager_delegate.h b/shell/browser/electron_preconnect_manager_delegate.h index 889ed77f391c..7ccf7859f288 100644 --- a/shell/browser/electron_preconnect_manager_delegate.h +++ b/shell/browser/electron_preconnect_manager_delegate.h @@ -8,14 +8,14 @@ #include #include "base/memory/weak_ptr.h" -#include "chrome/browser/predictors/preconnect_manager.h" +#include "content/public/browser/preconnect_manager.h" class GURL; namespace electron { class ElectronPreconnectManagerDelegate - : public predictors::PreconnectManager::Delegate { + : public content::PreconnectManager::Delegate { public: ElectronPreconnectManagerDelegate(); ~ElectronPreconnectManagerDelegate() override; @@ -26,11 +26,11 @@ class ElectronPreconnectManagerDelegate ElectronPreconnectManagerDelegate& operator=( const ElectronPreconnectManagerDelegate&) = delete; - // preconnect_manager::Delegate + // content::PreconnectManager::Delegate void PreconnectInitiated(const GURL& url, const GURL& preconnect_url) override {} void PreconnectFinished( - std::unique_ptr stats) override {} + std::unique_ptr stats) override {} bool IsPreconnectEnabled() override; base::WeakPtr GetWeakPtr() { diff --git a/shell/browser/electron_speech_recognition_manager_delegate.cc b/shell/browser/electron_speech_recognition_manager_delegate.cc index 3adc360eb237..f4d23c6f1cb8 100644 --- a/shell/browser/electron_speech_recognition_manager_delegate.cc +++ b/shell/browser/electron_speech_recognition_manager_delegate.cc @@ -28,6 +28,7 @@ ElectronSpeechRecognitionManagerDelegate::GetEventListener() { } void ElectronSpeechRecognitionManagerDelegate::BindSpeechRecognitionContext( - mojo::PendingReceiver receiver) {} + mojo::PendingReceiver receiver, + const std::string& language) {} } // namespace electron diff --git a/shell/browser/electron_speech_recognition_manager_delegate.h b/shell/browser/electron_speech_recognition_manager_delegate.h index f428521620ea..836adadc8f16 100644 --- a/shell/browser/electron_speech_recognition_manager_delegate.h +++ b/shell/browser/electron_speech_recognition_manager_delegate.h @@ -29,8 +29,8 @@ class ElectronSpeechRecognitionManagerDelegate override; content::SpeechRecognitionEventListener* GetEventListener() override; void BindSpeechRecognitionContext( - mojo::PendingReceiver receiver) - override; + mojo::PendingReceiver receiver, + const std::string& language) override; }; } // namespace electron diff --git a/shell/browser/osr/osr_render_widget_host_view.cc b/shell/browser/osr/osr_render_widget_host_view.cc index a277c6925d78..72f14b3da97b 100644 --- a/shell/browser/osr/osr_render_widget_host_view.cc +++ b/shell/browser/osr/osr_render_widget_host_view.cc @@ -835,7 +835,7 @@ void OffScreenRenderWidgetHostView::SendMouseWheelEvent( mouse_wheel_phase_handler_.SendWheelEndForTouchpadScrollingIfNeeded( should_route_event); mouse_wheel_phase_handler_.AddPhaseIfNeededAndScheduleEndEvent( - mouse_wheel_event, false); + mouse_wheel_event, false, true); if (!IsPopupWidget()) { if (popup_host_view_) { diff --git a/shell/common/extensions/api/tabs.json b/shell/common/extensions/api/tabs.json index 843e95cc2d7c..0891483bbf83 100644 --- a/shell/common/extensions/api/tabs.json +++ b/shell/common/extensions/api/tabs.json @@ -67,7 +67,7 @@ "optional": "true", "description": "The ID of the Split View that the tab belongs to.", // TODO(crbug.com/433273595): Enable documentation when ready for launch. - "nodoc": "true" + "nodoc": true }, "windowId": {"type": "integer", "minimum": 0, "description": "The ID of the window that contains the tab."}, "openerTabId": {"type": "integer", "minimum": 0, "optional": true, "description": "The ID of the tab that opened this tab, if any. This property is only present if the opener tab still exists."}, diff --git a/shell/common/gin_helper/wrappable.cc b/shell/common/gin_helper/wrappable.cc index 42667f946ffd..94dbe2ffbe21 100644 --- a/shell/common/gin_helper/wrappable.cc +++ b/shell/common/gin_helper/wrappable.cc @@ -211,3 +211,16 @@ void* FromV8Impl(v8::Isolate* isolate, } // namespace internal } // namespace gin_helper + +namespace gin { + +DeprecatedWrapperInfo* DeprecatedWrapperInfo::From( + v8::Local object) { + if (object->InternalFieldCount() != kNumberOfInternalFields) + return NULL; + DeprecatedWrapperInfo* info = static_cast( + object->GetAlignedPointerFromInternalField(kWrapperInfoIndex)); + return info->embedder == kEmbedderNativeGin ? info : NULL; +} + +} // namespace gin diff --git a/shell/renderer/electron_renderer_client.cc b/shell/renderer/electron_renderer_client.cc index d9cf97f6f85a..74706ce9f5d2 100644 --- a/shell/renderer/electron_renderer_client.cc +++ b/shell/renderer/electron_renderer_client.cc @@ -29,7 +29,7 @@ #if BUILDFLAG(IS_LINUX) && (defined(ARCH_CPU_X86_64) || defined(ARCH_CPU_ARM64)) #define ENABLE_WEB_ASSEMBLY_TRAP_HANDLER_LINUX -#include "components/crash/core/app/crashpad.h" +#include "components/crash/core/app/crashpad.h" // nogncheck #include "content/public/common/content_switches.h" #include "v8/include/v8-wasm-trap-handler-posix.h" #endif