From 595920a3085ba580625d71298feacc6f6d6bcccc Mon Sep 17 00:00:00 2001 From: "electron-roller[bot]" <84116207+electron-roller[bot]@users.noreply.github.com> Date: Fri, 7 Nov 2025 10:13:45 -0500 Subject: [PATCH] chore: bump chromium to 144.0.7512.1 (main) (#48768) * chore: bump chromium in DEPS to 144.0.7507.0 * chore: bump chromium in DEPS to 144.0.7508.0 * chore: update patches * 7101838: [pathbuilder] Enforce immutable SkPath APIs globally https://chromium-review.googlesource.com/c/chromium/src/+/7101838 * chore: update filenames.libcxx.gni * [pathbuilder] Enforce immutable SkPath APIs globally https://chromium-review.googlesource.com/c/chromium/src/+/7101838 * Reduce service_worker_info.h includes in headers https://chromium-review.googlesource.com/c/chromium/src/+/7108401 * chore: bump chromium in DEPS to 144.0.7510.0 * chore: update patches * Use internal popup menus for tabs in actor-controlled states https://chromium-review.googlesource.com/c/chromium/src/+/7074751 * [api] Delete deprecated fields on v8::Isolate https://chromium-review.googlesource.com/c/v8/v8/+/7081397 xref: https://github.com/nodejs/node/pull/60488/commits/98d243aea02971dfd56af02f30be44e33b74c265 * Fixup Reduce service_worker_info.h includes in headers * Promote deprecation of v8::Context and v8::Object API methods https://chromium-review.googlesource.com/c/v8/v8/+/7087956 * fixup Promote deprecation of v8::Context and v8::Object API methods * chore: bump chromium in DEPS to 144.0.7512.1 * chore: update patches * fixup [pathbuilder] Enforce immutable SkPath APIs global * chore: update filenames.hunspell.gni * fix deprecation of v8::Context and v8::Object API methods for nan https://chromium-review.googlesource.com/c/v8/v8/+/7087956 * [PDF] Implement PdfHelpBubbleHandlerFactory https://chromium-review.googlesource.com/c/chromium/src/+/7056325 also: [PDF Ink Signatures] Hook up IPH https://chromium-review.googlesource.com/c/chromium/src/+/7056207 * Remove base/hash/md5.h https://chromium-review.googlesource.com/c/chromium/src/+/7113738 * fixup for lint * Remove deprecated interceptor callback types and AccessControl enum https://chromium-review.googlesource.com/c/v8/v8/+/7112747 * fixup for lint * fixup [PDF] Implement PdfHelpBubbleHandlerFactory * use base::SHA1HashString instead of std::hash --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: John Kleinschmidt --- BUILD.gn | 2 + DEPS | 2 +- chromium_src/BUILD.gn | 4 + filenames.hunspell.gni | 7 +- filenames.libcxx.gni | 1 + .../add_didinstallconditionalfeatures.patch | 12 +- ..._scheduler_throttling_per_renderview.patch | 10 +- ..._windows_to_have_different_web_prefs.patch | 10 +- ..._depend_on_packed_resource_integrity.patch | 14 +-- patches/chromium/build_gn.patch | 2 +- patches/chromium/can_create_window.patch | 30 ++--- ...ctron_objects_to_wrappablepointertag.patch | 2 +- ...ameter_in_script_lifecycle_observers.patch | 16 +-- ...fy_chromium_handling_of_mouse_events.patch | 4 +- .../chromium/chore_partial_revert_of.patch | 4 +- ...screationoverridden_with_full_params.patch | 22 ++-- .../chromium/enable_reset_aspect_ratio.patch | 2 +- ...xpose_setuseragent_on_networkcontext.patch | 6 +- .../extend_apply_webpreferences.patch | 4 +- ...t_allow_code_cache_in_custom_schemes.patch | 2 +- ...e_launch_options_for_service_process.patch | 6 +- ...moothing_css_rule_and_blink_painting.patch | 16 +-- ...g_exit_code_on_service_process_crash.patch | 4 +- ..._raw_response_headers_from_urlloader.patch | 8 +- ...dless_mode_handling_in_native_widget.patch | 2 +- ...ding_non-standard_schemes_in_iframes.patch | 4 +- ...x_harden_blink_scriptstate_maybefrom.patch | 15 +-- patches/chromium/fix_linux_tray_id.patch | 10 +- ...king_and_message_bubbling_on_windows.patch | 10 +- ...board_hides_on_input_blur_in_webview.patch | 4 +- ..._material_update_issue_on_windows_11.patch | 2 +- ...from_localframe_requestexecutescript.patch | 4 +- patches/chromium/frame_host_manager.patch | 4 +- .../chromium/gritsettings_resource_ids.patch | 4 +- ..._avoid_private_macos_api_usage.patch.patch | 14 +-- ...emote_certificate_verification_logic.patch | 6 +- .../chromium/notification_provenance.patch | 6 +- ...xture_remove_keyed_mutex_on_win_dxgi.patch | 2 +- ...r_changes_to_the_webcontentsobserver.patch | 8 +- ...efactor_unfilter_unresponsive_events.patch | 4 +- patches/chromium/resource_file_conflict.patch | 6 +- ...ean_up_stale_macwebcontentsocclusion.patch | 8 +- ...al_remove_unused_prehandlemouseevent.patch | 12 +- ...windowtreehostwin_window_enlargement.patch | 28 ++--- patches/chromium/scroll_bounce_flag.patch | 4 +- .../support_mixed_sandbox_with_zygote.patch | 4 +- patches/chromium/web_contents.patch | 12 +- patches/chromium/webview_fullscreen.patch | 10 +- .../worker_context_will_destroy.patch | 14 +-- ...feat_add_hook_to_notify_script_ready.patch | 14 +-- patches/nan/.patches | 2 + ...v8_context_and_v8_object_api_methods.patch | 95 ++++++++++++++ ...ve_accesscontrol_enum_for_v8_14_4_59.patch | 50 ++++++++ patches/node/.patches | 2 + ...lete_deprecated_fields_on_v8_isolate.patch | 20 +++ ...v8_context_and_v8_object_api_methods.patch | 119 ++++++++++++++++++ .../api/electron_api_service_worker_main.cc | 1 + .../browser/api/electron_api_web_contents.cc | 3 +- shell/browser/electron_browser_client.cc | 7 ++ .../win/notification_presenter_win.cc | 4 +- shell/browser/ui/views/win_icon_painter.cc | 12 +- shell/common/gin_helper/destroyable.cc | 9 +- shell/common/gin_helper/trackable_object.h | 6 +- shell/common/gin_helper/wrappable.cc | 25 ++-- shell/common/node_bindings.cc | 8 +- shell/renderer/electron_smooth_round_rect.cc | 12 +- shell/renderer/preload_realm_context.cc | 12 +- 67 files changed, 553 insertions(+), 235 deletions(-) create mode 100644 patches/nan/fix_deprecation_of_v8_context_and_v8_object_api_methods.patch create mode 100644 patches/nan/remove_accesscontrol_enum_for_v8_14_4_59.patch create mode 100644 patches/node/api_delete_deprecated_fields_on_v8_isolate.patch create mode 100644 patches/node/api_promote_deprecation_of_v8_context_and_v8_object_api_methods.patch diff --git a/BUILD.gn b/BUILD.gn index 9eac9b970c..da572f0924 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -762,11 +762,13 @@ source_set("electron_lib") { if (enable_pdf_viewer) { deps += [ "//chrome/browser/resources/pdf:resources", + "//chrome/browser/ui:browser_element_identifiers", "//components/pdf/browser", "//components/pdf/browser:interceptors", "//components/pdf/common:constants", "//components/pdf/common:util", "//components/pdf/renderer", + "//components/user_education/webui", "//pdf", "//pdf:content_restriction", ] diff --git a/DEPS b/DEPS index 2295902161..32e0a7c9a5 100644 --- a/DEPS +++ b/DEPS @@ -2,7 +2,7 @@ gclient_gn_args_from = 'src' vars = { 'chromium_version': - '144.0.7506.0', + '144.0.7512.1', 'node_version': 'v24.11.0', 'nan_version': diff --git a/chromium_src/BUILD.gn b/chromium_src/BUILD.gn index 3ae92ec6f8..36dd0ea29d 100644 --- a/chromium_src/BUILD.gn +++ b/chromium_src/BUILD.gn @@ -383,6 +383,8 @@ static_library("chrome") { "//chrome/browser/pdf/chrome_pdf_stream_delegate.h", "//chrome/browser/pdf/pdf_extension_util.cc", "//chrome/browser/pdf/pdf_extension_util.h", + "//chrome/browser/pdf/pdf_help_bubble_handler_factory.cc", + "//chrome/browser/pdf/pdf_help_bubble_handler_factory.h", "//chrome/browser/pdf/pdf_viewer_stream_manager.cc", "//chrome/browser/pdf/pdf_viewer_stream_manager.h", "//chrome/browser/plugins/pdf_iframe_navigation_throttle.cc", @@ -391,6 +393,8 @@ static_library("chrome") { deps += [ "//components/pdf/browser", "//components/pdf/renderer", + "//ui/base/interaction", + "//ui/webui/resources/cr_components/help_bubble:mojo_bindings", ] } } else { diff --git a/filenames.hunspell.gni b/filenames.hunspell.gni index 64574354e4..38c2c1fc2b 100644 --- a/filenames.hunspell.gni +++ b/filenames.hunspell.gni @@ -7,21 +7,17 @@ hunspell_dictionaries = [ "//third_party/hunspell_dictionaries/da-DK-3-0.bdic", "//third_party/hunspell_dictionaries/de-DE-3-0.bdic", "//third_party/hunspell_dictionaries/el-GR-3-0.bdic", - "//third_party/hunspell_dictionaries/en-AU-10-0.bdic", "//third_party/hunspell_dictionaries/en-AU-10-1.bdic", - "//third_party/hunspell_dictionaries/en-CA-10-0.bdic", "//third_party/hunspell_dictionaries/en-CA-10-1.bdic", - "//third_party/hunspell_dictionaries/en-GB-10-0.bdic", "//third_party/hunspell_dictionaries/en-GB-10-1.bdic", - "//third_party/hunspell_dictionaries/en-GB-oxendict-10-0.bdic", "//third_party/hunspell_dictionaries/en-GB-oxendict-10-1.bdic", - "//third_party/hunspell_dictionaries/en-US-10-0.bdic", "//third_party/hunspell_dictionaries/en-US-10-1.bdic", "//third_party/hunspell_dictionaries/es-ES-3-0.bdic", "//third_party/hunspell_dictionaries/et-EE-3-0.bdic", "//third_party/hunspell_dictionaries/fa-IR-9-0.bdic", "//third_party/hunspell_dictionaries/fo-FO-3-0.bdic", "//third_party/hunspell_dictionaries/fr-FR-3-0.bdic", + "//third_party/hunspell_dictionaries/gl-1-0.bdic", "//third_party/hunspell_dictionaries/he-IL-3-0.bdic", "//third_party/hunspell_dictionaries/hi-IN-3-0.bdic", "//third_party/hunspell_dictionaries/hr-HR-3-0.bdic", @@ -59,6 +55,7 @@ hunspell_dictionaries = [ hunspell_licenses = [ "//third_party/hunspell_dictionaries/COPYING", "//third_party/hunspell_dictionaries/COPYING.Apache", + "//third_party/hunspell_dictionaries/COPYING.GPL3", "//third_party/hunspell_dictionaries/COPYING.LESSER", "//third_party/hunspell_dictionaries/COPYING.LGPL", "//third_party/hunspell_dictionaries/COPYING.MIT", diff --git a/filenames.libcxx.gni b/filenames.libcxx.gni index 051b368ff3..9b728cc89f 100644 --- a/filenames.libcxx.gni +++ b/filenames.libcxx.gni @@ -1454,6 +1454,7 @@ libcxx_headers = [ "//third_party/libc++/src/include/__type_traits/is_valid_expansion.h", "//third_party/libc++/src/include/__type_traits/is_void.h", "//third_party/libc++/src/include/__type_traits/is_volatile.h", + "//third_party/libc++/src/include/__type_traits/is_within_lifetime.h", "//third_party/libc++/src/include/__type_traits/lazy.h", "//third_party/libc++/src/include/__type_traits/make_32_64_or_128_bit.h", "//third_party/libc++/src/include/__type_traits/make_const_lvalue_ref.h", diff --git a/patches/chromium/add_didinstallconditionalfeatures.patch b/patches/chromium/add_didinstallconditionalfeatures.patch index 63f9a72be6..3335a277cd 100644 --- a/patches/chromium/add_didinstallconditionalfeatures.patch +++ b/patches/chromium/add_didinstallconditionalfeatures.patch @@ -23,10 +23,10 @@ index 5196f155cdc641b66c4faa77d8b00097145a1290..bbfac47a74f989482343c222b78f187b int32_t world_id) {} virtual void DidClearWindowObject() {} diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc -index 30c2972e1fbc21d382304897c542ecd7fa95b896..3f512dcaec9f1d8a1375277ab8c6649d69070a33 100644 +index 1999b88df0cf82921eb74b7167bf119ff9bbc23a..f0a6a03efe20bf674a6fb2d4ad33de4a829cef53 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc -@@ -4665,6 +4665,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local context, +@@ -4662,6 +4662,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local context, observer.DidCreateScriptContext(context, world_id); } @@ -40,10 +40,10 @@ index 30c2972e1fbc21d382304897c542ecd7fa95b896..3f512dcaec9f1d8a1375277ab8c6649d int world_id) { for (auto& observer : observers_) diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h -index c3c45d6a953d7c068c0d6c8bfb6855cd4403aa6d..b3fd71b237c134853f796a1d8d803e4d28519d53 100644 +index 19c5dab00dd9355736c6040868b320483b780afb..621cd9ae7f43470ed4414a48d62330b36c7058e9 100644 --- a/content/renderer/render_frame_impl.h +++ b/content/renderer/render_frame_impl.h -@@ -602,6 +602,8 @@ class CONTENT_EXPORT RenderFrameImpl +@@ -603,6 +603,8 @@ class CONTENT_EXPORT RenderFrameImpl void DidObserveLayoutShift(double score, bool after_input_or_scroll) override; void DidCreateScriptContext(v8::Local context, int world_id) override; @@ -123,10 +123,10 @@ index fcc0928abbc454281b022e0451d993651ecba42f..16066fe34ee0335a0dabe00b6890e584 int32_t world_id) override; diff --git a/third_party/blink/renderer/core/loader/empty_clients.h b/third_party/blink/renderer/core/loader/empty_clients.h -index 9ec4431ed035543beb78a3311049886c6d8e03f8..d46f3b764f653c990e57fb2c67121c8fd6b1b115 100644 +index b1677488cb64d2ad83f231b4cbe74bc4f56149b4..80ee0065d1b16520389b6809402438f087430fa3 100644 --- a/third_party/blink/renderer/core/loader/empty_clients.h +++ b/third_party/blink/renderer/core/loader/empty_clients.h -@@ -424,6 +424,8 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient { +@@ -426,6 +426,8 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient { void DidCreateScriptContext(v8::Local, int32_t world_id) override {} 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 c7dd726909..2c583a41ee 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 7f995dc1fab7a1b5319f6fe9bb4d37b3851dbf87..58c93c5acf9f63eb3391fafe2904b202 // 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 2bb50e492558f0130918717605bf48b8a61f1e14..b50e4805af36aa96c0ce69359adcf1b18d80c62a 100644 +index 48a7bc14663edceaca00a397e528c50a96f7613f..1ba451388e2c8a702a3709d82456c32e6423c9b0 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -2499,6 +2499,10 @@ void WebViewImpl::SetPageLifecycleStateInternal( +@@ -2511,6 +2511,10 @@ void WebViewImpl::SetPageLifecycleStateInternal( TRACE_EVENT2("navigation", "WebViewImpl::SetPageLifecycleStateInternal", "old_state", old_state, "new_state", new_state); @@ -130,7 +130,7 @@ index 2bb50e492558f0130918717605bf48b8a61f1e14..b50e4805af36aa96c0ce69359adcf1b1 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 && -@@ -4007,10 +4011,23 @@ PageScheduler* WebViewImpl::Scheduler() const { +@@ -4021,10 +4025,23 @@ PageScheduler* WebViewImpl::Scheduler() const { return GetPage()->GetPageScheduler(); } @@ -155,7 +155,7 @@ index 2bb50e492558f0130918717605bf48b8a61f1e14..b50e4805af36aa96c0ce69359adcf1b1 // Do not throttle if the page should be painting. bool is_visible = diff --git a/third_party/blink/renderer/core/exported/web_view_impl.h b/third_party/blink/renderer/core/exported/web_view_impl.h -index 881e561c0b4c55e30f6b4f69bcbbe092cc449fd1..9afced261ae85244f99dac4372fb7b1c3eabfbaa 100644 +index 973f9acb6186a24aeb6343ac4d868883e98cdf52..a3860649929fc0cff9680191ed9367fc68462fd3 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.h +++ b/third_party/blink/renderer/core/exported/web_view_impl.h @@ -447,6 +447,7 @@ class CORE_EXPORT WebViewImpl final : public WebView, @@ -166,7 +166,7 @@ index 881e561c0b4c55e30f6b4f69bcbbe092cc449fd1..9afced261ae85244f99dac4372fb7b1c void SetVisibilityState(mojom::blink::PageVisibilityState visibility_state, bool is_initial_state) override; mojom::blink::PageVisibilityState GetVisibilityState() override; -@@ -939,6 +940,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, +@@ -941,6 +942,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, // If true, we send IPC messages when |preferred_size_| changes. bool send_preferred_size_changes_ = false; 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 52c006a2fc..8107e23a70 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,7 +8,7 @@ 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 42005e4758187331909b87f82e6e008a03a14f7f..f76615d34483b3485d7729889d0a895d13961f57 100644 +index 11e6b9d984eb95adfeb8675d487002fa1ac851bd..081cf9d03cb9db13113b604af104afbe9030e5c8 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 StructTraitsaccelerated_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 c1f0a4cae029527f9ea966b53fea2faa31c4cd90..e2bfc5356fc824b79231775ad85a45c6634093f7 100644 +index 1ba0466171963503d412b8aeb37d5953b3bbda9d..34654a186c0dc1715ac217d4c1480e6c36897e93 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 c1f0a4cae029527f9ea966b53fea2faa31c4cd90..e2bfc5356fc824b79231775ad85a45c6 #include "build/build_config.h" #include "net/nqe/effective_connection_type.h" #include "third_party/blink/public/common/common_export.h" -@@ -461,6 +462,19 @@ struct BLINK_COMMON_EXPORT WebPreferences { +@@ -466,6 +467,19 @@ struct BLINK_COMMON_EXPORT WebPreferences { bool should_screenshot_on_mainframe_same_doc_navigation = true; #endif // BUILDFLAG(IS_ANDROID) @@ -64,7 +64,7 @@ index c1f0a4cae029527f9ea966b53fea2faa31c4cd90..e2bfc5356fc824b79231775ad85a45c6 // 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 3ab13439f0e03d1777ca78b638b98978d972bda5..c5f6f203d1ba36c3b1bb213d44b17adc472afbc4 100644 +index 53cfdb6a2739aedef3c72fc2e43709dd5a673c79..045b43f48a619234a8c0c4c76aea1025c10f193d 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 @@ @@ -129,7 +129,7 @@ index 3ab13439f0e03d1777ca78b638b98978d972bda5..c5f6f203d1ba36c3b1bb213d44b17adc return r.cookie_enabled; } diff --git a/third_party/blink/public/mojom/webpreferences/web_preferences.mojom b/third_party/blink/public/mojom/webpreferences/web_preferences.mojom -index 8b8f9837a5efd984ea1bd7b7b0c9462f65f5ac7e..7a3ccc78fc82181e1e9da9004305a827a80ed745 100644 +index 58b674f1848a5a70d08323d6f734794218d6ea8e..7011b1b7a754bfc2be30cf4eb07a32134d218359 100644 --- a/third_party/blink/public/mojom/webpreferences/web_preferences.mojom +++ b/third_party/blink/public/mojom/webpreferences/web_preferences.mojom @@ -4,6 +4,7 @@ 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 3659ce4883..326f17d240 100644 --- a/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch +++ b/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch @@ -11,7 +11,7 @@ if we ever align our .pak file generation with Chrome we can remove this patch. diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn -index c51468e6fdb46634b5458b387d1c78caf2dd083f..7236611d2a392008f43b1b83ae125e945673f31c 100644 +index 606b3bd43179a5b4179a6ec9f58e531d55c1acb5..4d503a53290b4deaea016bb6867f3c07920f4055 100644 --- a/chrome/BUILD.gn +++ b/chrome/BUILD.gn @@ -196,11 +196,16 @@ if (!is_android && !is_mac) { @@ -33,10 +33,10 @@ index c51468e6fdb46634b5458b387d1c78caf2dd083f..7236611d2a392008f43b1b83ae125e94 "//base", "//build:branding_buildflags", diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn -index c3e8b9a6d64f4c278fc478cbb45c9cec6897faca..03ad5a81382bb01d62bfdc2279670345b37a7089 100644 +index a41ecd9b5776f3c56b4b1e3b29edee120600bf92..2e5e007ef68de105ba458a2ff771b4316aed2817 100644 --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -4816,7 +4816,7 @@ static_library("browser") { +@@ -4820,7 +4820,7 @@ static_library("browser") { ] } @@ -46,10 +46,10 @@ index c3e8b9a6d64f4c278fc478cbb45c9cec6897faca..03ad5a81382bb01d62bfdc2279670345 # than here in :chrome_dll. deps += [ "//chrome:packed_resources_integrity_header" ] diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn -index b1fcad8d0580e3e37036599e758a2cb84a6cf055..bcbf93a6229b6358164a0b9a3c8fee14be2e20d4 100644 +index 11b17980ae54d0e6d40b87821ff5e8831fc6315f..2be9c078fca499b63a21e0a72f498e93c2d1c6f4 100644 --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn -@@ -7593,9 +7593,12 @@ test("unit_tests") { +@@ -7590,9 +7590,12 @@ test("unit_tests") { "//chrome/notification_helper", ] @@ -63,7 +63,7 @@ index b1fcad8d0580e3e37036599e758a2cb84a6cf055..bcbf93a6229b6358164a0b9a3c8fee14 "//chrome//services/util_win:unit_tests", "//chrome/app:chrome_dll_resources", "//chrome/app:win_unit_tests", -@@ -8530,6 +8533,10 @@ test("unit_tests") { +@@ -8533,6 +8536,10 @@ test("unit_tests") { "../browser/performance_manager/policies/background_tab_loading_policy_unittest.cc", ] @@ -74,7 +74,7 @@ index b1fcad8d0580e3e37036599e758a2cb84a6cf055..bcbf93a6229b6358164a0b9a3c8fee14 sources += [ # The importer code is not used on Android. "../common/importer/firefox_importer_utils_unittest.cc", -@@ -8586,7 +8593,6 @@ test("unit_tests") { +@@ -8589,7 +8596,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_gn.patch b/patches/chromium/build_gn.patch index 3f71363a80..e13725206c 100644 --- a/patches/chromium/build_gn.patch +++ b/patches/chromium/build_gn.patch @@ -7,7 +7,7 @@ These are variables we add to the root BUILDCONFIG so that they're available everywhere, without having to import("//electron/.../flags.gni"). diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn -index 69f7eb1ac466fbd4e528e3cf2e4e2f96e622424f..05f540daf67de55c09befa81b487a8fb9c45e751 100644 +index 749662ebf2e8f271400f4015f5503378f42ef2b4..f974d8048ca21371865bcae56e8e687529e0be4b 100644 --- a/build/config/BUILDCONFIG.gn +++ b/build/config/BUILDCONFIG.gn @@ -123,6 +123,9 @@ if (current_os == "") { diff --git a/patches/chromium/can_create_window.patch b/patches/chromium/can_create_window.patch index e6e1066d5b..98f2944e3c 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 289545aae997d5a1458a063e38832484e2f8a11e..5f973dba78748ba2aeaab377534e9866d96a44fe 100644 +index 204d1908aa403c0db48c4a40c5f2068c6453e16e..034e8a1204badd4facef51a048f12e7c18b34f5d 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -9962,6 +9962,7 @@ void RenderFrameHostImpl::CreateNewWindow( +@@ -9956,6 +9956,7 @@ void RenderFrameHostImpl::CreateNewWindow( last_committed_origin_, params->window_container_type, params->target_url, params->referrer.To(), params->frame_name, params->disposition, *params->features, @@ -21,10 +21,10 @@ index 289545aae997d5a1458a063e38832484e2f8a11e..5f973dba78748ba2aeaab377534e9866 &no_javascript_access); diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 5aa061cd96f291eb955892363180e412c495f1d6..f208b31c5e39cb8c4e5e50ed3dd236bdc266baa5 100644 +index 78773db5e8bbe3c24922350f23c76bcdf3467b38..4fd490cec97d5391fcf5f821e39de4ccf67b6ae7 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -5356,6 +5356,10 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -5395,6 +5395,10 @@ FrameTree* WebContentsImpl::CreateNewWindow( create_params.initially_hidden = renderer_started_hidden; create_params.initial_popup_url = params.target_url; @@ -35,7 +35,7 @@ index 5aa061cd96f291eb955892363180e412c495f1d6..f208b31c5e39cb8c4e5e50ed3dd236bd // Even though all codepaths leading here are in response to a renderer // trying to open a new window, if the new window ends up in a different // browsing instance, then the RenderViewHost, RenderWidgetHost, -@@ -5410,6 +5414,12 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -5449,6 +5453,12 @@ FrameTree* WebContentsImpl::CreateNewWindow( // Sets the newly created WebContents WindowOpenDisposition. new_contents_impl->original_window_open_disposition_ = params.disposition; @@ -48,7 +48,7 @@ index 5aa061cd96f291eb955892363180e412c495f1d6..f208b31c5e39cb8c4e5e50ed3dd236bd // If the new frame has a name, make sure any SiteInstances that can find // this named frame have proxies for it. Must be called after // SetSessionStorageNamespace, since this calls CreateRenderView, which uses -@@ -5451,12 +5461,6 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -5490,12 +5500,6 @@ FrameTree* WebContentsImpl::CreateNewWindow( AddWebContentsDestructionObserver(new_contents_impl); } @@ -77,10 +77,10 @@ index 599077542beacefc94f9e7ce6167312c9d66aaae..389896afb982dd0fc48274857c18fcd9 // 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 928667b4308ace9b6b6f7d1a9479a1107b061034..eaaa92a4b6dba03422838b8e83364dc8716ba6db 100644 +index 759d220cdd24a099cbe3080d822f24b666717b22..f7d2f76eeca29b1e48143a887fd4836db8d07872 100644 --- a/content/public/browser/content_browser_client.cc +++ b/content/public/browser/content_browser_client.cc -@@ -883,6 +883,8 @@ bool ContentBrowserClient::CanCreateWindow( +@@ -884,6 +884,8 @@ bool ContentBrowserClient::CanCreateWindow( const std::string& frame_name, WindowOpenDisposition disposition, const blink::mojom::WindowFeatures& features, @@ -90,10 +90,10 @@ index 928667b4308ace9b6b6f7d1a9479a1107b061034..eaaa92a4b6dba03422838b8e83364dc8 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 4432cd1a9b0af50398409dbbcbdad80375f429e9..87c78abf57a26c83b153f2ac978024506a32a909 100644 +index 0d0e5e0eabbcb8ce19b675dadf5580f8381fb8ce..b10f6ae7612556e2f4cff60d38a88b5f1ad1757d 100644 --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h -@@ -202,6 +202,7 @@ class NetworkService; +@@ -203,6 +203,7 @@ class NetworkService; class TrustedURLLoaderHeaderClient; } // namespace mojom struct ResourceRequest; @@ -101,7 +101,7 @@ index 4432cd1a9b0af50398409dbbcbdad80375f429e9..87c78abf57a26c83b153f2ac97802450 } // namespace network namespace sandbox { -@@ -1460,6 +1461,8 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -1461,6 +1462,8 @@ class CONTENT_EXPORT ContentBrowserClient { const std::string& frame_name, WindowOpenDisposition disposition, const blink::mojom::WindowFeatures& features, @@ -111,7 +111,7 @@ index 4432cd1a9b0af50398409dbbcbdad80375f429e9..87c78abf57a26c83b153f2ac97802450 bool opener_suppressed, bool* no_javascript_access); diff --git a/content/public/browser/web_contents_delegate.cc b/content/public/browser/web_contents_delegate.cc -index edee20df7f5bb087df9c134c7892f4befe2f14b9..df972f1ce594f2d4651202b650ff2d41fe19ecd0 100644 +index be43d917f1c881e1c97ccb72860fddab4b113e3c..5a88086b6957b9addc0598d58c41288f0065b0e6 100644 --- a/content/public/browser/web_contents_delegate.cc +++ b/content/public/browser/web_contents_delegate.cc @@ -34,6 +34,17 @@ namespace content { @@ -133,7 +133,7 @@ index edee20df7f5bb087df9c134c7892f4befe2f14b9..df972f1ce594f2d4651202b650ff2d41 WebContents* source, const OpenURLParams& params, diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h -index 0c3d4f8ed4df5ca8d9db5424fa2be2d26510c4c9..98492cff13c97388d001fc33cc948261990edef1 100644 +index 3d67b3751ef13c9a43e48a124aefaea24db9140c..dea523e84616527b9ac0a25e67c8664aafd3b511 100644 --- a/content/public/browser/web_contents_delegate.h +++ b/content/public/browser/web_contents_delegate.h @@ -18,6 +18,7 @@ @@ -170,10 +170,10 @@ index 0c3d4f8ed4df5ca8d9db5424fa2be2d26510c4c9..98492cff13c97388d001fc33cc948261 // typically happens when popups are created. virtual void WebContentsCreated(WebContents* source_contents, diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc -index ab58f018ba8e4cee5a2cea45407333902f05f438..30c2972e1fbc21d382304897c542ecd7fa95b896 100644 +index 7590015330e21c29e066bebcc9059c65f3b9b844..1999b88df0cf82921eb74b7167bf119ff9bbc23a 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc -@@ -6746,6 +6746,10 @@ WebView* RenderFrameImpl::CreateNewWindow( +@@ -6727,6 +6727,10 @@ WebView* RenderFrameImpl::CreateNewWindow( request.HasUserGesture(), GetWebFrame()->IsAdFrame(), GetWebFrame()->IsAdScriptInStack()); diff --git a/patches/chromium/chore_add_electron_objects_to_wrappablepointertag.patch b/patches/chromium/chore_add_electron_objects_to_wrappablepointertag.patch index 6dfa065c19..a4c11f6c62 100644 --- a/patches/chromium/chore_add_electron_objects_to_wrappablepointertag.patch +++ b/patches/chromium/chore_add_electron_objects_to_wrappablepointertag.patch @@ -8,7 +8,7 @@ electron objects that extend gin::Wrappable and gets allocated on the cpp heap diff --git a/gin/public/wrappable_pointer_tags.h b/gin/public/wrappable_pointer_tags.h -index 82fc9e311ec84b19a15818a501b3a29329eff004..1199be7426139cdc77cee2e620eb8427092c74dd 100644 +index 573bcb2e56068a2ade6d8ab28964b077487874fd..93bf3814b38f8093e39f1a0548a43dfb347e49b3 100644 --- a/gin/public/wrappable_pointer_tags.h +++ b/gin/public/wrappable_pointer_tags.h @@ -74,7 +74,13 @@ enum WrappablePointerTag : uint16_t { 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 078beb2b86..12a7b9189f 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 @@ -8,10 +8,10 @@ where callsites that deal with multiple contexts need to distinguish the current isolate. diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h -index 1c5a9e693fd3b09213118fb32e4509e1d4a59364..921b7bb4b817ed753e08c2c058a23a2ccdaef40e 100644 +index 6fa11f89ea212eabd7fdc979d2d99138b1f3c88e..a35372743ce69d7cb04c54fcb75b49c0b6fe87c7 100644 --- a/content/public/renderer/content_renderer_client.h +++ b/content/public/renderer/content_renderer_client.h -@@ -398,6 +398,7 @@ class CONTENT_EXPORT ContentRendererClient { +@@ -389,6 +389,7 @@ class CONTENT_EXPORT ContentRendererClient { // WillDestroyServiceWorkerContextOnWorkerThread() is called. virtual void WillEvaluateServiceWorkerOnWorkerThread( blink::WebServiceWorkerContextProxy* context_proxy, @@ -34,10 +34,10 @@ index bbfac47a74f989482343c222b78f187b70297e4e..3677ca3345fbc775d139684a12fe3624 virtual void DidClearWindowObject() {} virtual void DidChangeScrollOffset() {} diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc -index 3f512dcaec9f1d8a1375277ab8c6649d69070a33..45c8978bf9a45c14b15436851cdab9ae3d958f25 100644 +index f0a6a03efe20bf674a6fb2d4ad33de4a829cef53..c0deee8987c60ce4cf35eac80ad17240b8f11ee0 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc -@@ -4671,10 +4671,11 @@ void RenderFrameImpl::DidInstallConditionalFeatures( +@@ -4668,10 +4668,11 @@ void RenderFrameImpl::DidInstallConditionalFeatures( observer.DidInstallConditionalFeatures(context, world_id); } @@ -52,10 +52,10 @@ index 3f512dcaec9f1d8a1375277ab8c6649d69070a33..45c8978bf9a45c14b15436851cdab9ae void RenderFrameImpl::DidChangeScrollOffset() { diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h -index b3fd71b237c134853f796a1d8d803e4d28519d53..0b74cee0213daebef1e66d0abebd23787d764997 100644 +index 621cd9ae7f43470ed4414a48d62330b36c7058e9..f0c5f4f55062c85ee1e6b8da74b8f0c6ced75e81 100644 --- a/content/renderer/render_frame_impl.h +++ b/content/renderer/render_frame_impl.h -@@ -604,7 +604,8 @@ class CONTENT_EXPORT RenderFrameImpl +@@ -605,7 +605,8 @@ class CONTENT_EXPORT RenderFrameImpl int world_id) override; void DidInstallConditionalFeatures(v8::Local context, int world_id) override; @@ -245,10 +245,10 @@ index 16066fe34ee0335a0dabe00b6890e5844349c0b5..cc84479f65bdbe56cb4b38bfcef0d752 // Returns true if we should allow register V8 extensions to be added. diff --git a/third_party/blink/renderer/core/loader/empty_clients.h b/third_party/blink/renderer/core/loader/empty_clients.h -index d46f3b764f653c990e57fb2c67121c8fd6b1b115..fe30a119d9befbde7c461637cf670a4b861efe05 100644 +index 80ee0065d1b16520389b6809402438f087430fa3..3991bc8caee23bb4129eedf7213a770d19439290 100644 --- a/third_party/blink/renderer/core/loader/empty_clients.h +++ b/third_party/blink/renderer/core/loader/empty_clients.h -@@ -426,7 +426,8 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient { +@@ -428,7 +428,8 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient { int32_t world_id) override {} void DidInstallConditionalFeatures(v8::Local, int32_t world_id) override {} diff --git a/patches/chromium/chore_modify_chromium_handling_of_mouse_events.patch b/patches/chromium/chore_modify_chromium_handling_of_mouse_events.patch index 4177114ec7..cb612ff00f 100644 --- a/patches/chromium/chore_modify_chromium_handling_of_mouse_events.patch +++ b/patches/chromium/chore_modify_chromium_handling_of_mouse_events.patch @@ -34,10 +34,10 @@ index 2dc44d4787d5198cff7be2cf98ad5acf2d3a9a0b..27a0335aac2bd4239616cf71f5d015c9 class ScrollEvent; diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc -index d2651f4fcbb7991e9ec8f164e5bee51dab405c5a..d58b59288d881a2d74ea357f1e9e27870d24ac72 100644 +index 3b2fbefaeec2bac725d46bcfeea488122c873d76..fd23b8036c7f2d8bf3ed1bba126f8ee813f688a8 100644 --- a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc +++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc -@@ -1378,6 +1378,10 @@ HBRUSH DesktopWindowTreeHostWin::GetBackgroundPaintBrush() { +@@ -1375,6 +1375,10 @@ HBRUSH DesktopWindowTreeHostWin::GetBackgroundPaintBrush() { return background_paint_brush_; } diff --git a/patches/chromium/chore_partial_revert_of.patch b/patches/chromium/chore_partial_revert_of.patch index 5431df59dd..b5eda7580d 100644 --- a/patches/chromium/chore_partial_revert_of.patch +++ b/patches/chromium/chore_partial_revert_of.patch @@ -14,10 +14,10 @@ track down the source of this problem & figure out if we can fix it by changing something in Electron. diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 808e961195a435e747236ce982dea722267a30dc..2798b165fcd0909f7329caa1cb4c8fcbe0934ef9 100644 +index 226b05d62edc0dae87aa76cd6b766250cb0856d6..540b0adfcc65c95327ec269e75681469f4c36847 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -5327,7 +5327,7 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -5366,7 +5366,7 @@ FrameTree* WebContentsImpl::CreateNewWindow( : IsGuest(); // While some guest types do not have a guest SiteInstance, the ones that // don't all override WebContents creation above. diff --git a/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch b/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch index 5f88a07df2..27b5fd983b 100644 --- a/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch +++ b/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch @@ -80,10 +80,10 @@ index 39fa45f0a0f9076bd7ac0be6f455dd540a276512..3d0381d463eed73470b28085830f2a23 content::WebContents* source, const content::OpenURLParams& params, diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc -index d27effbf90aba2a888f479b6999fd16e58fdbcbf..1fd7f6166efd55ccc74a91763c87b1fe7987aaff 100644 +index 31f64282d734bda5c0f3aa592fbf3a5ca53d2ac8..cb2aec88f4bfecbecf085684780686afd5d91da4 100644 --- a/chrome/browser/ui/browser.cc +++ b/chrome/browser/ui/browser.cc -@@ -2376,7 +2376,8 @@ bool Browser::IsWebContentsCreationOverridden( +@@ -2369,7 +2369,8 @@ bool Browser::IsWebContentsCreationOverridden( content::mojom::WindowContainerType window_container_type, const GURL& opener_url, const std::string& frame_name, @@ -93,7 +93,7 @@ index d27effbf90aba2a888f479b6999fd16e58fdbcbf..1fd7f6166efd55ccc74a91763c87b1fe if (HasActorTask(profile(), opener)) { // If an ExecutionEngine is acting on the opener, prevent it from creating a // new WebContents. We'll instead force the navigation to happen in the same -@@ -2389,7 +2390,7 @@ bool Browser::IsWebContentsCreationOverridden( +@@ -2382,7 +2383,7 @@ bool Browser::IsWebContentsCreationOverridden( return (window_container_type == content::mojom::WindowContainerType::BACKGROUND && ShouldCreateBackgroundContents(source_site_instance, opener_url, @@ -103,10 +103,10 @@ index d27effbf90aba2a888f479b6999fd16e58fdbcbf..1fd7f6166efd55ccc74a91763c87b1fe WebContents* Browser::CreateCustomWebContents( diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h -index 46715de09311e36046c9d49e6eb0a6444532f49f..0883f12668347f76d20517df95885b2c73d98598 100644 +index 870b47d1a4212b7ec8dde4d0b13266c6ddca4ac6..40d9ee3e7472f15a60eaa8039f2cf8c12c47e324 100644 --- a/chrome/browser/ui/browser.h +++ b/chrome/browser/ui/browser.h -@@ -935,8 +935,7 @@ class Browser : public TabStripModelObserver, +@@ -930,8 +930,7 @@ class Browser : public TabStripModelObserver, content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -159,7 +159,7 @@ 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 24f78a1c6b439c2f66683bb43b784f696f9a7419..7a5b6eccffe451787101042673d6efe4456237b4 100644 +index 97a429245bfc15aa321d73c142e1ba7cc8c60dec..43a907ff56743580fda414570e6bce5a00b1f247 100644 --- a/components/embedder_support/android/delegate/web_contents_delegate_android.cc +++ b/components/embedder_support/android/delegate/web_contents_delegate_android.cc @@ -210,15 +210,14 @@ bool WebContentsDelegateAndroid::IsWebContentsCreationOverridden( @@ -223,10 +223,10 @@ index b969f1d97b7e3396119b579cfbe61e19ff7d2dd4..b8d6169652da28266a514938b45b39c5 content::WebContents* AddNewContents( content::WebContents* source, diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index c47fe83984ca1c592138acafc354651ce1b559fc..c6f031e408768a31198f7e875d03d59cacaef9a7 100644 +index eebcf3d97557d5a95c00b483910a23717d1775c5..1cc8474a5f369cd0b13c328179c9be560b167468 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -5290,8 +5290,7 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -5329,8 +5329,7 @@ FrameTree* WebContentsImpl::CreateNewWindow( if (delegate_ && delegate_->IsWebContentsCreationOverridden( opener, source_site_instance, params.window_container_type, @@ -237,7 +237,7 @@ index c47fe83984ca1c592138acafc354651ce1b559fc..c6f031e408768a31198f7e875d03d59c static_cast(delegate_->CreateCustomWebContents( opener, source_site_instance, is_new_browsing_instance, diff --git a/content/public/browser/web_contents_delegate.cc b/content/public/browser/web_contents_delegate.cc -index df972f1ce594f2d4651202b650ff2d41fe19ecd0..a92305042eef86fbabeae6fe02b48668a349be99 100644 +index 5a88086b6957b9addc0598d58c41288f0065b0e6..54ab4e1426eaa19bfe71b5fdd52e115aae4f0c45 100644 --- a/content/public/browser/web_contents_delegate.cc +++ b/content/public/browser/web_contents_delegate.cc @@ -160,8 +160,7 @@ bool WebContentsDelegate::IsWebContentsCreationOverridden( @@ -251,7 +251,7 @@ index df972f1ce594f2d4651202b650ff2d41fe19ecd0..a92305042eef86fbabeae6fe02b48668 } diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h -index 98492cff13c97388d001fc33cc948261990edef1..88b4810d3b91df0dd6b932412edd4ff249bedde0 100644 +index dea523e84616527b9ac0a25e67c8664aafd3b511..816b53d21e568a3d7a6f5902d87c5315ffedeee2 100644 --- a/content/public/browser/web_contents_delegate.h +++ b/content/public/browser/web_contents_delegate.h @@ -365,8 +365,7 @@ class CONTENT_EXPORT WebContentsDelegate { @@ -385,7 +385,7 @@ index 756d4192271d6a65cfe8e1511737c565b543cb1f..5688f6f745056565c3c01947f741c4d1 int opener_render_process_id, int opener_render_frame_id, diff --git a/headless/lib/browser/headless_web_contents_impl.cc b/headless/lib/browser/headless_web_contents_impl.cc -index d02d9468560eb451753fd56aa46bc4f191535e95..6e5c10f94a16039dc90cb2bdf90c4c854afc8a53 100644 +index 3af22f9e041996cedebc1d9ffd402e9fcccceaea..e488b8d4d8f81ad2a0b8a6a1cc13fb886fd26e62 100644 --- a/headless/lib/browser/headless_web_contents_impl.cc +++ b/headless/lib/browser/headless_web_contents_impl.cc @@ -208,8 +208,7 @@ class HeadlessWebContentsImpl::Delegate : public content::WebContentsDelegate { diff --git a/patches/chromium/enable_reset_aspect_ratio.patch b/patches/chromium/enable_reset_aspect_ratio.patch index 1bda66453a..b25176e039 100644 --- a/patches/chromium/enable_reset_aspect_ratio.patch +++ b/patches/chromium/enable_reset_aspect_ratio.patch @@ -6,7 +6,7 @@ Subject: feat: enable setting aspect ratio to 0 Make SetAspectRatio accept 0 as valid input, which would reset to null. diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc -index 35469ecb01a680315b2f92e2599a3b56b5fc7549..d2651f4fcbb7991e9ec8f164e5bee51dab405c5a 100644 +index cb704a865eb1b748163a7c25b0a571585c2497b4..3b2fbefaeec2bac725d46bcfeea488122c873d76 100644 --- a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc +++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc @@ -614,7 +614,7 @@ void DesktopWindowTreeHostWin::SetOpacity(float opacity) { diff --git a/patches/chromium/expose_setuseragent_on_networkcontext.patch b/patches/chromium/expose_setuseragent_on_networkcontext.patch index e041f545be..5793d3a202 100644 --- a/patches/chromium/expose_setuseragent_on_networkcontext.patch +++ b/patches/chromium/expose_setuseragent_on_networkcontext.patch @@ -33,7 +33,7 @@ index 0ab8187b0db8ae6db46d81738f653a2bc4c566f6..de3d55e85c22317f7f9375eb94d0d5d4 } // namespace net diff --git a/services/network/network_context.cc b/services/network/network_context.cc -index 3598823a6400c4e5045621950433d2688cfbba89..66379714141b83a2ded90f88ce8b89bf900ca5a6 100644 +index 61c7bd716e2ed78c8f71cba50d34e80d6effad4f..68ec7012adbdb1ac65fe784f4a928474a8894a70 100644 --- a/services/network/network_context.cc +++ b/services/network/network_context.cc @@ -1911,6 +1911,13 @@ void NetworkContext::EnableDurableMessageCollector( @@ -63,10 +63,10 @@ index 90cf1a70c068771ac98b2d5a283cba5e54c05ff4..0dc8de8d4e37e48cb28d8112c0233ac8 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 58c53f7bab65af0b797f502a4633ca47933e26f0..474baf5e969c4397c9f61c9dea7ec2a466510dd8 100644 +index 8f1e7e517104a4849c96b19d8bedd57ac9a88ec6..6c7d5d8fd7a62c7d0484ae43664a36da6ef9b9ba 100644 --- a/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom -@@ -1352,6 +1352,9 @@ interface NetworkContext { +@@ -1345,6 +1345,9 @@ interface NetworkContext { mojo_base.mojom.UnguessableToken throttling_profile_id, pending_receiver receiver); diff --git a/patches/chromium/extend_apply_webpreferences.patch b/patches/chromium/extend_apply_webpreferences.patch index a1dc403353..2392b5e4ad 100644 --- a/patches/chromium/extend_apply_webpreferences.patch +++ b/patches/chromium/extend_apply_webpreferences.patch @@ -15,14 +15,14 @@ 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 b50e4805af36aa96c0ce69359adcf1b18d80c62a..5379c42a81f231592bd8a0dc02b05c67960bcb86 100644 +index 1ba451388e2c8a702a3709d82456c32e6423c9b0..e4f04cd84388bbf2bde68080cfb20267a29c50b3 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc @@ -1899,6 +1899,8 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs, #if BUILDFLAG(IS_MAC) web_view_impl->SetMaximumLegibleScale( prefs.default_maximum_page_scale_factor); -+ web_view_impl->GetChromeClient().SetUseExternalPopupMenusForTesting( ++ web_view_impl->GetChromeClient().SetUseExternalPopupMenus( + !prefs.offscreen); #endif 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 726346f303..ec00fd692b 100644 --- a/patches/chromium/feat_allow_code_cache_in_custom_schemes.patch +++ b/patches/chromium/feat_allow_code_cache_in_custom_schemes.patch @@ -405,7 +405,7 @@ index c81434acc7cad0f6aa2e807c3c4037052863179e..d0da89f78308fc95778a5ce705a43f03 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 039d39d55ff6984df478d62c40e852d60ab35c21..175abe714683841f046c7516c11e17ed24b225ab 100644 +index 87894c72227acdd951d61e3985d97215750a9748..5f270d100e76b441b1bfde0aed6ab850b843d8f6 100644 --- a/url/url_util.cc +++ b/url/url_util.cc @@ -136,6 +136,9 @@ struct SchemeRegistry { 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 fa6bab5263..74b5c39038 100644 --- a/patches/chromium/feat_configure_launch_options_for_service_process.patch +++ b/patches/chromium/feat_configure_launch_options_for_service_process.patch @@ -19,7 +19,7 @@ to STDOUT_FILENO/STD_OUTPUT_HANDLE and STDERR_FILENO/STD_ERROR_HANDLE allowing t parent process to read from the pipe. diff --git a/content/browser/child_process_launcher.h b/content/browser/child_process_launcher.h -index 6ca293e617f98b814484a012d74e3529e670ec01..d472adb01f934c12670d96b99cd4fbe8aaa16c21 100644 +index 0a47fb58e86d57d6cec3784d3b163c59592b585e..d2877fdd3bcff75248bad6a0462233cde82a104c 100644 --- a/content/browser/child_process_launcher.h +++ b/content/browser/child_process_launcher.h @@ -33,6 +33,7 @@ @@ -187,7 +187,7 @@ index d9c14f91747bde0e76056d7f2f2ada166e67f994..53be16879777a3b9bef58ead5f7e420c UtilityProcessHost::Start(std::move(utility_options), diff --git a/content/browser/service_host/utility_process_host.cc b/content/browser/service_host/utility_process_host.cc -index ad963436db4e854f8caf388a2d11f2f45bd66094..1cb1195980915098ca5c44a013158e9d91a45774 100644 +index c798b3394db7638e38613a016c2dbb0bfcf54d03..1298ea85a176db2150a4101afc205745f32eb8f5 100644 --- a/content/browser/service_host/utility_process_host.cc +++ b/content/browser/service_host/utility_process_host.cc @@ -241,13 +241,13 @@ UtilityProcessHost::Options& UtilityProcessHost::Options::WithFileToPreload( @@ -244,7 +244,7 @@ index ad963436db4e854f8caf388a2d11f2f45bd66094..1cb1195980915098ca5c44a013158e9d UtilityProcessHost::Options& UtilityProcessHost::Options::WithBoundReceiverOnChildProcessForTesting( mojo::GenericPendingReceiver receiver) { -@@ -521,9 +551,26 @@ bool UtilityProcessHost::StartProcess() { +@@ -520,9 +550,26 @@ bool UtilityProcessHost::StartProcess() { } #endif // BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE) && !BUILDFLAG(IS_WIN) 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 4d7cec2a24..fad5d580f1 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 @@ -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 b22689b90a99b843e5d44738a7f434c958086867..4ee7e10c46ddf11cb665c54a3addf5e17ff72a7f 100644 +index 86adddbca5900d86db526dc5c700ecbe56575d7d..7495443cf85408fced315c407c322bf27f328638 100644 --- a/third_party/blink/renderer/core/css/css_properties.json5 +++ b/third_party/blink/renderer/core/css/css_properties.json5 -@@ -9163,6 +9163,26 @@ +@@ -9153,6 +9153,26 @@ property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], }, @@ -76,7 +76,7 @@ index b22689b90a99b843e5d44738a7f434c958086867..4ee7e10c46ddf11cb665c54a3addf5e1 { 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 75ca85adcfaab9d64aa98d539a886bf76ee45727..4f96e8638f254fb493a026984a43869d5ac3485c 100644 +index aaf56976e7ac7a4efe904a5275722fdc02172bae..670d3f91ec556e415a80bb01341c4047745455f2 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, @@ -89,10 +89,10 @@ index 75ca85adcfaab9d64aa98d539a886bf76ee45727..4f96e8638f254fb493a026984a43869d 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 3a793e1450ec1df6e6d9c86c9973a93c62fc3452..5147753fb6ddb43a4218eeb1243e70efea190618 100644 +index 4e79b356bd2fc7721fca6caf0004d76841216aad..510f7915185f488c8e98514c011bb4250a220a2b 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 -@@ -12674,5 +12674,36 @@ const CSSValue* InternalEmptyLineHeight::ParseSingleValue( +@@ -12640,5 +12640,36 @@ const CSSValue* InternalEmptyLineHeight::ParseSingleValue( CSSValueID::kNone>(stream); } @@ -201,10 +201,10 @@ index 0802c73aa4aaf4e1fb5efd367758f19c36691f71..5f06c0af277a7c937e694470beac707a return result; } diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn -index b8c29abdeb33dc26de820d5eaa78eced73f83921..ae154954c7b5e6f7c492a9d5eaef4b67e4dc97e9 100644 +index 0fb769875acfe214407159e689f6190a5feba7c3..d764a52863dfa46dd828682cb9c8501fdc95a0c0 100644 --- a/third_party/blink/renderer/platform/BUILD.gn +++ b/third_party/blink/renderer/platform/BUILD.gn -@@ -1669,6 +1669,8 @@ component("platform") { +@@ -1671,6 +1671,8 @@ component("platform") { "widget/widget_base.h", "widget/widget_base_client.h", "windows_keyboard_codes.h", @@ -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 973b8fbfe2d7ceb8953ce52a0d1013197026f613..885ea984ee2c148d056e0f4354b03a3855ba1f3a 100644 +index 0c3ea906c3bca432f49835848519922bdd17e6ac..b18903a4f8e7f8cdcd7d5165ff25cd7fba3f7a5c 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_passing_exit_code_on_service_process_crash.patch b/patches/chromium/feat_enable_passing_exit_code_on_service_process_crash.patch index 1f24721ab2..a231dd82a3 100644 --- a/patches/chromium/feat_enable_passing_exit_code_on_service_process_crash.patch +++ b/patches/chromium/feat_enable_passing_exit_code_on_service_process_crash.patch @@ -84,10 +84,10 @@ index 2648adb1cf38ab557b66ffd0e3034b26b04d76d6..98eab587f343f6ca472efc3d4e7b31b2 private: const std::string service_interface_name_; diff --git a/content/browser/service_host/utility_process_host.cc b/content/browser/service_host/utility_process_host.cc -index 1cb1195980915098ca5c44a013158e9d91a45774..f09946a3c74e974d2234695841c56107a9ee9246 100644 +index 1298ea85a176db2150a4101afc205745f32eb8f5..1668345fb66b5a150b01dc3cce2e7262890a9c66 100644 --- a/content/browser/service_host/utility_process_host.cc +++ b/content/browser/service_host/utility_process_host.cc -@@ -625,7 +625,7 @@ void UtilityProcessHost::OnProcessCrashed(int exit_code) { +@@ -624,7 +624,7 @@ void UtilityProcessHost::OnProcessCrashed(int exit_code) { : Client::CrashType::kPreIpcInitialization; } #endif // BUILDFLAG(IS_WIN) 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 0cd45ec55b..33d1f9d565 100644 --- a/patches/chromium/feat_expose_raw_response_headers_from_urlloader.patch +++ b/patches/chromium/feat_expose_raw_response_headers_from_urlloader.patch @@ -112,10 +112,10 @@ index 13a211107294e856616d1626fa1dc9c79eb5646c..549a36886d665c1a8100f09b7a86c8dc string mime_type; diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc -index 132a0cf07682e68b8f188c265dd7e11fe66f2641..cd73879c90c20c225f7c178c6c7f2aff22648dfb 100644 +index e30252c08f9f82594ecd455c9db77e22fbd64296..4cf20063a2621575513f74257e1ea1a101420889 100644 --- a/services/network/url_loader.cc +++ b/services/network/url_loader.cc -@@ -406,6 +406,9 @@ URLLoader::URLLoader( +@@ -385,6 +385,9 @@ URLLoader::URLLoader( mojo::SimpleWatcher::ArmingPolicy::MANUAL, TaskRunner(request.priority)), per_factory_orb_state_(context.GetMutableOrbState()), @@ -125,7 +125,7 @@ index 132a0cf07682e68b8f188c265dd7e11fe66f2641..cd73879c90c20c225f7c178c6c7f2aff devtools_request_id_(request.devtools_request_id), options_(PopulateOptions(options, factory_params_->is_orb_enabled, -@@ -545,7 +548,7 @@ void URLLoader::SetUpUrlRequestCallbacks( +@@ -524,7 +527,7 @@ void URLLoader::SetUpUrlRequestCallbacks( &URLLoader::IsSharedDictionaryReadAllowed, base::Unretained(this))); } @@ -134,7 +134,7 @@ index 132a0cf07682e68b8f188c265dd7e11fe66f2641..cd73879c90c20c225f7c178c6c7f2aff url_request_->SetResponseHeadersCallback(base::BindRepeating( &URLLoader::SetRawResponseHeaders, base::Unretained(this))); } -@@ -1157,6 +1160,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) { +@@ -1121,6 +1124,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) { } response_ = BuildResponseHead(); diff --git a/patches/chromium/fix_adjust_headless_mode_handling_in_native_widget.patch b/patches/chromium/fix_adjust_headless_mode_handling_in_native_widget.patch index dd68d9bfeb..a7be415abd 100644 --- a/patches/chromium/fix_adjust_headless_mode_handling_in_native_widget.patch +++ b/patches/chromium/fix_adjust_headless_mode_handling_in_native_widget.patch @@ -121,7 +121,7 @@ index c44058711170316552ea05f97b8b8af694da8ca3..2895f8d17e7d045a3fae3f83e4dc117d if (params.opacity == views::Widget::InitParams::WindowOpacity::kInferred && diff --git a/ui/views/widget/widget.h b/ui/views/widget/widget.h -index 40bba1d16a37f0b3c563faef86402641418dd994..bad7f48f50d5cd1c716963f660f63c7ec0d6449a 100644 +index 64d07b209f72fc593c861d84d2baf0ca52ce9aed..1569f9115371d4eaa18bb34eb4d91a1380d257d5 100644 --- a/ui/views/widget/widget.h +++ b/ui/views/widget/widget.h @@ -324,6 +324,11 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, 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 292fef0cb1..f4f6fbe7ed 100644 --- a/patches/chromium/fix_crash_loading_non-standard_schemes_in_iframes.patch +++ b/patches/chromium/fix_crash_loading_non-standard_schemes_in_iframes.patch @@ -28,10 +28,10 @@ The patch should be removed in favor of either: Upstream bug https://bugs.chromium.org/p/chromium/issues/detail?id=1081397. diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc -index c4a2394c13e549d6997222910f1a8d150434c11d..68da5f9629d071b9ef70341592ea50830dd8a6a0 100644 +index 1182d246f0f32d75fc02cd5ce17e0dd1be936bc4..8f7117987e8e3e97cbd76f0c0fd9e6e52e0da459 100644 --- a/content/browser/renderer_host/navigation_request.cc +++ b/content/browser/renderer_host/navigation_request.cc -@@ -11453,6 +11453,11 @@ url::Origin NavigationRequest::GetOriginForURLLoaderFactoryUnchecked() { +@@ -11461,6 +11461,11 @@ url::Origin NavigationRequest::GetOriginForURLLoaderFactoryUnchecked() { target_rph_id); } diff --git a/patches/chromium/fix_harden_blink_scriptstate_maybefrom.patch b/patches/chromium/fix_harden_blink_scriptstate_maybefrom.patch index ae12112f6a..414ef004c2 100644 --- a/patches/chromium/fix_harden_blink_scriptstate_maybefrom.patch +++ b/patches/chromium/fix_harden_blink_scriptstate_maybefrom.patch @@ -56,7 +56,7 @@ index cecf528475cb832ed1876381878eade582bc83d6..71308b2d963c2d083328aad6be356dc5 enum EmbedderDataTag : uint16_t { diff --git a/third_party/blink/renderer/platform/bindings/script_state.cc b/third_party/blink/renderer/platform/bindings/script_state.cc -index 8b6522c9299bef5ab766795b64a1ba30bc382a12..54d981405df5edab4695dfd01bb6a7b7dd8b7b3a 100644 +index 8b6522c9299bef5ab766795b64a1ba30bc382a12..a714aeb8a62886bedb3820b33b49b1ebdb9c7cc0 100644 --- a/third_party/blink/renderer/platform/bindings/script_state.cc +++ b/third_party/blink/renderer/platform/bindings/script_state.cc @@ -14,6 +14,12 @@ namespace blink { @@ -78,7 +78,7 @@ index 8b6522c9299bef5ab766795b64a1ba30bc382a12..54d981405df5edab4695dfd01bb6a7b7 gin::kBlinkScriptState); +#if defined(ARCH_CPU_32_BITS) + context->SetAlignedPointerInEmbedderData( -+ kV8ContextPerContextDataTagIndex, ScriptState::kScriptStateTagPtr); ++ kV8ContextPerContextDataTagIndex, ScriptState::kScriptStateTagPtr, v8::kEmbedderDataTypeTagDefault); +#endif // defined(ARCH_CPU_32_BITS) RendererResourceCoordinator::Get()->OnScriptStateCreated(this, execution_context); @@ -89,13 +89,13 @@ index 8b6522c9299bef5ab766795b64a1ba30bc382a12..54d981405df5edab4695dfd01bb6a7b7 kV8ContextPerContextDataIndex, nullptr, gin::kBlinkScriptState); +#if defined(ARCH_CPU_32_BITS) + GetContext()->SetAlignedPointerInEmbedderData( -+ kV8ContextPerContextDataTagIndex, nullptr); ++ kV8ContextPerContextDataTagIndex, nullptr, v8::kEmbedderDataTypeTagDefault); +#endif // defined(ARCH_CPU_32_BITS) reference_from_v8_context_.Clear(); // Cut the reference from ScriptState to V8 context. diff --git a/third_party/blink/renderer/platform/bindings/script_state.h b/third_party/blink/renderer/platform/bindings/script_state.h -index 5ccdf26cead17031d510589b74288cbe79692779..0bc2fdbf8e70d53a49794defe8b4a3d1d5a501cd 100644 +index 5ccdf26cead17031d510589b74288cbe79692779..bf3023d5305c05c5d92953b5bf5f655f964e5c28 100644 --- a/third_party/blink/renderer/platform/bindings/script_state.h +++ b/third_party/blink/renderer/platform/bindings/script_state.h @@ -6,6 +6,7 @@ @@ -106,7 +106,7 @@ index 5ccdf26cead17031d510589b74288cbe79692779..0bc2fdbf8e70d53a49794defe8b4a3d1 #include "gin/public/context_holder.h" #include "gin/public/gin_embedders.h" #include "third_party/blink/public/common/tokens/tokens.h" -@@ -188,6 +189,15 @@ class PLATFORM_EXPORT ScriptState : public GarbageCollected { +@@ -188,6 +189,16 @@ class PLATFORM_EXPORT ScriptState : public GarbageCollected { kV8ContextPerContextDataIndex) { return nullptr; } @@ -114,7 +114,8 @@ index 5ccdf26cead17031d510589b74288cbe79692779..0bc2fdbf8e70d53a49794defe8b4a3d1 + if (context->GetNumberOfEmbedderDataFields() <= + kV8ContextPerContextDataTagIndex || + context->GetAlignedPointerFromEmbedderData( -+ kV8ContextPerContextDataTagIndex) != ++ kV8ContextPerContextDataTagIndex, ++ v8::kEmbedderDataTypeTagDefault) != + ScriptState::kScriptStateTagPtr) { + return nullptr; + } @@ -122,7 +123,7 @@ index 5ccdf26cead17031d510589b74288cbe79692779..0bc2fdbf8e70d53a49794defe8b4a3d1 ScriptState* script_state = static_cast(context->GetAlignedPointerFromEmbedderData( isolate, kV8ContextPerContextDataIndex, gin::kBlinkScriptState)); -@@ -270,6 +280,14 @@ class PLATFORM_EXPORT ScriptState : public GarbageCollected { +@@ -270,6 +281,14 @@ class PLATFORM_EXPORT ScriptState : public GarbageCollected { static_cast(gin::kPerContextDataStartIndex) + static_cast(gin::kEmbedderBlink); diff --git a/patches/chromium/fix_linux_tray_id.patch b/patches/chromium/fix_linux_tray_id.patch index 0b54aa61e3..8a265eaae7 100644 --- a/patches/chromium/fix_linux_tray_id.patch +++ b/patches/chromium/fix_linux_tray_id.patch @@ -13,7 +13,7 @@ https://github.com/electron/electron/pull/48675#issuecomment-3452781711 for more info. diff --git a/chrome/browser/ui/views/status_icons/status_icon_linux_dbus.cc b/chrome/browser/ui/views/status_icons/status_icon_linux_dbus.cc -index e268573d360b1744c739bc516e81261c3869cd23..cf69e72a1a391451a31e28356cb6b86fc6010646 100644 +index 27b65721dc9f127b15f92821d3f3ea4ce0a2f19c..ff69b5cab40156a30872ee1793f4e72a38d91b03 100644 --- a/chrome/browser/ui/views/status_icons/status_icon_linux_dbus.cc +++ b/chrome/browser/ui/views/status_icons/status_icon_linux_dbus.cc @@ -131,8 +131,8 @@ int NextServiceId() { @@ -43,7 +43,7 @@ index e268573d360b1744c739bc516e81261c3869cd23..cf69e72a1a391451a31e28356cb6b86f DCHECK_CURRENTLY_ON(content::BrowserThread::UI); CheckStatusNotifierWatcherHasOwner(); } -@@ -402,7 +403,7 @@ void StatusIconLinuxDbus::OnHostRegisteredResponse(dbus::Response* response) { +@@ -396,7 +397,7 @@ void StatusIconLinuxDbus::OnHostRegisteredResponse( properties_->SetProperty<"s">(kInterfaceStatusNotifierItem, kPropertyCategory, kPropertyValueCategory, false); properties_->SetProperty<"s">(kInterfaceStatusNotifierItem, kPropertyId, @@ -53,10 +53,10 @@ index e268573d360b1744c739bc516e81261c3869cd23..cf69e72a1a391451a31e28356cb6b86f kPropertyOverlayIconName, "", false); properties_->SetProperty<"s">(kInterfaceStatusNotifierItem, kPropertyStatus, diff --git a/chrome/browser/ui/views/status_icons/status_icon_linux_dbus.h b/chrome/browser/ui/views/status_icons/status_icon_linux_dbus.h -index 78c0ddf50ae6cafed1badaeb951b1dab3110f095..984673954bb7f0b4c902677c70ab88c602201060 100644 +index 7b6b005f98e5de8b858a39e733dbf95888df3bc3..bf85004d8f42b30f12662078b24b684ea5c0c924 100644 --- a/chrome/browser/ui/views/status_icons/status_icon_linux_dbus.h +++ b/chrome/browser/ui/views/status_icons/status_icon_linux_dbus.h -@@ -35,7 +35,7 @@ class StatusIconLinuxDbus : public ui::StatusIconLinux, +@@ -36,7 +36,7 @@ class StatusIconLinuxDbus : public ui::StatusIconLinux, public ui::SimpleMenuModel::Delegate, public base::RefCounted { public: @@ -65,7 +65,7 @@ index 78c0ddf50ae6cafed1badaeb951b1dab3110f095..984673954bb7f0b4c902677c70ab88c6 StatusIconLinuxDbus(const StatusIconLinuxDbus&) = delete; StatusIconLinuxDbus& operator=(const StatusIconLinuxDbus&) = delete; -@@ -136,6 +136,8 @@ class StatusIconLinuxDbus : public ui::StatusIconLinux, +@@ -137,6 +137,8 @@ class StatusIconLinuxDbus : public ui::StatusIconLinux, size_t icon_file_id_ = 0; base::FilePath icon_file_; diff --git a/patches/chromium/fix_non-client_mouse_tracking_and_message_bubbling_on_windows.patch b/patches/chromium/fix_non-client_mouse_tracking_and_message_bubbling_on_windows.patch index 5ee738cfe2..e122bee517 100644 --- a/patches/chromium/fix_non-client_mouse_tracking_and_message_bubbling_on_windows.patch +++ b/patches/chromium/fix_non-client_mouse_tracking_and_message_bubbling_on_windows.patch @@ -13,10 +13,10 @@ messages in the legacy window handle layer. These conditions are regularly hit with WCO-enabled windows on Windows. diff --git a/content/browser/renderer_host/legacy_render_widget_host_win.cc b/content/browser/renderer_host/legacy_render_widget_host_win.cc -index 4723dee0cc086daac1419396b381a7298f97cebc..f76eac469e3966894430080085b2ba63740fa098 100644 +index 54ef4e8fb7dc5a942741912e1662ae132a56e984..1a7ce67dc418119b0a2b432f41ccc3b672a8da96 100644 --- a/content/browser/renderer_host/legacy_render_widget_host_win.cc +++ b/content/browser/renderer_host/legacy_render_widget_host_win.cc -@@ -368,12 +368,12 @@ LRESULT LegacyRenderWidgetHostHWND::OnKeyboardRange(UINT message, +@@ -378,12 +378,12 @@ LRESULT LegacyRenderWidgetHostHWND::OnKeyboardRange(UINT message, LRESULT LegacyRenderWidgetHostHWND::OnMouseRange(UINT message, WPARAM w_param, LPARAM l_param) { @@ -31,7 +31,7 @@ index 4723dee0cc086daac1419396b381a7298f97cebc..f76eac469e3966894430080085b2ba63 tme.hwndTrack = hwnd(); tme.dwHoverTime = 0; TrackMouseEvent(&tme); -@@ -406,7 +406,10 @@ LRESULT LegacyRenderWidgetHostHWND::OnMouseRange(UINT message, +@@ -416,7 +416,10 @@ LRESULT LegacyRenderWidgetHostHWND::OnMouseRange(UINT message, // the picture. if (!msg_handled && (message >= WM_NCMOUSEMOVE && message <= WM_NCXBUTTONDBLCLK)) { @@ -44,10 +44,10 @@ index 4723dee0cc086daac1419396b381a7298f97cebc..f76eac469e3966894430080085b2ba63 } return ret; diff --git a/content/browser/renderer_host/legacy_render_widget_host_win.h b/content/browser/renderer_host/legacy_render_widget_host_win.h -index 28600fe212930c2b9833cb10e1fcc209a38d5a20..b004858bc2ba14cc417ed81d191d874e62bfe0fa 100644 +index ec3e5576b0b5f5c6f2ed5158a80d7816dbfbb702..ac5005fe7378ae1628db161b49fe16ea0a93b33a 100644 --- a/content/browser/renderer_host/legacy_render_widget_host_win.h +++ b/content/browser/renderer_host/legacy_render_widget_host_win.h -@@ -106,6 +106,7 @@ class CONTENT_EXPORT LegacyRenderWidgetHostHWND +@@ -109,6 +109,7 @@ class CONTENT_EXPORT LegacyRenderWidgetHostHWND CR_MESSAGE_HANDLER_EX(WM_NCHITTEST, OnNCHitTest) CR_MESSAGE_RANGE_HANDLER_EX(WM_NCMOUSEMOVE, WM_NCXBUTTONDBLCLK, OnMouseRange) 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 637e601bfa..d4ed747439 100644 --- a/patches/chromium/fix_on-screen-keyboard_hides_on_input_blur_in_webview.patch +++ b/patches/chromium/fix_on-screen-keyboard_hides_on_input_blur_in_webview.patch @@ -87,10 +87,10 @@ index 75df43e3cd2721a92c90c18154d53d5c203e2465..ce42c75c8face36d21f53f44c0201ac4 // The view with active text input state, i.e., a focused element. // It will be nullptr if no such view exists. Note that the active view diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 4a7c0480ad0e9d1f350909a14ef4e6d8d7b24581..808e961195a435e747236ce982dea722267a30dc 100644 +index d42bc3cb3e6adb2cd2c05a3ca629c84153c53663..226b05d62edc0dae87aa76cd6b766250cb0856d6 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -10162,7 +10162,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame( +@@ -10205,7 +10205,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame( "WebContentsImpl::OnFocusedElementChangedInFrame", "render_frame_host", frame); RenderWidgetHostViewBase* root_view = diff --git a/patches/chromium/fix_resolve_dynamic_background_material_update_issue_on_windows_11.patch b/patches/chromium/fix_resolve_dynamic_background_material_update_issue_on_windows_11.patch index ea9f46b255..2f5266fec9 100644 --- a/patches/chromium/fix_resolve_dynamic_background_material_update_issue_on_windows_11.patch +++ b/patches/chromium/fix_resolve_dynamic_background_material_update_issue_on_windows_11.patch @@ -8,7 +8,7 @@ such as the background turning black when maximizing the window and dynamic background material settings not taking effect. diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc -index 956dc87cb07559038a63cec0b5174cec09619bdb..68635b0c0153c3464ab6c7d317177098a7ec644c 100644 +index 392de361fe395b81b346abb477d91d495d00ba34..14b5a59b307179722f28e1cbcf1de220055d0075 100644 --- a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc +++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc @@ -183,6 +183,10 @@ void DesktopWindowTreeHostWin::FinishTouchDrag(gfx::Point screen_point) { 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 37e1e45670..dd5c01c8c2 100644 --- a/patches/chromium/fix_return_v8_value_from_localframe_requestexecutescript.patch +++ b/patches/chromium/fix_return_v8_value_from_localframe_requestexecutescript.patch @@ -203,10 +203,10 @@ index f2c94689450f0333a144ccf82cf147c194896e6b..1c2e9fe36c297f7d614d9ca290e4d13c const mojom::blink::UserActivationOption user_activation_option_; const mojom::blink::LoadEventBlockingOption blocking_option_; diff --git a/third_party/blink/renderer/core/frame/web_frame_test.cc b/third_party/blink/renderer/core/frame/web_frame_test.cc -index 865bb234bce920120dd8a78f701a598fe38388c7..f052ea9f89abffde2345d398eb6d683d761879f5 100644 +index 4aea5af7b5f5b389a046cbc4da42336f5987688e..317b5ec050c4221595a77f87ca320ca07e335e04 100644 --- a/third_party/blink/renderer/core/frame/web_frame_test.cc +++ b/third_party/blink/renderer/core/frame/web_frame_test.cc -@@ -295,6 +295,7 @@ void ExecuteScriptsInMainWorld( +@@ -296,6 +296,7 @@ void ExecuteScriptsInMainWorld( DOMWrapperWorld::kMainWorldId, sources, user_gesture, mojom::blink::EvaluationTiming::kSynchronous, mojom::blink::LoadEventBlockingOption::kDoNotBlock, std::move(callback), diff --git a/patches/chromium/frame_host_manager.patch b/patches/chromium/frame_host_manager.patch index 43fdc2f99f..75e43b7616 100644 --- a/patches/chromium/frame_host_manager.patch +++ b/patches/chromium/frame_host_manager.patch @@ -20,10 +20,10 @@ index 53bbf0174048d62b252b797b06695e6290273e80..4350b57ebf424e392c54dd2b54e62690 } diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h -index 87c78abf57a26c83b153f2ac978024506a32a909..57b120cdb13b099f3ed960a3b136446f9c7d8f69 100644 +index b10f6ae7612556e2f4cff60d38a88b5f1ad1757d..f7189f8b1f9d3299e459df26d801f86d9dff317c 100644 --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h -@@ -340,6 +340,11 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -341,6 +341,11 @@ class CONTENT_EXPORT ContentBrowserClient { virtual ~ContentBrowserClient() = default; diff --git a/patches/chromium/gritsettings_resource_ids.patch b/patches/chromium/gritsettings_resource_ids.patch index 3dce6865e0..1b3dda5516 100644 --- a/patches/chromium/gritsettings_resource_ids.patch +++ b/patches/chromium/gritsettings_resource_ids.patch @@ -6,10 +6,10 @@ Subject: gritsettings_resource_ids.patch Add electron resources file to the list of resource ids generation. diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_ids.spec -index 57ee47577331f6f424d7fa775b5dd9a0fb4b093d..22f5d6c58b80c41b805d54b0f1e4798becfe7a4d 100644 +index b137d827595addbd4e8880ee14dc3b7cd1261dbb..68a6c8f4549a9f084be94a6aa19d3312320e393f 100644 --- a/tools/gritsettings/resource_ids.spec +++ b/tools/gritsettings/resource_ids.spec -@@ -1601,6 +1601,11 @@ +@@ -1619,6 +1619,11 @@ "messages": [10120], }, 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 e17b740920..fc310818d9 100644 --- a/patches/chromium/mas_avoid_private_macos_api_usage.patch.patch +++ b/patches/chromium/mas_avoid_private_macos_api_usage.patch.patch @@ -35,7 +35,7 @@ system font by checking if it's kCTFontPriorityAttribute is set to system priority. diff --git a/base/BUILD.gn b/base/BUILD.gn -index 2a127468d8fcb1d24c2e05ce0e54528386686dff..430ceff387516f71fac947017df1e45e4929f164 100644 +index 73d636ded85feb3db6582d5eab8c713fb7304b31..9c2c027ec7c22578d10d089d624f3ec395d23f1c 100644 --- a/base/BUILD.gn +++ b/base/BUILD.gn @@ -1069,6 +1069,7 @@ component("base") { @@ -581,7 +581,7 @@ index 6f3496b2541fa21fd0bba1d95026eab30e3ab96d..ef481cd946a15f5eaba928fa4e720e6c return kAttributes; } diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn -index 4d4d187ad8c62c4e18454b385c8003a5c478d3ad..20c94074e61cffcf2806fa6b713b0603631f98f8 100644 +index bc58374ed9ce5c94e64742ead089de3ffd7351f4..36884dd700ed4d878b449c00da091497689074f2 100644 --- a/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn @@ -343,6 +343,7 @@ source_set("browser") { @@ -796,7 +796,7 @@ index a1068589ad844518038ee7bc15a3de9bc5cba525..1ff781c49f086ec8015c7d3c44567dbe } // namespace content diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn -index 88911eb5fe3d6e6423b12e2116704988cd032592..5852f0936d8a8de32fcce44f9833fca8aa4fcd7f 100644 +index 7c54ae91e60c7cb0b7c66d9c86b3d350d35ae34f..b4cfa7b08843c0410c5d11f46018d1f9fe89c40e 100644 --- a/content/test/BUILD.gn +++ b/content/test/BUILD.gn @@ -703,6 +703,7 @@ static_library("test_support") { @@ -816,7 +816,7 @@ index 88911eb5fe3d6e6423b12e2116704988cd032592..5852f0936d8a8de32fcce44f9833fca8 } mojom("content_test_mojo_bindings") { -@@ -2066,6 +2069,7 @@ test("content_browsertests") { +@@ -2067,6 +2070,7 @@ test("content_browsertests") { "//ui/shell_dialogs", "//ui/snapshot", "//ui/webui:test_support", @@ -824,7 +824,7 @@ index 88911eb5fe3d6e6423b12e2116704988cd032592..5852f0936d8a8de32fcce44f9833fca8 ] if (!(is_chromeos && target_cpu == "arm64" && current_cpu == "arm")) { -@@ -3403,6 +3407,7 @@ test("content_unittests") { +@@ -3408,6 +3412,7 @@ test("content_unittests") { "//ui/shell_dialogs", "//ui/webui:test_support", "//url", @@ -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 e54ba53ed4866e568ae5c2dfe65e72adfe253e03..07d046634534efb28ee4584dd1b11678f7473e8f 100644 +index e934eb2b317f28dd91f8aa8c69d1cdd974006232..bcc9c361d427d460f0d845bea61e14f440af0a4f 100644 --- a/third_party/blink/renderer/core/BUILD.gn +++ b/third_party/blink/renderer/core/BUILD.gn -@@ -428,6 +428,7 @@ component("core") { +@@ -443,6 +443,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 95674e36cd..f2c43f09a9 100644 --- a/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch +++ b/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch @@ -7,7 +7,7 @@ This adds a callback from the network service that's used to implement session.setCertificateVerifyCallback. diff --git a/services/network/network_context.cc b/services/network/network_context.cc -index 71cef856b5d4311124bc8bf30bf6c0f73b990b13..3598823a6400c4e5045621950433d2688cfbba89 100644 +index 3534a4b276fe96d56a9e7663b35b44aec44344c6..61c7bd716e2ed78c8f71cba50d34e80d6effad4f 100644 --- a/services/network/network_context.cc +++ b/services/network/network_context.cc @@ -166,6 +166,11 @@ @@ -190,7 +190,7 @@ index 3795ce4def719c36e1dace911be53b0103aeafc5..90cf1a70c068771ac98b2d5a283cba5e 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 4a2a6525e636b4963fbaf630d497fbc5a5aa6e90..58c53f7bab65af0b797f502a4633ca47933e26f0 100644 +index bb6136990b69c61ac7e7e00e354f801be6955ff4..8f1e7e517104a4849c96b19d8bedd57ac9a88ec6 100644 --- a/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom @@ -311,6 +311,17 @@ struct SocketBrokerRemotes { @@ -211,7 +211,7 @@ index 4a2a6525e636b4963fbaf630d497fbc5a5aa6e90..58c53f7bab65af0b797f502a4633ca47 // Parameters for constructing a network context. struct NetworkContextParams { // The user agent string. -@@ -1008,6 +1019,9 @@ interface NetworkContext { +@@ -1001,6 +1012,9 @@ interface NetworkContext { // Sets a client for this network context. SetClient(pending_remote client); diff --git a/patches/chromium/notification_provenance.patch b/patches/chromium/notification_provenance.patch index 38ba89a886..15869368cb 100644 --- a/patches/chromium/notification_provenance.patch +++ b/patches/chromium/notification_provenance.patch @@ -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 7ee58f179c7948df29982cd3eac8beb82338391d..2601e4f7b4d236c53d29d81b7f1e418082b85121 100644 +index c6830a02a66b2b2898b40070916b29cc21c5e68c..1aabeee15e34c31a2ceeb3584c934abbb3b0e01b 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -2348,7 +2348,7 @@ void RenderProcessHostImpl::CreateNotificationService( +@@ -2360,7 +2360,7 @@ void RenderProcessHostImpl::CreateNotificationService( case RenderProcessHost::NotificationServiceCreatorType::kSharedWorker: case RenderProcessHost::NotificationServiceCreatorType::kDedicatedWorker: { storage_partition_impl_->GetPlatformNotificationContext()->CreateService( @@ -145,7 +145,7 @@ index 7ee58f179c7948df29982cd3eac8beb82338391d..2601e4f7b4d236c53d29d81b7f1e4180 creator_type, std::move(receiver)); break; } -@@ -2356,7 +2356,7 @@ void RenderProcessHostImpl::CreateNotificationService( +@@ -2368,7 +2368,7 @@ void RenderProcessHostImpl::CreateNotificationService( CHECK(rfh); storage_partition_impl_->GetPlatformNotificationContext()->CreateService( diff --git a/patches/chromium/osr_shared_texture_remove_keyed_mutex_on_win_dxgi.patch b/patches/chromium/osr_shared_texture_remove_keyed_mutex_on_win_dxgi.patch index 9a85a3f2aa..ba5a26f5ab 100644 --- a/patches/chromium/osr_shared_texture_remove_keyed_mutex_on_win_dxgi.patch +++ b/patches/chromium/osr_shared_texture_remove_keyed_mutex_on_win_dxgi.patch @@ -11,7 +11,7 @@ For resolving complex conflict please pin @reitowo For more reason please see: https://crrev.com/c/5465148 diff --git a/gpu/command_buffer/service/shared_image/d3d_image_backing_factory.cc b/gpu/command_buffer/service/shared_image/d3d_image_backing_factory.cc -index 6fd14970d156d6c5636a3c1b04d86f79beca0e3e..a0c619264f8b6d4641813369169baa0bbe4b2b15 100644 +index 93fca64b215fb2f9170fcf5883cfed29ec3f5f69..cc95dab3bb5d4afebddb83154c47f200e282e521 100644 --- a/gpu/command_buffer/service/shared_image/d3d_image_backing_factory.cc +++ b/gpu/command_buffer/service/shared_image/d3d_image_backing_factory.cc @@ -381,7 +381,8 @@ gfx::GpuMemoryBufferHandle D3DImageBackingFactory::CreateGpuMemoryBufferHandle( 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 424e60cc3f..78a9912905 100644 --- a/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch +++ b/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch @@ -44,10 +44,10 @@ index 982b5edc933fdf1c4884dd0e0e7b957cee31c5ef..f28d6f919b5c6aca87c3feb701967a25 void RenderWidgetHostImpl::ShowContextMenuAtPoint( diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index f208b31c5e39cb8c4e5e50ed3dd236bdc266baa5..c47fe83984ca1c592138acafc354651ce1b559fc 100644 +index 4fd490cec97d5391fcf5f821e39de4ccf67b6ae7..eebcf3d97557d5a95c00b483910a23717d1775c5 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -6167,6 +6167,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() { +@@ -6206,6 +6206,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() { return text_input_manager_.get(); } @@ -60,10 +60,10 @@ index f208b31c5e39cb8c4e5e50ed3dd236bdc266baa5..c47fe83984ca1c592138acafc354651c RenderWidgetHostImpl* render_widget_host) { return render_widget_host == GetPrimaryMainFrame()->GetRenderWidgetHost(); diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h -index 82c714ebe0e18cd7715e028836c396c214283d24..9b065992fc577084ef16aaef1436fd0855e32981 100644 +index ca7a0453d21f810c10e35ae447bd3b0ca615007b..2b562b8f8adaced3a87b45f04472313cee3eb479 100644 --- a/content/browser/web_contents/web_contents_impl.h +++ b/content/browser/web_contents/web_contents_impl.h -@@ -1183,6 +1183,7 @@ class CONTENT_EXPORT WebContentsImpl +@@ -1188,6 +1188,7 @@ class CONTENT_EXPORT WebContentsImpl void SendScreenRects() override; void SendActiveState(bool active) override; TextInputManager* GetTextInputManager() override; diff --git a/patches/chromium/refactor_unfilter_unresponsive_events.patch b/patches/chromium/refactor_unfilter_unresponsive_events.patch index 3fc2f5a226..f224484222 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 2798b165fcd0909f7329caa1cb4c8fcbe0934ef9..36d0de8de7871204162d775930960ae0434528a1 100644 +index 540b0adfcc65c95327ec269e75681469f4c36847..792c886d364f23f9888552cf9e7995624cdd3775 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -10311,25 +10311,13 @@ void WebContentsImpl::RendererUnresponsive( +@@ -10354,25 +10354,13 @@ void WebContentsImpl::RendererUnresponsive( base::RepeatingClosure hang_monitor_restarter) { OPTIONAL_TRACE_EVENT1("content", "WebContentsImpl::RendererUnresponsive", "render_widget_host", render_widget_host); diff --git a/patches/chromium/resource_file_conflict.patch b/patches/chromium/resource_file_conflict.patch index e2717c98c2..5afdc02839 100644 --- a/patches/chromium/resource_file_conflict.patch +++ b/patches/chromium/resource_file_conflict.patch @@ -52,10 +52,10 @@ Some alternatives to this patch: None of these options seems like a substantial maintainability win over this patch to me (@nornagon). diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn -index d3ca849dce4a2138e7d5edf126e70149211d4946..c51468e6fdb46634b5458b387d1c78caf2dd083f 100644 +index fa036801ce974378c5fb586bcf0609da24dd8547..606b3bd43179a5b4179a6ec9f58e531d55c1acb5 100644 --- a/chrome/BUILD.gn +++ b/chrome/BUILD.gn -@@ -1537,7 +1537,7 @@ if (is_chrome_branded && !is_android) { +@@ -1538,7 +1538,7 @@ if (is_chrome_branded && !is_android) { } } @@ -64,7 +64,7 @@ index d3ca849dce4a2138e7d5edf126e70149211d4946..c51468e6fdb46634b5458b387d1c78ca chrome_paks("packed_resources") { if (is_mac) { output_dir = "$root_gen_dir/repack" -@@ -1583,6 +1583,12 @@ repack("browser_tests_pak") { +@@ -1584,6 +1584,12 @@ repack("browser_tests_pak") { deps = [ "//chrome/test/data/webui:resources" ] } diff --git a/patches/chromium/revert_code_health_clean_up_stale_macwebcontentsocclusion.patch b/patches/chromium/revert_code_health_clean_up_stale_macwebcontentsocclusion.patch index 5f5abfbcb4..34d049c142 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 d4ceee4abd5439ac81cbd3f33f293d4ef95d3e80..a3eea5ba266dd2b7b8e24522728711f0bc32c261 100644 +index aa548cad26cb2a552cc34ea0e415a9a4ca5e2bba..4d28affac64b3ef741e75547495218cb781fc66d 100644 --- a/content/common/features.cc +++ b/content/common/features.cc -@@ -312,6 +312,14 @@ BASE_FEATURE(kInterestGroupUpdateIfOlderThan, base::FEATURE_ENABLED_BY_DEFAULT); +@@ -317,6 +317,14 @@ BASE_FEATURE(kInterestGroupUpdateIfOlderThan, base::FEATURE_ENABLED_BY_DEFAULT); BASE_FEATURE(kIOSurfaceCapturer, base::FEATURE_ENABLED_BY_DEFAULT); #endif @@ -273,10 +273,10 @@ index d4ceee4abd5439ac81cbd3f33f293d4ef95d3e80..a3eea5ba266dd2b7b8e24522728711f0 BASE_FEATURE(kKeepChildProcessAfterIPCReset, base::FEATURE_DISABLED_BY_DEFAULT); diff --git a/content/common/features.h b/content/common/features.h -index fbe32fbd471fbbb0e50d6956521eb13085088ba7..9d527a620e913b37a210afa514f05283b2792c7d 100644 +index 07c6ff157fd519860206cf61b41a9be0cfa65ae7..03643e2ad38906d1e540aeecf3787c3e6c9a1450 100644 --- a/content/common/features.h +++ b/content/common/features.h -@@ -111,6 +111,9 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kInterestGroupUpdateIfOlderThan); +@@ -112,6 +112,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 61e4456c4d..713bd8a597 100644 --- a/patches/chromium/revert_partial_remove_unused_prehandlemouseevent.patch +++ b/patches/chromium/revert_partial_remove_unused_prehandlemouseevent.patch @@ -54,10 +54,10 @@ index 2fa9876286ecda6a60a2c1970896cb275bbd7ab9..3f14e59de0e296b17f574aa40b879d2f 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 36d0de8de7871204162d775930960ae0434528a1..3662d82708f63f9c3d85e230d7e286693512e785 100644 +index 792c886d364f23f9888552cf9e7995624cdd3775..24c8e744669624f8f3d45fa4e8c6aa645b5205a2 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -4484,6 +4484,12 @@ void WebContentsImpl::RenderWidgetWasResized( +@@ -4521,6 +4521,12 @@ void WebContentsImpl::RenderWidgetWasResized( width_changed); } @@ -71,10 +71,10 @@ index 36d0de8de7871204162d775930960ae0434528a1..3662d82708f63f9c3d85e230d7e28669 const gfx::PointF& client_pt) { if (delegate_) { diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h -index 9b065992fc577084ef16aaef1436fd0855e32981..0f230a7ecaa04e8050899525d606541432dada1e 100644 +index 2b562b8f8adaced3a87b45f04472313cee3eb479..e8b3edf974c6471ef72654544999e9fedf2be89d 100644 --- a/content/browser/web_contents/web_contents_impl.h +++ b/content/browser/web_contents/web_contents_impl.h -@@ -1114,6 +1114,7 @@ class CONTENT_EXPORT WebContentsImpl +@@ -1119,6 +1119,7 @@ class CONTENT_EXPORT WebContentsImpl double GetPendingZoomLevel(RenderWidgetHostImpl* rwh) override; @@ -83,7 +83,7 @@ index 9b065992fc577084ef16aaef1436fd0855e32981..0f230a7ecaa04e8050899525d6065414 const gfx::PointF& client_pt); void PreHandleDragExit(); diff --git a/content/public/browser/web_contents_delegate.cc b/content/public/browser/web_contents_delegate.cc -index a92305042eef86fbabeae6fe02b48668a349be99..5a50203f2df5724fe7bae5dc9ea211fd2cfe6171 100644 +index 54ab4e1426eaa19bfe71b5fdd52e115aae4f0c45..7f2d61d74ccdebee7310a67aaa8819eea52afa13 100644 --- a/content/public/browser/web_contents_delegate.cc +++ b/content/public/browser/web_contents_delegate.cc @@ -126,6 +126,12 @@ bool WebContentsDelegate::HandleContextMenu(RenderFrameHost& render_frame_host, @@ -100,7 +100,7 @@ index a92305042eef86fbabeae6fe02b48668a349be99..5a50203f2df5724fe7bae5dc9ea211fd WebContents* source, const input::NativeWebKeyboardEvent& event) { diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h -index 88b4810d3b91df0dd6b932412edd4ff249bedde0..492efdb688af5af6691f3ef50de48103de29b138 100644 +index 816b53d21e568a3d7a6f5902d87c5315ffedeee2..bf56692686ed554214081c322aedae2df023fedc 100644 --- a/content/public/browser/web_contents_delegate.h +++ b/content/public/browser/web_contents_delegate.h @@ -311,6 +311,13 @@ class CONTENT_EXPORT WebContentsDelegate { diff --git a/patches/chromium/revert_views_remove_desktopwindowtreehostwin_window_enlargement.patch b/patches/chromium/revert_views_remove_desktopwindowtreehostwin_window_enlargement.patch index a51b8701fd..f58a2d0c46 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 d17495e674e0455ef8b487714559efd688d375a1..dada6a92c2dd8b19a2001960da570744ad027858 100644 +index dffb16c851e3b336bdd1091735a51e2086e87d2e..a9bed1920ff9b1272fd41518b27a0056f0ef1825 100644 --- a/testing/variations/fieldtrial_testing_config.json +++ b/testing/variations/fieldtrial_testing_config.json -@@ -25581,6 +25581,21 @@ +@@ -25633,6 +25633,21 @@ ] } ], @@ -36,7 +36,7 @@ index d17495e674e0455ef8b487714559efd688d375a1..dada6a92c2dd8b19a2001960da570744 { "platforms": [ diff --git a/ui/views/views_features.cc b/ui/views/views_features.cc -index eddb6b33f0df6f494ae9dfa63851c924e2d2350c..d74308e69e794637410597c7dd9a06b2d5fff425 100644 +index 9ecf5330bb9b3a5a7b12f3b9bb76192ea1694d07..202d3e3df60ec8d23b4cbd3e5814c3fce1b07871 100644 --- a/ui/views/views_features.cc +++ b/ui/views/views_features.cc @@ -22,6 +22,14 @@ BASE_FEATURE(kAnnounceTextAdditionalAttributes, @@ -55,7 +55,7 @@ index eddb6b33f0df6f494ae9dfa63851c924e2d2350c..d74308e69e794637410597c7dd9a06b2 // to kKeyboardAccessibleTooltip in //ui/base/ui_base_features.cc. BASE_FEATURE(kKeyboardAccessibleTooltipInViews, diff --git a/ui/views/views_features.h b/ui/views/views_features.h -index c1d8107ec3e32d31811572aa1d7a7c7a242da7d9..463abf871c7e169dc1ca9f523d74fc14d58541cc 100644 +index 5f5ea15678bd76399fdbbb8904fe155657f49335..a67c124878fb710599fed5d9714bfa723d0d67a5 100644 --- a/ui/views/views_features.h +++ b/ui/views/views_features.h @@ -14,6 +14,7 @@ namespace views::features { @@ -64,10 +64,10 @@ index c1d8107ec3e32d31811572aa1d7a7c7a242da7d9..463abf871c7e169dc1ca9f523d74fc14 VIEWS_EXPORT BASE_DECLARE_FEATURE(kEnableTouchDragCursorSync); +VIEWS_EXPORT BASE_DECLARE_FEATURE(kEnableTransparentHwndEnlargement); VIEWS_EXPORT BASE_DECLARE_FEATURE(kKeyboardAccessibleTooltipInViews); + VIEWS_EXPORT BASE_DECLARE_FEATURE(kApplyInitialUrlToWebContents); - } // namespace views::features diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc -index d58b59288d881a2d74ea357f1e9e27870d24ac72..956dc87cb07559038a63cec0b5174cec09619bdb 100644 +index fd23b8036c7f2d8bf3ed1bba126f8ee813f688a8..392de361fe395b81b346abb477d91d495d00ba34 100644 --- a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc +++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc @@ -84,6 +84,23 @@ namespace { @@ -219,7 +219,7 @@ index d58b59288d881a2d74ea357f1e9e27870d24ac72..956dc87cb07559038a63cec0b5174cec } gfx::Rect -@@ -917,21 +956,29 @@ int DesktopWindowTreeHostWin::GetNonClientComponent( +@@ -917,18 +956,26 @@ int DesktopWindowTreeHostWin::GetNonClientComponent( void DesktopWindowTreeHostWin::GetWindowMask(const gfx::Size& size_px, SkPath* path) { @@ -239,10 +239,7 @@ index d58b59288d881a2d74ea357f1e9e27870d24ac72..956dc87cb07559038a63cec0b5174cec - if (!path->isEmpty()) { - const float scale = - display::win::GetScreenWin()->GetScaleFactorForHWND(GetHWND()); -- SkScalar sk_scale = SkFloatToScalar(scale); -- SkMatrix matrix; -- matrix.setScale(sk_scale, sk_scale); -- path->transform(matrix); +- *path = path->makeTransform(SkMatrix::Scale(scale, scale)); + if (Widget* widget = GetWidget(); widget && widget->non_client_view()) { + widget->non_client_view()->GetWindowMask( + display::win::GetScreenWin()->ScreenToDIPSize(GetHWND(), @@ -252,14 +249,11 @@ index d58b59288d881a2d74ea357f1e9e27870d24ac72..956dc87cb07559038a63cec0b5174cec + if (!path->isEmpty()) { + const float scale = + display::win::GetScreenWin()->GetScaleFactorForHWND(GetHWND()); -+ SkScalar sk_scale = SkFloatToScalar(scale); -+ SkMatrix matrix; -+ matrix.setScale(sk_scale, sk_scale); -+ path->transform(matrix); ++ *path = path->makeTransform(SkMatrix::Scale(scale, scale)); + } + } else if (!window_enlargement_.IsZero()) { -+ path->addRect(SkRect::MakeXYWH(0, 0, adjusted_size_in_px.width(), -+ adjusted_size_in_px.height())); ++ *path = SkPath::Rect(SkRect::MakeXYWH(0, 0, adjusted_size_in_px.width(), ++ adjusted_size_in_px.height())); } } diff --git a/patches/chromium/scroll_bounce_flag.patch b/patches/chromium/scroll_bounce_flag.patch index 579b7c9ef1..fecaafb174 100644 --- a/patches/chromium/scroll_bounce_flag.patch +++ b/patches/chromium/scroll_bounce_flag.patch @@ -6,10 +6,10 @@ Subject: scroll_bounce_flag.patch Patch to make scrollBounce option work. diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc -index 0e56546b71167bf9f9ea8fba9de8a2cf50d44f4b..b76a714368f87ad8d6b92e3ea37a71ecf666d5ed 100644 +index 3740f509d3271b3397b37727fd8e90b463225b1c..0082895db7b05c162ea242446e587e2f92f341dd 100644 --- a/content/renderer/render_thread_impl.cc +++ b/content/renderer/render_thread_impl.cc -@@ -1208,7 +1208,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() { +@@ -1215,7 +1215,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() { } bool RenderThreadImpl::IsElasticOverscrollEnabled() { diff --git a/patches/chromium/support_mixed_sandbox_with_zygote.patch b/patches/chromium/support_mixed_sandbox_with_zygote.patch index a02d333b68..5c932ada02 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 2601e4f7b4d236c53d29d81b7f1e418082b85121..4b3d822c58b0224299448dbbe6caffe7081b17b6 100644 +index 1aabeee15e34c31a2ceeb3584c934abbb3b0e01b..ede92bd9fd24f5d1950e36a2204b8427b61c5451 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -1926,6 +1926,10 @@ bool RenderProcessHostImpl::Init() { +@@ -1938,6 +1938,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 da9969901d..2e46a60e51 100644 --- a/patches/chromium/web_contents.patch +++ b/patches/chromium/web_contents.patch @@ -9,10 +9,10 @@ is needed for OSR. Originally landed in https://github.com/electron/libchromiumcontent/pull/226. diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index c6f031e408768a31198f7e875d03d59cacaef9a7..66c603cfa5916e377a5d978a5d8e0f0e63ddb2a3 100644 +index 1cc8474a5f369cd0b13c328179c9be560b167468..003cd53d8d658351fa88cbc7f1dc33169c36b61b 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -4215,6 +4215,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, +@@ -4252,6 +4252,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, params.main_frame_name, GetOpener(), primary_main_frame_policy, base::UnguessableToken::Create()); @@ -26,7 +26,7 @@ index c6f031e408768a31198f7e875d03d59cacaef9a7..66c603cfa5916e377a5d978a5d8e0f0e std::unique_ptr delegate = GetContentClient()->browser()->GetWebContentsViewDelegate(this); -@@ -4225,6 +4232,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, +@@ -4262,6 +4269,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, view_ = CreateWebContentsView(this, std::move(delegate), &render_view_host_delegate_view_); } @@ -35,10 +35,10 @@ index c6f031e408768a31198f7e875d03d59cacaef9a7..66c603cfa5916e377a5d978a5d8e0f0e CHECK(view_.get()); diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h -index 221839a555727d62e5d6546377baa9aa08ef52bb..ab55df1817cb0c0213c3db7102c8c6d561dd1b87 100644 +index 3255b4c9a3efe35850f3c5de5137524091b6235c..121fba14cd65bc84f8d724885311f0927766c8b0 100644 --- a/content/public/browser/web_contents.h +++ b/content/public/browser/web_contents.h -@@ -130,11 +130,14 @@ class PrerenderHandle; +@@ -131,11 +131,14 @@ class PrerenderHandle; class RenderFrameHost; class RenderViewHost; class RenderWidgetHost; @@ -53,7 +53,7 @@ index 221839a555727d62e5d6546377baa9aa08ef52bb..ab55df1817cb0c0213c3db7102c8c6d5 class WebUI; struct DropData; struct GlobalRenderFrameHostId; -@@ -292,6 +295,10 @@ class WebContents : public PageNavigator, public base::SupportsUserData { +@@ -293,6 +296,10 @@ class WebContents : public PageNavigator, public base::SupportsUserData { network::mojom::WebSandboxFlags starting_sandbox_flags = network::mojom::WebSandboxFlags::kNone; diff --git a/patches/chromium/webview_fullscreen.patch b/patches/chromium/webview_fullscreen.patch index 481b611b19..0c34d5dd9e 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 5f973dba78748ba2aeaab377534e9866d96a44fe..d66a52d58cc9daf00a785cd9654fd453fd958a5e 100644 +index 034e8a1204badd4facef51a048f12e7c18b34f5d..2688af93f5ba31ece987b94f2e40d7f76a866bcc 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -9057,6 +9057,17 @@ void RenderFrameHostImpl::EnterFullscreen( +@@ -9051,6 +9051,17 @@ void RenderFrameHostImpl::EnterFullscreen( } } @@ -37,10 +37,10 @@ index 5f973dba78748ba2aeaab377534e9866d96a44fe..d66a52d58cc9daf00a785cd9654fd453 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 66c603cfa5916e377a5d978a5d8e0f0e63ddb2a3..4a7c0480ad0e9d1f350909a14ef4e6d8d7b24581 100644 +index 003cd53d8d658351fa88cbc7f1dc33169c36b61b..d42bc3cb3e6adb2cd2c05a3ca629c84153c53663 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -4501,21 +4501,25 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent( +@@ -4538,21 +4538,25 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent( const input::NativeWebKeyboardEvent& event) { OPTIONAL_TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("content.verbose"), "WebContentsImpl::PreHandleKeyboardEvent"); @@ -80,7 +80,7 @@ index 66c603cfa5916e377a5d978a5d8e0f0e63ddb2a3..4a7c0480ad0e9d1f350909a14ef4e6d8 } bool WebContentsImpl::HandleMouseEvent(const blink::WebMouseEvent& event) { -@@ -4674,7 +4678,7 @@ void WebContentsImpl::EnterFullscreenMode( +@@ -4711,7 +4715,7 @@ void WebContentsImpl::EnterFullscreenMode( OPTIONAL_TRACE_EVENT0("content", "WebContentsImpl::EnterFullscreenMode"); DCHECK(CanEnterFullscreenMode(requesting_frame)); DCHECK(requesting_frame->IsActive()); diff --git a/patches/chromium/worker_context_will_destroy.patch b/patches/chromium/worker_context_will_destroy.patch index 421adf8bb5..ecc6ada86d 100644 --- a/patches/chromium/worker_context_will_destroy.patch +++ b/patches/chromium/worker_context_will_destroy.patch @@ -10,10 +10,10 @@ An attempt to upstream this was made, but rejected: https://chromium-review.googlesource.com/c/chromium/src/+/1954347 diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h -index fbf4212b0aa58467a404ce146c59e8a7d2e55461..e27271000fdcb9f155467923db74b5da4df3e989 100644 +index d63a25362fbfa35677de03fd09da535780feb1c9..c2fa875848478bca9115fc94271fde920e6b62fa 100644 --- a/content/public/renderer/content_renderer_client.h +++ b/content/public/renderer/content_renderer_client.h -@@ -428,6 +428,11 @@ class CONTENT_EXPORT ContentRendererClient { +@@ -419,6 +419,11 @@ class CONTENT_EXPORT ContentRendererClient { virtual void DidInitializeWorkerContextOnWorkerThread( v8::Local context) {} @@ -26,10 +26,10 @@ index fbf4212b0aa58467a404ce146c59e8a7d2e55461..e27271000fdcb9f155467923db74b5da // 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 93bb9ba86074d5105cca072d08588ff6e58caa6f..c3c795042c611b3ceb99d25dc255fbbe46ee9fcc 100644 +index 62b062d95ea9356d9d1ac7e86533e4b72e257c38..796dd5ccbcf6cc9e29a9aa6c6ca32f084dbefb49 100644 --- a/content/renderer/renderer_blink_platform_impl.cc +++ b/content/renderer/renderer_blink_platform_impl.cc -@@ -902,6 +902,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() { +@@ -903,6 +903,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() { WorkerThreadRegistry::Instance()->WillStopCurrentWorkerThread(); } @@ -43,7 +43,7 @@ index 93bb9ba86074d5105cca072d08588ff6e58caa6f..c3c795042c611b3ceb99d25dc255fbbe const v8::Local& worker) { GetContentClient()->renderer()->DidInitializeWorkerContextOnWorkerThread( diff --git a/content/renderer/renderer_blink_platform_impl.h b/content/renderer/renderer_blink_platform_impl.h -index 451dd8f53764d02906cdfdd42d4a09f676857280..82d9b2f234101aeddc9c20ffae0d8793a5902ced 100644 +index e6180f6f86163130a63a2dd057799b54379efd4e..f53a619169a5cc82b7ae8ac13c4263ddcd432369 100644 --- a/content/renderer/renderer_blink_platform_impl.h +++ b/content/renderer/renderer_blink_platform_impl.h @@ -206,6 +206,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { @@ -55,10 +55,10 @@ index 451dd8f53764d02906cdfdd42d4a09f676857280..82d9b2f234101aeddc9c20ffae0d8793 const blink::WebSecurityOrigin& script_origin) override; blink::ProtocolHandlerSecurityLevel GetProtocolHandlerSecurityLevel( diff --git a/third_party/blink/public/platform/platform.h b/third_party/blink/public/platform/platform.h -index ee07da0b3073fa15f66058bdd06cd8bce6f46c6e..dc188f2ac6cdd718eb058af834ca8fdf5ae3c753 100644 +index d182d973c5ae089b5c7919427c4bc822ef742d69..21da7570508b6929b8dd57957454d280119f7463 100644 --- a/third_party/blink/public/platform/platform.h +++ b/third_party/blink/public/platform/platform.h -@@ -673,6 +673,7 @@ class BLINK_PLATFORM_EXPORT Platform { +@@ -674,6 +674,7 @@ class BLINK_PLATFORM_EXPORT Platform { virtual void DidStartWorkerThread() {} virtual void WillStopWorkerThread() {} virtual void WorkerContextCreated(const v8::Local& worker) {} 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 06376920f7..48377c0067 100644 --- a/patches/chromium/worker_feat_add_hook_to_notify_script_ready.patch +++ b/patches/chromium/worker_feat_add_hook_to_notify_script_ready.patch @@ -19,10 +19,10 @@ that clearly establishes the worker script is ready for evaluation with the scop initialized. diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h -index e27271000fdcb9f155467923db74b5da4df3e989..1c5a9e693fd3b09213118fb32e4509e1d4a59364 100644 +index c2fa875848478bca9115fc94271fde920e6b62fa..6fa11f89ea212eabd7fdc979d2d99138b1f3c88e 100644 --- a/content/public/renderer/content_renderer_client.h +++ b/content/public/renderer/content_renderer_client.h -@@ -428,6 +428,11 @@ class CONTENT_EXPORT ContentRendererClient { +@@ -419,6 +419,11 @@ class CONTENT_EXPORT ContentRendererClient { virtual void DidInitializeWorkerContextOnWorkerThread( v8::Local context) {} @@ -35,10 +35,10 @@ index e27271000fdcb9f155467923db74b5da4df3e989..1c5a9e693fd3b09213118fb32e4509e1 // 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 c3c795042c611b3ceb99d25dc255fbbe46ee9fcc..f9d5d5c633e35f562c9bfd83e90490737f48f563 100644 +index 796dd5ccbcf6cc9e29a9aa6c6ca32f084dbefb49..f51996a391c996ee711aa076933346de8e772645 100644 --- a/content/renderer/renderer_blink_platform_impl.cc +++ b/content/renderer/renderer_blink_platform_impl.cc -@@ -914,6 +914,12 @@ void RendererBlinkPlatformImpl::WorkerContextCreated( +@@ -915,6 +915,12 @@ void RendererBlinkPlatformImpl::WorkerContextCreated( worker); } @@ -52,7 +52,7 @@ index c3c795042c611b3ceb99d25dc255fbbe46ee9fcc..f9d5d5c633e35f562c9bfd83e9049073 const blink::WebSecurityOrigin& script_origin) { return GetContentClient()->renderer()->AllowScriptExtensionForServiceWorker( diff --git a/content/renderer/renderer_blink_platform_impl.h b/content/renderer/renderer_blink_platform_impl.h -index 82d9b2f234101aeddc9c20ffae0d8793a5902ced..f266958af5641064fac8995f1e3786f178f2f7bd 100644 +index f53a619169a5cc82b7ae8ac13c4263ddcd432369..586167d5984d0163f17e3bbacca34f51ae48e8d5 100644 --- a/content/renderer/renderer_blink_platform_impl.h +++ b/content/renderer/renderer_blink_platform_impl.h @@ -206,6 +206,8 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { @@ -65,10 +65,10 @@ index 82d9b2f234101aeddc9c20ffae0d8793a5902ced..f266958af5641064fac8995f1e3786f1 bool AllowScriptExtensionForServiceWorker( const blink::WebSecurityOrigin& script_origin) override; diff --git a/third_party/blink/public/platform/platform.h b/third_party/blink/public/platform/platform.h -index dc188f2ac6cdd718eb058af834ca8fdf5ae3c753..072a55c9c40c6cc1a44a2939e614950dceb1bb27 100644 +index 21da7570508b6929b8dd57957454d280119f7463..459ea5c34c3c09099f064fff2684de1228658739 100644 --- a/third_party/blink/public/platform/platform.h +++ b/third_party/blink/public/platform/platform.h -@@ -673,6 +673,8 @@ class BLINK_PLATFORM_EXPORT Platform { +@@ -674,6 +674,8 @@ class BLINK_PLATFORM_EXPORT Platform { virtual void DidStartWorkerThread() {} virtual void WillStopWorkerThread() {} virtual void WorkerContextCreated(const v8::Local& worker) {} diff --git a/patches/nan/.patches b/patches/nan/.patches index 4b609c1fec..281c837d33 100644 --- a/patches/nan/.patches +++ b/patches/nan/.patches @@ -3,3 +3,5 @@ fix_replace_deprecated_get_setprototype.patch fix_replace_usage_of_removed_writeutf8_with_writeutf8v2.patch test_use_v8_version_check_instead_of_node_version_check.patch fix_remove_deprecated_propertycallbackinfo_holder.patch +fix_deprecation_of_v8_context_and_v8_object_api_methods.patch +remove_accesscontrol_enum_for_v8_14_4_59.patch diff --git a/patches/nan/fix_deprecation_of_v8_context_and_v8_object_api_methods.patch b/patches/nan/fix_deprecation_of_v8_context_and_v8_object_api_methods.patch new file mode 100644 index 0000000000..e866bbf3f4 --- /dev/null +++ b/patches/nan/fix_deprecation_of_v8_context_and_v8_object_api_methods.patch @@ -0,0 +1,95 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: John Kleinschmidt +Date: Thu, 6 Nov 2025 11:47:29 -0500 +Subject: fix deprecation of v8::Context and v8::Object API methods + +ref: https://chromium-review.googlesource.com/c/v8/v8/+/7087956 + +diff --git a/nan.h b/nan.h +index 0f120365630e7e2a37964f09cc129d05c6648c90..20ec9daca6befd0ff2bf7eff6a164d4e47a545aa 100644 +--- a/nan.h ++++ b/nan.h +@@ -823,14 +823,14 @@ inline uv_loop_t* GetCurrentEventLoop() { + inline void* GetInternalFieldPointer( + v8::Local object + , int index) { +- return object->GetAlignedPointerFromInternalField(index); ++ return object->GetAlignedPointerFromInternalField(index, v8::kEmbedderDataTypeTagDefault); + } + + inline void SetInternalFieldPointer( + v8::Local object + , int index + , void* value) { +- object->SetAlignedPointerInInternalField(index, value); ++ object->SetAlignedPointerInInternalField(index, value, v8::kEmbedderDataTypeTagDefault); + } + + # define NAN_GC_CALLBACK(name) \ +diff --git a/nan_weak.h b/nan_weak.h +index 7e7ab07b8512dbbcc1f09c498e221032d2cd345f..968ecee9e95b4c841406d900cf177a37564561d5 100644 +--- a/nan_weak.h ++++ b/nan_weak.h +@@ -276,7 +276,7 @@ inline void Persistent::SetWeak( + int count = self->InternalFieldCount(); + void *internal_fields[kInternalFieldsInWeakCallback] = {0, 0}; + for (int i = 0; i < count && i < kInternalFieldsInWeakCallback; i++) { +- internal_fields[i] = self->GetAlignedPointerFromInternalField(i); ++ internal_fields[i] = self->GetAlignedPointerFromInternalField(i, v8::kEmbedderDataTypeTagDefault); + } + wcbd = new WeakCallbackInfo

( + reinterpret_cast*>(this) +@@ -284,7 +284,7 @@ inline void Persistent::SetWeak( + , 0 + , internal_fields[0] + , internal_fields[1]); +- self->SetAlignedPointerInInternalField(0, wcbd); ++ self->SetAlignedPointerInInternalField(0, wcbd, v8::kEmbedderDataTypeTagDefault); + v8::PersistentBase::SetWeak( + static_cast*>(0) + , WeakCallbackInfo

::template invoketwofield +@@ -314,7 +314,7 @@ inline void Persistent::SetWeak( + int count = self->InternalFieldCount(); + void *internal_fields[kInternalFieldsInWeakCallback] = {0, 0}; + for (int i = 0; i < count && i < kInternalFieldsInWeakCallback; i++) { +- internal_fields[i] = self->GetAlignedPointerFromInternalField(i); ++ internal_fields[i] = self->GetAlignedPointerFromInternalField(i, v8::kEmbedderDataTypeTagDefault); + } + wcbd = new WeakCallbackInfo

( + reinterpret_cast*>(this) +@@ -322,7 +322,7 @@ inline void Persistent::SetWeak( + , 0 + , internal_fields[0] + , internal_fields[1]); +- self->SetAlignedPointerInInternalField(0, wcbd); ++ self->SetAlignedPointerInInternalField(0, wcbd, v8::kEmbedderDataTypeTagDefault); + v8::PersistentBase::SetPhantom( + static_cast*>(0) + , WeakCallbackInfo

::invoketwofield +@@ -353,7 +353,7 @@ inline void Persistent::SetWeak( + int count = self->InternalFieldCount(); + void *internal_fields[kInternalFieldsInWeakCallback] = {0, 0}; + for (int i = 0; i < count && i < kInternalFieldsInWeakCallback; i++) { +- internal_fields[i] = self->GetAlignedPointerFromInternalField(i); ++ internal_fields[i] = self->GetAlignedPointerFromInternalField(i, v8::kEmbedderDataTypeTagDefault); + } + wcbd = new WeakCallbackInfo

( + reinterpret_cast*>(this) +@@ -361,7 +361,7 @@ inline void Persistent::SetWeak( + , 0 + , internal_fields[0] + , internal_fields[1]); +- self->SetAlignedPointerInInternalField(0, wcbd); ++ self->SetAlignedPointerInInternalField(0, wcbd, v8::kEmbedderDataTypeTagDefault); + v8::PersistentBase::SetPhantom( + WeakCallbackInfo

::invoketwofield + , 0 +@@ -389,7 +389,7 @@ inline void Persistent::SetWeak( + int count = self->InternalFieldCount(); + void *internal_fields[kInternalFieldsInWeakCallback] = {0, 0}; + for (int i = 0; i < count && i < kInternalFieldsInWeakCallback; i++) { +- internal_fields[i] = self->GetAlignedPointerFromInternalField(i); ++ internal_fields[i] = self->GetAlignedPointerFromInternalField(i, v8::kEmbedderDataTypeTagDefault); + } + wcbd = new WeakCallbackInfo

( + reinterpret_cast*>(this) diff --git a/patches/nan/remove_accesscontrol_enum_for_v8_14_4_59.patch b/patches/nan/remove_accesscontrol_enum_for_v8_14_4_59.patch new file mode 100644 index 0000000000..b03769225c --- /dev/null +++ b/patches/nan/remove_accesscontrol_enum_for_v8_14_4_59.patch @@ -0,0 +1,50 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: John Kleinschmidt +Date: Thu, 6 Nov 2025 15:17:50 -0500 +Subject: Remove AccessControl enum for v8 14.4.59 + +xref: [api] Remove deprecated interceptor callback types +and AccessControl enum. + +https://chromium-review.googlesource.com/c/v8/v8/+/7112747 + +diff --git a/nan.h b/nan.h +index 20ec9daca6befd0ff2bf7eff6a164d4e47a545aa..c6187a9e428e744baa2941f4f5a0ed589cdd3440 100644 +--- a/nan.h ++++ b/nan.h +@@ -2596,7 +2596,11 @@ NAN_DEPRECATED inline void SetAccessor( + , GetterCallback getter + , SetterCallback setter + , v8::Local data ++#if !defined(V8_MAJOR_VERSION) || V8_MAJOR_VERSION < 14 || \ ++ (V8_MAJOR_VERSION == 14 && (!defined(V8_MINOR_VERSION) || V8_MINOR_VERSION < 4)) || \ ++ (V8_MAJOR_VERSION == 14 && V8_MINOR_VERSION == 4 && (!defined(V8_BUILD_NUMBER) || V8_BUILD_NUMBER < 59)) + , v8::AccessControl settings ++#endif + , v8::PropertyAttribute attribute + , imp::Sig signature) { + HandleScope scope; +@@ -2651,7 +2655,11 @@ inline void SetAccessor( + , GetterCallback getter + , SetterCallback setter = 0 + , v8::Local data = v8::Local() ++#if !defined(V8_MAJOR_VERSION) || V8_MAJOR_VERSION < 14 || \ ++ (V8_MAJOR_VERSION == 14 && (!defined(V8_MINOR_VERSION) || V8_MINOR_VERSION < 4)) || \ ++ (V8_MAJOR_VERSION == 14 && V8_MINOR_VERSION == 4 && (!defined(V8_BUILD_NUMBER) || V8_BUILD_NUMBER < 59)) + , v8::AccessControl settings = v8::DEFAULT ++#endif + , v8::PropertyAttribute attribute = v8::None) { + HandleScope scope; + +@@ -2702,7 +2710,11 @@ inline bool SetAccessor( + , GetterCallback getter + , SetterCallback setter = 0 + , v8::Local data = v8::Local() ++#if !defined(V8_MAJOR_VERSION) || V8_MAJOR_VERSION < 14 || \ ++ (V8_MAJOR_VERSION == 14 && (!defined(V8_MINOR_VERSION) || V8_MINOR_VERSION < 4)) || \ ++ (V8_MAJOR_VERSION == 14 && V8_MINOR_VERSION == 4 && (!defined(V8_BUILD_NUMBER) || V8_BUILD_NUMBER < 59)) + , v8::AccessControl settings = v8::DEFAULT ++#endif + , v8::PropertyAttribute attribute = v8::None) { + HandleScope scope; + diff --git a/patches/node/.patches b/patches/node/.patches index e080e149e4..94da36c4af 100644 --- a/patches/node/.patches +++ b/patches/node/.patches @@ -39,3 +39,5 @@ feat_disable_js_source_phase_imports_by_default.patch fix_avoid_external_memory_leak_on_invalid_tls_protocol_versions.patch lib_check_sharedarraybuffer_existence_in_fast-utf8-stream.patch chore_handle_support_for_import_defer_as_ns_and_import_defer.patch +api_delete_deprecated_fields_on_v8_isolate.patch +api_promote_deprecation_of_v8_context_and_v8_object_api_methods.patch diff --git a/patches/node/api_delete_deprecated_fields_on_v8_isolate.patch b/patches/node/api_delete_deprecated_fields_on_v8_isolate.patch new file mode 100644 index 0000000000..c8896e87c5 --- /dev/null +++ b/patches/node/api_delete_deprecated_fields_on_v8_isolate.patch @@ -0,0 +1,20 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: John Kleinschmidt +Date: Wed, 5 Nov 2025 12:50:16 -0500 +Subject: Delete deprecated fields on v8::Isolate + +https://chromium-review.googlesource.com/c/v8/v8/+/7081397 + +diff --git a/src/api/environment.cc b/src/api/environment.cc +index 14be033113bfb13c64e5f99446afaf0cb2aa16a9..3eccf4ce7fcd13091186086456e60334f95f643e 100644 +--- a/src/api/environment.cc ++++ b/src/api/environment.cc +@@ -225,8 +225,6 @@ void SetIsolateCreateParamsForNode(Isolate::CreateParams* params) { + // heap based on the actual physical memory. + params->constraints.ConfigureDefaults(total_memory, 0); + } +- params->embedder_wrapper_object_index = BaseObject::InternalFields::kSlot; +- params->embedder_wrapper_type_index = std::numeric_limits::max(); + + #ifdef NODE_ENABLE_VTUNE_PROFILING + params->code_event_handler = vTune::GetVtuneCodeEventHandler(); diff --git a/patches/node/api_promote_deprecation_of_v8_context_and_v8_object_api_methods.patch b/patches/node/api_promote_deprecation_of_v8_context_and_v8_object_api_methods.patch new file mode 100644 index 0000000000..f66e6a8038 --- /dev/null +++ b/patches/node/api_promote_deprecation_of_v8_context_and_v8_object_api_methods.patch @@ -0,0 +1,119 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: John Kleinschmidt +Date: Wed, 5 Nov 2025 16:41:23 -0500 +Subject: Promote deprecation of v8::Context and v8::Object API methods + +https://chromium-review.googlesource.com/c/v8/v8/+/7087956 + +diff --git a/src/base_object-inl.h b/src/base_object-inl.h +index 37d83e41b618a07aca98118260abe9618f11256d..26d5c1bd3c8191fce1d22b969996b6bf35ef6d3b 100644 +--- a/src/base_object-inl.h ++++ b/src/base_object-inl.h +@@ -75,7 +75,7 @@ bool BaseObject::IsBaseObject(IsolateData* isolate_data, + } + + uint16_t* ptr = static_cast( +- obj->GetAlignedPointerFromInternalField(BaseObject::kEmbedderType)); ++ obj->GetAlignedPointerFromInternalField(BaseObject::kEmbedderType, v8::kEmbedderDataTypeTagDefault)); + return ptr == isolate_data->embedder_id_for_non_cppgc(); + } + +@@ -83,21 +83,21 @@ void BaseObject::TagBaseObject(IsolateData* isolate_data, + v8::Local object) { + DCHECK_GE(object->InternalFieldCount(), BaseObject::kInternalFieldCount); + object->SetAlignedPointerInInternalField( +- BaseObject::kEmbedderType, isolate_data->embedder_id_for_non_cppgc()); ++ BaseObject::kEmbedderType, isolate_data->embedder_id_for_non_cppgc(), v8::kEmbedderDataTypeTagDefault); + } + + void BaseObject::SetInternalFields(IsolateData* isolate_data, + v8::Local object, + void* slot) { + TagBaseObject(isolate_data, object); +- object->SetAlignedPointerInInternalField(BaseObject::kSlot, slot); ++ object->SetAlignedPointerInInternalField(BaseObject::kSlot, slot, v8::kEmbedderDataTypeTagDefault); + } + + BaseObject* BaseObject::FromJSObject(v8::Local value) { + v8::Local obj = value.As(); + DCHECK_GE(obj->InternalFieldCount(), BaseObject::kInternalFieldCount); + return static_cast( +- obj->GetAlignedPointerFromInternalField(BaseObject::kSlot)); ++ obj->GetAlignedPointerFromInternalField(BaseObject::kSlot, v8::kEmbedderDataTypeTagDefault)); + } + + template +diff --git a/src/env-inl.h b/src/env-inl.h +index 5dfbd564d5bbd22ebf3b529a07b73e85cbe51986..b0c3c52cab63c6ae67079aa752bd58dd4f162451 100644 +--- a/src/env-inl.h ++++ b/src/env-inl.h +@@ -199,7 +199,8 @@ inline Environment* Environment::GetCurrent(v8::Local context) { + } + return static_cast( + context->GetAlignedPointerFromEmbedderData( +- ContextEmbedderIndex::kEnvironment)); ++ ContextEmbedderIndex::kEnvironment, ++ v8::kEmbedderDataTypeTagDefault)); + } + + inline Environment* Environment::GetCurrent( +diff --git a/src/node_context_data.h b/src/node_context_data.h +index d81c75daaae47b8b0b489cf357a32e437e7a6cf7..b0aab2f7b2538b6e2cacc9ffd52473b7b4ffff38 100644 +--- a/src/node_context_data.h ++++ b/src/node_context_data.h +@@ -135,7 +135,8 @@ class ContextEmbedderTag { + // context. + context->SetAlignedPointerInEmbedderData( + ContextEmbedderIndex::kContextTag, +- ContextEmbedderTag::kNodeContextTagPtr); ++ ContextEmbedderTag::kNodeContextTagPtr, ++ v8::kEmbedderDataTypeTagDefault); + } + + static inline bool IsNodeContext(v8::Local context) { +@@ -147,7 +148,8 @@ class ContextEmbedderTag { + return false; + } + if (context->GetAlignedPointerFromEmbedderData( +- ContextEmbedderIndex::kContextTag) != ++ ContextEmbedderIndex::kContextTag, ++ v8::kEmbedderDataTypeTagDefault) != + ContextEmbedderTag::kNodeContextTagPtr) [[unlikely]] { + return false; + } +diff --git a/src/node_object_wrap.h b/src/node_object_wrap.h +index cb13d84388bcc6806d3b038a51e1cc2d1feccda1..687b2cf3e63b2a3306e2cbac67e3e216dac49aa6 100644 +--- a/src/node_object_wrap.h ++++ b/src/node_object_wrap.h +@@ -49,7 +49,7 @@ class ObjectWrap { + assert(handle->InternalFieldCount() > 0); + // Cast to ObjectWrap before casting to T. A direct cast from void + // to T won't work right when T has more than one base class. +- void* ptr = handle->GetAlignedPointerFromInternalField(0); ++ void* ptr = handle->GetAlignedPointerFromInternalField(0, v8::kEmbedderDataTypeTagDefault); + ObjectWrap* wrap = static_cast(ptr); + return static_cast(wrap); + } +@@ -75,7 +75,7 @@ class ObjectWrap { + inline void Wrap(v8::Local handle) { + assert(persistent().IsEmpty()); + assert(handle->InternalFieldCount() > 0); +- handle->SetAlignedPointerInInternalField(0, this); ++ handle->SetAlignedPointerInInternalField(0, this, v8::kEmbedderDataTypeTagDefault); + persistent().Reset(v8::Isolate::GetCurrent(), handle); + MakeWeak(); + } +diff --git a/src/node_realm-inl.h b/src/node_realm-inl.h +index f162d1506c990a5fe578be6f1324427e3f9023f4..b57bb0b42e98b954c0c8662c667e589d6c68a5d3 100644 +--- a/src/node_realm-inl.h ++++ b/src/node_realm-inl.h +@@ -21,7 +21,8 @@ inline Realm* Realm::GetCurrent(v8::Local context) { + return nullptr; + } + return static_cast( +- context->GetAlignedPointerFromEmbedderData(ContextEmbedderIndex::kRealm)); ++ context->GetAlignedPointerFromEmbedderData(ContextEmbedderIndex::kRealm, ++ v8::kEmbedderDataTypeTagDefault)); + } + + inline Realm* Realm::GetCurrent( diff --git a/shell/browser/api/electron_api_service_worker_main.cc b/shell/browser/api/electron_api_service_worker_main.cc index f239466893..a0e6978803 100644 --- a/shell/browser/api/electron_api_service_worker_main.cc +++ b/shell/browser/api/electron_api_service_worker_main.cc @@ -10,6 +10,7 @@ #include "base/logging.h" #include "base/no_destructor.h" #include "content/browser/service_worker/service_worker_context_wrapper.h" // nogncheck +#include "content/browser/service_worker/service_worker_info.h" // nogncheck #include "content/browser/service_worker/service_worker_version.h" // nogncheck #include "gin/object_template_builder.h" #include "services/service_manager/public/cpp/interface_provider.h" diff --git a/shell/browser/api/electron_api_web_contents.cc b/shell/browser/api/electron_api_web_contents.cc index 984154b8c7..5263259beb 100644 --- a/shell/browser/api/electron_api_web_contents.cc +++ b/shell/browser/api/electron_api_web_contents.cc @@ -2261,7 +2261,8 @@ void WebContents::WebContentsDestroyed() { v8::Local wrapper; if (!GetWrapper(isolate).ToLocal(&wrapper)) return; - wrapper->SetAlignedPointerInInternalField(0, nullptr); + wrapper->SetAlignedPointerInInternalField(0, nullptr, + v8::kEmbedderDataTypeTagDefault); // Tell WebViewGuestDelegate that the WebContents has been destroyed. if (guest_delegate_) diff --git a/shell/browser/electron_browser_client.cc b/shell/browser/electron_browser_client.cc index 054d5e89a4..b5620f9fc6 100644 --- a/shell/browser/electron_browser_client.cc +++ b/shell/browser/electron_browser_client.cc @@ -216,12 +216,14 @@ #if BUILDFLAG(ENABLE_PDF_VIEWER) #include "chrome/browser/pdf/chrome_pdf_stream_delegate.h" +#include "chrome/browser/pdf/pdf_help_bubble_handler_factory.h" #include "chrome/browser/plugins/pdf_iframe_navigation_throttle.h" // nogncheck #include "components/pdf/browser/pdf_document_helper.h" // nogncheck #include "components/pdf/browser/pdf_navigation_throttle.h" #include "components/pdf/browser/pdf_url_loader_request_interceptor.h" #include "components/pdf/common/constants.h" // nogncheck #include "shell/browser/electron_pdf_document_helper_client.h" +#include "ui/webui/resources/cr_components/help_bubble/help_bubble.mojom.h" // nogncheck #endif using content::BrowserThread; @@ -1676,6 +1678,11 @@ void ElectronBrowserClient::RegisterBrowserInterfaceBindersForFrame( ->RegisterBrowserInterfaceBindersForFrame(map, render_frame_host, extension); #endif + +#if BUILDFLAG(ENABLE_PDF_VIEWER) + map->Add( + &pdf::PdfHelpBubbleHandlerFactory::Create); +#endif } #if BUILDFLAG(IS_LINUX) diff --git a/shell/browser/notifications/win/notification_presenter_win.cc b/shell/browser/notifications/win/notification_presenter_win.cc index 7bf69ec283..2649ce40a9 100644 --- a/shell/browser/notifications/win/notification_presenter_win.cc +++ b/shell/browser/notifications/win/notification_presenter_win.cc @@ -11,7 +11,7 @@ #include #include "base/files/file_util.h" -#include "base/hash/md5.h" +#include "base/hash/sha1.h" #include "base/logging.h" #include "base/strings/string_number_conversions.h" #include "base/strings/utf_string_conversions.h" @@ -68,7 +68,7 @@ std::wstring NotificationPresenterWin::SaveIconToFilesystem( std::string filename; if (origin.is_valid()) { - filename = base::MD5String(origin.spec()) + ".png"; + filename = base::SHA1HashString(origin.spec()) + ".png"; } else { const int64_t now_usec = base::Time::Now().since_origin().InMicroseconds(); filename = base::NumberToString(now_usec) + ".png"; diff --git a/shell/browser/ui/views/win_icon_painter.cc b/shell/browser/ui/views/win_icon_painter.cc index 798e02d04b..7f102f75ed 100644 --- a/shell/browser/ui/views/win_icon_painter.cc +++ b/shell/browser/ui/views/win_icon_painter.cc @@ -7,6 +7,7 @@ #include "base/numerics/safe_conversions.h" #include "cc/paint/paint_flags.h" #include "third_party/skia/include/core/SkPath.h" +#include "third_party/skia/include/core/SkPathBuilder.h" #include "ui/gfx/canvas.h" #include "ui/gfx/geometry/rrect_f.h" @@ -75,11 +76,12 @@ void WinIconPainter::PaintCloseIcon(gfx::Canvas* canvas, paint_flags.setAntiAlias(true); canvas->ClipRect(symbol_rect); - SkPath path; - path.moveTo(symbol_rect.x(), symbol_rect.y()); - path.lineTo(symbol_rect.right(), symbol_rect.bottom()); - path.moveTo(symbol_rect.right(), symbol_rect.y()); - path.lineTo(symbol_rect.x(), symbol_rect.bottom()); + const SkPath path = SkPathBuilder() + .moveTo(symbol_rect.x(), symbol_rect.y()) + .lineTo(symbol_rect.right(), symbol_rect.bottom()) + .moveTo(symbol_rect.right(), symbol_rect.y()) + .lineTo(symbol_rect.x(), symbol_rect.bottom()) + .detach(); canvas->DrawPath(path, flags); } diff --git a/shell/common/gin_helper/destroyable.cc b/shell/common/gin_helper/destroyable.cc index 51758bf3e8..63f9516f02 100644 --- a/shell/common/gin_helper/destroyable.cc +++ b/shell/common/gin_helper/destroyable.cc @@ -30,8 +30,10 @@ void DestroyFunc(const v8::FunctionCallbackInfo& info) { // TODO(zcbenz): gin_helper::Wrappable will be removed. delete static_cast( - holder->GetAlignedPointerFromInternalField(0)); - holder->SetAlignedPointerInInternalField(0, nullptr); + holder->GetAlignedPointerFromInternalField( + 0, v8::kEmbedderDataTypeTagDefault)); + holder->SetAlignedPointerInInternalField(0, nullptr, + v8::kEmbedderDataTypeTagDefault); } void IsDestroyedFunc(const v8::FunctionCallbackInfo& info) { @@ -46,7 +48,8 @@ bool Destroyable::IsDestroyed(v8::Local object) { // An object is considered destroyed if it has no internal pointer or its // internal has been destroyed. return object->InternalFieldCount() == 0 || - object->GetAlignedPointerFromInternalField(0) == nullptr; + object->GetAlignedPointerFromInternalField( + 0, v8::kEmbedderDataTypeTagDefault) == nullptr; } // static diff --git a/shell/common/gin_helper/trackable_object.h b/shell/common/gin_helper/trackable_object.h index bedd6352ab..41e5406327 100644 --- a/shell/common/gin_helper/trackable_object.h +++ b/shell/common/gin_helper/trackable_object.h @@ -61,7 +61,8 @@ class TrackableObject : public TrackableObjectBase, public EventEmitter { v8::HandleScope scope(gin_helper::Wrappable::isolate()); v8::Local wrapper = gin_helper::Wrappable::GetWrapper(); if (!wrapper.IsEmpty()) { - wrapper->SetAlignedPointerInInternalField(0, nullptr); + wrapper->SetAlignedPointerInInternalField( + 0, nullptr, v8::kEmbedderDataTypeTagDefault); gin_helper::WrappableBase::wrapper_.ClearWeak(); } } @@ -70,7 +71,8 @@ class TrackableObject : public TrackableObjectBase, public EventEmitter { v8::HandleScope scope(gin_helper::Wrappable::isolate()); v8::Local wrapper = gin_helper::Wrappable::GetWrapper(); return wrapper->InternalFieldCount() == 0 || - wrapper->GetAlignedPointerFromInternalField(0) == nullptr; + wrapper->GetAlignedPointerFromInternalField( + 0, v8::kEmbedderDataTypeTagDefault) == nullptr; } // Finds out the TrackableObject from its ID in weak map. diff --git a/shell/common/gin_helper/wrappable.cc b/shell/common/gin_helper/wrappable.cc index 2549fe8af6..a8a6f4ad0c 100644 --- a/shell/common/gin_helper/wrappable.cc +++ b/shell/common/gin_helper/wrappable.cc @@ -22,7 +22,8 @@ bool IsValidWrappable(const v8::Local& val, const gin::DeprecatedWrapperInfo* info = static_cast( - port->GetAlignedPointerFromInternalField(gin::kWrapperInfoIndex)); + port->GetAlignedPointerFromInternalField( + gin::kWrapperInfoIndex, v8::kEmbedderDataTypeTagDefault)); if (info != wrapper_info) return false; @@ -36,7 +37,8 @@ WrappableBase::~WrappableBase() { return; v8::HandleScope scope(isolate()); - GetWrapper()->SetAlignedPointerInInternalField(0, nullptr); + GetWrapper()->SetAlignedPointerInInternalField( + 0, nullptr, v8::kEmbedderDataTypeTagDefault); wrapper_.ClearWeak(); wrapper_.Reset(); } @@ -58,7 +60,8 @@ void WrappableBase::InitWith(v8::Isolate* isolate, v8::Local wrapper) { CHECK(wrapper_.IsEmpty()); isolate_ = isolate; - wrapper->SetAlignedPointerInInternalField(0, this); + wrapper->SetAlignedPointerInInternalField(0, this, + v8::kEmbedderDataTypeTagDefault); wrapper_.Reset(isolate, wrapper); wrapper_.SetWeak(this, FirstWeakCallback, v8::WeakCallbackType::kInternalFields); @@ -158,9 +161,10 @@ v8::MaybeLocal DeprecatedWrappableBase::GetWrapperImpl( return v8::MaybeLocal(wrapper); } - int indices[] = {gin::kWrapperInfoIndex, gin::kEncodedValueIndex}; - void* values[] = {info, this}; - wrapper->SetAlignedPointerInInternalFields(2, indices, values); + wrapper->SetAlignedPointerInInternalField(gin::kWrapperInfoIndex, info, + v8::kEmbedderDataTypeTagDefault); + wrapper->SetAlignedPointerInInternalField(gin::kEncodedValueIndex, this, + v8::kEmbedderDataTypeTagDefault); wrapper_.Reset(isolate, wrapper); wrapper_.SetWeak(this, FirstWeakCallback, v8::WeakCallbackType::kInternalFields); @@ -180,7 +184,8 @@ void* FromV8Impl(v8::Isolate* isolate, v8::Local val) { v8::Local obj = val.As(); if (obj->InternalFieldCount() != 1) return nullptr; - return obj->GetAlignedPointerFromInternalField(0); + return obj->GetAlignedPointerFromInternalField( + 0, v8::kEmbedderDataTypeTagDefault); } void* FromV8Impl(v8::Isolate* isolate, @@ -205,7 +210,8 @@ void* FromV8Impl(v8::Isolate* isolate, return nullptr; } - return obj->GetAlignedPointerFromInternalField(gin::kEncodedValueIndex); + return obj->GetAlignedPointerFromInternalField( + gin::kEncodedValueIndex, v8::kEmbedderDataTypeTagDefault); } } // namespace internal @@ -219,7 +225,8 @@ DeprecatedWrapperInfo* DeprecatedWrapperInfo::From( if (object->InternalFieldCount() != kNumberOfInternalFields) return NULL; DeprecatedWrapperInfo* info = static_cast( - object->GetAlignedPointerFromInternalField(kWrapperInfoIndex)); + object->GetAlignedPointerFromInternalField( + kWrapperInfoIndex, v8::kEmbedderDataTypeTagDefault)); return info->embedder == kEmbedderNativeGin ? info : NULL; } diff --git a/shell/common/node_bindings.cc b/shell/common/node_bindings.cc index 450069cffd..3b887fa6ab 100644 --- a/shell/common/node_bindings.cc +++ b/shell/common/node_bindings.cc @@ -552,7 +552,7 @@ node::IsolateData* NodeBindings::isolate_data( } auto* isolate_data = static_cast( context->GetAlignedPointerFromEmbedderData( - kElectronContextEmbedderDataIndex)); + kElectronContextEmbedderDataIndex, v8::kEmbedderDataTypeTagDefault)); CHECK(isolate_data); CHECK(isolate_data->event_loop()); return isolate_data; @@ -767,7 +767,8 @@ std::shared_ptr NodeBindings::CreateEnvironment( auto* isolate_data = node::CreateIsolateData(isolate, uv_loop_, platform); isolate_data->max_young_gen_size = max_young_generation_size; context->SetAlignedPointerInEmbedderData(kElectronContextEmbedderDataIndex, - static_cast(isolate_data)); + static_cast(isolate_data), + v8::kEmbedderDataTypeTagDefault); uint64_t env_flags = node::EnvironmentFlags::kDefaultFlags | node::EnvironmentFlags::kHideConsoleWindows | @@ -892,7 +893,8 @@ std::shared_ptr NodeBindings::CreateEnvironment( // Since we're about to free `isolate_data`, clear that entry v8::HandleScope handle_scope{isolate}; context.Get(isolate)->SetAlignedPointerInEmbedderData( - kElectronContextEmbedderDataIndex, nullptr); + kElectronContextEmbedderDataIndex, nullptr, + v8::kEmbedderDataTypeTagDefault); context.Reset(); node::FreeEnvironment(nenv); diff --git a/shell/renderer/electron_smooth_round_rect.cc b/shell/renderer/electron_smooth_round_rect.cc index 08d8f93cb3..015f815756 100644 --- a/shell/renderer/electron_smooth_round_rect.cc +++ b/shell/renderer/electron_smooth_round_rect.cc @@ -7,6 +7,7 @@ #include #include "base/check.h" #include "base/check_op.h" +#include "third_party/skia/include/core/SkPathBuilder.h" namespace electron { @@ -99,7 +100,7 @@ constexpr CurveGeometry::CurveGeometry(float radius, float smoothness) { ((edge_connecting_offset - arc_curve_offset) * EDGE_CURVE_POINT_RATIO); } -void DrawCorner(SkPath& path, +void DrawCorner(SkPathBuilder& path, float radius, float smoothness1, float smoothness2, @@ -148,8 +149,9 @@ void DrawCorner(SkPath& path, { SkPoint arc_connecting_point = corner + QuarterRotate(curve2.arc_connecting_vector, quarter_rotations); - path.arcTo(SkPoint::Make(radius, radius), 0.0f, SkPath::kSmall_ArcSize, - SkPathDirection::kCW, arc_connecting_point); + path.arcTo(SkPoint::Make(radius, radius), 0.0f, + SkPathBuilder::kSmall_ArcSize, SkPathDirection::kCW, + arc_connecting_point); } // Draw the second smoothing curve @@ -287,7 +289,7 @@ SkPath DrawSmoothRoundRect(float x, auto [left_top_smoothness, left_bottom_smoothness] = ConstrainSmoothness( height, smoothness, top_left_radius, bottom_left_radius); - SkPath path; + SkPathBuilder path; // Top left corner DrawCorner(path, top_left_radius, left_top_smoothness, top_left_smoothness, @@ -306,7 +308,7 @@ SkPath DrawSmoothRoundRect(float x, left_bottom_smoothness, SkPoint::Make(x, y + height), 3); path.close(); - return path; + return path.detach(); } } // namespace electron diff --git a/shell/renderer/preload_realm_context.cc b/shell/renderer/preload_realm_context.cc index ad6c96a305..da11d25018 100644 --- a/shell/renderer/preload_realm_context.cc +++ b/shell/renderer/preload_realm_context.cc @@ -59,9 +59,11 @@ class PreloadRealmLifetimeController RegisterDebugger(initiator_execution_context); initiator_context()->SetAlignedPointerInEmbedderData( - kElectronContextEmbedderDataIndex, static_cast(this)); + kElectronContextEmbedderDataIndex, static_cast(this), + v8::kEmbedderDataTypeTagDefault); realm_context()->SetAlignedPointerInEmbedderData( - kElectronContextEmbedderDataIndex, static_cast(this)); + kElectronContextEmbedderDataIndex, static_cast(this), + v8::kEmbedderDataTypeTagDefault); metrics_ = base::ProcessMetrics::CreateCurrentProcessMetrics(); RunInitScript(); @@ -74,7 +76,8 @@ class PreloadRealmLifetimeController } auto* controller = static_cast( context->GetAlignedPointerFromEmbedderData( - kElectronContextEmbedderDataIndex)); + kElectronContextEmbedderDataIndex, + v8::kEmbedderDataTypeTagDefault)); CHECK(controller); return controller; } @@ -112,7 +115,8 @@ class PreloadRealmLifetimeController void ContextDestroyed() override { v8::HandleScope handle_scope(realm_isolate()); realm_context()->SetAlignedPointerInEmbedderData( - kElectronContextEmbedderDataIndex, nullptr); + kElectronContextEmbedderDataIndex, nullptr, + v8::kEmbedderDataTypeTagDefault); // See ShadowRealmGlobalScope::ContextDestroyed shadow_realm_script_state_->DisposePerContextData();