diff --git a/DEPS b/DEPS index 8ec05f1261..834ebfb20e 100644 --- a/DEPS +++ b/DEPS @@ -2,7 +2,7 @@ gclient_gn_args_from = 'src' vars = { 'chromium_version': - '144.0.7547.0', + '144.0.7559.31', 'node_version': 'v24.11.1', 'nan_version': diff --git a/filenames.libcxx.gni b/filenames.libcxx.gni index 5e05ee7228..efccdde22c 100644 --- a/filenames.libcxx.gni +++ b/filenames.libcxx.gni @@ -195,6 +195,7 @@ libcxx_headers = [ "//third_party/libc++/src/include/__algorithm/simd_utils.h", "//third_party/libc++/src/include/__algorithm/sort.h", "//third_party/libc++/src/include/__algorithm/sort_heap.h", + "//third_party/libc++/src/include/__algorithm/specialized_algorithms.h", "//third_party/libc++/src/include/__algorithm/stable_partition.h", "//third_party/libc++/src/include/__algorithm/stable_sort.h", "//third_party/libc++/src/include/__algorithm/swap_ranges.h", @@ -1095,7 +1096,6 @@ libcxx_headers = [ "//third_party/libc++/src/include/__locale_dir/get_c_locale.h", "//third_party/libc++/src/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h", "//third_party/libc++/src/include/__locale_dir/locale_base_api/ibm.h", - "//third_party/libc++/src/include/__locale_dir/locale_base_api/musl.h", "//third_party/libc++/src/include/__locale_dir/locale_base_api/openbsd.h", "//third_party/libc++/src/include/__locale_dir/locale_base_api.h", "//third_party/libc++/src/include/__locale_dir/messages.h", @@ -1146,7 +1146,6 @@ libcxx_headers = [ "//third_party/libc++/src/include/__mdspan/mdspan.h", "//third_party/libc++/src/include/__memory/addressof.h", "//third_party/libc++/src/include/__memory/align.h", - "//third_party/libc++/src/include/__memory/aligned_alloc.h", "//third_party/libc++/src/include/__memory/allocate_at_least.h", "//third_party/libc++/src/include/__memory/allocation_guard.h", "//third_party/libc++/src/include/__memory/allocator.h", diff --git a/patches/chromium/add_didinstallconditionalfeatures.patch b/patches/chromium/add_didinstallconditionalfeatures.patch index 23e7a3df34..493a4855fd 100644 --- a/patches/chromium/add_didinstallconditionalfeatures.patch +++ b/patches/chromium/add_didinstallconditionalfeatures.patch @@ -67,10 +67,10 @@ index 2ed54a31be77700c2bed2bd28db1d6b70effc0aa..91e234e7fa29e50545fdaed64adcf684 virtual void WillReleaseScriptContext(v8::Local, int32_t world_id) {} diff --git a/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc b/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc -index 3ce1ef340780075951fb8c1b65f2ec90569f34ef..898d7caac98727210ac5780b576526a71ec5a5aa 100644 +index 851e792c6c6f26b6074ffe8b0ba39a5813fabacc..8bd06f4c155cc0ed8afaf89347f9fc9728bb1e41 100644 --- a/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc +++ b/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc -@@ -217,6 +217,7 @@ void LocalWindowProxy::Initialize() { +@@ -216,6 +216,7 @@ void LocalWindowProxy::Initialize() { } InstallConditionalFeatures(); 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 33cfb8ef81..4db3263030 100644 --- a/patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch +++ b/patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch @@ -116,10 +116,10 @@ index 932658273154ef2e022358e493a8e7c00c86e732..57bbfb5cde62c9496c351c861880a189 // 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 451d0a2808c530e9493a97cfcb64b2b8725404c8..58272b9f3709b7f1fdbf75df640c2fff19c18840 100644 +index d00a6ed9668b1454f7c4a659db1e799d84ad8a02..a450cc77ddf340e2b1813cf952ea4ab9c6c6602e 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -2505,6 +2505,10 @@ void WebViewImpl::SetPageLifecycleStateInternal( +@@ -2507,6 +2507,10 @@ void WebViewImpl::SetPageLifecycleStateInternal( TRACE_EVENT2("navigation", "WebViewImpl::SetPageLifecycleStateInternal", "old_state", old_state, "new_state", new_state); @@ -130,7 +130,7 @@ index 451d0a2808c530e9493a97cfcb64b2b8725404c8..58272b9f3709b7f1fdbf75df640c2fff 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 && -@@ -4018,10 +4022,23 @@ PageScheduler* WebViewImpl::Scheduler() const { +@@ -4020,10 +4024,23 @@ PageScheduler* WebViewImpl::Scheduler() const { return GetPage()->GetPageScheduler(); } diff --git a/patches/chromium/allow_in-process_windows_to_have_different_web_prefs.patch b/patches/chromium/allow_in-process_windows_to_have_different_web_prefs.patch index 14b42a58e7..eb03e0e749 100644 --- a/patches/chromium/allow_in-process_windows_to_have_different_web_prefs.patch +++ b/patches/chromium/allow_in-process_windows_to_have_different_web_prefs.patch @@ -8,10 +8,10 @@ WebPreferences of in-process child windows, rather than relying on process-level command line switches, as before. diff --git a/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc b/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc -index d59a69831528abdc837927a057497510bb3700d9..19fb9091c58c84872fc720c85611e2412517af65 100644 +index ebd35a078ad640f1102f270cead9c48ca7fc829c..7e5d2ca71b66a520099c26be2d4f4cee39876191 100644 --- a/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc +++ b/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc -@@ -150,6 +150,19 @@ bool StructTraitsv8_cache_options = data.v8_cache_options(); out->record_whole_document = data.record_whole_document(); out->stylus_handwriting_enabled = data.stylus_handwriting_enabled(); @@ -32,7 +32,7 @@ index d59a69831528abdc837927a057497510bb3700d9..19fb9091c58c84872fc720c85611e241 out->accelerated_video_decode_enabled = data.accelerated_video_decode_enabled(); diff --git a/third_party/blink/public/common/web_preferences/web_preferences.h b/third_party/blink/public/common/web_preferences/web_preferences.h -index 964a614320de5800fc2f2ce60be0e9d9f43ac6bf..f26dc4a5cc092869f6dd249b928daeeafc7bd974 100644 +index 9cff5c9f6bd7d24eb7b2884b3d4fd3224a48de7b..10a01ec3da9ba8c88db51e4e6a2c904fe3f7e839 100644 --- a/third_party/blink/public/common/web_preferences/web_preferences.h +++ b/third_party/blink/public/common/web_preferences/web_preferences.h @@ -9,6 +9,7 @@ @@ -43,7 +43,7 @@ index 964a614320de5800fc2f2ce60be0e9d9f43ac6bf..f26dc4a5cc092869f6dd249b928daeea #include "build/build_config.h" #include "net/nqe/effective_connection_type.h" #include "third_party/blink/public/common/common_export.h" -@@ -463,6 +464,19 @@ struct BLINK_COMMON_EXPORT WebPreferences { +@@ -464,6 +465,19 @@ struct BLINK_COMMON_EXPORT WebPreferences { bool should_screenshot_on_mainframe_same_doc_navigation = true; #endif // BUILDFLAG(IS_ANDROID) @@ -64,7 +64,7 @@ index 964a614320de5800fc2f2ce60be0e9d9f43ac6bf..f26dc4a5cc092869f6dd249b928daeea // chrome, except for the cases where it would require lots of extra work for // the embedder to use the same default value. diff --git a/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h b/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h -index e0637487142ad9b45aced9d2aa60cee6c5464041..5171daa551f90adc42a968b8e2567db6b8d9c950 100644 +index d900db0706d383ec8f2069243e7d1c5c361e4088..3d035dbe5bdab7d02c7514c7d9cafa25d11eae38 100644 --- a/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h +++ b/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h @@ -8,6 +8,7 @@ @@ -75,7 +75,7 @@ index e0637487142ad9b45aced9d2aa60cee6c5464041..5171daa551f90adc42a968b8e2567db6 #include "mojo/public/cpp/bindings/struct_traits.h" #include "net/nqe/effective_connection_type.h" #include "third_party/blink/public/common/common_export.h" -@@ -439,6 +440,52 @@ struct BLINK_COMMON_EXPORT StructTraitsDetached(type); diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc -index 5ecfabc35eea65e17bcb13509186ac5d1db61021..cc1bccf5d168760532cc962ab7f7775e91255108 100644 +index 06c9674d90964e00b291f6f88210f885c28018c2..808943d761385ec225ba7f99f35090705b529289 100644 --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc @@ -753,10 +753,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) { diff --git a/patches/chromium/build_disable_thin_lto_mac.patch b/patches/chromium/build_disable_thin_lto_mac.patch index e99f2ca334..8772c03e2e 100644 --- a/patches/chromium/build_disable_thin_lto_mac.patch +++ b/patches/chromium/build_disable_thin_lto_mac.patch @@ -11,7 +11,7 @@ This patch can (and should) be removed when we can prevent those symbols from being stripped in the release build. diff --git a/build/config/compiler/compiler.gni b/build/config/compiler/compiler.gni -index 5cc0220f020b2f983767475e66df4d6b8955359e..ef11f4c402e385cf608d49e95e7fc76dd3773d32 100644 +index b70dadec11c97f8d2b93260777be5aefbf6c7bea..054e53d0e52420494d887670510616ad51116421 100644 --- a/build/config/compiler/compiler.gni +++ b/build/config/compiler/compiler.gni @@ -93,7 +93,7 @@ declare_args() { 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 90bfc990a2..6ce11ea27a 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 @@ -33,10 +33,10 @@ index 606b3bd43179a5b4179a6ec9f58e531d55c1acb5..4d503a53290b4deaea016bb6867f3c07 "//base", "//build:branding_buildflags", diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn -index 2bf004bac4244adbfcb42bb0c1ca86cced2156da..74a21c65bf6d3c4412bcc1bdfa9f37623abda064 100644 +index f3ca4ae1f2318b9196fb8ad473dd180d05635a90..ca45a7b0597a9642fbda53af27177222c6f35058 100644 --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -4839,7 +4839,7 @@ static_library("browser") { +@@ -4844,7 +4844,7 @@ static_library("browser") { ] } @@ -46,10 +46,10 @@ index 2bf004bac4244adbfcb42bb0c1ca86cced2156da..74a21c65bf6d3c4412bcc1bdfa9f3762 # than here in :chrome_dll. deps += [ "//chrome:packed_resources_integrity_header" ] diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn -index c47a92f797228e75de69810c21ee8d87b06a82e4..972d9c6f988c340fd704bca5cd1abe528a95159a 100644 +index 8546d307ab57a9b999443761ce16cbdd41606bb7..950b6112e0c364a4cce322e6df7232c72a1056b7 100644 --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn -@@ -7588,9 +7588,12 @@ test("unit_tests") { +@@ -7599,9 +7599,12 @@ test("unit_tests") { "//chrome/notification_helper", ] @@ -63,7 +63,7 @@ index c47a92f797228e75de69810c21ee8d87b06a82e4..972d9c6f988c340fd704bca5cd1abe52 "//chrome//services/util_win:unit_tests", "//chrome/app:chrome_dll_resources", "//chrome/app:win_unit_tests", -@@ -8541,6 +8544,10 @@ test("unit_tests") { +@@ -8558,6 +8561,10 @@ test("unit_tests") { "../browser/performance_manager/policies/background_tab_loading_policy_unittest.cc", ] @@ -74,7 +74,7 @@ index c47a92f797228e75de69810c21ee8d87b06a82e4..972d9c6f988c340fd704bca5cd1abe52 sources += [ # The importer code is not used on Android. "../common/importer/firefox_importer_utils_unittest.cc", -@@ -8597,7 +8604,6 @@ test("unit_tests") { +@@ -8614,7 +8621,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_make_libcxx_abi_unstable_false_for_electron.patch b/patches/chromium/build_make_libcxx_abi_unstable_false_for_electron.patch index f4497a62bc..038970d913 100644 --- a/patches/chromium/build_make_libcxx_abi_unstable_false_for_electron.patch +++ b/patches/chromium/build_make_libcxx_abi_unstable_false_for_electron.patch @@ -8,7 +8,7 @@ https://nornagon.medium.com/a-libc-odyssey-973e51649063 See also https://github.com/electron/electron/issues/45810#issuecomment-2691417213. diff --git a/buildtools/third_party/libc++/__config_site b/buildtools/third_party/libc++/__config_site -index 4645265e462428d0f92d2aa7b1a4eae575c53699..cee3ebd4c7523141cb2c0fc6a77624c6541465fb 100644 +index 3cd0af88fd13613216464d31d04e26dbb8f61343..6335536338e1eba8b56055eee31910ecba6a65c4 100644 --- a/buildtools/third_party/libc++/__config_site +++ b/buildtools/third_party/libc++/__config_site @@ -18,7 +18,9 @@ diff --git a/patches/chromium/can_create_window.patch b/patches/chromium/can_create_window.patch index b796ee5ce1..fb892c65f7 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 558ddaf4a329058c229b0ba23f6a84b3a7262d26..b97560e77c6066ad93dc9865a131a0823c5017e2 100644 +index a2f54729cbfb4b11b960ea470ed9b9a774a4a75e..6f9982bc93444f1d417be59ab85eb48db54a19ab 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -9865,6 +9865,7 @@ void RenderFrameHostImpl::CreateNewWindow( +@@ -9863,6 +9863,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,7 +21,7 @@ index 558ddaf4a329058c229b0ba23f6a84b3a7262d26..b97560e77c6066ad93dc9865a131a082 &no_javascript_access); diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 6487679d008db662772d4a1c21a9afb2857b775b..87144696ec3a7684bf532ca1946ab8a9bcd20cc9 100644 +index dc9e636c1a64efc1fbcea34caf793f649e0c0182..ec8c9c382d1689d8ac698482df4909cb03cde6c2 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc @@ -5326,6 +5326,10 @@ FrameTree* WebContentsImpl::CreateNewWindow( @@ -77,7 +77,7 @@ index 4c55f0abf8df5a3408f3f90d444ceff3c23ee1bc..72bdb5b5a4c2c21a7192b34bb293bd23 // Operation result when the renderer asks the browser to create a new window. diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc -index a0ccc5352495e75e1603fd3f90825eba85276a6a..3cf480086d77bddb3328aa02137e7bb66c2eb511 100644 +index a8ea6bddeba52ae56e988123479f641371e43267..70d457e79bd07d691e4a827f333120737de76f14 100644 --- a/content/public/browser/content_browser_client.cc +++ b/content/public/browser/content_browser_client.cc @@ -885,6 +885,8 @@ bool ContentBrowserClient::CanCreateWindow( @@ -90,7 +90,7 @@ index a0ccc5352495e75e1603fd3f90825eba85276a6a..3cf480086d77bddb3328aa02137e7bb6 bool opener_suppressed, bool* no_javascript_access) { diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h -index 3ca58d5630486cd378f3109b1ca59a4563608187..9f8fe55d6c360e3a709f2e5f05baf02c9ca29101 100644 +index 298cf367684135e2a86c3fc1fe580f009905ccfe..30ffe14569312d0a0ae570a444724db7a7805103 100644 --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h @@ -203,6 +203,7 @@ class NetworkService; diff --git a/patches/chromium/chore_add_electron_deps_to_gitignores.patch b/patches/chromium/chore_add_electron_deps_to_gitignores.patch index f0e9f46157..3541b61870 100644 --- a/patches/chromium/chore_add_electron_deps_to_gitignores.patch +++ b/patches/chromium/chore_add_electron_deps_to_gitignores.patch @@ -18,7 +18,7 @@ index e3b01b0a2b878681a861f76cb10f5b40bbc29a3d..277b05e37dadfd32fbcbbe1e596508aa /google_apis/gcm/gcm.xml /googleurl diff --git a/third_party/.gitignore b/third_party/.gitignore -index 6be9e9e6feeedd0d1f566758e8da75870bc1d9c7..a0bacf9e5c4809d76093c449065d7f4f5bb47b02 100644 +index b5761637e4b91efb38b5c1d4be9f59b271d4f0db..010c4f7bfe4ea8c82eff4924c83668c271b834fd 100644 --- a/third_party/.gitignore +++ b/third_party/.gitignore @@ -45,7 +45,9 @@ diff --git a/patches/chromium/chore_expose_isolate_parameter_in_script_lifecycle_observers.patch b/patches/chromium/chore_expose_isolate_parameter_in_script_lifecycle_observers.patch index ae6018f608..ffe567d8a6 100644 --- a/patches/chromium/chore_expose_isolate_parameter_in_script_lifecycle_observers.patch +++ b/patches/chromium/chore_expose_isolate_parameter_in_script_lifecycle_observers.patch @@ -181,10 +181,10 @@ index 91e234e7fa29e50545fdaed64adcf68498f14c2d..15d5685d726d0ddb9ac964475b899714 // Geometry notifications ---------------------------------------------- diff --git a/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc b/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc -index 898d7caac98727210ac5780b576526a71ec5a5aa..3fdd5b3c41fd8d5dc920bed710dc10741e7e7423 100644 +index 8bd06f4c155cc0ed8afaf89347f9fc9728bb1e41..85ae42670cc038e18e4a0ea05e3de25c116b7a79 100644 --- a/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc +++ b/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc -@@ -109,11 +109,12 @@ void LocalWindowProxy::DisposeContext(Lifecycle next_status, +@@ -108,11 +108,12 @@ void LocalWindowProxy::DisposeContext(Lifecycle next_status, ScriptState::Scope scope(script_state_); v8::Local context = script_state_->GetContext(); diff --git a/patches/chromium/chore_grandfather_in_electron_views_and_delegates.patch b/patches/chromium/chore_grandfather_in_electron_views_and_delegates.patch index 0aea1e8086..47f148c38c 100644 --- a/patches/chromium/chore_grandfather_in_electron_views_and_delegates.patch +++ b/patches/chromium/chore_grandfather_in_electron_views_and_delegates.patch @@ -10,7 +10,7 @@ Subject: chore: "grandfather in" Electron Views and Delegates 6448510: Lock further access to View::set_owned_by_client(). | https://chromium-review.googlesource.com/c/chromium/src/+/6448510 diff --git a/ui/views/view.h b/ui/views/view.h -index 3cea3bf1b9b68713a8f84ccf555756ff1c6741aa..3d48c2e8145a3fe4d89472fc8121c2e73993b6f2 100644 +index 6d444564b68bc489e63308d852e1d878559797af..dd60815a9b4cdabe5eb7b0a1e14c7f05398c2a3d 100644 --- a/ui/views/view.h +++ b/ui/views/view.h @@ -78,6 +78,19 @@ class ArcNotificationContentView; @@ -33,7 +33,7 @@ index 3cea3bf1b9b68713a8f84ccf555756ff1c6741aa..3d48c2e8145a3fe4d89472fc8121c2e7 namespace exo { class ShellSurfaceBase; } -@@ -325,6 +338,14 @@ class VIEWS_EXPORT View : public ui::LayerDelegate, +@@ -323,6 +336,14 @@ class VIEWS_EXPORT View : public ui::LayerDelegate, public: class OwnedByClientPassKey { private: @@ -49,7 +49,7 @@ index 3cea3bf1b9b68713a8f84ccf555756ff1c6741aa..3d48c2e8145a3fe4d89472fc8121c2e7 // These existing cases are "grandfathered in", but there shouldn't be more. // See comments atop class. diff --git a/ui/views/widget/widget_delegate.h b/ui/views/widget/widget_delegate.h -index 7695f926b19cc81dfce9995a4ebac9dd50782ec0..c73616912049615c269be47ef733a6b15546c8c6 100644 +index 0315a1fac360ecea54cf8c5c065e777508193169..49df61c710fad846a29f074a91ceba2d8d239d5a 100644 --- a/ui/views/widget/widget_delegate.h +++ b/ui/views/widget/widget_delegate.h @@ -168,6 +168,12 @@ namespace crostini { @@ -65,7 +65,7 @@ index 7695f926b19cc81dfce9995a4ebac9dd50782ec0..c73616912049615c269be47ef733a6b1 namespace exo { class ShellSurfaceBase; } -@@ -372,6 +378,7 @@ class VIEWS_EXPORT WidgetDelegate { +@@ -368,6 +374,7 @@ class VIEWS_EXPORT WidgetDelegate { class OwnedByWidgetPassKey { private: @@ -73,7 +73,7 @@ index 7695f926b19cc81dfce9995a4ebac9dd50782ec0..c73616912049615c269be47ef733a6b1 // DO NOT ADD TO THIS LIST! // These existing cases are "grandfathered in", but there shouldn't be more. // See comments atop `SetOwnedByWidget()`. -@@ -465,6 +472,7 @@ class VIEWS_EXPORT WidgetDelegate { +@@ -461,6 +468,7 @@ class VIEWS_EXPORT WidgetDelegate { }; class RegisterDeleteCallbackPassKey { private: @@ -81,7 +81,7 @@ index 7695f926b19cc81dfce9995a4ebac9dd50782ec0..c73616912049615c269be47ef733a6b1 // DO NOT ADD TO THIS LIST! // These existing cases are "grandfathered in", but there shouldn't be more. // See comments atop `RegisterDeleteDelegateCallback()`. -@@ -921,6 +929,7 @@ class VIEWS_EXPORT WidgetDelegateView : public WidgetDelegate, public View { +@@ -916,6 +924,7 @@ class VIEWS_EXPORT WidgetDelegateView : public WidgetDelegate, public View { View* GetContentsView() override; private: diff --git a/patches/chromium/chore_introduce_blocking_api_for_electron.patch b/patches/chromium/chore_introduce_blocking_api_for_electron.patch index 7ad9211472..374eba8804 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 32b7e2e678a898e315ce6ca7a46d56bfe6d73483..80407069a5a2707f91284a24f708c377d1db0d44 100644 +index 089384b9f83b648792aaa49e0c19bfe2e84f5817..4e2193337290d794464c49585b085edb4785093f 100644 --- a/base/threading/thread_restrictions.h +++ b/base/threading/thread_restrictions.h @@ -133,6 +133,7 @@ class KeyStorageLinux; @@ -18,7 +18,7 @@ index 32b7e2e678a898e315ce6ca7a46d56bfe6d73483..80407069a5a2707f91284a24f708c377 class Profile; class ProfileImpl; class ScopedAllowBlockingForProfile; -@@ -280,6 +281,9 @@ class BackendImpl; +@@ -279,6 +280,9 @@ class BackendImpl; class InFlightIO; bool CleanupDirectorySync(const base::FilePath&); } // namespace disk_cache @@ -28,7 +28,7 @@ index 32b7e2e678a898e315ce6ca7a46d56bfe6d73483..80407069a5a2707f91284a24f708c377 namespace enterprise_connectors { class LinuxKeyRotationCommand; } // namespace enterprise_connectors -@@ -577,6 +581,7 @@ class BASE_EXPORT ScopedAllowBlocking { +@@ -576,6 +580,7 @@ class BASE_EXPORT ScopedAllowBlocking { friend class ::DesktopNotificationBalloon; friend class ::FirefoxProfileLock; friend class ::GaiaConfig; @@ -36,7 +36,7 @@ index 32b7e2e678a898e315ce6ca7a46d56bfe6d73483..80407069a5a2707f91284a24f708c377 friend class ::ProfileImpl; friend class ::ScopedAllowBlockingForProfile; friend class ::StartupTabProviderImpl; -@@ -619,6 +624,7 @@ class BASE_EXPORT ScopedAllowBlocking { +@@ -618,6 +623,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 687c6cea99..aea501fba6 100644 --- a/patches/chromium/chore_partial_revert_of.patch +++ b/patches/chromium/chore_partial_revert_of.patch @@ -14,7 +14,7 @@ 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 e8896a9872a341d7ca674c1d88fb0d3a081e6a46..8111652440ae0ed36dd60901326ff67d76eb7ec7 100644 +index 6c83415f1022ec0b14bdabfbff9614ca620d5d4f..442df34ab1f8f80afafbe249bc0359162b90e124 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc @@ -5297,7 +5297,7 @@ FrameTree* WebContentsImpl::CreateNewWindow( diff --git a/patches/chromium/chore_patch_out_profile_methods.patch b/patches/chromium/chore_patch_out_profile_methods.patch index 0a82bfacaf..c4f5b36bf1 100644 --- a/patches/chromium/chore_patch_out_profile_methods.patch +++ b/patches/chromium/chore_patch_out_profile_methods.patch @@ -7,7 +7,7 @@ Electron does not support Profiles, so we need to patch it out of any code that we use. diff --git a/chrome/browser/pdf/chrome_pdf_stream_delegate.cc b/chrome/browser/pdf/chrome_pdf_stream_delegate.cc -index dee03f1b42e04cf3081aa58b858251ec38833efe..256b0559d0424682f25ed2653f67ada2679f0d25 100644 +index 21d5ab99800c0830cc31ec4ebb24e3f05cd904d8..3f8f514519d6e4a0abe3690f5df35de8ffae6fd4 100644 --- a/chrome/browser/pdf/chrome_pdf_stream_delegate.cc +++ b/chrome/browser/pdf/chrome_pdf_stream_delegate.cc @@ -45,6 +45,7 @@ namespace { @@ -26,6 +26,22 @@ index dee03f1b42e04cf3081aa58b858251ec38833efe..256b0559d0424682f25ed2653f67ada2 // When the enterprise policy is not set, use finch/feature flag choice. return base::FeatureList::IsEnabled( +@@ -63,6 +65,7 @@ bool ShouldEnableSkiaRenderer(content::WebContents* contents) { + // priority hierarchy is: enterprise policy > user choice > finch experiment. + bool ShouldEnableXfaForms(content::WebContents* contents) { + CHECK(contents); ++#if 0 + const PrefService* prefs = + Profile::FromBrowserContext(contents->GetBrowserContext())->GetPrefs(); + +@@ -70,6 +73,7 @@ bool ShouldEnableXfaForms(content::WebContents* contents) { + if (prefs->IsManagedPreference(prefs::kPdfXfaFormsEnabled)) { + return prefs->GetBoolean(prefs::kPdfXfaFormsEnabled); + } ++#endif + + // When the enterprise policy is not set, use finch/feature flag choice. + return base::FeatureList::IsEnabled(chrome_pdf::features::kPdfXfaSupport); diff --git a/chrome/browser/pdf/pdf_extension_util.cc b/chrome/browser/pdf/pdf_extension_util.cc index 328abdd79d287225d0e6ec6becc455e169d6e5d0..10e5e702a43dbb70e13d00b48000e0b4cc974e7a 100644 --- a/chrome/browser/pdf/pdf_extension_util.cc diff --git a/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch b/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch index c172885107..f8795d9738 100644 --- a/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch +++ b/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch @@ -80,7 +80,7 @@ index 39fa45f0a0f9076bd7ac0be6f455dd540a276512..3d0381d463eed73470b28085830f2a23 content::WebContents* source, const content::OpenURLParams& params, diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc -index 6608fbd987e33b3ee3a6ceb584365b75b1449f40..ec82e1e18bcf441cbe26a8289b6ded0be2c57579 100644 +index c833a1971fcfea8151d411e62a2f1c04dc145a5a..059c0d7315a07a6db30089bbb183427a6abeaa8e 100644 --- a/chrome/browser/ui/browser.cc +++ b/chrome/browser/ui/browser.cc @@ -2374,7 +2374,8 @@ bool Browser::IsWebContentsCreationOverridden( @@ -159,10 +159,10 @@ index 3bbd4e568ba99245622a96f0801d2b6cd203025f..1e0b7d16b33daed980961dd49c667a3b } 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 36baad877619ad506e07ff385a250c60e9c3f94a..6b5f5352be13e583f996cc131fbdd36f57f96041 100644 +index f8080c0e31ebc76b26a2bfbe33a2c62123a47130..acc4dab054b4caa102ca221230e0774734d87d14 100644 --- a/components/embedder_support/android/delegate/web_contents_delegate_android.cc +++ b/components/embedder_support/android/delegate/web_contents_delegate_android.cc -@@ -216,15 +216,14 @@ bool WebContentsDelegateAndroid::IsWebContentsCreationOverridden( +@@ -207,15 +207,14 @@ bool WebContentsDelegateAndroid::IsWebContentsCreationOverridden( content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -181,7 +181,7 @@ index 36baad877619ad506e07ff385a250c60e9c3f94a..6b5f5352be13e583f996cc131fbdd36f 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 1676a7d1e1734d196aeb3d2e27997de1743f034c..9be7c579c08af7b9b0de947a9d9af39b4d510b3c 100644 +index f295c9799ae48cb75c8651cede7f5faa855734c8..f550d3fa43a4d31aaed9595fd8429736f90ee8c6 100644 --- a/components/embedder_support/android/delegate/web_contents_delegate_android.h +++ b/components/embedder_support/android/delegate/web_contents_delegate_android.h @@ -78,8 +78,7 @@ class WebContentsDelegateAndroid : public content::WebContentsDelegate { @@ -223,7 +223,7 @@ 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 000301b133995e87eefddebb83cda6c3beac5a62..4bfee95e569095e9fca5987765a2be4d85a59265 100644 +index f791952d5c33ba617d93600b84a42e2b6dc2b7c5..ec2814dc6d2e86d1508d3bd9889491c362c2130b 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc @@ -5262,8 +5262,7 @@ FrameTree* WebContentsImpl::CreateNewWindow( 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 d8cf7aae12..0a1ce0e05d 100644 --- a/patches/chromium/create_browser_v8_snapshot_file_name_fuse.patch +++ b/patches/chromium/create_browser_v8_snapshot_file_name_fuse.patch @@ -7,10 +7,10 @@ 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 2cce4a071379f2988c7abe55eb5b801de0cb4f2f..b4e97e8b86e5054cffc8337abd9112a61b2674a4 100644 +index 1849a450829913c1b0c53330c1a9df517b6c8fd0..d43ecf15fbfc37ff4237cfc49d04e7a48d89c93a 100644 --- a/content/app/content_main_runner_impl.cc +++ b/content/app/content_main_runner_impl.cc -@@ -273,8 +273,13 @@ void AsanProcessInfoCB(const char*, bool*) { +@@ -274,8 +274,13 @@ void AsanProcessInfoCB(const char*, bool*) { } #endif // defined(ADDRESS_SANITIZER) @@ -25,7 +25,7 @@ index 2cce4a071379f2988c7abe55eb5b801de0cb4f2f..b4e97e8b86e5054cffc8337abd9112a6 #if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) base::FileDescriptorStore& file_descriptor_store = base::FileDescriptorStore::GetInstance(); -@@ -303,11 +308,12 @@ bool ShouldLoadV8Snapshot(const base::CommandLine& command_line, +@@ -304,11 +309,12 @@ bool ShouldLoadV8Snapshot(const base::CommandLine& command_line, #endif // V8_USE_EXTERNAL_STARTUP_DATA @@ -40,7 +40,7 @@ index 2cce4a071379f2988c7abe55eb5b801de0cb4f2f..b4e97e8b86e5054cffc8337abd9112a6 #endif // V8_USE_EXTERNAL_STARTUP_DATA } -@@ -951,7 +957,7 @@ int ContentMainRunnerImpl::Initialize(ContentMainParams params) { +@@ -952,7 +958,7 @@ int ContentMainRunnerImpl::Initialize(ContentMainParams params) { return TerminateForFatalInitializationError(); #endif // BUILDFLAG(IS_ANDROID) && (ICU_UTIL_DATA_IMPL == ICU_UTIL_DATA_FILE) diff --git a/patches/chromium/custom_protocols_plzserviceworker.patch b/patches/chromium/custom_protocols_plzserviceworker.patch index 101fb8fd01..8c7ca5237b 100644 --- a/patches/chromium/custom_protocols_plzserviceworker.patch +++ b/patches/chromium/custom_protocols_plzserviceworker.patch @@ -8,10 +8,10 @@ Allow registering custom protocols to handle service worker main script fetching Refs https://bugs.chromium.org/p/chromium/issues/detail?id=996511 diff --git a/content/browser/service_worker/service_worker_context_wrapper.cc b/content/browser/service_worker/service_worker_context_wrapper.cc -index 2a121e1328c8720e8309a69450d3beafa341826a..4b486e45dbeee63fb16eb20e01df42dfbb4e20f2 100644 +index 7f7bc89b26b78bd80dada4521b1558b77b42c133..1117ef3b09d28ac27ea408c90bcc9ca6ef443421 100644 --- a/content/browser/service_worker/service_worker_context_wrapper.cc +++ b/content/browser/service_worker/service_worker_context_wrapper.cc -@@ -1931,6 +1931,26 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest( +@@ -1930,6 +1930,26 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest( loader_factory_bundle_info = context()->loader_factory_bundle_for_update_check()->Clone(); @@ -38,7 +38,7 @@ index 2a121e1328c8720e8309a69450d3beafa341826a..4b486e45dbeee63fb16eb20e01df42df if (auto* config = content::WebUIConfigMap::GetInstance().GetConfig( browser_context(), scope)) { // If this is a Service Worker for a WebUI, the WebUI's URLDataSource -@@ -1950,9 +1970,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest( +@@ -1949,9 +1969,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest( features::kEnableServiceWorkersForChromeScheme) && scope.scheme() == kChromeUIScheme) { config->RegisterURLDataSource(browser_context()); @@ -49,7 +49,7 @@ index 2a121e1328c8720e8309a69450d3beafa341826a..4b486e45dbeee63fb16eb20e01df42df .emplace(kChromeUIScheme, CreateWebUIServiceWorkerLoaderFactory( browser_context(), kChromeUIScheme, base::flat_set())); -@@ -1960,9 +1978,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest( +@@ -1959,9 +1977,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest( features::kEnableServiceWorkersForChromeUntrusted) && scope.scheme() == kChromeUIUntrustedScheme) { config->RegisterURLDataSource(browser_context()); diff --git a/patches/chromium/export_gin_v8platform_pageallocator_for_usage_outside_of_the_gin.patch b/patches/chromium/export_gin_v8platform_pageallocator_for_usage_outside_of_the_gin.patch index dec2581a04..bd83ed83a3 100644 --- a/patches/chromium/export_gin_v8platform_pageallocator_for_usage_outside_of_the_gin.patch +++ b/patches/chromium/export_gin_v8platform_pageallocator_for_usage_outside_of_the_gin.patch @@ -21,10 +21,10 @@ index 9dac402705385087ced2df2db757a07246984a94..cb49b4f085026658e920699ed285d524 ThreadIsolatedAllocator* GetThreadIsolatedAllocator() override; #endif diff --git a/gin/v8_platform.cc b/gin/v8_platform.cc -index 43a2543499c1f21eb8d1e9a559466edbe15af9f5..dd4399819ef62187e038af40caff3e8018cba8dd 100644 +index 6ae7a3a0da35221cd00e02255cd63db8f7961d07..43c3ca4f367e0e63e24a37372f83f780e180667d 100644 --- a/gin/v8_platform.cc +++ b/gin/v8_platform.cc -@@ -205,6 +205,10 @@ ThreadIsolatedAllocator* V8Platform::GetThreadIsolatedAllocator() { +@@ -204,6 +204,10 @@ ThreadIsolatedAllocator* V8Platform::GetThreadIsolatedAllocator() { } #endif // PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) diff --git a/patches/chromium/expose_setuseragent_on_networkcontext.patch b/patches/chromium/expose_setuseragent_on_networkcontext.patch index 5394d18a93..9a0b1738b5 100644 --- a/patches/chromium/expose_setuseragent_on_networkcontext.patch +++ b/patches/chromium/expose_setuseragent_on_networkcontext.patch @@ -33,10 +33,10 @@ index 0ab8187b0db8ae6db46d81738f653a2bc4c566f6..de3d55e85c22317f7f9375eb94d0d5d4 } // namespace net diff --git a/services/network/network_context.cc b/services/network/network_context.cc -index 0049fcad1976bb60b878941d7d746918ef703381..607cbc81480e87fae508f3058345d948dc07772a 100644 +index 5193a50914f493c2e60787914ee064ddff81c930..0ea9555487f6e63de95053a6e1124369770a5d09 100644 --- a/services/network/network_context.cc +++ b/services/network/network_context.cc -@@ -1916,6 +1916,13 @@ void NetworkContext::EnableDurableMessageCollector( +@@ -1906,6 +1906,13 @@ void NetworkContext::EnableDurableMessageCollector( it->second->AddReceiver(std::move(receiver)); } @@ -51,10 +51,10 @@ index 0049fcad1976bb60b878941d7d746918ef703381..607cbc81480e87fae508f3058345d948 // This may only be called on NetworkContexts created with the constructor // that calls MakeURLRequestContext(). diff --git a/services/network/network_context.h b/services/network/network_context.h -index 304ff4e077ccbe04b7412c45301a17e2bcb4fbd5..89dfb6923c6244e47e65c18dbb28471aee11c6f1 100644 +index 8b219bd72cef016eae66106bfe39024c42438a2e..2625489c2c06da5e6068450fffd38ef5951cd005 100644 --- a/services/network/network_context.h +++ b/services/network/network_context.h -@@ -334,6 +334,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -327,6 +327,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext const base::UnguessableToken& throttling_profile_id, mojo::PendingReceiver receiver) override; @@ -63,10 +63,10 @@ index 304ff4e077ccbe04b7412c45301a17e2bcb4fbd5..89dfb6923c6244e47e65c18dbb28471a 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 2186263653906f0136fe0c6d124f48b533475b98..fbbfd5e48d63934aa1ee05c1dcf847f1ad6a00cb 100644 +index 8a94d2a4069baf617c9d1d9d6a36114694f2fc9d..fcb6654e449a5ba5bd083be4c912f4a496184dd4 100644 --- a/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom -@@ -1336,6 +1336,9 @@ interface NetworkContext { +@@ -1297,6 +1297,9 @@ interface NetworkContext { mojo_base.mojom.UnguessableToken throttling_profile_id, pending_receiver receiver); @@ -77,10 +77,10 @@ index 2186263653906f0136fe0c6d124f48b533475b98..fbbfd5e48d63934aa1ee05c1dcf847f1 SetAcceptLanguage(string new_accept_language); diff --git a/services/network/test/test_network_context.h b/services/network/test/test_network_context.h -index f7c2ad6a34a9d6d6fbf8d278429b701436edf633..40988a50d427cc6585763bf86b057e9efa91f81f 100644 +index d451ca923203e514743510ea9a696d54ebb1ea16..85b9465725fdc4a87610757bfa0b947c4b60218c 100644 --- a/services/network/test/test_network_context.h +++ b/services/network/test/test_network_context.h -@@ -160,6 +160,7 @@ class TestNetworkContext : public mojom::NetworkContext { +@@ -158,6 +158,7 @@ class TestNetworkContext : public mojom::NetworkContext { void SetNetworkConditions( const base::UnguessableToken& throttling_profile_id, std::vector) override {} diff --git a/patches/chromium/extend_apply_webpreferences.patch b/patches/chromium/extend_apply_webpreferences.patch index 4066ec40e9..f19b239c69 100644 --- a/patches/chromium/extend_apply_webpreferences.patch +++ b/patches/chromium/extend_apply_webpreferences.patch @@ -15,10 +15,10 @@ 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 58272b9f3709b7f1fdbf75df640c2fff19c18840..a66094daba15ed5379d1c460a7b7f68ac4d1133a 100644 +index a450cc77ddf340e2b1813cf952ea4ab9c6c6602e..3d6667676e2ca130b226a46ac6df501b96712013 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -1893,6 +1893,8 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs, +@@ -1895,6 +1895,8 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs, #if BUILDFLAG(IS_MAC) web_view_impl->SetMaximumLegibleScale( prefs.default_maximum_page_scale_factor); diff --git a/patches/chromium/feat_add_data_parameter_to_processsingleton.patch b/patches/chromium/feat_add_data_parameter_to_processsingleton.patch index 598e1900df..b4345cc593 100644 --- a/patches/chromium/feat_add_data_parameter_to_processsingleton.patch +++ b/patches/chromium/feat_add_data_parameter_to_processsingleton.patch @@ -65,7 +65,7 @@ index 2748dd196fe1f56357348a204e24f0b8a28b97dd..5800dd00b47c657d9e6766f3fc5a3065 #if BUILDFLAG(IS_WIN) bool EscapeVirtualization(const base::FilePath& user_data_dir); diff --git a/chrome/browser/process_singleton_posix.cc b/chrome/browser/process_singleton_posix.cc -index 12d50032ed589c861f73fa395156e4a6583f852d..94b4921e01281c8f0bcba8181a37797be2a0d271 100644 +index 73aa4cb9652870b0bff4684d7c72ae7dbd852db8..b55c942a8ccb326e4898172a7b4f6c0aa3183a0b 100644 --- a/chrome/browser/process_singleton_posix.cc +++ b/chrome/browser/process_singleton_posix.cc @@ -619,6 +619,7 @@ class ProcessSingleton::LinuxWatcher diff --git a/patches/chromium/feat_add_support_for_missing_dialog_features_to_shell_dialogs.patch b/patches/chromium/feat_add_support_for_missing_dialog_features_to_shell_dialogs.patch index 309c5f823a..9458d84227 100644 --- a/patches/chromium/feat_add_support_for_missing_dialog_features_to_shell_dialogs.patch +++ b/patches/chromium/feat_add_support_for_missing_dialog_features_to_shell_dialogs.patch @@ -262,10 +262,14 @@ index 61683d0eddb04c494ca5e650e7d556b44968ec49..5492456a9138b250e97a5479838bb443 } // namespace ui diff --git a/ui/shell_dialogs/select_file_dialog_linux_portal.cc b/ui/shell_dialogs/select_file_dialog_linux_portal.cc -index af5f9cdb01d18abf00bb5b20e5f2ab5e4ce24dc6..378939d2d2b48f1f591523db431005d038e2a88b 100644 +index 6430ef980736b18133a0a7834c2cbe431a41fd12..f866fb717e6770c4eb6139fea835accdf571d551 100644 --- a/ui/shell_dialogs/select_file_dialog_linux_portal.cc +++ b/ui/shell_dialogs/select_file_dialog_linux_portal.cc -@@ -25,6 +25,7 @@ +@@ -21,9 +21,11 @@ + #include "components/dbus/thread_linux/dbus_thread_linux.h" + #include "components/dbus/xdg/portal.h" + #include "components/dbus/xdg/request.h" ++#include "components/dbus/xdg/systemd.h" #include "dbus/message.h" #include "dbus/object_path.h" #include "dbus/object_proxy.h" @@ -273,36 +277,36 @@ index af5f9cdb01d18abf00bb5b20e5f2ab5e4ce24dc6..378939d2d2b48f1f591523db431005d0 #include "ui/aura/window_tree_host.h" #include "ui/base/l10n/l10n_util.h" #include "ui/gfx/native_ui_types.h" -@@ -96,7 +97,7 @@ void OnGetPropertyReply(dbus::Response* response) { +@@ -95,7 +97,7 @@ void OnGetPropertyReply(dbus::Response* response) { : ServiceAvailability::kNotAvailable; } --void OnServiceStarted(std::optional service_started) { -+[[maybe_unused]] void OnServiceStarted(std::optional service_started) { - if (!service_started.value_or(false)) { +-void OnServiceStarted(bool service_started) { ++[[maybe_unused]] void OnServiceStarted(bool service_started) { + if (!service_started) { g_service_availability = ServiceAvailability::kNotAvailable; return; -@@ -115,9 +116,12 @@ void OnServiceStarted(std::optional service_started) { +@@ -113,6 +115,11 @@ void OnServiceStarted(bool service_started) { + base::BindOnce(&OnGetPropertyReply)); } - void OnSystemdUnitStarted(dbus_xdg::SystemdUnitStatus) { -+#if 0 - dbus_utils::CheckForServiceAndStart(dbus_thread_linux::GetSharedSessionBus(), - kXdgPortalService, - base::BindOnce(&OnServiceStarted)); -+#endif ++void OnSystemdUnitStarted(dbus_xdg::internal::SystemdUnitStatus) { + file_dialog::StartPortalAvailabilityTestInBackground(); - } - ++} ++ ++ std::vector PathToByteArray(const base::FilePath& path) { -@@ -171,17 +175,20 @@ void SelectFileDialogLinuxPortal::StartAvailabilityTestInBackground() { + std::vector bytes(path.value().begin(), path.value().end()); + // Null-terminate the array. +@@ -163,18 +170,21 @@ void SelectFileDialogLinuxPortal::StartAvailabilityTestInBackground() { + GetMainTaskRunner() = base::SequencedTaskRunner::GetCurrentDefault(); - dbus_xdg::SetSystemdScopeUnitNameForXdgPortal( -- dbus_thread_linux::GetSharedSessionBus().get(), -- base::BindOnce(&OnSystemdUnitStarted)); -+ dbus_thread_linux::GetSharedSessionBus().get(), -+ base::BindOnce(&OnSystemdUnitStarted)); +- dbus_xdg::RequestXdgDesktopPortal( ++ dbus_xdg::internal::SetSystemdScopeUnitNameForXdgPortal( + dbus_thread_linux::GetSharedSessionBus().get(), +- base::BindOnce(&OnServiceStarted)); ++ base::BindOnce(&OnSystemdUnitStarted)); } // static @@ -318,7 +322,7 @@ index af5f9cdb01d18abf00bb5b20e5f2ab5e4ce24dc6..378939d2d2b48f1f591523db431005d0 } void SelectFileDialogLinuxPortal::ListenerDestroyed() { -@@ -385,11 +392,14 @@ dbus_xdg::Dictionary SelectFileDialogLinuxPortal::BuildOptionsDictionary( +@@ -378,11 +388,14 @@ dbus_xdg::Dictionary SelectFileDialogLinuxPortal::BuildOptionsDictionary( const PortalFilterSet& filter_set) { dbus_xdg::Dictionary dict; @@ -336,7 +340,7 @@ index af5f9cdb01d18abf00bb5b20e5f2ab5e4ce24dc6..378939d2d2b48f1f591523db431005d0 [[fallthrough]]; case SelectFileDialog::SELECT_FOLDER: case SelectFileDialog::Type::SELECT_EXISTING_FOLDER: -@@ -402,6 +412,11 @@ dbus_xdg::Dictionary SelectFileDialogLinuxPortal::BuildOptionsDictionary( +@@ -395,6 +408,11 @@ dbus_xdg::Dictionary SelectFileDialogLinuxPortal::BuildOptionsDictionary( break; } diff --git a/patches/chromium/feat_allow_code_cache_in_custom_schemes.patch b/patches/chromium/feat_allow_code_cache_in_custom_schemes.patch index 7eace601df..6bd196fd4c 100644 --- a/patches/chromium/feat_allow_code_cache_in_custom_schemes.patch +++ b/patches/chromium/feat_allow_code_cache_in_custom_schemes.patch @@ -9,7 +9,7 @@ embedders to make custom schemes allow V8 code cache. Chromium CL: https://chromium-review.googlesource.com/c/chromium/src/+/5019665 diff --git a/content/browser/code_cache/generated_code_cache.cc b/content/browser/code_cache/generated_code_cache.cc -index 445661be8089c8d52ade8c24603024afde27cedd..22c95824b703d6248475071c6bb3de91550eb0fa 100644 +index e753535edad0420a2cbaf33c2f7497b6ea023ebc..42cdac5167ad7af96f3f016a409e7355abeb5d77 100644 --- a/content/browser/code_cache/generated_code_cache.cc +++ b/content/browser/code_cache/generated_code_cache.cc @@ -8,6 +8,7 @@ @@ -20,15 +20,15 @@ index 445661be8089c8d52ade8c24603024afde27cedd..22c95824b703d6248475071c6bb3de91 #include "base/feature_list.h" #include "base/functional/bind.h" #include "base/functional/callback_helpers.h" -@@ -31,6 +32,7 @@ - #include "net/http/http_cache.h" +@@ -33,6 +34,7 @@ + #include "third_party/blink/public/common/loader/code_cache_util.h" #include "third_party/blink/public/common/scheme_registry.h" #include "url/gurl.h" +#include "url/url_util.h" using storage::BigIOBuffer; -@@ -53,40 +55,55 @@ void CheckValidResource(const GURL& resource_url, +@@ -54,13 +56,17 @@ void CheckValidResource(const GURL& resource_url, GeneratedCodeCache::CodeCacheType cache_type) { // If the resource url is invalid don't cache the code. DCHECK(resource_url.is_valid()); @@ -45,14 +45,20 @@ index 445661be8089c8d52ade8c24603024afde27cedd..22c95824b703d6248475071c6bb3de91 - resource_url.SchemeIsHTTPOrHTTPS() || - resource_url_is_chrome_or_chrome_untrusted || - blink::CommonSchemeRegistry::IsExtensionScheme(resource_url.GetScheme())); -- -- // The chrome and chrome-untrusted schemes are only used with the WebUI -- // code cache type. -- DCHECK_EQ(resource_url_is_chrome_or_chrome_untrusted, -- cache_type == GeneratedCodeCache::kWebUIJavaScript); + const bool resource_url_embedder = + base::Contains(url::GetCodeCacheSchemes(), resource_url.GetScheme()); + DCHECK(resource_url_http || resource_url_webui || resource_url_embedder); + + if (!blink::features::IsPersistentCacheForCodeCacheEnabled()) { + // The chrome and chrome-untrusted schemes are only used with the WebUI code +@@ -68,35 +74,51 @@ void CheckValidResource(const GURL& resource_url, + // segments WebUI from non-WebUI in multiple ways to prevent privilege + // escalation, using both `GetCacheId` and + // `CheckSecurityForAccessingCodeCacheData`. +- DCHECK_EQ(resource_url_is_chrome_or_chrome_untrusted, ++ DCHECK_EQ(resource_url_webui, + cache_type == GeneratedCodeCache::kWebUIJavaScript); + } } void CheckValidContext(const GURL& origin_lock, @@ -78,38 +84,41 @@ index 445661be8089c8d52ade8c24603024afde27cedd..22c95824b703d6248475071c6bb3de91 - blink::CommonSchemeRegistry::IsExtensionScheme( - origin_lock.GetScheme())) && - !url::Origin::Create(origin_lock).opaque())); -- -- // The chrome and chrome-untrusted schemes are only used with the WebUI -- // code cache type. -- DCHECK_EQ(origin_lock_is_chrome_or_chrome_untrusted, -- cache_type == GeneratedCodeCache::kWebUIJavaScript); -+ + const bool origin_lock_for_embedder = + base::Contains(url::GetCodeCacheSchemes(), origin_lock.GetScheme()); + + DCHECK(origin_lock_empty || ((origin_lock_for_http || origin_lock_for_webui || + origin_lock_for_embedder) && + !url::Origin::Create(origin_lock).opaque())); + + if (!blink::features::IsPersistentCacheForCodeCacheEnabled()) { +- // The chrome and chrome-untrusted schemes are only used with the WebUI code +- // cache type when PersistentCache is not used. Otherwise, PersistentCache ++ // The chrome and chrome-untrusted schemes are only used with their dedicated ++ // code cache type when PersistentCache is not used. Otherwise, PersistentCache + // segments WebUI from non-WebUI in multiple ways to prevent privilege + // escalation, using both `GetCacheId` and + // `CheckSecurityForAccessingCodeCacheData`. +- DCHECK_EQ(origin_lock_is_chrome_or_chrome_untrusted, +- cache_type == GeneratedCodeCache::kWebUIJavaScript); ++ switch (cache_type) { ++ case GeneratedCodeCache::kJavaScript: ++ case GeneratedCodeCache::kWebAssembly: ++ DCHECK(!origin_lock_for_webui); ++ break; ++ case GeneratedCodeCache::kWebUIJavaScript: ++ DCHECK(origin_lock_for_webui); ++ break; ++ } + -+ // The webui schemes are only used with their dedicated code cache type. -+ switch (cache_type) { -+ case GeneratedCodeCache::kJavaScript: -+ case GeneratedCodeCache::kWebAssembly: -+ DCHECK(!origin_lock_for_webui); -+ break; -+ case GeneratedCodeCache::kWebUIJavaScript: -+ DCHECK(origin_lock_for_webui); -+ break; -+ } -+ -+ // The custom schemes share the cache type with http(s). -+ if (origin_lock_for_embedder) { -+ DCHECK(cache_type == GeneratedCodeCache::kJavaScript || -+ cache_type == GeneratedCodeCache::kWebAssembly); -+ } ++ // The custom schemes share the cache type with http(s). ++ if (origin_lock_for_embedder) { ++ DCHECK(cache_type == GeneratedCodeCache::kJavaScript || ++ cache_type == GeneratedCodeCache::kWebAssembly); ++ } + } } - // Generates the cache key for the given |resource_url|, |origin_lock| and diff --git a/content/browser/code_cache/generated_code_cache.h b/content/browser/code_cache/generated_code_cache.h index a01f0d96ef33ce9460a851b072b7ceed5227dee3..f7e39b28cc0ba2251123925c01083a7935f46f56 100644 --- a/content/browser/code_cache/generated_code_cache.h @@ -253,18 +262,18 @@ index fb3fdfca483ff5041ee98095af3f6ac2640adbaf..ada19d78ec1337b0c49a1597c877886f + } // namespace content diff --git a/content/browser/renderer_host/code_cache_host_impl.cc b/content/browser/renderer_host/code_cache_host_impl.cc -index 422a9911ffafe19f484325cf9f4fe9b69d3a84dd..af9b897aac016a73199f7b2dffda227401aee85b 100644 +index 63be7d4b9c4ffd1a830896dea9b7f9c58d868b03..1db331bdfff07de61240df894fd8fddd25b2a453 100644 --- a/content/browser/renderer_host/code_cache_host_impl.cc +++ b/content/browser/renderer_host/code_cache_host_impl.cc -@@ -8,6 +8,7 @@ - #include +@@ -9,6 +9,7 @@ #include + #include "base/check_is_test.h" +#include "base/containers/contains.h" #include "base/functional/bind.h" #include "base/functional/callback_helpers.h" - #include "base/metrics/histogram_functions.h" -@@ -34,6 +35,7 @@ + #include "base/memory/weak_ptr.h" +@@ -40,6 +41,7 @@ #include "third_party/blink/public/mojom/loader/code_cache.mojom-data-view.h" #include "url/gurl.h" #include "url/origin.h" @@ -272,22 +281,24 @@ index 422a9911ffafe19f484325cf9f4fe9b69d3a84dd..af9b897aac016a73199f7b2dffda2274 using blink::mojom::CacheStorageError; -@@ -108,6 +110,11 @@ std::optional GetContextKeyForPersistentCacheCollection( - return context_key; - } +@@ -54,6 +56,11 @@ enum class Operation { + kWrite, + }; +bool ProcessLockURLIsCodeCacheScheme(const ProcessLock& process_lock) { + return base::Contains(url::GetCodeCacheSchemes(), + process_lock.GetProcessLockURL().scheme()); +} + - bool CheckSecurityForAccessingCodeCacheData( - const GURL& resource_url, - int render_process_id, -@@ -118,40 +125,56 @@ bool CheckSecurityForAccessingCodeCacheData( + bool CheckSecurityForAccessingCodeCacheData(const GURL& resource_url, + int render_process_id, + Operation operation) { +@@ -65,42 +72,56 @@ bool CheckSecurityForAccessingCodeCacheData(const GURL& resource_url, + ChildProcessSecurityPolicyImpl::GetInstance()->GetProcessLock( + render_process_id); - // Code caching is only allowed for http(s) and chrome/chrome-untrusted - // scripts. Furthermore, there is no way for http(s) pages to load chrome or +- // Code caching is only allowed for http(s) and chrome/chrome-untrusted +- // scripts. Furthermore, there is no way for http(s) pages to load chrome or + // Code caching is only allowed for scripts from: + // 1. http: and https: schemes. + // 2. chrome: and chrome-untrusted: schemes. @@ -297,17 +308,9 @@ index 422a9911ffafe19f484325cf9f4fe9b69d3a84dd..af9b897aac016a73199f7b2dffda2274 // chrome-untrusted scripts, so any http(s) page attempting to store data // about a chrome or chrome-untrusted script would be an indication of // suspicious activity. -- if (resource_url.SchemeIs(content::kChromeUIScheme) || -- resource_url.SchemeIs(content::kChromeUIUntrustedScheme)) { -- if (!process_lock.IsLockedToSite()) { -- // We can't tell for certain whether this renderer is doing something -- // malicious, but we don't trust it enough to store data. -- return false; -- } + if (resource_url.SchemeIsHTTPOrHTTPS()) { - if (process_lock.MatchesScheme(url::kHttpScheme) || - process_lock.MatchesScheme(url::kHttpsScheme)) { -- if (operation == CodeCacheHostImpl::Operation::kWrite) { ++ if (process_lock.MatchesScheme(url::kHttpScheme) || ++ process_lock.MatchesScheme(url::kHttpsScheme)) { + return true; + } + // Pages in custom schemes like isolated-app: are allowed to load http(s) @@ -321,13 +324,20 @@ index 422a9911ffafe19f484325cf9f4fe9b69d3a84dd..af9b897aac016a73199f7b2dffda2274 + return false; + } + -+ if (resource_url.SchemeIs(content::kChromeUIScheme) || -+ resource_url.SchemeIs(content::kChromeUIUntrustedScheme)) { + if (resource_url.SchemeIs(content::kChromeUIScheme) || + resource_url.SchemeIs(content::kChromeUIUntrustedScheme)) { +- if (!process_lock.IsLockedToSite()) { +- // We can't tell for certain whether this renderer is doing something +- // malicious, but we don't trust it enough to store data. +- return false; + if (process_lock.MatchesScheme(content::kChromeUIScheme) || + process_lock.MatchesScheme(content::kChromeUIUntrustedScheme)) { + return true; -+ } -+ if (operation == CodeCacheHostImpl::Operation::kWrite) { + } +- if (process_lock.MatchesScheme(url::kHttpScheme) || +- process_lock.MatchesScheme(url::kHttpsScheme)) { +- if (operation == Operation::kWrite) { ++ if (operation == Operation::kWrite) { + if (process_lock.MatchesScheme(url::kHttpScheme) || + process_lock.MatchesScheme(url::kHttpsScheme)) { mojo::ReportBadMessage("HTTP(S) pages cannot cache WebUI code"); @@ -362,8 +372,8 @@ index 422a9911ffafe19f484325cf9f4fe9b69d3a84dd..af9b897aac016a73199f7b2dffda2274 + return ProcessLockURLIsCodeCacheScheme(process_lock); } - if (operation == CodeCacheHostImpl::Operation::kWrite) { -@@ -607,6 +630,7 @@ std::optional CodeCacheHostImpl::GetSecondaryKeyForCodeCache( + if (operation == Operation::kWrite) { +@@ -178,6 +199,7 @@ std::optional GetOriginLock(int render_process_id) { process_lock.MatchesScheme(url::kHttpsScheme) || process_lock.MatchesScheme(content::kChromeUIScheme) || process_lock.MatchesScheme(content::kChromeUIUntrustedScheme) || @@ -405,7 +415,7 @@ index 33e2ff42e4d9da442d522b959a4a21c2f7032b6b..a0d81212327fc17e1f4704e78803c1d7 std::vector extension_schemes; // Registers a URL scheme with a predefined default custom handler. diff --git a/url/url_util.cc b/url/url_util.cc -index eab40a41608b9c152b5c89b3a26f0fc11f7083a3..ddf9a58ab3edc7fa2c099ce23ff193a807320bdc 100644 +index 0aca7cc1565e2d6faf47bc1d001362a3629d39aa..50b15e06956c47e94ccd801fb3ee91aeb77ae15c 100644 --- a/url/url_util.cc +++ b/url/url_util.cc @@ -131,6 +131,9 @@ struct SchemeRegistry { @@ -418,7 +428,7 @@ index eab40a41608b9c152b5c89b3a26f0fc11f7083a3..ddf9a58ab3edc7fa2c099ce23ff193a8 // Schemes with a predefined default custom handler. std::vector predefined_handler_schemes; -@@ -668,6 +671,15 @@ const std::vector& GetEmptyDocumentSchemes() { +@@ -667,6 +670,15 @@ const std::vector& GetEmptyDocumentSchemes() { return GetSchemeRegistry().empty_document_schemes; } diff --git a/patches/chromium/feat_allow_usage_of_sccontentsharingpicker_on_supported_platforms.patch b/patches/chromium/feat_allow_usage_of_sccontentsharingpicker_on_supported_platforms.patch index 415cd16938..6afb73e288 100644 --- a/patches/chromium/feat_allow_usage_of_sccontentsharingpicker_on_supported_platforms.patch +++ b/patches/chromium/feat_allow_usage_of_sccontentsharingpicker_on_supported_platforms.patch @@ -46,7 +46,7 @@ index e2771b7b281274cdcb601a5bc78a948ad592087b..48d116823a28213e50775f378e6ce04c // OnStop is called by StopAndDeAllocate. virtual void OnStop() = 0; diff --git a/content/browser/media/capture/screen_capture_kit_device_mac.mm b/content/browser/media/capture/screen_capture_kit_device_mac.mm -index 74e053ca2a67af1cf57e8e31e588256b6bc42d73..39228ed4ddbb08b7ddecf9006b31dee8e5f2be4d 100644 +index 5e7f34178a549dc1e894262d0091b5b98c9ba48b..8d1de709cfa881df8a2a67bb6180aa78e9dfd6cf 100644 --- a/content/browser/media/capture/screen_capture_kit_device_mac.mm +++ b/content/browser/media/capture/screen_capture_kit_device_mac.mm @@ -28,6 +28,61 @@ @@ -228,8 +228,8 @@ index 74e053ca2a67af1cf57e8e31e588256b6bc42d73..39228ed4ddbb08b7ddecf9006b31dee8 } else { client()->OnError(media::VideoCaptureError::kScreenCaptureKitStreamError, FROM_HERE, "Stream delegate called didStopWithError"); -@@ -622,23 +706,41 @@ void OnPipWindowIdChanged( - } +@@ -625,23 +709,41 @@ void OnCapturesChanged( + captures) override {} // IOSurfaceCaptureDeviceBase: - void OnStart() override { @@ -285,7 +285,7 @@ index 74e053ca2a67af1cf57e8e31e588256b6bc42d73..39228ed4ddbb08b7ddecf9006b31dee8 } void OnStop() override { DCHECK(device_task_runner_->RunsTasksInCurrentSequence()); -@@ -697,7 +799,7 @@ void ResetStreamTo(SCWindow* window) override { +@@ -700,7 +802,7 @@ void ResetStreamTo(SCWindow* window) override { private: const DesktopMediaID source_; @@ -294,7 +294,7 @@ index 74e053ca2a67af1cf57e8e31e588256b6bc42d73..39228ed4ddbb08b7ddecf9006b31dee8 StreamCallback stream_created_callback_; const scoped_refptr device_task_runner_; -@@ -714,6 +816,10 @@ void ResetStreamTo(SCWindow* window) override { +@@ -717,6 +819,10 @@ void ResetStreamTo(SCWindow* window) override { // Helper class that acts as output and delegate for `stream_`. ScreenCaptureKitDeviceHelper* __strong helper_; @@ -305,7 +305,7 @@ index 74e053ca2a67af1cf57e8e31e588256b6bc42d73..39228ed4ddbb08b7ddecf9006b31dee8 // This is used to detect when a captured presentation enters fullscreen mode. // If this happens, the module will call the ResetStreamTo function. std::unique_ptr fullscreen_module_; -@@ -728,6 +834,8 @@ void ResetStreamTo(SCWindow* window) override { +@@ -731,6 +837,8 @@ void ResetStreamTo(SCWindow* window) override { base::WeakPtrFactory weak_factory_{this}; }; 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 4bd8eb29e3..2c564a6a51 100644 --- a/patches/chromium/feat_configure_launch_options_for_service_process.patch +++ b/patches/chromium/feat_configure_launch_options_for_service_process.patch @@ -348,7 +348,7 @@ index dfdcb66d65f07f4543703396eb529a6ec02b3f4a..d731211d727f6e96533a058106c13f33 // 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 125d7bd771ed99ef36b44b6c35692abebc4a0b0e..953d9184c9651c41e74c0e2ec78406daeb697494 100644 +index ada7034c8926c276ea1c7ebf8242c61b0a993c39..b852d40936f1e876681a00f2eb57c9077a086a1d 100644 --- a/content/browser/service_host/utility_sandbox_delegate.cc +++ b/content/browser/service_host/utility_sandbox_delegate.cc @@ -39,17 +39,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 0838aa0f11..3ce1b73923 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 @@ -20,7 +20,7 @@ making three primary changes to Blink: * Controls whether the CSS rule is available. diff --git a/third_party/blink/public/mojom/use_counter/metrics/css_property_id.mojom b/third_party/blink/public/mojom/use_counter/metrics/css_property_id.mojom -index b2836f11e61787ef0aafbbd138d2609e5154c8d1..c5f11e639e4b0ff27dfd9160307508482ef28bed 100644 +index 9dc5d3f4255a29264d52dc7af720177e3e84f2f2..e7a6555150da608f9b77d664a80b81394c9d7969 100644 --- a/third_party/blink/public/mojom/use_counter/metrics/css_property_id.mojom +++ b/third_party/blink/public/mojom/use_counter/metrics/css_property_id.mojom @@ -48,6 +48,7 @@ enum CSSSampleId { @@ -45,10 +45,10 @@ index e189d584f05f2ce6354c03a9b19f56985df8a15e..41b430e8f2416be098494f5c49fb97ca 'internal-forced-visited-'): internal_visited_order = 0 diff --git a/third_party/blink/renderer/core/css/css_properties.json5 b/third_party/blink/renderer/core/css/css_properties.json5 -index fc538d52a1ddc0bd914c7e0f52310047f86eec81..5ee45c4919bee2ab49ba31b232515ee7c4fedd99 100644 +index 9dff1cec47681e5eac4585e8fd3aeed3046b90da..9513cf8a3d393452757077972a6e6a1b33e2a38e 100644 --- a/third_party/blink/renderer/core/css/css_properties.json5 +++ b/third_party/blink/renderer/core/css/css_properties.json5 -@@ -9102,6 +9102,26 @@ +@@ -9122,6 +9122,26 @@ property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], }, @@ -76,10 +76,10 @@ index fc538d52a1ddc0bd914c7e0f52310047f86eec81..5ee45c4919bee2ab49ba31b232515ee7 { name: "-internal-visited-color", diff --git a/third_party/blink/renderer/core/css/css_property_equality.cc b/third_party/blink/renderer/core/css/css_property_equality.cc -index d73a877fcacb2b767ba59357205bf6159d7f1782..493bda8994a23ec3b9915c33e878b09854be7eb6 100644 +index 414f29a41506f7a08b3189be17ed2d2e3c413ec7..d112c048e3570f1135f130f3a2c3078e3c44e188 100644 --- a/third_party/blink/renderer/core/css/css_property_equality.cc +++ b/third_party/blink/renderer/core/css/css_property_equality.cc -@@ -354,6 +354,8 @@ bool CSSPropertyEquality::PropertiesEqual(const PropertyHandle& property, +@@ -402,6 +402,8 @@ bool CSSPropertyEquality::PropertiesEqual(const PropertyHandle& property, return a.DominantBaseline() == b.DominantBaseline(); case CSSPropertyID::kDynamicRangeLimit: return a.GetDynamicRangeLimit() == b.GetDynamicRangeLimit(); @@ -89,7 +89,7 @@ index d73a877fcacb2b767ba59357205bf6159d7f1782..493bda8994a23ec3b9915c33e878b098 return a.EmptyCells() == b.EmptyCells(); case CSSPropertyID::kFill: diff --git a/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc b/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc -index d2c965c2fb98e8c129eacea3272ccbbc35d69b0c..3c72d0cf1d75cbb7fc44eda36569b5b3942299e4 100644 +index e44c662af086cc48163f4fc28d8b6def3ee1acdd..7df200942b9426364fe6170c8a53a1b7f4252e88 100644 --- a/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc +++ b/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc @@ -12688,5 +12688,36 @@ const CSSValue* InternalEmptyLineHeight::ParseSingleValue( @@ -130,10 +130,10 @@ index d2c965c2fb98e8c129eacea3272ccbbc35d69b0c..3c72d0cf1d75cbb7fc44eda36569b5b3 } // namespace css_longhand } // namespace blink diff --git a/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc b/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc -index 39bcc7a570d908c5b83df383cdda7167c845c05c..62175cbe25d4bf3810a1f0c65177e0d2177f27e7 100644 +index de982ec23797b37bef2651ad0752c80aa7979955..2bd3952b936ab882f88941c88d231113b7b79379 100644 --- a/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc +++ b/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc -@@ -4108,6 +4108,15 @@ PositionTryFallback StyleBuilderConverter::ConvertSinglePositionTryFallback( +@@ -4090,6 +4090,15 @@ PositionTryFallback StyleBuilderConverter::ConvertSinglePositionTryFallback( return PositionTryFallback(scoped_name, tactic_list); } @@ -150,10 +150,10 @@ index 39bcc7a570d908c5b83df383cdda7167c845c05c..62175cbe25d4bf3810a1f0c65177e0d2 const CSSValue& value) { const auto& list = To(value); diff --git a/third_party/blink/renderer/core/css/resolver/style_builder_converter.h b/third_party/blink/renderer/core/css/resolver/style_builder_converter.h -index 750ffb21cc31c5f994e21c0e3af4df36636d31f8..0860dd89a9ca576dba308364bdd199c13cc4d1cb 100644 +index ae3d9599d6f79e1bdf1acd20231c8f6c65fbb397..f260c6b81dd3ad82151c6ff93c82d5ee38bf88d4 100644 --- a/third_party/blink/renderer/core/css/resolver/style_builder_converter.h +++ b/third_party/blink/renderer/core/css/resolver/style_builder_converter.h -@@ -446,6 +446,7 @@ class StyleBuilderConverter { +@@ -448,6 +448,7 @@ class StyleBuilderConverter { StyleResolverState&, const CSSValue&, bool allow_any_keyword_in_position_area = false); @@ -201,7 +201,7 @@ index ff356b4dcb60ae91993ad0ee6cedb6e6298066be..9cbe59e5e246fe5e58bee0472414ee85 return result; } diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn -index 3321a21d1865b15e40d4c8831dd7f4449522d21a..deff044fb7997be084bf2e63c02cf6bab63887a2 100644 +index 49d07b1c0cbebcdb4d7587d1d564ba7c73939007..6e6634da71f529106255e92cc643bc3abdacb188 100644 --- a/third_party/blink/renderer/platform/BUILD.gn +++ b/third_party/blink/renderer/platform/BUILD.gn @@ -1667,6 +1667,8 @@ component("platform") { @@ -312,7 +312,7 @@ index 1d6b8160e8db2a94ee61ed41ac9a74db5b1bfb17..373bcd30c6a4526262912021aaf2b560 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 0308337212742fb69ec93ec3e0da5b5ec87b1217..7a6a0b82c3ceee6e252ce526e07119638476a744 100644 +index f87e3e39cf90abafc05cb6b279716b937c0d904f..47af3989c1681de3004ec85d4ac5dd9718b0a825 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_customizing_symbol_color_in_framecaptionbutton.patch b/patches/chromium/feat_enable_customizing_symbol_color_in_framecaptionbutton.patch index d29ecc8b9f..f3376ff400 100644 --- a/patches/chromium/feat_enable_customizing_symbol_color_in_framecaptionbutton.patch +++ b/patches/chromium/feat_enable_customizing_symbol_color_in_framecaptionbutton.patch @@ -11,7 +11,7 @@ ensure it has minimum contrast required to be accessible. This should be upstreamed to Chromium if possible. diff --git a/ui/views/window/frame_caption_button.cc b/ui/views/window/frame_caption_button.cc -index f70d810e5c316a0dfee0b12a0972679f5f56b22b..5a5b2b3e1a70c7365a4d6deb90c183f8392c8c9f 100644 +index 48afb323cc473d5f0795020526d2c6b020e73524..b4cfbebf59d8f967e8a2b50045898b3238d86fb7 100644 --- a/ui/views/window/frame_caption_button.cc +++ b/ui/views/window/frame_caption_button.cc @@ -108,7 +108,7 @@ FrameCaptionButton::FrameCaptionButton(PressedCallback callback, diff --git a/patches/chromium/feat_ensure_mas_builds_of_the_same_application_can_use_safestorage.patch b/patches/chromium/feat_ensure_mas_builds_of_the_same_application_can_use_safestorage.patch index b354ac70e4..fa79c2713a 100644 --- a/patches/chromium/feat_ensure_mas_builds_of_the_same_application_can_use_safestorage.patch +++ b/patches/chromium/feat_ensure_mas_builds_of_the_same_application_can_use_safestorage.patch @@ -144,10 +144,10 @@ index eb74282adaba24ebd667f0ab3fc34dbe4cd8b527..7b91eb27489cece38eca719986255c5e } // namespace crypto::apple diff --git a/crypto/apple/keychain_secitem.mm b/crypto/apple/keychain_secitem.mm -index d2b9526f9a0bfa9d12a594c35c71499810cb6bb0..aef0eb3508fc37e3a0e9e1c27a71e1aa1f568231 100644 +index a8d50dd27db52526b0635c2b97f076df1994a6aa..e45f0d1079c8acfae55cf873e66ab3d9a10ad8ee 100644 --- a/crypto/apple/keychain_secitem.mm +++ b/crypto/apple/keychain_secitem.mm -@@ -161,7 +161,8 @@ +@@ -138,7 +138,8 @@ base::expected, OSStatus> KeychainSecItem::FindGenericPassword(std::string_view service_name, @@ -157,7 +157,7 @@ index d2b9526f9a0bfa9d12a594c35c71499810cb6bb0..aef0eb3508fc37e3a0e9e1c27a71e1aa base::apple::ScopedCFTypeRef query = MakeGenericPasswordQuery(service_name, account_name); -@@ -203,4 +204,13 @@ +@@ -165,4 +166,13 @@ return base::ToVector(base::apple::CFDataToSpan(password_data)); } 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 aa007db78d..c9330b500a 100644 --- a/patches/chromium/feat_expose_raw_response_headers_from_urlloader.patch +++ b/patches/chromium/feat_expose_raw_response_headers_from_urlloader.patch @@ -112,7 +112,7 @@ index 13a211107294e856616d1626fa1dc9c79eb5646c..549a36886d665c1a8100f09b7a86c8dc string mime_type; diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc -index a28a4bfc26a797dc862c59a337b4ed43b76eb06d..4da33fa9eef14b76f06d2741942fc387b2cde37d 100644 +index c71abe34bb2c2d7cc30e7f8df81b8d71ebfd076e..8b03d8379ee81fa45d7e127d153717b1abb1475e 100644 --- a/services/network/url_loader.cc +++ b/services/network/url_loader.cc @@ -386,6 +386,9 @@ URLLoader::URLLoader( @@ -125,7 +125,7 @@ index a28a4bfc26a797dc862c59a337b4ed43b76eb06d..4da33fa9eef14b76f06d2741942fc387 devtools_request_id_(request.devtools_request_id), options_(PopulateOptions(options, factory_params_->is_orb_enabled, -@@ -525,7 +528,7 @@ void URLLoader::SetUpUrlRequestCallbacks( +@@ -554,7 +557,7 @@ void URLLoader::SetUpUrlRequestCallbacks( &URLLoader::IsSharedDictionaryReadAllowed, base::Unretained(this))); } @@ -134,7 +134,7 @@ index a28a4bfc26a797dc862c59a337b4ed43b76eb06d..4da33fa9eef14b76f06d2741942fc387 url_request_->SetResponseHeadersCallback(base::BindRepeating( &URLLoader::SetRawResponseHeaders, base::Unretained(this))); } -@@ -1122,6 +1125,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/feat_filter_out_non-shareable_windows_in_the_current_application_in.patch b/patches/chromium/feat_filter_out_non-shareable_windows_in_the_current_application_in.patch index eee7968d33..eed98484c2 100644 --- a/patches/chromium/feat_filter_out_non-shareable_windows_in_the_current_application_in.patch +++ b/patches/chromium/feat_filter_out_non-shareable_windows_in_the_current_application_in.patch @@ -7,7 +7,7 @@ Subject: feat: filter out non-shareable windows in the current application in This patch ensures that windows protected via win.setContentProtection(true) do not appear in full display captures via desktopCapturer. This patch could be upstreamed but as the check is limited to in-process windows it doesn't make a lot of sense for Chromium itself. This patch currently has a limitation that it only function for windows created / protected BEFORE the stream is started. There is theoretical future work we can do via polling / observers to automatically update the SCContentFilter when new windows are made but for now this will solve 99+% of the problem and folks can re-order their logic a bit to get it working for their use cases. diff --git a/content/browser/media/capture/screen_capture_kit_device_mac.mm b/content/browser/media/capture/screen_capture_kit_device_mac.mm -index 35c4bdb8041cba27c4cb16229705eed8f6746c71..74e053ca2a67af1cf57e8e31e588256b6bc42d73 100644 +index db54df43b6126a9ddabee8cabed7a3a2c22f77ca..5e7f34178a549dc1e894262d0091b5b98c9ba48b 100644 --- a/content/browser/media/capture/screen_capture_kit_device_mac.mm +++ b/content/browser/media/capture/screen_capture_kit_device_mac.mm @@ -307,8 +307,21 @@ void OnShareableContentCreated(SCShareableContent* content) { diff --git a/patches/chromium/feat_separate_content_settings_callback_for_sync_and_async_clipboard.patch b/patches/chromium/feat_separate_content_settings_callback_for_sync_and_async_clipboard.patch index 39d9a14750..42102d6dad 100644 --- a/patches/chromium/feat_separate_content_settings_callback_for_sync_and_async_clipboard.patch +++ b/patches/chromium/feat_separate_content_settings_callback_for_sync_and_async_clipboard.patch @@ -20,10 +20,10 @@ This patch will be removed when the deprecated sync api support is removed. diff --git a/components/permissions/permission_util.cc b/components/permissions/permission_util.cc -index 23b38aa1733f6eabda0ab76b5f63f13e76958a6f..2f68573b8fa30a4d63f0b2fa8ff4a8e502436f2f 100644 +index 766ad28c66348f79164d8690faffb936bf659884..7b1131679ef84ca575629f46ad98483eeb4d8d9e 100644 --- a/components/permissions/permission_util.cc +++ b/components/permissions/permission_util.cc -@@ -537,6 +537,7 @@ ContentSettingsType PermissionUtil::PermissionTypeToContentSettingsTypeSafe( +@@ -538,6 +538,7 @@ ContentSettingsType PermissionUtil::PermissionTypeToContentSettingsTypeSafe( return ContentSettingsType::WEB_APP_INSTALLATION; case PermissionType::LOCAL_NETWORK_ACCESS: return ContentSettingsType::LOCAL_NETWORK_ACCESS; @@ -32,10 +32,10 @@ index 23b38aa1733f6eabda0ab76b5f63f13e76958a6f..2f68573b8fa30a4d63f0b2fa8ff4a8e5 break; } diff --git a/content/browser/permissions/permission_controller_impl.cc b/content/browser/permissions/permission_controller_impl.cc -index eeacd30992233f44f8972f242f37637cb240dc06..e56096991dfbffa3a16aa3aca602b59fbd48a4d5 100644 +index 1ecf08300207bf8fbaab7d0d69fbad9c789b1144..b5444310e66715e58743850d3ca20cca5d84e4fa 100644 --- a/content/browser/permissions/permission_controller_impl.cc +++ b/content/browser/permissions/permission_controller_impl.cc -@@ -94,6 +94,7 @@ PermissionToSchedulingFeature(PermissionType permission_name) { +@@ -93,6 +93,7 @@ PermissionToSchedulingFeature(PermissionType permission_name) { case PermissionType::AUTOMATIC_FULLSCREEN: case PermissionType::WEB_APP_INSTALLATION: case PermissionType::LOCAL_NETWORK_ACCESS: @@ -119,7 +119,7 @@ index 36410ff29d9c82e59f93fbb82968064bd330dfde..6c3f994e0b184f78bd9442002bb4dfae virtual void PassiveInsecureContentFound(const WebURL&) {} diff --git a/third_party/blink/renderer/core/editing/commands/clipboard_commands.cc b/third_party/blink/renderer/core/editing/commands/clipboard_commands.cc -index f2fb09422d49c66c6ef7991277cfd6479896c035..fe2fc66b2d203dd0c832e5bf6cc4c950c33cdfec 100644 +index c6e1fcc6b39db770022d33d984d46a401bff0743..9b9cd107259339b1f48b20d81a933d38944e004e 100644 --- a/third_party/blink/renderer/core/editing/commands/clipboard_commands.cc +++ b/third_party/blink/renderer/core/editing/commands/clipboard_commands.cc @@ -116,7 +116,7 @@ bool ClipboardCommands::CanReadClipboard(LocalFrame& frame, diff --git a/patches/chromium/fix_adapt_exclusive_access_for_electron_needs.patch b/patches/chromium/fix_adapt_exclusive_access_for_electron_needs.patch index 640f611d37..af7e73bf73 100644 --- a/patches/chromium/fix_adapt_exclusive_access_for_electron_needs.patch +++ b/patches/chromium/fix_adapt_exclusive_access_for_electron_needs.patch @@ -16,7 +16,7 @@ Linux or Windows to un-fullscreen in some circumstances without this change. diff --git a/chrome/browser/ui/exclusive_access/fullscreen_controller.cc b/chrome/browser/ui/exclusive_access/fullscreen_controller.cc -index 6a9d90fdc5e6df4726810143c27f683bbbbc183f..71e8c539d5d633277237141b4e42460ae1dca8da 100644 +index 7ddb32ba04bc878f368931c14fb3ade0dd2e074d..5fb241ff924fb8662eac549640a35b94cba2dd81 100644 --- a/chrome/browser/ui/exclusive_access/fullscreen_controller.cc +++ b/chrome/browser/ui/exclusive_access/fullscreen_controller.cc @@ -47,7 +47,7 @@ @@ -62,20 +62,7 @@ index 6a9d90fdc5e6df4726810143c27f683bbbbc183f..71e8c539d5d633277237141b4e42460a if (!IsTabFullscreen()) { // Activate any popup windows created while content fullscreen, after exit. popunder_preventer_.reset(); -@@ -555,20 +556,19 @@ void FullscreenController::EnterFullscreenModeInternal( - // Do not enter fullscreen mode if disallowed by pref. This prevents the user - // from manually entering fullscreen mode and also disables kiosk mode on - // desktop platforms. -- if (!exclusive_access_manager() -- ->context() -- ->GetProfile() -- ->GetPrefs() -- ->GetBoolean(prefs::kFullscreenAllowed)) { -+ auto* profile = exclusive_access_manager()->context()->GetProfile(); -+ if (!profile || !profile->GetPrefs()->GetBoolean(prefs::kFullscreenAllowed)) - return; -- } - #endif +@@ -564,9 +565,12 @@ void FullscreenController::EnterFullscreenModeInternal( fullscreen_parameters_ = fullscreen_tab_params; started_fullscreen_transition_ = true; toggled_into_fullscreen_ = true; @@ -88,7 +75,7 @@ index 6a9d90fdc5e6df4726810143c27f683bbbbc183f..71e8c539d5d633277237141b4e42460a if (option == FullscreenInternalOption::kTab) { origin = GetRequestingOrigin(); tab_fullscreen_ = true; -@@ -606,6 +606,7 @@ void FullscreenController::EnterFullscreenModeInternal( +@@ -604,6 +608,7 @@ void FullscreenController::EnterFullscreenModeInternal( origin = url::Origin::Create(extension_url_.value()); } } @@ -96,7 +83,7 @@ index 6a9d90fdc5e6df4726810143c27f683bbbbc183f..71e8c539d5d633277237141b4e42460a fullscreen_start_time_ = base::TimeTicks::Now(); if (option == FullscreenInternalOption::kBrowser) { -@@ -627,6 +628,7 @@ void FullscreenController::ExitFullscreenModeInternal() { +@@ -625,6 +630,7 @@ void FullscreenController::ExitFullscreenModeInternal() { return; } @@ -104,7 +91,7 @@ index 6a9d90fdc5e6df4726810143c27f683bbbbc183f..71e8c539d5d633277237141b4e42460a // `fullscreen_start_time_` is null if a fullscreen tab moves to a new window. if (fullscreen_start_time_ && exclusive_access_tab()) { ukm::SourceId source_id = -@@ -638,19 +640,20 @@ void FullscreenController::ExitFullscreenModeInternal() { +@@ -636,19 +642,20 @@ void FullscreenController::ExitFullscreenModeInternal() { .Record(ukm::UkmRecorder::Get()); fullscreen_start_time_.reset(); } 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 61348673ae..3afef3aaea 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 @@ -44,10 +44,10 @@ index 83c47152aae8652f7ffdb2fe9e79a737056854e5..ad876ab93a0a9765d018c9e5cfda1791 // origin of |common_params.url| and/or |common_params.initiator_origin|. url::Origin resolved_origin = url::Origin::Resolve( diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc -index 8a98512164870e85b004cb6452dd697d2854b12c..de1020240f52fc43c02d4ad78127ad0ad36d6265 100644 +index 53725f4aa7b3f2048ae2f4957df738b240c8ce9f..7015542b622f0ceb3ce8209faa5edcc23852bdb2 100644 --- a/third_party/blink/renderer/core/loader/document_loader.cc +++ b/third_party/blink/renderer/core/loader/document_loader.cc -@@ -2329,6 +2329,10 @@ Frame* DocumentLoader::CalculateOwnerFrame() { +@@ -2331,6 +2331,10 @@ Frame* DocumentLoader::CalculateOwnerFrame() { scoped_refptr DocumentLoader::CalculateOrigin( Document* owner_document) { scoped_refptr origin; @@ -58,7 +58,7 @@ index 8a98512164870e85b004cb6452dd697d2854b12c..de1020240f52fc43c02d4ad78127ad0a // Whether the origin is newly created within this call, instead of copied // from an existing document's origin or from `origin_to_commit_`. If this is // true, we won't try to compare the nonce of this origin (if it's opaque) to -@@ -2365,6 +2369,9 @@ scoped_refptr DocumentLoader::CalculateOrigin( +@@ -2367,6 +2371,9 @@ scoped_refptr DocumentLoader::CalculateOrigin( // non-renderer only origin bits will be the same, which will be asserted at // the end of this function. origin = origin_to_commit_; diff --git a/patches/chromium/fix_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 71c844aec4..93bdc0ec79 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,7 +87,7 @@ 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 721d83390d33d5f344d88cb402b0bf8ce77aca36..e8896a9872a341d7ca674c1d88fb0d3a081e6a46 100644 +index 7269f4d219c295a9ef9843da33d3de4d933b4d47..6c83415f1022ec0b14bdabfbff9614ca620d5d4f 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc @@ -10175,7 +10175,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame( 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 04b8e86140..7d15c4bd83 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 cc1bccf5d168760532cc962ab7f7775e91255108..e5cd6d587deb47d1df8b4530d929cbba5cb8f443 100644 +index 808943d761385ec225ba7f99f35090705b529289..4c7be047995f44ff0c33bc24622daa7194e32df4 100644 --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc @@ -3202,6 +3202,7 @@ void LocalFrame::RequestExecuteScript( @@ -104,7 +104,7 @@ index f3ea156c7ea1f215476976bcea2438d04c59a63f..146d44491158c4b6d3f33d61a6f242e8 wants_result ? mojom::blink::WantResultOption::kWantResultDateAndRegExpAllowed diff --git a/third_party/blink/renderer/core/frame/pausable_script_executor.cc b/third_party/blink/renderer/core/frame/pausable_script_executor.cc -index b6ce095c46b8c8cef5981827193f5a7c50c1f234..f67af3c5f65a0e5a6b7fd6bdecf605595c870dcd 100644 +index 2b83e5d674d54bff121153c22d17d560114b70d6..6b428f8dd0c7717577d98469d7a4c97cfbbd8951 100644 --- a/third_party/blink/renderer/core/frame/pausable_script_executor.cc +++ b/third_party/blink/renderer/core/frame/pausable_script_executor.cc @@ -243,7 +243,7 @@ void PausableScriptExecutor::CreateAndRun( diff --git a/patches/chromium/frame_host_manager.patch b/patches/chromium/frame_host_manager.patch index fc25cedf45..9d56ca3265 100644 --- a/patches/chromium/frame_host_manager.patch +++ b/patches/chromium/frame_host_manager.patch @@ -6,10 +6,10 @@ Subject: frame_host_manager.patch Allows embedder to intercept site instances created by chromium. diff --git a/content/browser/renderer_host/render_frame_host_manager.cc b/content/browser/renderer_host/render_frame_host_manager.cc -index 34cf9a4ac4d3c976903c93115fa1bf190800278a..ecb4d7a1e20b5e2c92df682aaa9d52ae61dcb188 100644 +index 9201f3a63e19f0c404a422dc3e6dbf8ac08627a0..833c00abebdc4a191ff0b684481c387162c0b697 100644 --- a/content/browser/renderer_host/render_frame_host_manager.cc +++ b/content/browser/renderer_host/render_frame_host_manager.cc -@@ -4835,6 +4835,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest( +@@ -4842,6 +4842,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest( request->ResetStateForSiteInstanceChange(); } @@ -20,7 +20,7 @@ index 34cf9a4ac4d3c976903c93115fa1bf190800278a..ecb4d7a1e20b5e2c92df682aaa9d52ae } diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h -index 9f8fe55d6c360e3a709f2e5f05baf02c9ca29101..83a45bf47d98bef95bde6333758316aeb2a7e357 100644 +index 30ffe14569312d0a0ae570a444724db7a7805103..8708c76b75283e9b517124110fd29653526a4d14 100644 --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h @@ -342,6 +342,11 @@ class CONTENT_EXPORT ContentBrowserClient { diff --git a/patches/chromium/gritsettings_resource_ids.patch b/patches/chromium/gritsettings_resource_ids.patch index 7fb245ca0e..5991744557 100644 --- a/patches/chromium/gritsettings_resource_ids.patch +++ b/patches/chromium/gritsettings_resource_ids.patch @@ -6,7 +6,7 @@ Subject: gritsettings_resource_ids.patch Add electron resources file to the list of resource ids generation. diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_ids.spec -index 94b539feab080ef5814970408fd3ae000950b681..243e25f34fc146991d49032b5e539d86cf376d7d 100644 +index ee45675b7b852eb79ef112f6c564d39d9abfd5ba..8a7fc57f0675ea35845bb78bf689659abca5671e 100644 --- a/tools/gritsettings/resource_ids.spec +++ b/tools/gritsettings/resource_ids.spec @@ -1629,6 +1629,11 @@ diff --git a/patches/chromium/gtk_visibility.patch b/patches/chromium/gtk_visibility.patch index 8b0eeae1b0..bf1e0ff35c 100644 --- a/patches/chromium/gtk_visibility.patch +++ b/patches/chromium/gtk_visibility.patch @@ -18,7 +18,7 @@ index fdc3442590bddda969681d49c451d32f086bd5d1..b6fd63c0c845e5d7648e8693f1639b1f # on GTK. "//examples:peerconnection_client", diff --git a/ui/ozone/platform/x11/BUILD.gn b/ui/ozone/platform/x11/BUILD.gn -index b7b958cf96138334f356f1d27eaabd2de75e4b5a..81e45be92cf02ea5ef9e4180d6c03c681dd1e864 100644 +index ffae34799460f555e0269ad5dcfd9c0f668b16ea..706c8de26b2409f44dc6e53441740ff053cbb312 100644 --- a/ui/ozone/platform/x11/BUILD.gn +++ b/ui/ozone/platform/x11/BUILD.gn @@ -6,7 +6,7 @@ import("//build/config/chromeos/ui_mode.gni") diff --git a/patches/chromium/load_v8_snapshot_in_browser_process.patch b/patches/chromium/load_v8_snapshot_in_browser_process.patch index dda71215dd..77c5af4450 100644 --- a/patches/chromium/load_v8_snapshot_in_browser_process.patch +++ b/patches/chromium/load_v8_snapshot_in_browser_process.patch @@ -9,10 +9,10 @@ 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 4a8ee1f54861050c35db096ff07f7d7f56a46026..2cce4a071379f2988c7abe55eb5b801de0cb4f2f 100644 +index 277cf9a9179e3539b2f2d0ab24fba2ece4b9b274..1849a450829913c1b0c53330c1a9df517b6c8fd0 100644 --- a/content/app/content_main_runner_impl.cc +++ b/content/app/content_main_runner_impl.cc -@@ -294,11 +294,8 @@ void LoadV8SnapshotFile(const base::CommandLine& command_line) { +@@ -295,11 +295,8 @@ void LoadV8SnapshotFile(const base::CommandLine& command_line) { bool ShouldLoadV8Snapshot(const base::CommandLine& command_line, const std::string& process_type) { 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 b5974be4cf..4ed61a4269 100644 --- a/patches/chromium/mas_avoid_private_macos_api_usage.patch.patch +++ b/patches/chromium/mas_avoid_private_macos_api_usage.patch.patch @@ -35,10 +35,10 @@ system font by checking if it's kCTFontPriorityAttribute is set to system priority. diff --git a/base/BUILD.gn b/base/BUILD.gn -index bd20a3ead53ff862d3eac85a8313f28338db29e0..9c93c52fbfec3e85ed06847d28409f5bf4bfe55b 100644 +index 4617ca88ccacdc2b0889eef9ff3a28fd914eb22e..df74e765ef4c39a0cf187504ca411f5812c5c8d8 100644 --- a/base/BUILD.gn +++ b/base/BUILD.gn -@@ -1076,6 +1076,7 @@ component("base") { +@@ -1073,6 +1073,7 @@ component("base") { "//build:ios_buildflags", "//build/config/compiler:compiler_buildflags", "//third_party/modp_b64", @@ -547,7 +547,7 @@ index 010c713090e5038dc90db131c8f621422d30c03b..20c35e887a0496ee609c077e3b0494bd void ForwardKeyboardEvent(const input::NativeWebKeyboardEvent& key_event, diff --git a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm -index f69cd6100f2ac5ccb6f185e0d0bf186073ed5953..29a40923a55287b608c2ffae63a1dbbc2a7e7c1d 100644 +index 3094700368d25688be9e0fdfcd08f3f3345e7df9..eba89abb54098e14a00fbbf35eba9581d29b8062 100644 --- a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm +++ b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm @@ -34,6 +34,7 @@ @@ -558,7 +558,7 @@ index f69cd6100f2ac5ccb6f185e0d0bf186073ed5953..29a40923a55287b608c2ffae63a1dbbc #include "skia/ext/skia_utils_mac.h" #include "third_party/blink/public/common/features.h" #include "third_party/blink/public/mojom/input/input_handler.mojom.h" -@@ -2090,15 +2091,21 @@ - (NSAccessibilityRole)accessibilityRole { +@@ -2089,15 +2090,21 @@ - (NSAccessibilityRole)accessibilityRole { // Since this implementation doesn't have to wait any IPC calls, this doesn't // make any key-typing jank. --hbono 7/23/09 // @@ -581,7 +581,7 @@ index f69cd6100f2ac5ccb6f185e0d0bf186073ed5953..29a40923a55287b608c2ffae63a1dbbc return kAttributes; } diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn -index c0a4466595dc5a7a345ebf87a820ef64a9eff895..10f58b8711d3f6e50655bd8ec41992f97eddea89 100644 +index 8ac2508c0fc0102a7011870313b95f80f02b54ad..01b30acf7d98ed925a8285d94837894c916f7651 100644 --- a/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn @@ -342,6 +342,7 @@ source_set("browser") { @@ -714,10 +714,10 @@ index f57ce1a0430df7692be55685e79121ed604daf2a..3fbc26fb179a64a2f1eab027a05b1624 defines = [] diff --git a/content/renderer/BUILD.gn b/content/renderer/BUILD.gn -index c6f5d884808f5a55a08edd23f6f30bd1cb8a42ea..82826e3306712402d6951fdee710553b6dff987c 100644 +index ee387002e8dbb54ddeb1f61f1973560cc91bfb42..5a46859e916fd3510b7add5a6af7cea1cf4b4827 100644 --- a/content/renderer/BUILD.gn +++ b/content/renderer/BUILD.gn -@@ -328,6 +328,7 @@ target(link_target_type, "renderer") { +@@ -323,6 +323,7 @@ target(link_target_type, "renderer") { "//ui/strings:auto_image_annotation_strings_grit", "//url", "//v8", @@ -796,7 +796,7 @@ index a1068589ad844518038ee7bc15a3de9bc5cba525..1ff781c49f086ec8015c7d3c44567dbe } // namespace content diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn -index b4c06d82c010355f46fd5b16f69a4b4040961c6f..9c2eb16c9c5343a37a7d89afe46c24ade92f6dc3 100644 +index 47462e3912051b2b428ecc63fb69b178293abf8f..e8c54bad69b38a341372d4d06c87004d6467ba14 100644 --- a/content/test/BUILD.gn +++ b/content/test/BUILD.gn @@ -701,6 +701,7 @@ static_library("test_support") { @@ -1395,10 +1395,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 613943b1ee6faf5c57fbc7b6c0130cf87a7ff413..3904d55d7504c3e62de36c8040d52c11951b6bab 100644 +index 0813930230f263520478e6fa0c7a3339e63cae52..576f4a5356e82abe5ef7f3d82f75aed3ddd033c7 100644 --- a/third_party/blink/renderer/core/BUILD.gn +++ b/third_party/blink/renderer/core/BUILD.gn -@@ -443,6 +443,7 @@ component("core") { +@@ -445,6 +445,7 @@ component("core") { "//ui/gfx/geometry", "//ui/gfx/geometry:geometry_skia", "//ui/strings", 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 fb55296a36..fe40c6d9ab 100644 --- a/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch +++ b/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch @@ -7,10 +7,10 @@ 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 41701dcf0a10846c3d0f4a64b68823c1dcda6562..0049fcad1976bb60b878941d7d746918ef703381 100644 +index 48d5d5c0eb741ea1bb9b1f25233574716a77b49a..5193a50914f493c2e60787914ee064ddff81c930 100644 --- a/services/network/network_context.cc +++ b/services/network/network_context.cc -@@ -171,6 +171,11 @@ +@@ -169,6 +169,11 @@ #include "services/network/web_transport.h" #include "url/gurl.h" @@ -22,7 +22,7 @@ index 41701dcf0a10846c3d0f4a64b68823c1dcda6562..0049fcad1976bb60b878941d7d746918 #if BUILDFLAG(IS_CT_SUPPORTED) // gn check does not account for BUILDFLAG(). So, for iOS builds, it will // complain about a missing dependency on the target exposing this header. Add a -@@ -626,6 +631,111 @@ void RecordHSTSPreconnectUpgradeReason(HSTSRedirectUpgradeReason reason) { +@@ -624,6 +629,111 @@ void RecordHSTSPreconnectUpgradeReason(HSTSRedirectUpgradeReason reason) { } // namespace @@ -134,7 +134,7 @@ index 41701dcf0a10846c3d0f4a64b68823c1dcda6562..0049fcad1976bb60b878941d7d746918 constexpr uint32_t NetworkContext::kMaxOutstandingRequestsPerProcess; NetworkContext::NetworkContextHttpAuthPreferences:: -@@ -1027,6 +1137,13 @@ void NetworkContext::SetClient( +@@ -1025,6 +1135,13 @@ void NetworkContext::SetClient( client_.Bind(std::move(client)); } @@ -148,7 +148,7 @@ index 41701dcf0a10846c3d0f4a64b68823c1dcda6562..0049fcad1976bb60b878941d7d746918 void NetworkContext::CreateURLLoaderFactory( mojo::PendingReceiver receiver, mojom::URLLoaderFactoryParamsPtr params) { -@@ -2697,6 +2814,10 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( +@@ -2687,6 +2804,10 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( cert_verifier = std::make_unique( std::make_unique( std::move(cert_verifier))); @@ -160,10 +160,10 @@ index 41701dcf0a10846c3d0f4a64b68823c1dcda6562..0049fcad1976bb60b878941d7d746918 builder.SetCertVerifier(IgnoreErrorsCertVerifier::MaybeWrapCertVerifier( diff --git a/services/network/network_context.h b/services/network/network_context.h -index 1de8553558992765a6beca436bb5752268bf7747..304ff4e077ccbe04b7412c45301a17e2bcb4fbd5 100644 +index 855d72bd528242d657b232d55f4a893854675036..8b219bd72cef016eae66106bfe39024c42438a2e 100644 --- a/services/network/network_context.h +++ b/services/network/network_context.h -@@ -121,6 +121,7 @@ class SimpleUrlPatternMatcher; +@@ -120,6 +120,7 @@ class SimpleUrlPatternMatcher; } namespace network { @@ -171,7 +171,7 @@ index 1de8553558992765a6beca436bb5752268bf7747..304ff4e077ccbe04b7412c45301a17e2 class CookieManager; class HostResolver; class MdnsResponderManager; -@@ -254,6 +255,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -249,6 +250,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext void CreateURLLoaderFactory( mojo::PendingReceiver receiver, mojom::URLLoaderFactoryParamsPtr params) override; @@ -180,7 +180,7 @@ index 1de8553558992765a6beca436bb5752268bf7747..304ff4e077ccbe04b7412c45301a17e2 void ResetURLLoaderFactories() override; void GetViaObliviousHttp( mojom::ObliviousHttpRequestPtr request, -@@ -992,6 +995,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -980,6 +983,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext std::vector dismount_closures_; #endif // BUILDFLAG(IS_DIRECTORY_TRANSFER_REQUIRED) @@ -190,10 +190,10 @@ index 1de8553558992765a6beca436bb5752268bf7747..304ff4e077ccbe04b7412c45301a17e2 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 2829ec5ea7e4ac280e94be19efdea60eae6c54d1..2186263653906f0136fe0c6d124f48b533475b98 100644 +index 709aae5568b73df28282dec1d0a87ca4a0cb054c..8a94d2a4069baf617c9d1d9d6a36114694f2fc9d 100644 --- a/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom -@@ -311,6 +311,17 @@ struct SocketBrokerRemotes { +@@ -309,6 +309,17 @@ struct SocketBrokerRemotes { pending_remote server; }; @@ -211,7 +211,7 @@ index 2829ec5ea7e4ac280e94be19efdea60eae6c54d1..2186263653906f0136fe0c6d124f48b5 // Parameters for constructing a network context. struct NetworkContextParams { // The user agent string. -@@ -1006,6 +1017,9 @@ interface NetworkContext { +@@ -972,6 +983,9 @@ interface NetworkContext { // Sets a client for this network context. SetClient(pending_remote client); @@ -222,7 +222,7 @@ index 2829ec5ea7e4ac280e94be19efdea60eae6c54d1..2186263653906f0136fe0c6d124f48b5 CreateURLLoaderFactory( pending_receiver url_loader_factory, diff --git a/services/network/test/test_network_context.h b/services/network/test/test_network_context.h -index 317439aa3ae4873c22821e5e0c33539c5a2a914f..f7c2ad6a34a9d6d6fbf8d278429b701436edf633 100644 +index 9cb5bc9cb42c66c362ac83ff8ed5a9839245f46d..d451ca923203e514743510ea9a696d54ebb1ea16 100644 --- a/services/network/test/test_network_context.h +++ b/services/network/test/test_network_context.h @@ -63,6 +63,8 @@ class TestNetworkContext : public mojom::NetworkContext { diff --git a/patches/chromium/notification_provenance.patch b/patches/chromium/notification_provenance.patch index 28156c8fcf..a03799d03d 100644 --- a/patches/chromium/notification_provenance.patch +++ b/patches/chromium/notification_provenance.patch @@ -7,10 +7,10 @@ Pass RenderFrameHost through to PlatformNotificationService so Electron can identify which renderer a notification came from. diff --git a/chrome/browser/notifications/platform_notification_service_impl.cc b/chrome/browser/notifications/platform_notification_service_impl.cc -index 5b2b9b50fd76526e790055b3ed2ebbe966db850e..a3fdfaa605e5b6df1828b38d0ed05776397e3122 100644 +index fd890f3c91b0e614174362e2b7d61a63b9094c0c..6e63db38f289a6a83fdd93879e067d85fed25705 100644 --- a/chrome/browser/notifications/platform_notification_service_impl.cc +++ b/chrome/browser/notifications/platform_notification_service_impl.cc -@@ -265,6 +265,7 @@ bool PlatformNotificationServiceImpl::WasClosedProgrammatically( +@@ -266,6 +266,7 @@ bool PlatformNotificationServiceImpl::WasClosedProgrammatically( // TODO(awdf): Rename to DisplayNonPersistentNotification (Similar for Close) void PlatformNotificationServiceImpl::DisplayNotification( @@ -133,10 +133,10 @@ index 9bf238e64af483294ae3c3f18a4e9aed49a8658d..b9b2a4c8c387b8e8b4eb1f02fc0f891c const GURL& document_url, const WeakDocumentPtr& weak_document_ptr, diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc -index efa9f5f3d1efddfe8118c60bf44ac53d02e24df8..95f8614d6c8fbf74f60bcb127f19f78ddf6697e7 100644 +index 0862e7572ddc3011a9b3c3c8766e10cbbb95f6d3..158317d00cfcd3f2bfbdf972fb12690c5eeb01ec 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -2359,7 +2359,7 @@ void RenderProcessHostImpl::CreateNotificationService( +@@ -2368,7 +2368,7 @@ void RenderProcessHostImpl::CreateNotificationService( case RenderProcessHost::NotificationServiceCreatorType::kSharedWorker: case RenderProcessHost::NotificationServiceCreatorType::kDedicatedWorker: { storage_partition_impl_->GetPlatformNotificationContext()->CreateService( @@ -145,7 +145,7 @@ index efa9f5f3d1efddfe8118c60bf44ac53d02e24df8..95f8614d6c8fbf74f60bcb127f19f78d creator_type, std::move(receiver)); break; } -@@ -2367,7 +2367,7 @@ void RenderProcessHostImpl::CreateNotificationService( +@@ -2376,7 +2376,7 @@ void RenderProcessHostImpl::CreateNotificationService( CHECK(rfh); storage_partition_impl_->GetPlatformNotificationContext()->CreateService( diff --git a/patches/chromium/process_singleton.patch b/patches/chromium/process_singleton.patch index cc37bf47e8..93cb2df956 100644 --- a/patches/chromium/process_singleton.patch +++ b/patches/chromium/process_singleton.patch @@ -51,7 +51,7 @@ index c19313c0b58baf0597a99d52ed7fcdb7faacc934..2748dd196fe1f56357348a204e24f0b8 base::win::MessageWindow window_; // The message-only window. bool is_virtualized_; // Stuck inside Microsoft Softricity VM environment. diff --git a/chrome/browser/process_singleton_posix.cc b/chrome/browser/process_singleton_posix.cc -index 0ad5dd7547b9814476450e6ca4e35754d6995efc..12d50032ed589c861f73fa395156e4a6583f852d 100644 +index 09f3425d08097eba3a9dc40d0a4af38209b06b1f..73aa4cb9652870b0bff4684d7c72ae7dbd852db8 100644 --- a/chrome/browser/process_singleton_posix.cc +++ b/chrome/browser/process_singleton_posix.cc @@ -55,6 +55,7 @@ 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 aedf434b3e..7a060a5daf 100644 --- a/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch +++ b/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch @@ -44,7 +44,7 @@ index 081e2ceb505e4bb8104912df139f1f1deefe13d7..5c68b5609ce7a1d6d5c21690e9c6aee2 void RenderWidgetHostImpl::ShowContextMenuAtPoint( diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 87144696ec3a7684bf532ca1946ab8a9bcd20cc9..000301b133995e87eefddebb83cda6c3beac5a62 100644 +index ec8c9c382d1689d8ac698482df4909cb03cde6c2..f791952d5c33ba617d93600b84a42e2b6dc2b7c5 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc @@ -6135,6 +6135,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() { diff --git a/patches/chromium/refactor_patch_electron_permissiontypes_into_blink.patch b/patches/chromium/refactor_patch_electron_permissiontypes_into_blink.patch index a34d37b756..85a7b7895a 100644 --- a/patches/chromium/refactor_patch_electron_permissiontypes_into_blink.patch +++ b/patches/chromium/refactor_patch_electron_permissiontypes_into_blink.patch @@ -6,10 +6,10 @@ Subject: refactor: patch electron PermissionTypes into blink 6387077: [PermissionOptions] Generalize PermissionRequestDescription | https://chromium-review.googlesource.com/c/chromium/src/+/6387077 diff --git a/components/permissions/permission_util.cc b/components/permissions/permission_util.cc -index 2f68573b8fa30a4d63f0b2fa8ff4a8e502436f2f..198f6a6f7aa8c26f1db046455c8e28f444d3e401 100644 +index 7b1131679ef84ca575629f46ad98483eeb4d8d9e..d2264908cda81b73f8723dfd6d36e0efb8b08a31 100644 --- a/components/permissions/permission_util.cc +++ b/components/permissions/permission_util.cc -@@ -537,7 +537,17 @@ ContentSettingsType PermissionUtil::PermissionTypeToContentSettingsTypeSafe( +@@ -538,7 +538,17 @@ ContentSettingsType PermissionUtil::PermissionTypeToContentSettingsTypeSafe( return ContentSettingsType::WEB_APP_INSTALLATION; case PermissionType::LOCAL_NETWORK_ACCESS: return ContentSettingsType::LOCAL_NETWORK_ACCESS; @@ -28,10 +28,10 @@ index 2f68573b8fa30a4d63f0b2fa8ff4a8e502436f2f..198f6a6f7aa8c26f1db046455c8e28f4 break; } diff --git a/content/browser/permissions/permission_controller_impl.cc b/content/browser/permissions/permission_controller_impl.cc -index e56096991dfbffa3a16aa3aca602b59fbd48a4d5..80451d235373443f4e3d3f26d64e927b7951bdb5 100644 +index b5444310e66715e58743850d3ca20cca5d84e4fa..c02486b65cab9a974b61ec68c6d739f9f258657f 100644 --- a/content/browser/permissions/permission_controller_impl.cc +++ b/content/browser/permissions/permission_controller_impl.cc -@@ -94,7 +94,15 @@ PermissionToSchedulingFeature(PermissionType permission_name) { +@@ -93,7 +93,15 @@ PermissionToSchedulingFeature(PermissionType permission_name) { case PermissionType::AUTOMATIC_FULLSCREEN: case PermissionType::WEB_APP_INSTALLATION: case PermissionType::LOCAL_NETWORK_ACCESS: diff --git a/patches/chromium/refactor_unfilter_unresponsive_events.patch b/patches/chromium/refactor_unfilter_unresponsive_events.patch index a481475544..ef571a8d24 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 8111652440ae0ed36dd60901326ff67d76eb7ec7..d9b20ad086f4b921a04cd3d120d225fb80455905 100644 +index 442df34ab1f8f80afafbe249bc0359162b90e124..4752d7bca8e4f4e28bb7074f401ac8ee2ee311b9 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -10324,25 +10324,13 @@ void WebContentsImpl::RendererUnresponsive( +@@ -10323,25 +10323,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/render_widget_host_view_mac.patch b/patches/chromium/render_widget_host_view_mac.patch index 9e7254cbb6..9cecf7338e 100644 --- a/patches/chromium/render_widget_host_view_mac.patch +++ b/patches/chromium/render_widget_host_view_mac.patch @@ -8,7 +8,7 @@ respond to the first mouse click in their window, which is desirable for some kinds of utility windows. Similarly for `disableAutoHideCursor`. diff --git a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm -index b17bc8928cc86536fa01bd85b921020a2c656ca3..f69cd6100f2ac5ccb6f185e0d0bf186073ed5953 100644 +index f47f40986dc605ec1dbfa811d94851dcfa6912b1..3094700368d25688be9e0fdfcd08f3f3345e7df9 100644 --- a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm +++ b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm @@ -167,6 +167,15 @@ void ExtractUnderlines(NSAttributedString* string, 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 a90ab64908..a962b0d253 100644 --- a/patches/chromium/revert_code_health_clean_up_stale_macwebcontentsocclusion.patch +++ b/patches/chromium/revert_code_health_clean_up_stale_macwebcontentsocclusion.patch @@ -254,10 +254,10 @@ index 17d6d7d935f93afefa9123f56ef9c138c3070f93..8dfa7501a6a2998e107bf9b51f5e5c3d } diff --git a/content/common/features.cc b/content/common/features.cc -index f6b38a04e64b02a3a4ea0c84155967c4602cbdc2..d8b9141ace8d008667b55e028e36bba438530627 100644 +index f665b6af073a94bd4916a8c14cd2281ab7a07a32..9e4c24c14718384195ec7352701ee86f80e27aae 100644 --- a/content/common/features.cc +++ b/content/common/features.cc -@@ -312,6 +312,14 @@ BASE_FEATURE(kInterestGroupUpdateIfOlderThan, base::FEATURE_ENABLED_BY_DEFAULT); +@@ -356,6 +356,14 @@ BASE_FEATURE(kInterestGroupUpdateIfOlderThan, base::FEATURE_ENABLED_BY_DEFAULT); BASE_FEATURE(kIOSurfaceCapturer, base::FEATURE_ENABLED_BY_DEFAULT); #endif @@ -273,10 +273,10 @@ index f6b38a04e64b02a3a4ea0c84155967c4602cbdc2..d8b9141ace8d008667b55e028e36bba4 BASE_FEATURE(kKeepChildProcessAfterIPCReset, base::FEATURE_DISABLED_BY_DEFAULT); diff --git a/content/common/features.h b/content/common/features.h -index 762c98a66c0565b6eb2f45de051206c5e3eaf44d..24a5302fc618c27adc7e0ddc0614faeb12f0ed52 100644 +index 7fabf5fffd89fe321f9ba98682650258f03ccec0..c047f8300352455b354432d23a0bbee6a503adaa 100644 --- a/content/common/features.h +++ b/content/common/features.h -@@ -112,6 +112,9 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kInterestGroupUpdateIfOlderThan); +@@ -136,6 +136,9 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kInterestGroupUpdateIfOlderThan); #if BUILDFLAG(IS_MAC) CONTENT_EXPORT BASE_DECLARE_FEATURE(kIOSurfaceCapturer); #endif diff --git a/patches/chromium/revert_partial_remove_unused_prehandlemouseevent.patch b/patches/chromium/revert_partial_remove_unused_prehandlemouseevent.patch index 5a4a96f5f4..8ec9e479c8 100644 --- a/patches/chromium/revert_partial_remove_unused_prehandlemouseevent.patch +++ b/patches/chromium/revert_partial_remove_unused_prehandlemouseevent.patch @@ -54,7 +54,7 @@ index a7309941d904b9ab32ff101dfd26be7e09fed1ac..d8c715ade23f078aa2efacc59a97f0f4 if (mouse_event_callback.Run(mouse_event)) { return; diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index d9b20ad086f4b921a04cd3d120d225fb80455905..5b6be42aeb82432833946e1d94881834dc636892 100644 +index 4752d7bca8e4f4e28bb7074f401ac8ee2ee311b9..6545ec2edfec6d2712f49abecafc3027b6045c3d 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc @@ -4453,6 +4453,12 @@ void WebContentsImpl::RenderWidgetWasResized( diff --git a/patches/chromium/revert_views_remove_desktopwindowtreehostwin_window_enlargement.patch b/patches/chromium/revert_views_remove_desktopwindowtreehostwin_window_enlargement.patch index 09d4c4593c..e20bc7b77c 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 99a8e69f65341a10d179995af0a26105b652d3e4..f1fffffa9ea746dc6a403ce5e2e429de57dc1a8a 100644 +index 0d6c0b495cae4f3f62a46a495cec093e2ce92959..e795ed2155b0bb2d7ba8329190416df31920f824 100644 --- a/testing/variations/fieldtrial_testing_config.json +++ b/testing/variations/fieldtrial_testing_config.json -@@ -25486,6 +25486,21 @@ +@@ -25763,6 +25763,21 @@ ] } ], diff --git a/patches/chromium/short-circuit_permissions_checks_in_mediastreamdevicescontroller.patch b/patches/chromium/short-circuit_permissions_checks_in_mediastreamdevicescontroller.patch index 5a3c799fb4..e5ab5fc6d8 100644 --- a/patches/chromium/short-circuit_permissions_checks_in_mediastreamdevicescontroller.patch +++ b/patches/chromium/short-circuit_permissions_checks_in_mediastreamdevicescontroller.patch @@ -15,7 +15,7 @@ short-circuit all the permissions checks in MSDC for now to allow us to unduplicate this code. diff --git a/components/webrtc/media_stream_devices_controller.cc b/components/webrtc/media_stream_devices_controller.cc -index 0e528c5356f333f1397e569d0403c6c121f1b175..3c1ca4e67547118ebf2ec1ddf3847c741f2d00f3 100644 +index 90134f0470e29c28479eac9f0afef1ef9455d20f..71ca1171daddf4f851e20428f13c1f9da7a5ca8f 100644 --- a/components/webrtc/media_stream_devices_controller.cc +++ b/components/webrtc/media_stream_devices_controller.cc @@ -57,7 +57,8 @@ bool PermissionIsRequested(blink::PermissionType permission, @@ -28,7 +28,7 @@ index 0e528c5356f333f1397e569d0403c6c121f1b175..3c1ca4e67547118ebf2ec1ddf3847c74 content::RenderFrameHost* rfh = content::RenderFrameHost::FromID( request.render_process_id, request.render_frame_id); // The RFH may have been destroyed by the time the request is processed. -@@ -92,7 +93,7 @@ void MediaStreamDevicesController::RequestPermissions( +@@ -85,7 +86,7 @@ void MediaStreamDevicesController::RequestPermissions( std::move(callback))); std::vector permission_types; @@ -37,7 +37,7 @@ index 0e528c5356f333f1397e569d0403c6c121f1b175..3c1ca4e67547118ebf2ec1ddf3847c74 content::PermissionController* permission_controller = web_contents->GetBrowserContext()->GetPermissionController(); -@@ -174,19 +175,31 @@ void MediaStreamDevicesController::RequestPermissions( +@@ -167,19 +168,31 @@ void MediaStreamDevicesController::RequestPermissions( requested_audio_capture_device_ids; permission_request_description.requested_video_capture_device_ids = requested_video_capture_device_ids; @@ -77,7 +77,7 @@ index 0e528c5356f333f1397e569d0403c6c121f1b175..3c1ca4e67547118ebf2ec1ddf3847c74 } MediaStreamDevicesController::~MediaStreamDevicesController() { -@@ -436,6 +449,7 @@ bool MediaStreamDevicesController::PermissionIsBlockedForReason( +@@ -430,6 +443,7 @@ bool MediaStreamDevicesController::PermissionIsBlockedForReason( return false; } @@ -85,7 +85,7 @@ index 0e528c5356f333f1397e569d0403c6c121f1b175..3c1ca4e67547118ebf2ec1ddf3847c74 // TODO(raymes): This function wouldn't be needed if // PermissionManager::RequestPermissions returned a denial reason. content::PermissionResult result = -@@ -449,6 +463,7 @@ bool MediaStreamDevicesController::PermissionIsBlockedForReason( +@@ -443,6 +457,7 @@ bool MediaStreamDevicesController::PermissionIsBlockedForReason( DCHECK_EQ(blink::mojom::PermissionStatus::DENIED, result.status); return true; } @@ -94,7 +94,7 @@ index 0e528c5356f333f1397e569d0403c6c121f1b175..3c1ca4e67547118ebf2ec1ddf3847c74 } diff --git a/components/webrtc/media_stream_devices_controller.h b/components/webrtc/media_stream_devices_controller.h -index 5e46e66f51994d3eef3b19ee57b37e6cf32658e8..d01403717a0df2c18b3d88495d9a4f85f242693a 100644 +index d74b927a0fd40f000285c7793897d595ccbc8421..3d6661a9f66497186e37107e61cbf61ebace8392 100644 --- a/components/webrtc/media_stream_devices_controller.h +++ b/components/webrtc/media_stream_devices_controller.h @@ -50,7 +50,8 @@ class MediaStreamDevicesController { diff --git a/patches/chromium/support_mixed_sandbox_with_zygote.patch b/patches/chromium/support_mixed_sandbox_with_zygote.patch index f7901b740e..89e87ed6b5 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 95f8614d6c8fbf74f60bcb127f19f78ddf6697e7..b4906f0aca1e2b4dbab7e253b553c64e51de03d2 100644 +index 158317d00cfcd3f2bfbdf972fb12690c5eeb01ec..eb506ce5f78e5d320c3e31de19a3d4738ea0e2e5 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -1937,6 +1937,10 @@ bool RenderProcessHostImpl::Init() { +@@ -1946,6 +1946,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 8c7a43c23c..96a5ae8a26 100644 --- a/patches/chromium/web_contents.patch +++ b/patches/chromium/web_contents.patch @@ -9,7 +9,7 @@ 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 4bfee95e569095e9fca5987765a2be4d85a59265..bf4d1e0bc8d53d3ea2566e17d23c553c88e9e109 100644 +index ec2814dc6d2e86d1508d3bd9889491c362c2130b..af192cb73326075764f517f821ff888af2cbc956 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc @@ -4184,6 +4184,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, diff --git a/patches/chromium/webview_fullscreen.patch b/patches/chromium/webview_fullscreen.patch index e52f7f12f6..f94364315c 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 b97560e77c6066ad93dc9865a131a0823c5017e2..1084d0aef6f8fd290e899fe06f525a0e29d2ccef 100644 +index 6f9982bc93444f1d417be59ab85eb48db54a19ab..9cff0939ff75aec57be14e8214600a7fb47a713a 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -8971,6 +8971,17 @@ void RenderFrameHostImpl::EnterFullscreen( +@@ -8969,6 +8969,17 @@ void RenderFrameHostImpl::EnterFullscreen( } } @@ -37,7 +37,7 @@ index b97560e77c6066ad93dc9865a131a0823c5017e2..1084d0aef6f8fd290e899fe06f525a0e 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 bf4d1e0bc8d53d3ea2566e17d23c553c88e9e109..721d83390d33d5f344d88cb402b0bf8ce77aca36 100644 +index af192cb73326075764f517f821ff888af2cbc956..7269f4d219c295a9ef9843da33d3de4d933b4d47 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc @@ -4470,21 +4470,25 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent( diff --git a/patches/chromium/worker_context_will_destroy.patch b/patches/chromium/worker_context_will_destroy.patch index 00a1150785..ad62dc90d0 100644 --- a/patches/chromium/worker_context_will_destroy.patch +++ b/patches/chromium/worker_context_will_destroy.patch @@ -26,10 +26,10 @@ index d63a25362fbfa35677de03fd09da535780feb1c9..c2fa875848478bca9115fc94271fde92 // An empty URL is returned if the URL is not overriden. virtual GURL OverrideFlashEmbedWithHTML(const GURL& url); diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc -index 7a3bdc05630d997824bb6ea46fe3ad911746ca73..eb5550609ec1361cafa1770dda2a3433336a71c1 100644 +index d7da5f77ff74ffffca583ce37de36ce6f7a94bdc..3e290895495d6a1132f2306951faeb25c4b2d258 100644 --- a/content/renderer/renderer_blink_platform_impl.cc +++ b/content/renderer/renderer_blink_platform_impl.cc -@@ -903,6 +903,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() { +@@ -904,6 +904,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() { WorkerThreadRegistry::Instance()->WillStopCurrentWorkerThread(); } 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 109bda78b3..abaf64f36d 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 @@ -35,10 +35,10 @@ index c2fa875848478bca9115fc94271fde920e6b62fa..6fa11f89ea212eabd7fdc979d2d99138 // from the worker thread. virtual void WillDestroyWorkerContextOnWorkerThread( diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc -index eb5550609ec1361cafa1770dda2a3433336a71c1..87d3968badf815da3e2e6642f6c50d4676b1e439 100644 +index 3e290895495d6a1132f2306951faeb25c4b2d258..3a88a4aa8175887c0b58f81859ce1807007bfe4b 100644 --- a/content/renderer/renderer_blink_platform_impl.cc +++ b/content/renderer/renderer_blink_platform_impl.cc -@@ -915,6 +915,12 @@ void RendererBlinkPlatformImpl::WorkerContextCreated( +@@ -916,6 +916,12 @@ void RendererBlinkPlatformImpl::WorkerContextCreated( worker); } 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 df22cda38a..ff20e03753 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 b3805c33372f06e85e1cd399c89f2bef276f53cc..836b51311ee8b429238e647702081fac512b5fde 100644 +index 124c2c50203563e68576e9bc357b65a09fd7cbcf..37e08b9c0cc7cd6f2f3d3ba3a2bcf4e302bd9fa6 100644 --- a/front_end/entrypoints/main/MainImpl.ts +++ b/front_end/entrypoints/main/MainImpl.ts -@@ -753,6 +753,8 @@ export class MainImpl { +@@ -761,6 +761,8 @@ export class MainImpl { globalThis.Main = globalThis.Main || {}; // @ts-expect-error Exported for Tests.js globalThis.Main.Main = MainImpl; diff --git a/patches/v8/.patches b/patches/v8/.patches index 72566047a5..dc98544242 100644 --- a/patches/v8/.patches +++ b/patches/v8/.patches @@ -1,2 +1 @@ chore_allow_customizing_microtask_policy_per_context.patch -cherry-pick-e0052e7af9c9.patch diff --git a/patches/v8/cherry-pick-e0052e7af9c9.patch b/patches/v8/cherry-pick-e0052e7af9c9.patch deleted file mode 100644 index 424b2ccccd..0000000000 --- a/patches/v8/cherry-pick-e0052e7af9c9.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Victor Gomes -Date: Tue, 9 Dec 2025 15:16:44 +0100 -Subject: [maglev][arm64] Ensure we zero-extend in Int32Multiply - -Fixed: 466786677 -Change-Id: Ie75222393743a8beeb99f9382dc6d345b8f62604 -Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7241729 -Auto-Submit: Victor Gomes -Commit-Queue: Darius Mercadier -Reviewed-by: Darius Mercadier -Commit-Queue: Victor Gomes -Cr-Commit-Position: refs/heads/main@{#104206} - -diff --git a/src/maglev/arm64/maglev-ir-arm64.cc b/src/maglev/arm64/maglev-ir-arm64.cc -index d76c6d126101ca5707c546c64ee4b16b1f487a97..049cb752e739091bca89a2edcd9273a2f70fc978 100644 ---- a/src/maglev/arm64/maglev-ir-arm64.cc -+++ b/src/maglev/arm64/maglev-ir-arm64.cc -@@ -323,7 +323,7 @@ void Int32Multiply::GenerateCode(MaglevAssembler* masm, - __ Smull(out, left, right); - - // Making sure that the 32-bit output is zero-extended. -- __ Move(out.W(), out.W()); -+ __ Mov(out.W(), out.W()); - } - - void Int32MultiplyOverflownBits::SetValueLocationConstraints() { -@@ -468,7 +468,7 @@ void Int32MultiplyWithOverflow::GenerateCode(MaglevAssembler* masm, - - // Making sure that the 32-bit output is zero-extended (and moving it to the - // right register if {out_alias_input} is true). -- __ Move(out, res.W()); -+ __ Mov(out, res.W()); - } - - void Int32DivideWithOverflow::SetValueLocationConstraints() { -@@ -536,7 +536,7 @@ void Int32DivideWithOverflow::GenerateCode(MaglevAssembler* masm, - __ CompareAndBranch(temp, Immediate(0), ne, - __ GetDeoptLabel(this, DeoptimizeReason::kNotInt32)); - -- __ Move(out, res); -+ __ Mov(out, res); - } - - void Int32ModulusWithOverflow::SetValueLocationConstraints() { -diff --git a/test/mjsunit/maglev/regress-466786677.js b/test/mjsunit/maglev/regress-466786677.js -new file mode 100644 -index 0000000000000000000000000000000000000000..5b58f1104c09d1a2eb9702af063fa42d50655ed8 ---- /dev/null -+++ b/test/mjsunit/maglev/regress-466786677.js -@@ -0,0 +1,22 @@ -+// Copyright 2025 the V8 project authors. All rights reserved. -+// Use of this source code is governed by a BSD-style license that can be -+// found in the LICENSE file. -+ -+// Flags: --allow-natives-syntax -+ -+function trigger(cond) { -+ let o = {}; -+ let mul = (cond ? 1 : 0x80000000) | 0; -+ print(mul); -+ let idx = (mul * 2) | 0; -+ print(idx); -+ o[0] = 1.1; -+ if (cond) o[1] = 2.2; -+ return o[idx]; -+} -+ -+%PrepareFunctionForOptimization(trigger); -+trigger(true); -+trigger(false); -+%OptimizeMaglevOnNextCall(trigger); -+trigger(false); diff --git a/shell/browser/ui/win/jump_list.cc b/shell/browser/ui/win/jump_list.cc index 63fdb05df6..afe0fb1ced 100644 --- a/shell/browser/ui/win/jump_list.cc +++ b/shell/browser/ui/win/jump_list.cc @@ -47,7 +47,7 @@ bool AppendTask(const JumpListItem& item, IObjectCollection* collection) { CComQIPtr property_store(link); if (!base::win::SetStringValueForPropertyStore(property_store, PKEY_Title, - item.title.c_str())) + item.title)) return false; return SUCCEEDED(collection->AddObject(link)); diff --git a/shell/common/api/electron_api_shared_texture.cc b/shell/common/api/electron_api_shared_texture.cc index f8b825bb10..708b42a049 100644 --- a/shell/common/api/electron_api_shared_texture.cc +++ b/shell/common/api/electron_api_shared_texture.cc @@ -7,7 +7,6 @@ #include "base/base64.h" #include "base/command_line.h" #include "base/numerics/byte_conversions.h" -#include "components/viz/common/resources/shared_image_format_utils.h" #include "content/browser/compositor/image_transport_factory.h" // nogncheck #include "gpu/command_buffer/client/context_support.h" #include "gpu/ipc/client/client_shared_image_interface.h" @@ -703,8 +702,8 @@ v8::Local ImportSharedTexture(v8::Isolate* isolate, media::VideoPixelFormat pixel_format = shared_texture.pixel_format; gfx::ColorSpace color_space = shared_texture.color_space; - auto buffer_format = media::VideoPixelFormatToGfxBufferFormat(pixel_format); - if (!buffer_format.has_value()) { + auto si_format = media::VideoPixelFormatToSharedImageFormat(pixel_format); + if (!si_format.has_value()) { gin_helper::ErrorThrower(isolate).ThrowTypeError( "Invalid shared texture buffer format"); return v8::Null(isolate); @@ -723,10 +722,8 @@ v8::Local ImportSharedTexture(v8::Isolate* isolate, gpu::SHARED_IMAGE_USAGE_RASTER_READ | gpu::SHARED_IMAGE_USAGE_DISPLAY_READ; #endif - - auto si_format = viz::GetSharedImageFormat(buffer_format.value()); auto si = - sii->CreateSharedImage({si_format, coded_size, color_space, + sii->CreateSharedImage({si_format.value(), coded_size, color_space, shared_image_usage, "SharedTextureVideoFrame"}, std::move(gmb_handle));