Browse Source

chore: bump chromium to 132.0.6834.0 (main) (#44602)

* chore: bump chromium in DEPS to 132.0.6827.0

* chore: bump chromium in DEPS to 132.0.6828.0

* chore: bump chromium in DEPS to 132.0.6830.0

* chore: bump chromium in DEPS to 132.0.6832.0

* chore: bump chromium in DEPS to 132.0.6834.0

* chore: update chromium patches

* 5977022: Apply os setting of overlay scrollbar to web instances | https://chromium-review.googlesource.com/c/chromium/src/+/5977022

* 5991440: Cleanup //ui/compositor from LaCros support code. | https://chromium-review.googlesource.com/c/chromium/src/+/5991440

* chore: update all patches

* 6000058: Add base_subdirs to file_chooser.mojom NativeFileInfo | https://chromium-review.googlesource.com/c/chromium/src/+/6000058

* 6009949: Rename NOTREACHED_NORETURN() uses to NOTREACHED() | https://chromium-review.googlesource.com/c/chromium/src/+/6009949

* 5966419: [freezing] Expose frozen state to extensions (3/3 - add frozen to chrome.tabs.Tab).

https://chromium-review.googlesource.com/c/chromium/src/+/5966419
Also https://chromium-review.googlesource.com/c/chromium/src/+/6006424

---------

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: VerteDinde <[email protected]>
Co-authored-by: John Kleinschmidt <[email protected]>
electron-roller[bot] 5 months ago
parent
commit
b1957f52e3
59 changed files with 230 additions and 219 deletions
  1. 1 1
      DEPS
  2. 1 1
      patches/chromium/add_didinstallconditionalfeatures.patch
  3. 2 2
      patches/chromium/add_maximized_parameter_to_linuxui_getwindowframeprovider.patch
  4. 7 7
      patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch
  5. 5 5
      patches/chromium/allow_setting_secondary_label_via_simplemenumodel.patch
  6. 1 1
      patches/chromium/blink_local_frame.patch
  7. 1 1
      patches/chromium/build_add_electron_tracing_category.patch
  8. 6 6
      patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch
  9. 2 2
      patches/chromium/build_expose_webplugininfo_interface_to_electron.patch
  10. 1 1
      patches/chromium/build_gn.patch
  11. 15 15
      patches/chromium/can_create_window.patch
  12. 2 2
      patches/chromium/chore_allow_chromium_to_handle_synthetic_mouse_events_for_touch.patch
  13. 2 2
      patches/chromium/chore_partial_revert_of.patch
  14. 11 11
      patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch
  15. 4 4
      patches/chromium/command-ismediakey.patch
  16. 4 4
      patches/chromium/crash_allow_setting_more_options.patch
  17. 2 2
      patches/chromium/disable_hidden.patch
  18. 3 3
      patches/chromium/disable_unload_metrics.patch
  19. 2 2
      patches/chromium/enable_reset_aspect_ratio.patch
  20. 5 5
      patches/chromium/expose_setuseragent_on_networkcontext.patch
  21. 2 2
      patches/chromium/extend_apply_webpreferences.patch
  22. 7 7
      patches/chromium/feat_add_set_theme_source_to_allow_apps_to.patch
  23. 12 12
      patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch
  24. 5 5
      patches/chromium/feat_expose_raw_response_headers_from_urlloader.patch
  25. 3 3
      patches/chromium/fix_activate_background_material_on_windows.patch
  26. 2 2
      patches/chromium/fix_aspect_ratio_with_max_size.patch
  27. 4 4
      patches/chromium/fix_crash_loading_non-standard_schemes_in_iframes.patch
  28. 4 4
      patches/chromium/fix_crash_when_saving_edited_pdf_files.patch
  29. 8 8
      patches/chromium/fix_disabling_background_throttling_in_compositor.patch
  30. 1 1
      patches/chromium/fix_media_key_usage_with_globalshortcuts.patch
  31. 3 3
      patches/chromium/fix_non-client_mouse_tracking_and_message_bubbling_on_windows.patch
  32. 2 2
      patches/chromium/fix_on-screen-keyboard_hides_on_input_blur_in_webview.patch
  33. 2 2
      patches/chromium/fix_remove_caption-removing_style_call.patch
  34. 2 2
      patches/chromium/fix_restore_original_resize_performance_on_macos.patch
  35. 7 7
      patches/chromium/fix_return_v8_value_from_localframe_requestexecutescript.patch
  36. 1 1
      patches/chromium/fix_software_compositing_infinite_loop.patch
  37. 3 3
      patches/chromium/frame_host_manager.patch
  38. 1 1
      patches/chromium/hack_to_allow_gclient_sync_with_host_os_mac_on_linux_in_ci.patch
  39. 20 20
      patches/chromium/mas_avoid_private_macos_api_usage.patch.patch
  40. 7 7
      patches/chromium/network_service_allow_remote_certificate_verification_logic.patch
  41. 3 3
      patches/chromium/notification_provenance.patch
  42. 1 1
      patches/chromium/partially_revert_is_newly_created_to_allow_for_browser_initiated.patch
  43. 3 3
      patches/chromium/port_autofill_colors_to_the_color_pipeline.patch
  44. 1 1
      patches/chromium/preconnect_manager.patch
  45. 2 2
      patches/chromium/printing.patch
  46. 7 7
      patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch
  47. 1 1
      patches/chromium/refactor_expose_hostimportmoduledynamically_and.patch
  48. 1 1
      patches/chromium/scroll_bounce_flag.patch
  49. 1 1
      patches/chromium/support_mixed_sandbox_with_zygote.patch
  50. 4 4
      patches/chromium/web_contents.patch
  51. 5 5
      patches/chromium/webview_fullscreen.patch
  52. 3 3
      patches/chromium/worker_context_will_destroy.patch
  53. 1 1
      patches/chromium/worker_feat_add_hook_to_notify_script_ready.patch
  54. 2 2
      patches/devtools_frontend/chore_expose_ui_to_allow_electron_to_set_dock_side.patch
  55. 2 2
      patches/v8/deps_add_v8_object_setinternalfieldfornodecore.patch
  56. 2 3
      shell/browser/extensions/api/scripting/scripting_api.cc
  57. 5 4
      shell/browser/file_select_helper.cc
  58. 11 0
      shell/common/extensions/api/tabs.json
  59. 2 2
      shell/common/gin_converters/osr_converter.cc

+ 1 - 1
DEPS

@@ -2,7 +2,7 @@ gclient_gn_args_from = 'src'
 
 vars = {
   'chromium_version':
-    '132.0.6824.0',
+    '132.0.6834.0',
   'node_version':
     'v22.9.0',
   'nan_version':

+ 1 - 1
patches/chromium/add_didinstallconditionalfeatures.patch

@@ -53,7 +53,7 @@ index 0980dad73ed2d5cbcbabee8f7d6fc827bb31b623..fcc651f75677ad1ae25e4edc5e2ae9a8
                                  int world_id) override;
    void DidChangeScrollOffset() override;
 diff --git a/third_party/blink/public/web/web_local_frame_client.h b/third_party/blink/public/web/web_local_frame_client.h
-index a706d9f12083b8ea9e30d9d95498f1d2c20ed08e..f96a4fe8431da364ca6c5649b18f8d418f799086 100644
+index 403d654e9a5c1196ac11cccce45c8c53b03275f3..2e03b5f2fea36d9bdf71b4bb15c604de2dc3cf5c 100644
 --- a/third_party/blink/public/web/web_local_frame_client.h
 +++ b/third_party/blink/public/web/web_local_frame_client.h
 @@ -665,6 +665,9 @@ class BLINK_EXPORT WebLocalFrameClient {

+ 2 - 2
patches/chromium/add_maximized_parameter_to_linuxui_getwindowframeprovider.patch

@@ -8,10 +8,10 @@ decorations in maximized mode where needed, preventing empty space caused
 by decoration shadows and rounded titlebars around the window while maximized.
 
 diff --git a/ui/gtk/gtk_ui.cc b/ui/gtk/gtk_ui.cc
-index ed304ba70b9924678b7318ca5f7c946b1bd90ea7..efdaefadf4c982eb859d7ddb56fc216b9077a25d 100644
+index 771c253082e2ab1103fd22218d56bf1a8d5ba7ab..d50528171925436a34ddd61ff7a0e7dee998d10c 100644
 --- a/ui/gtk/gtk_ui.cc
 +++ b/ui/gtk/gtk_ui.cc
-@@ -583,11 +583,12 @@ std::unique_ptr<ui::NavButtonProvider> GtkUi::CreateNavButtonProvider() {
+@@ -584,11 +584,12 @@ std::unique_ptr<ui::NavButtonProvider> GtkUi::CreateNavButtonProvider() {
  }
  
  ui::WindowFrameProvider* GtkUi::GetWindowFrameProvider(bool solid_frame,

+ 7 - 7
patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch

@@ -23,10 +23,10 @@ index e392efaf2e1ac3cfbef2d787ba40f0491b67f3cc..d45c7570484a7c1bfca25c860a1ddd2d
      return receiver_.BindNewEndpointAndPassDedicatedRemote();
    }
 diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc
-index 3c19777a37efcb651de9ea0c369cbed094911e70..502b567e6e4fed502230e95efe74792c0c89af84 100644
+index 4675bec818108c5c28f582d3bcffac0b760ff266..c201a7e44ac992e38ed85456be9d69bfc0a843a3 100644
 --- a/content/browser/renderer_host/render_view_host_impl.cc
 +++ b/content/browser/renderer_host/render_view_host_impl.cc
-@@ -759,6 +759,11 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) {
+@@ -754,6 +754,11 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) {
    GetWidget()->GetAssociatedFrameWidget()->SetBackgroundOpaque(opaque);
  }
  
@@ -116,10 +116,10 @@ index 083af135d890c2837e72c314e170e81931bd2a20..5245ea88441ef84c15b8052a9011ce70
    // 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 fb7d3474e5191637f63e50a8efb3af8749b5de3d..fcf0fde51cf30a3797a7627a9170f8534700d59b 100644
+index f5fe2e061448673c788315a167efff1fb70c3ef0..ed0c77c14e8dcf3e6d7328c8a9c640388b7be92d 100644
 --- a/third_party/blink/renderer/core/exported/web_view_impl.cc
 +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
-@@ -2451,6 +2451,10 @@ void WebViewImpl::SetPageLifecycleStateInternal(
+@@ -2452,6 +2452,10 @@ void WebViewImpl::SetPageLifecycleStateInternal(
    TRACE_EVENT2("navigation", "WebViewImpl::SetPageLifecycleStateInternal",
                 "old_state", old_state, "new_state", new_state);
  
@@ -130,7 +130,7 @@ index fb7d3474e5191637f63e50a8efb3af8749b5de3d..fcf0fde51cf30a3797a7627a9170f853
    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 &&
-@@ -3973,10 +3977,23 @@ PageScheduler* WebViewImpl::Scheduler() const {
+@@ -3984,10 +3988,23 @@ PageScheduler* WebViewImpl::Scheduler() const {
    return GetPage()->GetPageScheduler();
  }
  
@@ -155,7 +155,7 @@ index fb7d3474e5191637f63e50a8efb3af8749b5de3d..fcf0fde51cf30a3797a7627a9170f853
    // 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 bd7c22360193d52e1acf5a8dc82e3da34285ea37..78aabb76e02b7713d47242c28b0b7a3818faf6e9 100644
+index d5397c53559ba239e46c9485fb30daea89bd392b..4989d9f6a28d519098b16e832c2a36c61ab04c15 100644
 --- a/third_party/blink/renderer/core/exported/web_view_impl.h
 +++ b/third_party/blink/renderer/core/exported/web_view_impl.h
 @@ -448,6 +448,7 @@ class CORE_EXPORT WebViewImpl final : public WebView,
@@ -166,7 +166,7 @@ index bd7c22360193d52e1acf5a8dc82e3da34285ea37..78aabb76e02b7713d47242c28b0b7a38
    void SetVisibilityState(mojom::blink::PageVisibilityState visibility_state,
                            bool is_initial_state) override;
    mojom::blink::PageVisibilityState GetVisibilityState() override;
-@@ -929,6 +930,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
+@@ -933,6 +934,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
    // If true, we send IPC messages when |preferred_size_| changes.
    bool send_preferred_size_changes_ = false;
  

+ 5 - 5
patches/chromium/allow_setting_secondary_label_via_simplemenumodel.patch

@@ -6,7 +6,7 @@ Subject: Allow setting secondary label via SimpleMenuModel
 Builds on https://chromium-review.googlesource.com/c/chromium/src/+/2208976
 
 diff --git a/ui/menus/simple_menu_model.cc b/ui/menus/simple_menu_model.cc
-index c5f740f4f0e1ea61eb9ff386dc29284b5d2a96b2..2be73ad115133ac0c5d0bc631cad4d1d0996231f 100644
+index 9f56505d9502c685f66ab082b60eaae4011e76b7..35ee633305f6dd5910e1c19dcc8c9df064757c57 100644
 --- a/ui/menus/simple_menu_model.cc
 +++ b/ui/menus/simple_menu_model.cc
 @@ -54,6 +54,11 @@ std::u16string SimpleMenuModel::Delegate::GetLabelForCommandId(
@@ -33,7 +33,7 @@ index c5f740f4f0e1ea61eb9ff386dc29284b5d2a96b2..2be73ad115133ac0c5d0bc631cad4d1d
  void SimpleMenuModel::SetMinorText(size_t index,
                                     const std::u16string& minor_text) {
    items_[ValidateItemIndex(index)].minor_text = minor_text;
-@@ -446,6 +456,12 @@ std::u16string SimpleMenuModel::GetLabelAt(size_t index) const {
+@@ -453,6 +463,12 @@ std::u16string SimpleMenuModel::GetLabelAt(size_t index) const {
    return items_[ValidateItemIndex(index)].label;
  }
  
@@ -47,7 +47,7 @@ index c5f740f4f0e1ea61eb9ff386dc29284b5d2a96b2..2be73ad115133ac0c5d0bc631cad4d1d
    return items_[ValidateItemIndex(index)].minor_text;
  }
 diff --git a/ui/menus/simple_menu_model.h b/ui/menus/simple_menu_model.h
-index 63cde87b3657a81abcb828ab3eaddce42edfba85..2c07ed37d8f7c54ac3af8fd54272dd4fc0eb4684 100644
+index 596663d62632e4331f8aad421298d1fcdc9ab05e..469778f0c13e6d3fd30023af9b19c4a4cb7969be 100644
 --- a/ui/menus/simple_menu_model.h
 +++ b/ui/menus/simple_menu_model.h
 @@ -99,6 +99,7 @@ class COMPONENT_EXPORT(UI_MENUS) SimpleMenuModel : public MenuModel {
@@ -68,7 +68,7 @@ index 63cde87b3657a81abcb828ab3eaddce42edfba85..2c07ed37d8f7c54ac3af8fd54272dd4f
    // Sets the minor text for the item at |index|.
    void SetMinorText(size_t index, const std::u16string& minor_text);
  
-@@ -267,6 +271,7 @@ class COMPONENT_EXPORT(UI_MENUS) SimpleMenuModel : public MenuModel {
+@@ -274,6 +278,7 @@ class COMPONENT_EXPORT(UI_MENUS) SimpleMenuModel : public MenuModel {
    ui::MenuSeparatorType GetSeparatorTypeAt(size_t index) const override;
    int GetCommandIdAt(size_t index) const override;
    std::u16string GetLabelAt(size_t index) const override;
@@ -76,7 +76,7 @@ index 63cde87b3657a81abcb828ab3eaddce42edfba85..2c07ed37d8f7c54ac3af8fd54272dd4f
    std::u16string GetMinorTextAt(size_t index) const override;
    ImageModel GetMinorIconAt(size_t index) const override;
    bool IsItemDynamicAt(size_t index) const override;
-@@ -313,6 +318,7 @@ class COMPONENT_EXPORT(UI_MENUS) SimpleMenuModel : public MenuModel {
+@@ -321,6 +326,7 @@ class COMPONENT_EXPORT(UI_MENUS) SimpleMenuModel : public MenuModel {
      ItemType type = TYPE_COMMAND;
      std::u16string label;
      ui::Accelerator accelerator;

+ 1 - 1
patches/chromium/blink_local_frame.patch

@@ -49,7 +49,7 @@ index 2f33ec660a975522c473ecd50e633b5edaca707f..65221a51927d9f44bd6adbad88fa1144
    // its owning reference back to our owning LocalFrame.
    client_->Detached(type);
 diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
-index 6b64f27fb8f6dccfa20caea63407edb3adc5d045..0614c5e043fd0b88397863e02fd23feee2c19016 100644
+index 5c8c50fc2025a160bfb0587cd46ba45f8d58a175..d918e9d165acefa8ba3a225aec261ebf028c40f7 100644
 --- a/third_party/blink/renderer/core/frame/local_frame.cc
 +++ b/third_party/blink/renderer/core/frame/local_frame.cc
 @@ -746,10 +746,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {

+ 1 - 1
patches/chromium/build_add_electron_tracing_category.patch

@@ -8,7 +8,7 @@ categories in use are known / declared.  This patch is required for us
 to introduce a new Electron category for Electron-specific tracing.
 
 diff --git a/base/trace_event/builtin_categories.h b/base/trace_event/builtin_categories.h
-index 521f44e7c49eb556f2b8586c827031f350a23890..0cf58ec253980aebfaf7dec04c0d8b23f3538e25 100644
+index ef993705e4a3624d06e3a74255bbec5c73eb6dfb..d44cae760548fc4ae48ab9406d3ca02b9264f41e 100644
 --- a/base/trace_event/builtin_categories.h
 +++ b/base/trace_event/builtin_categories.h
 @@ -88,6 +88,7 @@

+ 6 - 6
patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch

@@ -33,10 +33,10 @@ index 9580623c57cb02f7e924742c6cb1638676881115..ad80d8e63dfebbbdb8eaa63bfe38a6f8
            "//base",
            "//build:branding_buildflags",
 diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
-index c118aae92323bff630e75bc2651be4b5a3e1ca0e..3afad8346abc0c3f6081023ef6ba5dbb2226142c 100644
+index 1a136cdeb8aea796a8b3f81e4f791c29ae02cf02..9033419bb880830076835e8400276e738b71f428 100644
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -4522,7 +4522,7 @@ static_library("browser") {
+@@ -4525,7 +4525,7 @@ static_library("browser") {
        ]
      }
  
@@ -46,10 +46,10 @@ index c118aae92323bff630e75bc2651be4b5a3e1ca0e..3afad8346abc0c3f6081023ef6ba5dbb
        # than here in :chrome_dll.
        deps += [ "//chrome:packed_resources_integrity_header" ]
 diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
-index fc2110c9489efe730ade2451772431fcfbed96ab..9d641abb2aeab6f1ef37b62f49a4472eff27f003 100644
+index 7a945c6bac66f8f4c579ae3e2bae6f228c453d8f..48b7b801573cbcc977346a3f80c0c907dd619a06 100644
 --- a/chrome/test/BUILD.gn
 +++ b/chrome/test/BUILD.gn
-@@ -6802,9 +6802,12 @@ test("unit_tests") {
+@@ -6818,9 +6818,12 @@ test("unit_tests") {
        "//chrome/notification_helper",
      ]
  
@@ -63,7 +63,7 @@ index fc2110c9489efe730ade2451772431fcfbed96ab..9d641abb2aeab6f1ef37b62f49a4472e
        "//chrome//services/util_win:unit_tests",
        "//chrome/app:chrome_dll_resources",
        "//chrome/app:win_unit_tests",
-@@ -7746,6 +7749,10 @@ test("unit_tests") {
+@@ -7762,6 +7765,10 @@ test("unit_tests") {
        "../browser/performance_manager/policies/background_tab_loading_policy_unittest.cc",
      ]
  
@@ -74,7 +74,7 @@ index fc2110c9489efe730ade2451772431fcfbed96ab..9d641abb2aeab6f1ef37b62f49a4472e
      sources += [
        # The importer code is not used on Android.
        "../common/importer/firefox_importer_utils_unittest.cc",
-@@ -7798,7 +7805,6 @@ test("unit_tests") {
+@@ -7814,7 +7821,6 @@ test("unit_tests") {
      # Non-android deps for "unit_tests" target.
      deps += [
        "../browser/screen_ai:screen_ai_install_state",

+ 2 - 2
patches/chromium/build_expose_webplugininfo_interface_to_electron.patch

@@ -7,10 +7,10 @@ Allows implementing electron::mojom::ElectronPluginInfoHost interface
 which provides plugin details between browser<->renderer.
 
 diff --git a/content/public/common/BUILD.gn b/content/public/common/BUILD.gn
-index 4695de42ecfa44f2339957b6ca8e3420b39b8a42..ac694247d243ddbb61f884646d4d3006e30ec367 100644
+index b84e3a73036b0bc2b782d35c04359ba401521917..2d8b206a118592f15a93c2a7bcb2c37c80571cd8 100644
 --- a/content/public/common/BUILD.gn
 +++ b/content/public/common/BUILD.gn
-@@ -376,6 +376,7 @@ mojom("interfaces") {
+@@ -377,6 +377,7 @@ mojom("interfaces") {
      "//content/common/*",
      "//extensions/common:mojom",
      "//extensions/common:mojom_blink",

+ 1 - 1
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 132226f5ff9127881cd46df8fbe5a8327d854aec..a8379f00996368eabdf8a3f58d072ea819e9572b 100644
+index 8e0c3761f1634312dad5fe16a01653e5e80935f5..04038e0d1a0b4b5823a93762d93379bb9ab4adfc 100644
 --- a/build/config/BUILDCONFIG.gn
 +++ b/build/config/BUILDCONFIG.gn
 @@ -123,6 +123,9 @@ if (current_os == "") {

+ 15 - 15
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 e5fe1562319ef32d6bdd0857d6b545047fe5f2c4..2cd9f448114278300693021927bc92db20480272 100644
+index d29dac893805535bbbd9aefe096a0ca2825a01aa..4f31803e492d0d05b29659f8bf75b6fee7aff25e 100644
 --- a/content/browser/renderer_host/render_frame_host_impl.cc
 +++ b/content/browser/renderer_host/render_frame_host_impl.cc
-@@ -9167,6 +9167,7 @@ void RenderFrameHostImpl::CreateNewWindow(
+@@ -9170,6 +9170,7 @@ void RenderFrameHostImpl::CreateNewWindow(
            last_committed_origin_, params->window_container_type,
            params->target_url, params->referrer.To<Referrer>(),
            params->frame_name, params->disposition, *params->features,
@@ -21,10 +21,10 @@ index e5fe1562319ef32d6bdd0857d6b545047fe5f2c4..2cd9f448114278300693021927bc92db
            &no_javascript_access);
  
 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index dd9b106c5fda8078898e6845ac7b7a6a9dbf7bac..f2773162d66edf8c382c9646e8bf806dc639130a 100644
+index c93722f2fc5340edeeace5a1690d0fa7d84dffb2..e7e47a9aa5a22aea2aa0eeab7bd661b47c9cbdae 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -4884,6 +4884,12 @@ FrameTree* WebContentsImpl::CreateNewWindow(
+@@ -4887,6 +4887,12 @@ FrameTree* WebContentsImpl::CreateNewWindow(
    SetPartitionedPopinOpenerOnNewWindowIfNeeded(new_contents_impl, params,
                                                 opener);
  
@@ -37,7 +37,7 @@ index dd9b106c5fda8078898e6845ac7b7a6a9dbf7bac..f2773162d66edf8c382c9646e8bf806d
    // 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
-@@ -4925,12 +4931,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
+@@ -4928,12 +4934,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
      AddWebContentsDestructionObserver(new_contents_impl);
    }
  
@@ -66,10 +66,10 @@ index 8e571dc1371cf2aa7c8354f0b4e492e0d030b485..c878169e7838849cbc23df2ed94ca65d
  
  // 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 d05665c8dc35093a821d21c193212e6b307466f3..9f9d2caeaea8e695da6a7e3f1682cf29c174e3bb 100644
+index a1b6aad3587e7e2d4c24e76aa832e95b31b7ed86..826a2038ebe187a473ac8eabdedf977604ec8337 100644
 --- a/content/public/browser/content_browser_client.cc
 +++ b/content/public/browser/content_browser_client.cc
-@@ -783,6 +783,8 @@ bool ContentBrowserClient::CanCreateWindow(
+@@ -785,6 +785,8 @@ bool ContentBrowserClient::CanCreateWindow(
      const std::string& frame_name,
      WindowOpenDisposition disposition,
      const blink::mojom::WindowFeatures& features,
@@ -79,7 +79,7 @@ index d05665c8dc35093a821d21c193212e6b307466f3..9f9d2caeaea8e695da6a7e3f1682cf29
      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 6b8372a5ab09784b0bab2238b8b1810a49949d40..d698262fe1f61fedf1e84300620c084e9d48a3bd 100644
+index 4d96255c40a8eac7804016383da32fd954f91430..187e5f078084436b2ff296f1cbacd009d738c635 100644
 --- a/content/public/browser/content_browser_client.h
 +++ b/content/public/browser/content_browser_client.h
 @@ -195,6 +195,7 @@ class NetworkService;
@@ -100,7 +100,7 @@ index 6b8372a5ab09784b0bab2238b8b1810a49949d40..d698262fe1f61fedf1e84300620c084e
        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 784103345ed40cce8823048bcd6a48c722866f15..94202a07c8774a9ad62938506b22ea3f72916372 100644
+index d4546ddda4a14cd5a826a13d4c8132a7fb8b5a7c..d5a7a639089ad37cb611c2ae253675b119ac357b 100644
 --- a/content/public/browser/web_contents_delegate.cc
 +++ b/content/public/browser/web_contents_delegate.cc
 @@ -31,6 +31,17 @@ namespace content {
@@ -122,18 +122,18 @@ index 784103345ed40cce8823048bcd6a48c722866f15..94202a07c8774a9ad62938506b22ea3f
      WebContents* source,
      const OpenURLParams& params,
 diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h
-index 686f218c268a1aee57b06fac8cf29e9341395fd6..2fb305c47d000161cea014bc627d80e5a754058a 100644
+index 77ee6ba6c65c95622e41f86906ea813be62f72e9..7f38098505afabe1887a6d98a705f1adce201314 100644
 --- a/content/public/browser/web_contents_delegate.h
 +++ b/content/public/browser/web_contents_delegate.h
-@@ -17,6 +17,7 @@
- #include "base/memory/scoped_refptr.h"
+@@ -18,6 +18,7 @@
+ #include "base/types/expected.h"
  #include "build/build_config.h"
  #include "content/common/content_export.h"
 +#include "content/common/frame.mojom.h"
  #include "content/public/browser/back_forward_transition_animation_manager.h"
  #include "content/public/browser/eye_dropper.h"
  #include "content/public/browser/fullscreen_types.h"
-@@ -366,6 +367,13 @@ class CONTENT_EXPORT WebContentsDelegate {
+@@ -368,6 +369,13 @@ class CONTENT_EXPORT WebContentsDelegate {
        const StoragePartitionConfig& partition_config,
        SessionStorageNamespace* session_storage_namespace);
  
@@ -210,10 +210,10 @@ index c576ace24e81cc877aa2595d40e0a13a7af9f6a2..210fb97d44c19c29af424cc7b9cb3169
  
  }  // namespace blink
 diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_party/blink/renderer/core/frame/local_dom_window.cc
-index 23be94989c8d85a729419ec8ede710e0675e730f..857e01c1bec4a4b7082d1ff92b9e546440f8939f 100644
+index 00a4ed4f0625981e3bef338399957419d2cffdf0..d0db7f8727dc2fbe0a9ae0489a6aa4e278e1cb34 100644
 --- a/third_party/blink/renderer/core/frame/local_dom_window.cc
 +++ b/third_party/blink/renderer/core/frame/local_dom_window.cc
-@@ -2238,6 +2238,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
+@@ -2234,6 +2234,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
    WebWindowFeatures window_features =
        GetWindowFeaturesFromString(features, entered_window);
  

+ 2 - 2
patches/chromium/chore_allow_chromium_to_handle_synthetic_mouse_events_for_touch.patch

@@ -34,10 +34,10 @@ index 1e2c5bb35cc314d44dba85a9bafc5e55bf2b5f14..d110d0a2f005888c4450262fc1887cbf
    Widget* GetWidget();
    const Widget* GetWidget() const;
 diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
-index de8284b0b75511d11dc3afed60efc75788d0a7d0..1d47f744b21b23afa48687e1bcc3a0f02f042a87 100644
+index 9ac53e223aa095acdf90b68bc1e6bc81e3021ab9..026b0f9b404267b17e1ea6b61b5ebb188b9b0bed 100644
 --- a/ui/views/win/hwnd_message_handler.cc
 +++ b/ui/views/win/hwnd_message_handler.cc
-@@ -3135,15 +3135,19 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
+@@ -3042,15 +3042,19 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
        SetMsgHandled(FALSE);
      // We must let Windows handle the caption buttons if it's drawing them, or
      // they won't work.

+ 2 - 2
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 e586a38486349b4cbf88b61a7673e55759f1c9b8..319800cec84a968b0e442fc760c8e1d701bda2ed 100644
+index 1b748a2e0d803217985847014855b095b53c58e5..0e742f196367bbbe8c4e147ef4db4f8dbbe4cbbe 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -4810,9 +4810,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
+@@ -4813,9 +4813,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
    bool renderer_started_hidden =
        params.disposition == WindowOpenDisposition::NEW_BACKGROUND_TAB;
  

+ 11 - 11
patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch

@@ -80,10 +80,10 @@ index b078a4a06c7b3f767e2e01f0bef2ba440f729620..0459568581a3073333ae6afabd3680f2
        content::WebContents* source,
        const content::OpenURLParams& params,
 diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
-index 130456de5b1df218759edc14c961032a27ab8a21..6584c9ba7c4bff0b9f4878ba86fe424dff92ab9d 100644
+index f313979ca1b0a305291c1fb5df57210324000f52..2edfc053ca0bcc9f7e4db36de249aa8a20fbd7c6 100644
 --- a/chrome/browser/ui/browser.cc
 +++ b/chrome/browser/ui/browser.cc
-@@ -2147,12 +2147,11 @@ bool Browser::IsWebContentsCreationOverridden(
+@@ -2145,12 +2145,11 @@ bool Browser::IsWebContentsCreationOverridden(
      content::SiteInstance* source_site_instance,
      content::mojom::WindowContainerType window_container_type,
      const GURL& opener_url,
@@ -99,10 +99,10 @@ index 130456de5b1df218759edc14c961032a27ab8a21..6584c9ba7c4bff0b9f4878ba86fe424d
  
  WebContents* Browser::CreateCustomWebContents(
 diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h
-index 1f1ca56732052c075a3a904c620e61b795edc327..06e598e4eaae7e9b6aa2b868092d96f8f203d1ad 100644
+index 8057f6fcc87c482f2ad477240528191e0043c08c..db6abb4787a57e8b1866fe5d8ae801941a95ef3c 100644
 --- a/chrome/browser/ui/browser.h
 +++ b/chrome/browser/ui/browser.h
-@@ -976,8 +976,7 @@ class Browser : public TabStripModelObserver,
+@@ -975,8 +975,7 @@ class Browser : public TabStripModelObserver,
        content::SiteInstance* source_site_instance,
        content::mojom::WindowContainerType window_container_type,
        const GURL& opener_url,
@@ -218,10 +218,10 @@ index c6838c83ef971b88769b1f3fba8095025ae25464..2da6a4e08340e72ba7de5d03444c2f17
    content::WebContents* AddNewContents(
        content::WebContents* source,
 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index 366fa5d24d063628dbd67f5a7d3294fc26a24380..6aacacf3c08803b48fa6df8d6d81463a84d9673e 100644
+index de6b544df67c9702b6771b08b003805b4f5fb5a4..4de45e398ec013714302c8cbaafa3bb6aa01ef8e 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -4779,8 +4779,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
+@@ -4782,8 +4782,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
  
    if (delegate_ && delegate_->IsWebContentsCreationOverridden(
                         source_site_instance, params.window_container_type,
@@ -232,7 +232,7 @@ index 366fa5d24d063628dbd67f5a7d3294fc26a24380..6aacacf3c08803b48fa6df8d6d81463a
          static_cast<WebContentsImpl*>(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 94202a07c8774a9ad62938506b22ea3f72916372..3069d732ed336fdaf8fed231bdd0407d0a1b2f75 100644
+index d5a7a639089ad37cb611c2ae253675b119ac357b..fca239fa24512aed69c420dcdc99be9b161f54d9 100644
 --- a/content/public/browser/web_contents_delegate.cc
 +++ b/content/public/browser/web_contents_delegate.cc
 @@ -152,8 +152,7 @@ bool WebContentsDelegate::IsWebContentsCreationOverridden(
@@ -246,10 +246,10 @@ index 94202a07c8774a9ad62938506b22ea3f72916372..3069d732ed336fdaf8fed231bdd0407d
  }
  
 diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h
-index 2fb305c47d000161cea014bc627d80e5a754058a..2a7570b29c1bb9adebc9cab3b49c158214154809 100644
+index 7f38098505afabe1887a6d98a705f1adce201314..735ec45c68dc4951a2b630f93c1994f985ec4d4f 100644
 --- a/content/public/browser/web_contents_delegate.h
 +++ b/content/public/browser/web_contents_delegate.h
-@@ -345,8 +345,7 @@ class CONTENT_EXPORT WebContentsDelegate {
+@@ -347,8 +347,7 @@ class CONTENT_EXPORT WebContentsDelegate {
        SiteInstance* source_site_instance,
        mojom::WindowContainerType window_container_type,
        const GURL& opener_url,
@@ -380,10 +380,10 @@ index 1012a909ef1fcae51c218ae519fe7e0db65ab087..127b1ae940bc9313aecb635e2b01bb6f
                            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 d9c8efd5dfadddc923c9bf4abc21c029ed9f842e..efb45a765c1a2cace1d4ae5dca344e7542f66bfd 100644
+index b9ee0246ae33b8b66bbd0feb53f56f5f2cc75e2c..16930e15a37a9ccb3cf21c38ac86272cb396b4e9 100644
 --- a/headless/lib/browser/headless_web_contents_impl.cc
 +++ b/headless/lib/browser/headless_web_contents_impl.cc
-@@ -207,8 +207,7 @@ class HeadlessWebContentsImpl::Delegate : public content::WebContentsDelegate {
+@@ -205,8 +205,7 @@ class HeadlessWebContentsImpl::Delegate : public content::WebContentsDelegate {
        content::SiteInstance* source_site_instance,
        content::mojom::WindowContainerType window_container_type,
        const GURL& opener_url,

+ 4 - 4
patches/chromium/command-ismediakey.patch

@@ -87,7 +87,7 @@ index ac1142e268b88b7332f556344491288d8539a5c9..c23852622e292b056d8dbbeb2a83dd29
    // Create an observer that registers a hot key for |accelerator|.
    std::unique_ptr<gfx::SingletonHwndHotKeyObserver> observer =
 diff --git a/content/browser/media/media_keys_listener_manager_impl.cc b/content/browser/media/media_keys_listener_manager_impl.cc
-index bd0026250558b29d46169eb9212a93b80be37c5a..2a84784fd3d759603a0dde5f6a7c94f4d0679147 100644
+index 7f4a84483dba39f090e48af34d15d930fbc21b56..90528a9bcde4c39c122de51d049ef62e812245db 100644
 --- a/content/browser/media/media_keys_listener_manager_impl.cc
 +++ b/content/browser/media/media_keys_listener_manager_impl.cc
 @@ -413,6 +413,11 @@ void MediaKeysListenerManagerImpl::UpdateSystemMediaControlsEnabledControls() {
@@ -238,10 +238,10 @@ index fd4f6d05235aff8383fe1c2a089883022871f27c..163b1975faed07351855098ac69ef5c2
  
  }  // namespace ui
 diff --git a/ui/base/x/x11_global_shortcut_listener.h b/ui/base/x/x11_global_shortcut_listener.h
-index 7165e88ef78e0e1b4683a2ead588dc6529d085b8..a605cd8c1468be78172fed09eb227722b4832227 100644
+index 53b1f0697ad337c4e1cbeaddc5bb893419326fb3..723e32160ad711c99061c265378a6f8a34d51b3b 100644
 --- a/ui/base/x/x11_global_shortcut_listener.h
 +++ b/ui/base/x/x11_global_shortcut_listener.h
-@@ -41,18 +41,21 @@ class COMPONENT_EXPORT(UI_BASE_X) XGlobalShortcutListener
+@@ -42,18 +42,21 @@ class COMPONENT_EXPORT(UI_BASE_X) XGlobalShortcutListener
    virtual void OnKeyPressed(KeyboardCode key_code,
                              bool is_alt_down,
                              bool is_ctrl_down,
@@ -266,7 +266,7 @@ index 7165e88ef78e0e1b4683a2ead588dc6529d085b8..a605cd8c1468be78172fed09eb227722
  
   private:
    // Due to how system key grabbing works on X11, we have to be a bit greedy and
-@@ -61,7 +64,7 @@ class COMPONENT_EXPORT(UI_BASE_X) XGlobalShortcutListener
+@@ -62,7 +65,7 @@ class COMPONENT_EXPORT(UI_BASE_X) XGlobalShortcutListener
    // and filter the incoming events against that registry before notifying the
    // observer.  This tuple describes the meaningful parts of the event; booleans
    // 1, 2, and 3 hold states of Alt, Control, and Shift keys, respectively.

+ 4 - 4
patches/chromium/crash_allow_setting_more_options.patch

@@ -9,10 +9,10 @@ rate-limiting, compression and global annotations.
 This should be upstreamed.
 
 diff --git a/components/crash/core/app/crash_reporter_client.cc b/components/crash/core/app/crash_reporter_client.cc
-index 4abce141b758eabd8a16f1cccb0016d5f10c0cae..048a97c807b4249479653cfb70942ec16264d0ee 100644
+index c4535e6ad8dd8951277201e107aaf47071317b02..e37a31fb7febca3ec9ed6bd53f33c0c7c43844de 100644
 --- a/components/crash/core/app/crash_reporter_client.cc
 +++ b/components/crash/core/app/crash_reporter_client.cc
-@@ -145,6 +145,17 @@ bool CrashReporterClient::ReportingIsEnforcedByPolicy(bool* breakpad_enabled) {
+@@ -122,6 +122,17 @@ bool CrashReporterClient::ReportingIsEnforcedByPolicy(bool* breakpad_enabled) {
    return false;
  }
  
@@ -31,7 +31,7 @@ index 4abce141b758eabd8a16f1cccb0016d5f10c0cae..048a97c807b4249479653cfb70942ec1
  unsigned int CrashReporterClient::GetCrashDumpPercentage() {
    return 100;
 diff --git a/components/crash/core/app/crash_reporter_client.h b/components/crash/core/app/crash_reporter_client.h
-index a604df7a5ea6a1f5613acc032a65668364aadf89..93a8bf787bdaa0e4251a41453eb22062646f4bcb 100644
+index 4029756b90d1adb2fa6a2ce3a59439d1eccffcf2..6f951fc335db3b9c59172d77e1e65122053b459e 100644
 --- a/components/crash/core/app/crash_reporter_client.h
 +++ b/components/crash/core/app/crash_reporter_client.h
 @@ -7,6 +7,7 @@
@@ -42,7 +42,7 @@ index a604df7a5ea6a1f5613acc032a65668364aadf89..93a8bf787bdaa0e4251a41453eb22062
  #include <string>
  
  #include "build/build_config.h"
-@@ -153,6 +154,19 @@ class CrashReporterClient {
+@@ -129,6 +130,19 @@ class CrashReporterClient {
    // that case, |breakpad_enabled| is set to the value enforced by policies.
    virtual bool ReportingIsEnforcedByPolicy(bool* breakpad_enabled);
  

+ 2 - 2
patches/chromium/disable_hidden.patch

@@ -6,10 +6,10 @@ Subject: disable_hidden.patch
 Electron uses this to disable background throttling for hidden windows.
 
 diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
-index 66ed04ce55f36ec5c0d469860d8998dec26fa943..fe40b67aa7a158855eea6f03c13d02b614c384de 100644
+index e8f68eca2104c49d762603f39f93ec44b2afe28f..886d70636aedfa714b29625f58420ad11ede9ffd 100644
 --- a/content/browser/renderer_host/render_widget_host_impl.cc
 +++ b/content/browser/renderer_host/render_widget_host_impl.cc
-@@ -790,6 +790,10 @@ void RenderWidgetHostImpl::WasHidden() {
+@@ -789,6 +789,10 @@ void RenderWidgetHostImpl::WasHidden() {
      return;
    }
  

+ 3 - 3
patches/chromium/disable_unload_metrics.patch

@@ -24,10 +24,10 @@ This patch temporarily disables the metrics so we can have green CI, and we
 should continue seeking for a real fix.
 
 diff --git a/content/browser/renderer_host/navigator.cc b/content/browser/renderer_host/navigator.cc
-index 57c958d93eeffb4117f6b5efee4fef0846809c24..f019fd7f4cd576646fe0794b823137c31118ac8a 100644
+index 53e54257aabbede66de278b0248c1c9959175143..69942e83c88d9c7eb99bd7b0eeae5c7b97356f17 100644
 --- a/content/browser/renderer_host/navigator.cc
 +++ b/content/browser/renderer_host/navigator.cc
-@@ -1419,6 +1419,7 @@ void Navigator::RecordNavigationMetrics(
+@@ -1435,6 +1435,7 @@ void Navigator::RecordNavigationMetrics(
              .InMilliseconds());
    }
  
@@ -35,7 +35,7 @@ index 57c958d93eeffb4117f6b5efee4fef0846809c24..f019fd7f4cd576646fe0794b823137c3
    // If this is a same-process navigation and we have timestamps for unload
    // durations, fill those metrics out as well.
    if (params.unload_start && params.unload_end &&
-@@ -1468,6 +1469,7 @@ void Navigator::RecordNavigationMetrics(
+@@ -1484,6 +1485,7 @@ void Navigator::RecordNavigationMetrics(
           first_before_unload_start_time)
              .InMilliseconds());
    }

+ 2 - 2
patches/chromium/enable_reset_aspect_ratio.patch

@@ -19,10 +19,10 @@ index 6cd2eace306cb6b3b8d39d968f898c6468d00eea..e2146f0a06fb70d16c48fe6e06d0615c
                                     excluded_margin);
  }
 diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
-index 328cf96499fa2ec23259339cffce467de142acc6..466738cc252dceae3fcaa7c44aaa29ff945386ef 100644
+index 509bbf34ed99b5743564c2683f24d0bb2a6757bb..4957a1aba28263313ec072e8b4e71d14c66bf73e 100644
 --- a/ui/views/win/hwnd_message_handler.cc
 +++ b/ui/views/win/hwnd_message_handler.cc
-@@ -962,8 +962,11 @@ void HWNDMessageHandler::SetFullscreen(bool fullscreen,
+@@ -961,8 +961,11 @@ void HWNDMessageHandler::SetFullscreen(bool fullscreen,
  
  void HWNDMessageHandler::SetAspectRatio(float aspect_ratio,
                                          const gfx::Size& excluded_margin) {

+ 5 - 5
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 8d6c110f0c78afd258b2217de28b7303e1ce7a22..9a418b9e5cbc9802e4e2604dc4302a26043bcdbc 100644
+index 4be02fdb03038ee4c30ea699cbbf56d1f5aaa7aa..b0a994b7c6d4be648d905bc1e4157bc03b56a428 100644
 --- a/services/network/network_context.cc
 +++ b/services/network/network_context.cc
 @@ -1793,6 +1793,13 @@ void NetworkContext::SetNetworkConditions(
@@ -51,7 +51,7 @@ index 8d6c110f0c78afd258b2217de28b7303e1ce7a22..9a418b9e5cbc9802e4e2604dc4302a26
    // This may only be called on NetworkContexts created with the constructor
    // that calls MakeURLRequestContext().
 diff --git a/services/network/network_context.h b/services/network/network_context.h
-index 884a1da963ac6e05dd47ec6b0dcd595f2a7e44c0..0ee32cf3361e461f6175db6fd694785abbe2bc21 100644
+index e77c58cb996fd90f7c268e1beba8f3f93c458c2a..a1ea5369db65498f7eaac5b3ee7eb1be539b46e8 100644
 --- a/services/network/network_context.h
 +++ b/services/network/network_context.h
 @@ -316,6 +316,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
@@ -63,10 +63,10 @@ index 884a1da963ac6e05dd47ec6b0dcd595f2a7e44c0..0ee32cf3361e461f6175db6fd694785a
    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 0ba3e76d4a8a6b4e9e530cb2b830ae2e0e0e022b..a662966be41058b9af737e0e17108994b8032ea0 100644
+index da6abf26316a5a0c8b65203a151eb07ec179233a..00539e44efcbbdabad701e0c755a958a588299d4 100644
 --- a/services/network/public/mojom/network_context.mojom
 +++ b/services/network/public/mojom/network_context.mojom
-@@ -1227,6 +1227,9 @@ interface NetworkContext {
+@@ -1228,6 +1228,9 @@ interface NetworkContext {
    SetNetworkConditions(mojo_base.mojom.UnguessableToken throttling_profile_id,
                         NetworkConditions? conditions);
  
@@ -77,7 +77,7 @@ index 0ba3e76d4a8a6b4e9e530cb2b830ae2e0e0e022b..a662966be41058b9af737e0e17108994
    SetAcceptLanguage(string new_accept_language);
  
 diff --git a/services/network/test/test_network_context.h b/services/network/test/test_network_context.h
-index 407beb272038b19e6165495f247404b9654ecc2d..5485521a842da04455aae092fd7b67fbd725bcc6 100644
+index 0aa64468f433bf6f9f85cdf95ff098b1aa925649..3bfca8debf95d4b9ad822e6cbebeb253e2ac052b 100644
 --- a/services/network/test/test_network_context.h
 +++ b/services/network/test/test_network_context.h
 @@ -155,6 +155,7 @@ class TestNetworkContext : public mojom::NetworkContext {

+ 2 - 2
patches/chromium/extend_apply_webpreferences.patch

@@ -12,7 +12,7 @@ Ideally we could add an embedder observer pattern here but that can be
 done in future work.
 
 diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc
-index fcf0fde51cf30a3797a7627a9170f8534700d59b..3618f606380342da71e973e178ec28d7abc3e9f1 100644
+index ed0c77c14e8dcf3e6d7328c8a9c640388b7be92d..7bf2296e1a3b48cc3aa7f031d5b835fab8488267 100644
 --- a/third_party/blink/renderer/core/exported/web_view_impl.cc
 +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
 @@ -169,6 +169,7 @@
@@ -23,7 +23,7 @@ index fcf0fde51cf30a3797a7627a9170f8534700d59b..3618f606380342da71e973e178ec28d7
  #include "third_party/blink/renderer/platform/graphics/image.h"
  #include "third_party/blink/renderer/platform/graphics/paint/cull_rect.h"
  #include "third_party/blink/renderer/platform/graphics/paint/paint_record_builder.h"
-@@ -1849,6 +1850,7 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs,
+@@ -1850,6 +1851,7 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs,
  #if BUILDFLAG(IS_MAC)
    web_view_impl->SetMaximumLegibleScale(
        prefs.default_maximum_page_scale_factor);

+ 7 - 7
patches/chromium/feat_add_set_theme_source_to_allow_apps_to.patch

@@ -13,10 +13,10 @@ uses internally for things like menus and devtools.
 We can remove this patch once it has in some shape been upstreamed.
 
 diff --git a/ui/native_theme/native_theme.cc b/ui/native_theme/native_theme.cc
-index e3e38747994bc18f7df64b5b74cea099a9f42a60..a367530ba886eb50557ce67626db12607469821b 100644
+index 728069cfdba9abd10bee1af9a195d1883ff91b6b..fc4f6e75b08bae70209ec28a033f8ed7b9b51a71 100644
 --- a/ui/native_theme/native_theme.cc
 +++ b/ui/native_theme/native_theme.cc
-@@ -213,6 +213,8 @@ NativeTheme::NativeTheme(bool should_use_dark_colors,
+@@ -211,6 +211,8 @@ NativeTheme::NativeTheme(bool should_use_dark_colors,
  NativeTheme::~NativeTheme() = default;
  
  bool NativeTheme::ShouldUseDarkColors() const {
@@ -26,7 +26,7 @@ index e3e38747994bc18f7df64b5b74cea099a9f42a60..a367530ba886eb50557ce67626db1260
  }
  
 diff --git a/ui/native_theme/native_theme.h b/ui/native_theme/native_theme.h
-index c8ec53d15f2bcd7169e320236a7c5050ddaccaa0..e6b1a313a6515e5bd5bce02d0f7290a632cf9b0a 100644
+index b2a7455c7e005e628bee656991e8017814e0a583..4a825f250bf444f20a392cc6599fc52eb95e5d31 100644
 --- a/ui/native_theme/native_theme.h
 +++ b/ui/native_theme/native_theme.h
 @@ -443,6 +443,23 @@ class NATIVE_THEME_EXPORT NativeTheme {
@@ -53,14 +53,14 @@ index c8ec53d15f2bcd7169e320236a7c5050ddaccaa0..e6b1a313a6515e5bd5bce02d0f7290a6
    // Returns a shared instance of the native theme that should be used for web
    // rendering. Do not use it in a normal application context (i.e. browser).
    // The returned object should not be deleted by the caller. This function is
-@@ -687,6 +704,7 @@ class NATIVE_THEME_EXPORT NativeTheme {
-   PreferredColorScheme preferred_color_scheme_ = PreferredColorScheme::kLight;
+@@ -680,6 +697,7 @@ class NATIVE_THEME_EXPORT NativeTheme {
    PreferredContrast preferred_contrast_ = PreferredContrast::kNoPreference;
    std::optional<base::TimeDelta> caret_blink_interval_;
+   bool use_overlay_scrollbars_ = false;
 +  ThemeSource theme_source_ = ThemeSource::kSystem;
  
-   // Obtaining the PrefersAlwaysShowScrollbar system setting can be expensive,
-   // so it is cached in this boolean.
+   SEQUENCE_CHECKER(sequence_checker_);
+ };
 diff --git a/ui/native_theme/native_theme_win.cc b/ui/native_theme/native_theme_win.cc
 index 1b098cbb291fe904f34d59ce5aaab7a0e48b28ea..9d27e7b3dc503a3f25d71f0342a3fd4f17a42ea0 100644
 --- a/ui/native_theme/native_theme_win.cc

+ 12 - 12
patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch

@@ -90,7 +90,7 @@ index 8af69cac78b7488d28f1f05ccb174793fe5148cd..9f74e511c263d147b5fbe81fe100d217
   private:
    const HWND hwnd_;
 diff --git a/components/viz/service/BUILD.gn b/components/viz/service/BUILD.gn
-index dddf398085d2902b4b1e6e00cb90ccecc238a672..559b9964718a29558b19b0183fc2b7265522ba7e 100644
+index 72c960319365abf42ac7279b4d06f3d2b81c6e71..b53a8c8752bca7bad0fb7cd35f5320bbcb61f806 100644
 --- a/components/viz/service/BUILD.gn
 +++ b/components/viz/service/BUILD.gn
 @@ -172,6 +172,8 @@ viz_component("service") {
@@ -596,7 +596,7 @@ index 7d19b6be8bb0e0269c381cf6efdf79eaeff1e935..b8ec06ade095df99c024396a601dbf1a
  
    // Sends the created child window to the browser process so that it can be
 diff --git a/services/viz/privileged/mojom/compositing/frame_sink_manager.mojom b/services/viz/privileged/mojom/compositing/frame_sink_manager.mojom
-index 1197e68e18701bdf01aa61655f953b8e950b5b04..23b38f7e6251cf0edcf1d5e7ebb99984c8ee5409 100644
+index be84767530d3deba6555b0b9589037365114c449..89283b0999e34c662bf968eaf5e51c8463cd8a23 100644
 --- a/services/viz/privileged/mojom/compositing/frame_sink_manager.mojom
 +++ b/services/viz/privileged/mojom/compositing/frame_sink_manager.mojom
 @@ -39,6 +39,7 @@ struct RootCompositorFrameSinkParams {
@@ -619,10 +619,10 @@ index 2f462f0deb5fc8a637457243fb5d5849fc214d14..695869b83cefaa24af93a2e11b39de05
 +  Draw(gfx.mojom.Rect damage_rect) => ();
  };
 diff --git a/ui/compositor/compositor.h b/ui/compositor/compositor.h
-index 58da7f0697dd2251f45c1e4001584683b7acf8ed..916a33ebd06e6750cef57ff433b1826424482d26 100644
+index c0809410472ccb96704271ce1d10a06ff27a951d..497f3299ba459da88ff9c2abdefdd27480324b0e 100644
 --- a/ui/compositor/compositor.h
 +++ b/ui/compositor/compositor.h
-@@ -90,6 +90,7 @@ namespace mojom {
+@@ -89,6 +89,7 @@ namespace mojom {
  class DisplayPrivate;
  class ExternalBeginFrameController;
  }  // namespace mojom
@@ -630,7 +630,7 @@ index 58da7f0697dd2251f45c1e4001584683b7acf8ed..916a33ebd06e6750cef57ff433b18264
  class HostFrameSinkManager;
  class LocalSurfaceId;
  class RasterContextProvider;
-@@ -141,6 +142,16 @@ class COMPOSITOR_EXPORT ContextFactory {
+@@ -140,6 +141,16 @@ class COMPOSITOR_EXPORT ContextFactory {
    virtual viz::HostFrameSinkManager* GetHostFrameSinkManager() = 0;
  };
  
@@ -647,7 +647,7 @@ index 58da7f0697dd2251f45c1e4001584683b7acf8ed..916a33ebd06e6750cef57ff433b18264
  // Compositor object to take care of GPU painting.
  // A Browser compositor object is responsible for generating the final
  // displayable form of pixels comprising a single widget's contents. It draws an
-@@ -184,6 +195,9 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
+@@ -183,6 +194,9 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
    // Schedules a redraw of the layer tree associated with this compositor.
    void ScheduleDraw();
  
@@ -657,7 +657,7 @@ index 58da7f0697dd2251f45c1e4001584683b7acf8ed..916a33ebd06e6750cef57ff433b18264
    // Sets the root of the layer tree drawn by this Compositor. The root layer
    // must have no parent. The compositor's root layer is reset if the root layer
    // is destroyed. NULL can be passed to reset the root layer, in which case the
-@@ -563,6 +577,8 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
+@@ -562,6 +576,8 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
        simple_begin_frame_observers_;
    std::unique_ptr<ui::HostBeginFrameObserver> host_begin_frame_observer_;
  
@@ -667,18 +667,18 @@ index 58da7f0697dd2251f45c1e4001584683b7acf8ed..916a33ebd06e6750cef57ff433b18264
    raw_ptr<Layer> root_layer_ = nullptr;
  
 diff --git a/ui/gfx/ca_layer_params.h b/ui/gfx/ca_layer_params.h
-index 86d5be8b3778ced67e65d3f1e22b6aef467c7042..a2044ee0440339247cc91e06a7a0c323cbf332fc 100644
+index 5b5bb16199d46f16be587856650b07121a786776..241efc4bddaf2ddfb4d4092766a9d3c9732ef36e 100644
 --- a/ui/gfx/ca_layer_params.h
 +++ b/ui/gfx/ca_layer_params.h
-@@ -6,6 +6,7 @@
- #define UI_GFX_CA_LAYER_PARAMS_H_
+@@ -7,6 +7,7 @@
  
+ #include "base/component_export.h"
  #include "build/build_config.h"
 +#include "ui/gfx/geometry/rect.h"
  #include "ui/gfx/geometry/size.h"
- #include "ui/gfx/gfx_export.h"
  
-@@ -51,6 +52,8 @@ struct GFX_EXPORT CALayerParams {
+ #if BUILDFLAG(IS_APPLE)
+@@ -51,6 +52,8 @@ struct COMPONENT_EXPORT(GFX) CALayerParams {
    gfx::ScopedRefCountedIOSurfaceMachPort io_surface_mach_port;
  #endif
  

+ 5 - 5
patches/chromium/feat_expose_raw_response_headers_from_urlloader.patch

@@ -17,7 +17,7 @@ headers, moving forward we should find a way in upstream to provide
 access to these headers for loader clients created on the browser process.
 
 diff --git a/services/network/public/cpp/resource_request.cc b/services/network/public/cpp/resource_request.cc
-index 8f7d40cadf091cf66d1b2a380c7a753869b3be59..bf317d569054487aec474b0c907204063685f690 100644
+index 57713d234ec93e81ad5ee177f0e2978d7fe82e1d..535cb485455d6a2e23fea4042be4ad9174268bd1 100644
 --- a/services/network/public/cpp/resource_request.cc
 +++ b/services/network/public/cpp/resource_request.cc
 @@ -155,6 +155,7 @@ ResourceRequest::TrustedParams& ResourceRequest::TrustedParams::operator=(
@@ -90,7 +90,7 @@ index e88bda2cb7d2f22e80b5ac7053a77896b7d47fc8..8e4821a6f2a4ad03b1b8b4dbae7c5d9b
    // a cookie. If this is set to non-null, the observer passed to
    // URLLoaderFactory will be ignored.
 diff --git a/services/network/public/mojom/url_response_head.mojom b/services/network/public/mojom/url_response_head.mojom
-index a123ea0b396815063c4261110ee39e611b6e9eed..968256ba1df386589fda1b97b0e043585c4aa951 100644
+index 5c4b8a05034f8defacbc13671fe9bc92f76ade5a..e7390e01f113755613f42d592b36108b703960dc 100644
 --- a/services/network/public/mojom/url_response_head.mojom
 +++ b/services/network/public/mojom/url_response_head.mojom
 @@ -13,6 +13,7 @@ import "services/network/public/mojom/attribution.mojom";
@@ -101,7 +101,7 @@ index a123ea0b396815063c4261110ee39e611b6e9eed..968256ba1df386589fda1b97b0e04358
  import "services/network/public/mojom/ip_endpoint.mojom";
  import "services/network/public/mojom/load_timing_info.mojom";
  import "services/network/public/mojom/network_param.mojom";
-@@ -44,6 +45,9 @@ struct URLResponseHead {
+@@ -49,6 +50,9 @@ struct URLResponseHead {
    // The response headers or NULL if the URL type does not support headers.
    HttpResponseHeaders headers;
  
@@ -112,7 +112,7 @@ index a123ea0b396815063c4261110ee39e611b6e9eed..968256ba1df386589fda1b97b0e04358
    string mime_type;
  
 diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc
-index fcbfac7119266deed9719b08501af0032ea79d30..5bb2de0eea5b472d8d0b287a28fbec895841d41a 100644
+index c0fbb04f0717fafedb561acb6ec76a451d541dfe..beb3fe75a654510b60b62ab29380c7ff243bb095 100644
 --- a/services/network/url_loader.cc
 +++ b/services/network/url_loader.cc
 @@ -601,6 +601,9 @@ URLLoader::URLLoader(
@@ -134,7 +134,7 @@ index fcbfac7119266deed9719b08501af0032ea79d30..5bb2de0eea5b472d8d0b287a28fbec89
      url_request_->SetResponseHeadersCallback(base::BindRepeating(
          &URLLoader::SetRawResponseHeaders, base::Unretained(this)));
    }
-@@ -1851,6 +1854,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) {
+@@ -1852,6 +1855,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) {
    }
  
    response_ = BuildResponseHead();

+ 3 - 3
patches/chromium/fix_activate_background_material_on_windows.patch

@@ -14,10 +14,10 @@ This patch likely can't be upstreamed as-is, as Chromium doesn't have
 this use case in mind currently.
 
 diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
-index ae24de9ce9d3a2d6c9d7612104e1ef13bbd84f9f..c7ce5bc2aaa8bd29c41c253bd9b6fc9e713ff5a5 100644
+index fda18ecab7e982b3087c7667d36578177d370066..a949e73dabad71d2550e38b09dbcf45160b3a853 100644
 --- a/ui/views/win/hwnd_message_handler.cc
 +++ b/ui/views/win/hwnd_message_handler.cc
-@@ -909,13 +909,13 @@ void HWNDMessageHandler::FrameTypeChanged() {
+@@ -908,13 +908,13 @@ void HWNDMessageHandler::FrameTypeChanged() {
  
  void HWNDMessageHandler::PaintAsActiveChanged() {
    if (!delegate_->HasNonClientView() || !delegate_->CanActivate() ||
@@ -33,7 +33,7 @@ index ae24de9ce9d3a2d6c9d7612104e1ef13bbd84f9f..c7ce5bc2aaa8bd29c41c253bd9b6fc9e
  }
  
  void HWNDMessageHandler::SetWindowIcons(const gfx::ImageSkia& window_icon,
-@@ -2264,17 +2264,18 @@ LRESULT HWNDMessageHandler::OnNCActivate(UINT message,
+@@ -2256,17 +2256,18 @@ LRESULT HWNDMessageHandler::OnNCActivate(UINT message,
    if (IsVisible())
      delegate_->SchedulePaint();
  

+ 2 - 2
patches/chromium/fix_aspect_ratio_with_max_size.patch

@@ -11,10 +11,10 @@ enlarge window above dimensions set during creation of the
 BrowserWindow.
 
 diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
-index 466738cc252dceae3fcaa7c44aaa29ff945386ef..de8284b0b75511d11dc3afed60efc75788d0a7d0 100644
+index 4957a1aba28263313ec072e8b4e71d14c66bf73e..9ac53e223aa095acdf90b68bc1e6bc81e3021ab9 100644
 --- a/ui/views/win/hwnd_message_handler.cc
 +++ b/ui/views/win/hwnd_message_handler.cc
-@@ -3689,14 +3689,29 @@ void HWNDMessageHandler::SizeWindowToAspectRatio(UINT param,
+@@ -3596,14 +3596,29 @@ void HWNDMessageHandler::SizeWindowToAspectRatio(UINT param,
    delegate_->GetMinMaxSize(&min_window_size, &max_window_size);
    min_window_size = delegate_->DIPToScreenSize(min_window_size);
    max_window_size = delegate_->DIPToScreenSize(max_window_size);

+ 4 - 4
patches/chromium/fix_crash_loading_non-standard_schemes_in_iframes.patch

@@ -23,7 +23,7 @@ Upstream bug https://bugs.chromium.org/p/chromium/issues/detail?id=1081397.
 Upstreamed at https://chromium-review.googlesource.com/c/chromium/src/+/3856266.
 
 diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc
-index c5cd65fddebfd3653abe60b6933fde5bf74b798e..2b718999c5a1f9ba4a57705adc5da53955fe9806 100644
+index f8e18b15a19517b28057dd007adccc0fd222e2e1..6e1656f3bd62b597952528bfee884666111277fc 100644
 --- a/content/browser/renderer_host/navigation_request.cc
 +++ b/content/browser/renderer_host/navigation_request.cc
 @@ -10802,6 +10802,12 @@ NavigationRequest::GetOriginForURLLoaderFactoryUncheckedWithDebugInfo() {
@@ -40,10 +40,10 @@ index c5cd65fddebfd3653abe60b6933fde5bf74b798e..2b718999c5a1f9ba4a57705adc5da539
    // origin of |common_params.url| and/or |common_params.initiator_origin|.
    url::Origin resolved_origin = url::Origin::Resolve(
 diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc
-index f15015afa07a5fb05315a29070e314b50a84252b..118e115fe519afab2bf94752b3cb52bddab08bc7 100644
+index 8f620599f4ccf8729e1b3de16650e73cbfebfadd..9ceab90b928cebb6208513982b5789b9c045bebe 100644
 --- a/third_party/blink/renderer/core/loader/document_loader.cc
 +++ b/third_party/blink/renderer/core/loader/document_loader.cc
-@@ -2309,6 +2309,10 @@ Frame* DocumentLoader::CalculateOwnerFrame() {
+@@ -2308,6 +2308,10 @@ Frame* DocumentLoader::CalculateOwnerFrame() {
  scoped_refptr<SecurityOrigin> DocumentLoader::CalculateOrigin(
      Document* owner_document) {
    scoped_refptr<SecurityOrigin> origin;
@@ -54,7 +54,7 @@ index f15015afa07a5fb05315a29070e314b50a84252b..118e115fe519afab2bf94752b3cb52bd
    StringBuilder debug_info_builder;
    // Whether the origin is newly created within this call, instead of copied
    // from an existing document's origin or from `origin_to_commit_`. If this is
-@@ -2362,6 +2366,10 @@ scoped_refptr<SecurityOrigin> DocumentLoader::CalculateOrigin(
+@@ -2361,6 +2365,10 @@ scoped_refptr<SecurityOrigin> DocumentLoader::CalculateOrigin(
      // the end of this function.
      origin = origin_to_commit_;
      debug_info_builder.Append("use_origin_to_commit");

+ 4 - 4
patches/chromium/fix_crash_when_saving_edited_pdf_files.patch

@@ -13,10 +13,10 @@ This patch can be removed should we choose to support chrome.fileSystem
 or support it enough to fix the crash.
 
 diff --git a/chrome/browser/resources/pdf/pdf_viewer.ts b/chrome/browser/resources/pdf/pdf_viewer.ts
-index 9581fdc41450ac51a3fd4574afc032f9a17c12af..a3e7eaa7cca64349068fe2412e24265e2bb02b26 100644
+index f7e98f2c94ac9802062880f9341214f88c85a669..86b0b3b7596e7da68c536c0dea3d95b22bdd9481 100644
 --- a/chrome/browser/resources/pdf/pdf_viewer.ts
 +++ b/chrome/browser/resources/pdf/pdf_viewer.ts
-@@ -1062,28 +1062,27 @@ export class PdfViewerElement extends PdfViewerBaseElement {
+@@ -1076,28 +1076,27 @@ export class PdfViewerElement extends PdfViewerBaseElement {
        dataArray = [result.dataToSave];
      }
  
@@ -65,7 +65,7 @@ index 9581fdc41450ac51a3fd4574afc032f9a17c12af..a3e7eaa7cca64349068fe2412e24265e
    }
  
    /**
-@@ -1267,36 +1266,33 @@ export class PdfViewerElement extends PdfViewerBaseElement {
+@@ -1288,36 +1287,33 @@ export class PdfViewerElement extends PdfViewerBaseElement {
        fileName = fileName + '.pdf';
      }
  
@@ -128,7 +128,7 @@ index 9581fdc41450ac51a3fd4574afc032f9a17c12af..a3e7eaa7cca64349068fe2412e24265e
  
      // <if expr="enable_pdf_ink2">
      // Ink2 doesn't need to exit annotation mode after save.
-@@ -1432,6 +1428,9 @@ declare global {
+@@ -1464,6 +1460,9 @@ declare global {
    interface HTMLElementTagNameMap {
      'pdf-viewer': PdfViewerElement;
    }

+ 8 - 8
patches/chromium/fix_disabling_background_throttling_in_compositor.patch

@@ -12,10 +12,10 @@ invisible state of the `viz::DisplayScheduler` owned
 by the `ui::Compositor`.
 
 diff --git a/ui/compositor/compositor.cc b/ui/compositor/compositor.cc
-index b56af94eae23fa461d046fc0542eed983b92c7c5..f199cf5231ca2d9c150d1a0ebfede6383f174733 100644
+index 605ea1d0c30b534145e1629b47351ed42067a80f..bb533d1dab6b0cbd8cb624bbb155f566966027b0 100644
 --- a/ui/compositor/compositor.cc
 +++ b/ui/compositor/compositor.cc
-@@ -344,7 +344,8 @@ void Compositor::SetLayerTreeFrameSink(
+@@ -343,7 +343,8 @@ void Compositor::SetLayerTreeFrameSink(
    if (display_private_) {
      disabled_swap_until_resize_ = false;
      display_private_->Resize(size());
@@ -25,7 +25,7 @@ index b56af94eae23fa461d046fc0542eed983b92c7c5..f199cf5231ca2d9c150d1a0ebfede638
      display_private_->SetDisplayColorSpaces(display_color_spaces_);
      display_private_->SetDisplayColorMatrix(
          gfx::SkM44ToTransform(display_color_matrix_));
-@@ -555,7 +556,9 @@ void Compositor::SetVisible(bool visible) {
+@@ -554,7 +555,9 @@ void Compositor::SetVisible(bool visible) {
    // updated then. We need to call this even if the visibility hasn't changed,
    // for the same reason.
    if (display_private_)
@@ -36,7 +36,7 @@ index b56af94eae23fa461d046fc0542eed983b92c7c5..f199cf5231ca2d9c150d1a0ebfede638
  
    if (changed) {
      observer_list_.Notify(&CompositorObserver::OnCompositorVisibilityChanged,
-@@ -1006,6 +1009,15 @@ void Compositor::MaybeUpdateObserveBeginFrame() {
+@@ -1005,6 +1008,15 @@ void Compositor::MaybeUpdateObserveBeginFrame() {
        host_begin_frame_observer_->GetBoundRemote());
  }
  
@@ -49,14 +49,14 @@ index b56af94eae23fa461d046fc0542eed983b92c7c5..f199cf5231ca2d9c150d1a0ebfede638
 +  }
 +}
 +
- #if BUILDFLAG(IS_CHROMEOS_ASH)
+ #if BUILDFLAG(IS_CHROMEOS)
  void Compositor::SetSeamlessRefreshRates(
      const std::vector<float>& seamless_refresh_rates) {
 diff --git a/ui/compositor/compositor.h b/ui/compositor/compositor.h
-index 916a33ebd06e6750cef57ff433b1826424482d26..06a9e039beeb9ac6880a06bf15ec5e8bbbdb76f5 100644
+index 497f3299ba459da88ff9c2abdefdd27480324b0e..db44edc070d36edb3230a4fde9f41444d9f10064 100644
 --- a/ui/compositor/compositor.h
 +++ b/ui/compositor/compositor.h
-@@ -510,6 +510,10 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
+@@ -509,6 +509,10 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
  
    const cc::LayerTreeSettings& GetLayerTreeSettings() const;
  
@@ -67,7 +67,7 @@ index 916a33ebd06e6750cef57ff433b1826424482d26..06a9e039beeb9ac6880a06bf15ec5e8b
    size_t saved_events_metrics_count_for_testing() const {
      return host_->saved_events_metrics_count_for_testing();
    }
-@@ -658,6 +662,12 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
+@@ -657,6 +661,12 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
    // See go/report-ux-metrics-at-painting for details.
    bool animation_started_ = false;
  

+ 1 - 1
patches/chromium/fix_media_key_usage_with_globalshortcuts.patch

@@ -59,7 +59,7 @@ index 06e65da05a218a8ecc641bbd749ace2b0832ce72..370dfdc9579a9e6b3a6bdc6f4526650a
    // true if register successfully, or false if 1) the specificied |accelerator|
    // has been registered by another caller or other native applications, or
 diff --git a/content/browser/media/media_keys_listener_manager_impl.cc b/content/browser/media/media_keys_listener_manager_impl.cc
-index 2a84784fd3d759603a0dde5f6a7c94f4d0679147..b5616f8d09dd6471f8324f67b8261b0a4393d155 100644
+index 90528a9bcde4c39c122de51d049ef62e812245db..5e1d685bb86618058bfc62c16ddcc5aab2beffb4 100644
 --- a/content/browser/media/media_keys_listener_manager_impl.cc
 +++ b/content/browser/media/media_keys_listener_manager_impl.cc
 @@ -88,7 +88,11 @@ bool MediaKeysListenerManagerImpl::StartWatchingMediaKey(

+ 3 - 3
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 aa46e930359538cff287939b93e145963791f551..1bf1a192c2d31f692c7340832e4750b0c7e8f627 100644
+index e63c2f637828d426e1c8fb16774a08722bfc9fcc..bfc5254ec692fc5cfbd93fabae7969adeb644393 100644
 --- a/content/browser/renderer_host/legacy_render_widget_host_win.cc
 +++ b/content/browser/renderer_host/legacy_render_widget_host_win.cc
-@@ -329,12 +329,12 @@ LRESULT LegacyRenderWidgetHostHWND::OnMouseRange(UINT message,
+@@ -325,12 +325,12 @@ LRESULT LegacyRenderWidgetHostHWND::OnMouseRange(UINT message,
                                                   WPARAM w_param,
                                                   LPARAM l_param,
                                                   BOOL& handled) {
@@ -31,7 +31,7 @@ index aa46e930359538cff287939b93e145963791f551..1bf1a192c2d31f692c7340832e4750b0
        tme.hwndTrack = hwnd();
        tme.dwHoverTime = 0;
        TrackMouseEvent(&tme);
-@@ -365,7 +365,10 @@ LRESULT LegacyRenderWidgetHostHWND::OnMouseRange(UINT message,
+@@ -361,7 +361,10 @@ LRESULT LegacyRenderWidgetHostHWND::OnMouseRange(UINT message,
      // out of the picture.
      if (!handled &&
          (message >= WM_NCMOUSEMOVE && message <= WM_NCXBUTTONDBLCLK)) {

+ 2 - 2
patches/chromium/fix_on-screen-keyboard_hides_on_input_blur_in_webview.patch

@@ -87,10 +87,10 @@ index 51522e60d6dc14f1113cc438558b6b393c3fe73a..153ed02f493a83ef9ca354cc18736f93
    // The view with active text input state, i.e., a focused <input> element.
    // It will be nullptr if no such view exists. Note that the active view
 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index f5d7f3984a3ed28414416b06fa3ccc23538b3cf1..e586a38486349b4cbf88b61a7673e55759f1c9b8 100644
+index 9b84cc06795a5bef730cd81908254cf9ad11c836..1b748a2e0d803217985847014855b095b53c58e5 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -9330,7 +9330,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(
+@@ -9384,7 +9384,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(
                          "WebContentsImpl::OnFocusedElementChangedInFrame",
                          "render_frame_host", frame);
    RenderWidgetHostViewBase* root_view =

+ 2 - 2
patches/chromium/fix_remove_caption-removing_style_call.patch

@@ -18,10 +18,10 @@ or resizing, but Electron does not seem to run into that issue
 for opaque frameless windows even with that block commented out.
 
 diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
-index 1d47f744b21b23afa48687e1bcc3a0f02f042a87..ae24de9ce9d3a2d6c9d7612104e1ef13bbd84f9f 100644
+index 026b0f9b404267b17e1ea6b61b5ebb188b9b0bed..fda18ecab7e982b3087c7667d36578177d370066 100644
 --- a/ui/views/win/hwnd_message_handler.cc
 +++ b/ui/views/win/hwnd_message_handler.cc
-@@ -1737,7 +1737,23 @@ LRESULT HWNDMessageHandler::OnCreate(CREATESTRUCT* create_struct) {
+@@ -1736,7 +1736,23 @@ LRESULT HWNDMessageHandler::OnCreate(CREATESTRUCT* create_struct) {
    SendMessage(hwnd(), WM_CHANGEUISTATE, MAKELPARAM(UIS_CLEAR, UISF_HIDEFOCUS),
                0);
  

+ 2 - 2
patches/chromium/fix_restore_original_resize_performance_on_macos.patch

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

+ 7 - 7
patches/chromium/fix_return_v8_value_from_localframe_requestexecutescript.patch

@@ -64,10 +64,10 @@ index cba373664bec3a32abad6fe0396bd67b53b7e67f..7a985067b1371604644d48159f2f5aa7
  
  #endif  // THIRD_PARTY_BLINK_PUBLIC_WEB_WEB_SCRIPT_EXECUTION_CALLBACK_H_
 diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
-index 0614c5e043fd0b88397863e02fd23feee2c19016..8549807e503c70c4d080b726e89972b71c60f3d3 100644
+index d918e9d165acefa8ba3a225aec261ebf028c40f7..d6cbf553961137429c40fe768f28b104bda0f89b 100644
 --- a/third_party/blink/renderer/core/frame/local_frame.cc
 +++ b/third_party/blink/renderer/core/frame/local_frame.cc
-@@ -3131,6 +3131,7 @@ void LocalFrame::RequestExecuteScript(
+@@ -3130,6 +3130,7 @@ void LocalFrame::RequestExecuteScript(
      mojom::blink::EvaluationTiming evaluation_timing,
      mojom::blink::LoadEventBlockingOption blocking_option,
      WebScriptExecutionCallback callback,
@@ -75,7 +75,7 @@ index 0614c5e043fd0b88397863e02fd23feee2c19016..8549807e503c70c4d080b726e89972b7
      BackForwardCacheAware back_forward_cache_aware,
      mojom::blink::WantResultOption want_result_option,
      mojom::blink::PromiseResultOption promise_behavior) {
-@@ -3163,7 +3164,7 @@ void LocalFrame::RequestExecuteScript(
+@@ -3162,7 +3163,7 @@ void LocalFrame::RequestExecuteScript(
    PausableScriptExecutor::CreateAndRun(
        script_state, std::move(script_sources), execute_script_policy,
        user_gesture, evaluation_timing, blocking_option, want_result_option,
@@ -97,7 +97,7 @@ index 13d1bea90341efbf51c476d3eacae49c8b960537..f508e3e9df98c167740b0574ef554bd1
                              mojom::blink::WantResultOption,
                              mojom::blink::PromiseResultOption);
 diff --git a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc
-index 1a45b33d4282ee85de73090c85579bfcb0f7ba6c..339a13afff642992f4ce894d341b861e22a9cbda 100644
+index 0143c528c3ae098c212fc2ca503d2dcd11c8eae0..87a4ac7926ab4f54c0c41f9a6f0b5031d54e8b06 100644
 --- a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc
 +++ b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc
 @@ -964,6 +964,7 @@ void LocalFrameMojoHandler::JavaScriptExecuteRequestInIsolatedWorld(
@@ -204,7 +204,7 @@ index fa65331f40b90d812b71a489fd560e9359152d2b..390714d631dc88ef92d59ef9618a5706
    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 ef60a54e0d53776004e15154cf4c5211c2b0f8e8..4f98ff7ec76e2a10a198e6cb3c0cb60912444d0a 100644
+index 3979c3987da3dd49218407c41977d9ce7d114edb..7e00f6bdd1d398f22d39823088caf5cde3a34dd9 100644
 --- a/third_party/blink/renderer/core/frame/web_frame_test.cc
 +++ b/third_party/blink/renderer/core/frame/web_frame_test.cc
 @@ -291,6 +291,7 @@ void ExecuteScriptsInMainWorld(
@@ -216,10 +216,10 @@ index ef60a54e0d53776004e15154cf4c5211c2b0f8e8..4f98ff7ec76e2a10a198e6cb3c0cb609
        mojom::blink::WantResultOption::kWantResult, wait_for_promise);
  }
 diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
-index 17f5a4de25450741bdd87a05a545a29eb20dd052..e07acad65d2293f92dc45d5ce1c4143a99d1853b 100644
+index 89cda107da09afeed4c77e91aed3b41dbe3f1fc6..653bc1c866a86f5853bb05338ad0faef1d315f2e 100644
 --- a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
 +++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
-@@ -1098,14 +1098,15 @@ void WebLocalFrameImpl::RequestExecuteScript(
+@@ -1096,14 +1096,15 @@ void WebLocalFrameImpl::RequestExecuteScript(
      mojom::blink::EvaluationTiming evaluation_timing,
      mojom::blink::LoadEventBlockingOption blocking_option,
      WebScriptExecutionCallback callback,

+ 1 - 1
patches/chromium/fix_software_compositing_infinite_loop.patch

@@ -10,7 +10,7 @@ process CompositingModeFallbackToSoftware IPC to disable GPU compositing.
 https://issues.chromium.org/345275130
 
 diff --git a/third_party/blink/renderer/platform/widget/compositing/layer_tree_view.cc b/third_party/blink/renderer/platform/widget/compositing/layer_tree_view.cc
-index 4961c9679f8daa581e1702ee4b3d109604ec6a06..9f955da7bafdfe863e4d18892915ccd03e5e92b9 100644
+index 001e931ba705a1a52dfbcb717fe8e30b7014fde8..c545a7257e561f86aecc336769c0dd22c9772465 100644
 --- a/third_party/blink/renderer/platform/widget/compositing/layer_tree_view.cc
 +++ b/third_party/blink/renderer/platform/widget/compositing/layer_tree_view.cc
 @@ -381,9 +381,13 @@ void LayerTreeView::DidFailToInitializeLayerTreeFrameSink() {

+ 3 - 3
patches/chromium/frame_host_manager.patch

@@ -6,10 +6,10 @@ Subject: frame_host_manager.patch
 Allows embedder to intercept site instances created by chromium.
 
 diff --git a/content/browser/renderer_host/render_frame_host_manager.cc b/content/browser/renderer_host/render_frame_host_manager.cc
-index 469465b7f8ac192118111e88f7292e2d54ced0b6..61ff551c1f58b5ae666f9b650e659d9012111664 100644
+index 260909a2d2761a32687d3fce5ba50509ffde375c..83396cdd7d69c6fd436ebd8bd66edc0fa7df6020 100644
 --- a/content/browser/renderer_host/render_frame_host_manager.cc
 +++ b/content/browser/renderer_host/render_frame_host_manager.cc
-@@ -4518,6 +4518,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
+@@ -4617,6 +4617,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
      request->ResetStateForSiteInstanceChange();
    }
  
@@ -20,7 +20,7 @@ index 469465b7f8ac192118111e88f7292e2d54ced0b6..61ff551c1f58b5ae666f9b650e659d90
  }
  
 diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
-index d698262fe1f61fedf1e84300620c084e9d48a3bd..e22c5c9300c22909a6a95b714cf0b19fde5318bf 100644
+index 187e5f078084436b2ff296f1cbacd009d738c635..fde9dbdf3fe3bcd88c14abead60ff17fad1b2f0e 100644
 --- a/content/public/browser/content_browser_client.h
 +++ b/content/public/browser/content_browser_client.h
 @@ -335,6 +335,11 @@ class CONTENT_EXPORT ContentBrowserClient {

+ 1 - 1
patches/chromium/hack_to_allow_gclient_sync_with_host_os_mac_on_linux_in_ci.patch

@@ -11,7 +11,7 @@ If removing this patch causes no sync failures, it's safe to delete :+1:
 Ref https://chromium-review.googlesource.com/c/chromium/src/+/2953903
 
 diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py
-index a719eda33d96c7d1d66c97b707b16a8d4a6b1d95..cbf908c6fb58e61821df3d8e18b035e127b737a8 100755
+index f7e967557a15b0986dda0096a28470d81f2246aa..ca50120ec6feec93aa5de85f57a02b26de739003 100755
 --- a/tools/clang/scripts/update.py
 +++ b/tools/clang/scripts/update.py
 @@ -304,6 +304,8 @@ def GetDefaultHostOs():

+ 20 - 20
patches/chromium/mas_avoid_private_macos_api_usage.patch.patch

@@ -35,10 +35,10 @@ system font by checking if it's kCTFontPriorityAttribute is set to
 system priority.
 
 diff --git a/base/BUILD.gn b/base/BUILD.gn
-index 404b12727620ae4cdcfff17e8379764742a90f0e..4b874f02c7525d83bcc0cb475404cf180221f512 100644
+index 5dee8a9226d2422e98878067e35552ca366dc18e..c81c0140dc45e6f436f478cf3b20c73782226f45 100644
 --- a/base/BUILD.gn
 +++ b/base/BUILD.gn
-@@ -1040,6 +1040,7 @@ component("base") {
+@@ -1017,6 +1017,7 @@ component("base") {
      "//build:ios_buildflags",
      "//build/config/compiler:compiler_buildflags",
      "//third_party/modp_b64",
@@ -428,7 +428,7 @@ index 4f875587289f19b06041c5e8a7f76ab9cba169c9..952febab99656f59efee8c0d267d8f76
    bool shouldShowWindowTitle = YES;
    if (_bridge)
 diff --git a/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm b/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm
-index 5127bd6b8d37e6531fa89a5fc14af4ff9b2615f8..79d7a56fdc87385bd47101cff6334ac85361d3be 100644
+index 97f489043beb4260b1a3ca1781ce7ef67ec8c88a..569859297618cac39aa36655b9e301224ed11f71 100644
 --- a/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm
 +++ b/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm
 @@ -41,6 +41,7 @@
@@ -453,10 +453,10 @@ index 5127bd6b8d37e6531fa89a5fc14af4ff9b2615f8..79d7a56fdc87385bd47101cff6334ac8
    // Beware: This view was briefly removed (in favor of a bare CALayer) in
    // https://crrev.com/c/1236675. The ordering of unassociated layers relative
 diff --git a/components/viz/service/BUILD.gn b/components/viz/service/BUILD.gn
-index 4687c5e66f2176cc408b474e4d1e67f7dbf51669..dddf398085d2902b4b1e6e00cb90ccecc238a672 100644
+index 1db2476ae1c2ad9c6d1306531fb9b3a697f3adca..72c960319365abf42ac7279b4d06f3d2b81c6e71 100644
 --- a/components/viz/service/BUILD.gn
 +++ b/components/viz/service/BUILD.gn
-@@ -378,6 +378,7 @@ viz_component("service") {
+@@ -381,6 +381,7 @@ viz_component("service") {
          "frame_sinks/external_begin_frame_source_mac.h",
        ]
      }
@@ -464,7 +464,7 @@ index 4687c5e66f2176cc408b474e4d1e67f7dbf51669..dddf398085d2902b4b1e6e00cb90ccec
    }
  
    if (is_android || use_ozone) {
-@@ -660,6 +661,7 @@ viz_source_set("unit_tests") {
+@@ -663,6 +664,7 @@ viz_source_set("unit_tests") {
        "display_embedder/software_output_device_mac_unittest.mm",
      ]
      frameworks = [ "IOSurface.framework" ]
@@ -558,10 +558,10 @@ index 6aa74c4137ac7a649e8f79eb628e297e9459b089..c89f25bf49d773f5f77b2434bd6fabcf
    return kAttributes;
  }
 diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
-index 29a65224b2e218479957762a64eb6f76a46c37e0..b203913917fdc100335dc95bd72914ac49f5a133 100644
+index 6f0eb1326294a246ce737ff8ee3c1be0944a86b3..83d2719e1db8034dc7487cde81c074daa3180a61 100644
 --- a/content/browser/BUILD.gn
 +++ b/content/browser/BUILD.gn
-@@ -324,6 +324,7 @@ source_set("browser") {
+@@ -325,6 +325,7 @@ source_set("browser") {
      "//ui/strings:ax_strings",
      "//ui/touch_selection",
      "//v8:v8_version",
@@ -771,7 +771,7 @@ index a1068589ad844518038ee7bc15a3de9bc5cba525..1ff781c49f086ec8015c7d3c44567dbe
  
  }  // namespace content
 diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
-index 3df96222754e62ac01366bbf64c9ade4a416673c..f022684e45d6f334366ca335142c94c557ee8778 100644
+index 9fb80e05154c7882f46e00460ee62742a329eb1d..c7ef928f2ea937d41c07aa9382fa64f6bf9625b6 100644
 --- a/content/test/BUILD.gn
 +++ b/content/test/BUILD.gn
 @@ -643,6 +643,7 @@ static_library("test_support") {
@@ -798,7 +798,7 @@ index 3df96222754e62ac01366bbf64c9ade4a416673c..f022684e45d6f334366ca335142c94c5
    ]
  
    if (!(is_chromeos_ash && target_cpu == "arm64" && current_cpu == "arm")) {
-@@ -3234,6 +3237,7 @@ test("content_unittests") {
+@@ -3236,6 +3239,7 @@ test("content_unittests") {
      "//ui/latency:test_support",
      "//ui/shell_dialogs:shell_dialogs",
      "//ui/webui:test_support",
@@ -1403,10 +1403,10 @@ index d38e951cdbf1ab9b367273ad0fb8f962155a7f3b..e39ee0414cb54004096dbfffc4f768e8
    blink_core_sources_editing += [ "kill_ring_none.cc" ]
  }
 diff --git a/ui/accelerated_widget_mac/BUILD.gn b/ui/accelerated_widget_mac/BUILD.gn
-index 3ead42e14ad9d41a30c5637678a3ac49296ce2a6..07665bbefd34737bf6a8c3e79d70b066920788c9 100644
+index 79501bed8f5853d5dacaaaf08af833b81f3babb7..d3d2759e0b6512ab01d1ef386f43468fe83408c2 100644
 --- a/ui/accelerated_widget_mac/BUILD.gn
 +++ b/ui/accelerated_widget_mac/BUILD.gn
-@@ -64,6 +64,7 @@ component("accelerated_widget_mac") {
+@@ -67,6 +67,7 @@ component("accelerated_widget_mac") {
      "//ui/gfx",
      "//ui/gfx/geometry",
      "//ui/gl",
@@ -1612,10 +1612,10 @@ index c8171f0527fe5194f0ea73b57c4444d4c630fbc4..c2ac4da580e3e7f749a0a4de1e859af6
    // Accessible object
    if (AXElementWrapper::IsValidElement(value)) {
 diff --git a/ui/base/BUILD.gn b/ui/base/BUILD.gn
-index 2fe7bbecaf31c94969e01a317de673ece67c2a27..c93c4831fb000d03014d8569945b5e971abbc77d 100644
+index 12896a91a06e53d623daab137c6a11326659dc2f..180bed4b6900bd6b2ddbe5a3745a28241da8aad6 100644
 --- a/ui/base/BUILD.gn
 +++ b/ui/base/BUILD.gn
-@@ -355,6 +355,13 @@ component("base") {
+@@ -357,6 +357,13 @@ component("base") {
      ]
    }
  
@@ -1628,8 +1628,8 @@ index 2fe7bbecaf31c94969e01a317de673ece67c2a27..c93c4831fb000d03014d8569945b5e97
 +
    if (is_ios) {
      sources += [
-       "accelerators/accelerator.cc",
-@@ -502,6 +509,12 @@ component("base") {
+       "device_form_factor_ios.mm",
+@@ -500,6 +507,12 @@ component("base") {
      "//url",
    ]
  
@@ -1735,10 +1735,10 @@ index fc25ba79d2b0e1acdb7ba54b89e7d6e16f94771b..de771ef414b9a69e331261524f08e9a1
  
  }  // namespace
 diff --git a/ui/display/BUILD.gn b/ui/display/BUILD.gn
-index 84afacf999c4905fdbaba332e19058a6471c3436..bbab402c8c11e62dad7fa946d9550efa3637dbda 100644
+index fe7a2787f8b5d25a0c11f7ccc3cf00fa9038231a..d62e60c93b9725b625e7f5d0c011c7363d739917 100644
 --- a/ui/display/BUILD.gn
 +++ b/ui/display/BUILD.gn
-@@ -130,6 +130,12 @@ component("display") {
+@@ -125,6 +125,12 @@ component("display") {
      "//ui/gfx/geometry",
    ]
  
@@ -1782,10 +1782,10 @@ index 29ae2da6a8a2c2a612dfb92f7f9c03ca5fa306b1..440c139a32a0c205e77b657d4aab6468
    // Query the display's refresh rate.
    if (@available(macos 12.0, *)) {
 diff --git a/ui/gfx/BUILD.gn b/ui/gfx/BUILD.gn
-index 762ffff0e4a7ffc40e85dc82f5f0f243a447a85d..db4fbc65fded3beb58e6c336e1d4c4d33d3b2c25 100644
+index 7cd8da2e1a8caf38348d2f56799979a4f1809e7b..d6cbea3a4768ad0e884257fce8db004b1d3b0d72 100644
 --- a/ui/gfx/BUILD.gn
 +++ b/ui/gfx/BUILD.gn
-@@ -335,6 +335,12 @@ component("gfx") {
+@@ -329,6 +329,12 @@ component("gfx") {
      "//ui/base:ui_data_pack",
    ]
  

+ 7 - 7
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 4b1c4c45ec0986d8b4413da729fd8f2a0c8f751f..8d6c110f0c78afd258b2217de28b7303e1ce7a22 100644
+index cae84c27a26d6198d9da5913b008e748d6680037..4be02fdb03038ee4c30ea699cbbf56d1f5aaa7aa 100644
 --- a/services/network/network_context.cc
 +++ b/services/network/network_context.cc
 @@ -158,6 +158,11 @@
@@ -136,7 +136,7 @@ index 4b1c4c45ec0986d8b4413da729fd8f2a0c8f751f..8d6c110f0c78afd258b2217de28b7303
  void NetworkContext::CreateURLLoaderFactory(
      mojo::PendingReceiver<mojom::URLLoaderFactory> receiver,
      mojom::URLLoaderFactoryParamsPtr params) {
-@@ -2567,6 +2672,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
+@@ -2569,6 +2674,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
          std::move(cert_verifier));
      cert_verifier = std::move(cert_verifier_with_trust_anchors);
  #endif  // BUILDFLAG(IS_CHROMEOS)
@@ -147,7 +147,7 @@ index 4b1c4c45ec0986d8b4413da729fd8f2a0c8f751f..8d6c110f0c78afd258b2217de28b7303
  
    builder.SetCertVerifier(IgnoreErrorsCertVerifier::MaybeWrapCertVerifier(
 diff --git a/services/network/network_context.h b/services/network/network_context.h
-index d9c63e9ff7f3afb320b1d88f69cc1105f0a59bad..884a1da963ac6e05dd47ec6b0dcd595f2a7e44c0 100644
+index 964b2634c0232260a8193e15d543fef9011a5d9d..e77c58cb996fd90f7c268e1beba8f3f93c458c2a 100644
 --- a/services/network/network_context.h
 +++ b/services/network/network_context.h
 @@ -114,6 +114,7 @@ class URLMatcher;
@@ -167,7 +167,7 @@ index d9c63e9ff7f3afb320b1d88f69cc1105f0a59bad..884a1da963ac6e05dd47ec6b0dcd595f
    void ResetURLLoaderFactories() override;
    void GetViaObliviousHttp(
        mojom::ObliviousHttpRequestPtr request,
-@@ -930,6 +933,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
+@@ -932,6 +935,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
    std::vector<base::OnceClosure> dismount_closures_;
  #endif  // BUILDFLAG(IS_DIRECTORY_TRANSFER_REQUIRED)
  
@@ -177,7 +177,7 @@ index d9c63e9ff7f3afb320b1d88f69cc1105f0a59bad..884a1da963ac6e05dd47ec6b0dcd595f
    std::unique_ptr<HostResolver> internal_host_resolver_;
    std::set<std::unique_ptr<HostResolver>, base::UniquePtrComparator>
 diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
-index 5b542f26a0cac1639afa3b56dfaa6d1f918afbd4..0ba3e76d4a8a6b4e9e530cb2b830ae2e0e0e022b 100644
+index f2c8a56442e0a51efa53d5478d4917afbf47073c..da6abf26316a5a0c8b65203a151eb07ec179233a 100644
 --- a/services/network/public/mojom/network_context.mojom
 +++ b/services/network/public/mojom/network_context.mojom
 @@ -304,6 +304,16 @@ struct SocketBrokerRemotes {
@@ -197,7 +197,7 @@ index 5b542f26a0cac1639afa3b56dfaa6d1f918afbd4..0ba3e76d4a8a6b4e9e530cb2b830ae2e
  
  // Parameters for constructing a network context.
  struct NetworkContextParams {
-@@ -916,6 +926,9 @@ interface NetworkContext {
+@@ -917,6 +927,9 @@ interface NetworkContext {
    // Sets a client for this network context.
    SetClient(pending_remote<NetworkContextClient> client);
  
@@ -208,7 +208,7 @@ index 5b542f26a0cac1639afa3b56dfaa6d1f918afbd4..0ba3e76d4a8a6b4e9e530cb2b830ae2e
    CreateURLLoaderFactory(pending_receiver<URLLoaderFactory> url_loader_factory,
                           URLLoaderFactoryParams params);
 diff --git a/services/network/test/test_network_context.h b/services/network/test/test_network_context.h
-index 5d01189f263ae9d8f86304a74efb73bfacbf846d..407beb272038b19e6165495f247404b9654ecc2d 100644
+index 053c3e927fab11eac532749f4311227d3143a7c5..0aa64468f433bf6f9f85cdf95ff098b1aa925649 100644
 --- a/services/network/test/test_network_context.h
 +++ b/services/network/test/test_network_context.h
 @@ -63,6 +63,8 @@ class TestNetworkContext : public mojom::NetworkContext {

+ 3 - 3
patches/chromium/notification_provenance.patch

@@ -7,10 +7,10 @@ Pass RenderFrameHost through to PlatformNotificationService
 so Electron can identify which renderer a notification came from.
 
 diff --git a/chrome/browser/notifications/platform_notification_service_impl.cc b/chrome/browser/notifications/platform_notification_service_impl.cc
-index ff536e07810d0360d4125587bcc90a2bd3f3ff12..2f632906947fc9b02eaf8547dce5e2b5a9ca46a3 100644
+index dac3a2fdfcdbcbd18b3ed029f1ad480973fd389a..279c9b489a8eafe293d0645e7a103656e2f061ef 100644
 --- a/chrome/browser/notifications/platform_notification_service_impl.cc
 +++ b/chrome/browser/notifications/platform_notification_service_impl.cc
-@@ -218,6 +218,7 @@ bool PlatformNotificationServiceImpl::WasClosedProgrammatically(
+@@ -220,6 +220,7 @@ bool PlatformNotificationServiceImpl::WasClosedProgrammatically(
  
  // TODO(awdf): Rename to DisplayNonPersistentNotification (Similar for Close)
  void PlatformNotificationServiceImpl::DisplayNotification(
@@ -133,7 +133,7 @@ index 05d3a12dd84c7005d46cc73b312f97ef418d96f5..4765de982802541b3efc7211d106acc7
        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 92052ce2da68b0901cf1002022a554eec19e3995..98194c630811de8cb869dffb4b21cc79e0d98b33 100644
+index 07907372f37d3ef5c9eaef7011ebcd4ed6a2fed6..ec5e553d93caf8a24de97465a870567d95944000 100644
 --- a/content/browser/renderer_host/render_process_host_impl.cc
 +++ b/content/browser/renderer_host/render_process_host_impl.cc
 @@ -2105,7 +2105,7 @@ void RenderProcessHostImpl::CreateNotificationService(

+ 1 - 1
patches/chromium/partially_revert_is_newly_created_to_allow_for_browser_initiated.patch

@@ -10,7 +10,7 @@ an about:blank check to this area.
 Ref: https://chromium-review.googlesource.com/c/chromium/src/+/5403876
 
 diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
-index 9698da714a4666cf6c95305330359f4d2397b783..092eba266c983fbf2005cc499a6c4eb4aa59fe0f 100644
+index 174b6cb9531237528664bcaff06a6e8dc1677349..144490c1ad76dce306e7e4a25270456d60bbb7f5 100644
 --- a/content/browser/renderer_host/render_frame_host_impl.cc
 +++ b/content/browser/renderer_host/render_frame_host_impl.cc
 @@ -784,8 +784,8 @@ void VerifyThatBrowserAndRendererCalculatedOriginsToCommitMatch(

+ 3 - 3
patches/chromium/port_autofill_colors_to_the_color_pipeline.patch

@@ -8,10 +8,10 @@ needed in chromium but our autofill implementation uses them.  This patch can be
 our autofill implementation to work like Chromium's.
 
 diff --git a/ui/color/color_id.h b/ui/color/color_id.h
-index d95d856c379b1c005a49aa4f9e46644e50f6aad5..8e93de0e2ef697222b5d789a22e68199bbe81a77 100644
+index c98a2d313f3d38290a561e46ae78c57b17b2e2e9..507df603b69796bf3bd5ecf231a64f9175cfeeec 100644
 --- a/ui/color/color_id.h
 +++ b/ui/color/color_id.h
-@@ -406,6 +406,10 @@
+@@ -405,6 +405,10 @@
    E_CPONLY(kColorRadioButtonForegroundUnchecked) \
    E_CPONLY(kColorRadioButtonForegroundDisabled) \
    E_CPONLY(kColorRadioButtonForegroundChecked) \
@@ -22,7 +22,7 @@ index d95d856c379b1c005a49aa4f9e46644e50f6aad5..8e93de0e2ef697222b5d789a22e68199
    E_CPONLY(kColorSegmentedButtonBorder) \
    E_CPONLY(kColorSegmentedButtonFocus) \
    E_CPONLY(kColorSegmentedButtonForegroundChecked) \
-@@ -511,6 +515,7 @@
+@@ -510,6 +514,7 @@
    E_CPONLY(kColorTreeNodeForeground) \
    E_CPONLY(kColorTreeNodeForegroundSelectedFocused) \
    E_CPONLY(kColorTreeNodeForegroundSelectedUnfocused) \

+ 1 - 1
patches/chromium/preconnect_manager.patch

@@ -10,7 +10,7 @@ in favor of defining PreconnectRequest in this file since we don't build
 the header.
 
 diff --git a/chrome/browser/predictors/preconnect_manager.cc b/chrome/browser/predictors/preconnect_manager.cc
-index 37fea17d38c7b9b0461a51a6b51f453d37bd25a9..02ab5d3ef0bf5221a221cdc082172012184dd718 100644
+index cf15cdbec9ace9a4e8ffb99811f449030fe2f833..35ca134003a31f692201738e6d1dd93e0890bd75 100644
 --- a/chrome/browser/predictors/preconnect_manager.cc
 +++ b/chrome/browser/predictors/preconnect_manager.cc
 @@ -14,9 +14,11 @@

+ 2 - 2
patches/chromium/printing.patch

@@ -860,10 +860,10 @@ index b8c803184f267d87696c4e72c3d993ff3b69d95b..7278dfae56305cc8669fc2240563450f
    ScriptingThrottler scripting_throttler_;
  
 diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
-index b203913917fdc100335dc95bd72914ac49f5a133..50ac647eb2eb36559ab72c9edea7bf2acebd41fa 100644
+index 83d2719e1db8034dc7487cde81c074daa3180a61..53baef7c2f76d8efd187ef5062bf4e0dc1a4f128 100644
 --- a/content/browser/BUILD.gn
 +++ b/content/browser/BUILD.gn
-@@ -3020,8 +3020,9 @@ source_set("browser") {
+@@ -3023,8 +3023,9 @@ source_set("browser") {
        "//ppapi/shared_impl",
      ]
  

+ 7 - 7
patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch

@@ -30,10 +30,10 @@ index dea7ba2237cea261fe0b526753e1a9c4e355e484..9e3bf5eca5e9ad99112069a28b7fb8c1
    // RenderWidgetHost on the primary main frame, and false otherwise.
    virtual bool IsWidgetForPrimaryMainFrame(RenderWidgetHostImpl*);
 diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
-index fe40b67aa7a158855eea6f03c13d02b614c384de..e79d117c7ab46478ac8e3fc219036417d411f877 100644
+index 886d70636aedfa714b29625f58420ad11ede9ffd..7906b94983733a9deb2365fb2a13461965b6f42b 100644
 --- a/content/browser/renderer_host/render_widget_host_impl.cc
 +++ b/content/browser/renderer_host/render_widget_host_impl.cc
-@@ -1983,6 +1983,9 @@ void RenderWidgetHostImpl::SetCursor(const ui::Cursor& cursor) {
+@@ -1982,6 +1982,9 @@ void RenderWidgetHostImpl::SetCursor(const ui::Cursor& cursor) {
    if (view_) {
      view_->UpdateCursor(cursor);
    }
@@ -44,10 +44,10 @@ index fe40b67aa7a158855eea6f03c13d02b614c384de..e79d117c7ab46478ac8e3fc219036417
  
  void RenderWidgetHostImpl::ShowContextMenuAtPoint(
 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index f2773162d66edf8c382c9646e8bf806dc639130a..366fa5d24d063628dbd67f5a7d3294fc26a24380 100644
+index e7e47a9aa5a22aea2aa0eeab7bd661b47c9cbdae..de6b544df67c9702b6771b08b003805b4f5fb5a4 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -5603,6 +5603,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
+@@ -5612,6 +5612,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
    return text_input_manager_.get();
  }
  
@@ -60,10 +60,10 @@ index f2773162d66edf8c382c9646e8bf806dc639130a..366fa5d24d063628dbd67f5a7d3294fc
      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 c90717de81e7d1e9c87fe34998df096da26159eb..ff0e5a399e045c9d09bd16962b17aaf3900700fc 100644
+index 88282f2880d2443aca30ec1754bf5e43ed67acfc..60c94fd4508e166e0dd1be9c6eb97dd45e418853 100644
 --- a/content/browser/web_contents/web_contents_impl.h
 +++ b/content/browser/web_contents/web_contents_impl.h
-@@ -1120,6 +1120,7 @@ class CONTENT_EXPORT WebContentsImpl
+@@ -1128,6 +1128,7 @@ class CONTENT_EXPORT WebContentsImpl
    void SendScreenRects() override;
    void SendActiveState(bool active) override;
    TextInputManager* GetTextInputManager() override;
@@ -72,7 +72,7 @@ index c90717de81e7d1e9c87fe34998df096da26159eb..ff0e5a399e045c9d09bd16962b17aaf3
        RenderWidgetHostImpl* render_widget_host) override;
    bool IsShowingContextMenuOnPage() const override;
 diff --git a/content/public/browser/web_contents_observer.h b/content/public/browser/web_contents_observer.h
-index aedd14552cc6f5c9d8e7f832df70af5010102462..3688231f2f6f1349b46fa97b600e5b0b7353c8f2 100644
+index 0379a5ca835e3e9d1b90543bbbe5971148d6c73e..03ed25d04ff0f54d412e1a3044b7770f75384a96 100644
 --- a/content/public/browser/web_contents_observer.h
 +++ b/content/public/browser/web_contents_observer.h
 @@ -37,6 +37,7 @@

+ 1 - 1
patches/chromium/refactor_expose_hostimportmoduledynamically_and.patch

@@ -7,7 +7,7 @@ Subject: refactor: expose HostImportModuleDynamically and
 This is so that Electron can blend Blink's and Node's implementations of these isolate handlers.
 
 diff --git a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
-index 550a216177b7be1bb1f90fbc8714ef1f9bc2f298..34c40b1089695a557ec405409156b51a389e3edf 100644
+index 0479bf92c2f15eb5ebb08cccea9a0271675e3200..430bac5f5fd5c22637fbcea6ebf99622044965d1 100644
 --- a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
 +++ b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
 @@ -648,7 +648,9 @@ bool WasmJSPromiseIntegrationEnabledCallback(v8::Local<v8::Context> context) {

+ 1 - 1
patches/chromium/scroll_bounce_flag.patch

@@ -6,7 +6,7 @@ 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 95f0b2613caa557921180e131ab3ca29d661492a..fac396c3d9d8ee407c48b1d08256f972370805b7 100644
+index c848b7f8f765002d9839c327540d1da6abde9a70..5920255ae35e6e3d9c76b23fe4442d14bb0365d4 100644
 --- a/content/renderer/render_thread_impl.cc
 +++ b/content/renderer/render_thread_impl.cc
 @@ -1306,7 +1306,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() {

+ 1 - 1
patches/chromium/support_mixed_sandbox_with_zygote.patch

@@ -22,7 +22,7 @@ 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 98194c630811de8cb869dffb4b21cc79e0d98b33..25c5d1bfc6b48b3f95f560a4780bce63f4ce2a84 100644
+index ec5e553d93caf8a24de97465a870567d95944000..369b4c70bba9363ed8fac184fd843bf1aa49e59e 100644
 --- a/content/browser/renderer_host/render_process_host_impl.cc
 +++ b/content/browser/renderer_host/render_process_host_impl.cc
 @@ -1753,6 +1753,10 @@ bool RenderProcessHostImpl::Init() {

+ 4 - 4
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 6aacacf3c08803b48fa6df8d6d81463a84d9673e..a1b654f5916503f4018ade7e7cfc80ddf8c1367e 100644
+index 4de45e398ec013714302c8cbaafa3bb6aa01ef8e..6d0b5e9a3350108f183e958871928623283cbe23 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -3752,6 +3752,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
+@@ -3754,6 +3754,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 6aacacf3c08803b48fa6df8d6d81463a84d9673e..a1b654f5916503f4018ade7e7cfc80dd
    std::unique_ptr<WebContentsViewDelegate> delegate =
        GetContentClient()->browser()->GetWebContentsViewDelegate(this);
  
-@@ -3762,6 +3769,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
+@@ -3764,6 +3771,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
      view_ = CreateWebContentsView(this, std::move(delegate),
                                    &render_view_host_delegate_view_);
    }
@@ -35,7 +35,7 @@ index 6aacacf3c08803b48fa6df8d6d81463a84d9673e..a1b654f5916503f4018ade7e7cfc80dd
    CHECK(view_.get());
  
 diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h
-index a0a13547fe05410525ff122ba08600997c2e2bc8..b1b0be781a7b480dff896d9e34e41048908d61df 100644
+index 825e0d9d641bfa8fc5907a6d479d94206d432fb6..0f2ce0476e9b067ea2f678e5683040e29f10fe81 100644
 --- a/content/public/browser/web_contents.h
 +++ b/content/public/browser/web_contents.h
 @@ -111,10 +111,13 @@ class BrowserPluginGuestDelegate;

+ 5 - 5
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 2cd9f448114278300693021927bc92db20480272..9698da714a4666cf6c95305330359f4d2397b783 100644
+index 4f31803e492d0d05b29659f8bf75b6fee7aff25e..174b6cb9531237528664bcaff06a6e8dc1677349 100644
 --- a/content/browser/renderer_host/render_frame_host_impl.cc
 +++ b/content/browser/renderer_host/render_frame_host_impl.cc
-@@ -8274,6 +8274,17 @@ void RenderFrameHostImpl::EnterFullscreen(
+@@ -8277,6 +8277,17 @@ void RenderFrameHostImpl::EnterFullscreen(
      }
    }
  
@@ -37,10 +37,10 @@ index 2cd9f448114278300693021927bc92db20480272..9698da714a4666cf6c95305330359f4d
    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 a1b654f5916503f4018ade7e7cfc80ddf8c1367e..f5d7f3984a3ed28414416b06fa3ccc23538b3cf1 100644
+index 6d0b5e9a3350108f183e958871928623283cbe23..9b84cc06795a5bef730cd81908254cf9ad11c836 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -4008,21 +4008,25 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent(
+@@ -4011,21 +4011,25 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent(
      const input::NativeWebKeyboardEvent& event) {
    OPTIONAL_TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("content.verbose"),
                          "WebContentsImpl::PreHandleKeyboardEvent");
@@ -78,7 +78,7 @@ index a1b654f5916503f4018ade7e7cfc80ddf8c1367e..f5d7f3984a3ed28414416b06fa3ccc23
  }
  
  bool WebContentsImpl::HandleMouseEvent(const blink::WebMouseEvent& event) {
-@@ -4181,7 +4185,7 @@ void WebContentsImpl::EnterFullscreenMode(
+@@ -4184,7 +4188,7 @@ void WebContentsImpl::EnterFullscreenMode(
    OPTIONAL_TRACE_EVENT0("content", "WebContentsImpl::EnterFullscreenMode");
    DCHECK(CanEnterFullscreenMode(requesting_frame));
    DCHECK(requesting_frame->IsActive());

+ 3 - 3
patches/chromium/worker_context_will_destroy.patch

@@ -55,7 +55,7 @@ index 17c01a1f03ad4d4fa8a9783a00e159fff7c67940..1bfec2280e6d1f5cb5c157d237069bde
        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 797f48206e28884df6cce0dc9cd1cffd54b5b03f..9f90e46f989c6def8e92f61e179e938f8a0ec29c 100644
+index f2be7de2e13b7cd8e4b3cae47656109d31049502..8c2fb19e53b55d578134fac78d8149bcde0baeed 100644
 --- a/third_party/blink/public/platform/platform.h
 +++ b/third_party/blink/public/platform/platform.h
 @@ -664,6 +664,7 @@ class BLINK_PLATFORM_EXPORT Platform {
@@ -67,10 +67,10 @@ index 797f48206e28884df6cce0dc9cd1cffd54b5b03f..9f90e46f989c6def8e92f61e179e938f
        const WebSecurityOrigin& script_origin) {
      return false;
 diff --git a/third_party/blink/renderer/core/workers/worker_thread.cc b/third_party/blink/renderer/core/workers/worker_thread.cc
-index 9866cc85f4d2c9d834538010f8b1ca64efc701b9..5af206ddc527f7d7cf44b6c363d2ede08a36ff55 100644
+index 41729a86dab4be0350a4a935ae984c477304dfea..286a9aa7f8041d3be2c8675c6e5371de6a58af7f 100644
 --- a/third_party/blink/renderer/core/workers/worker_thread.cc
 +++ b/third_party/blink/renderer/core/workers/worker_thread.cc
-@@ -764,6 +764,12 @@ void WorkerThread::PrepareForShutdownOnWorkerThread() {
+@@ -762,6 +762,12 @@ void WorkerThread::PrepareForShutdownOnWorkerThread() {
    }
    pause_handle_.reset();
  

+ 1 - 1
patches/chromium/worker_feat_add_hook_to_notify_script_ready.patch

@@ -65,7 +65,7 @@ index 1bfec2280e6d1f5cb5c157d237069bdee44b9a5d..c327e48cbefa0cbfe7192449a97896f3
    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 9f90e46f989c6def8e92f61e179e938f8a0ec29c..5d1abdae16d41f443fa346f8042e3f3ed54a236d 100644
+index 8c2fb19e53b55d578134fac78d8149bcde0baeed..92f7e7a87ea5da17b6f49c143d0adf99d0ec90a8 100644
 --- a/third_party/blink/public/platform/platform.h
 +++ b/third_party/blink/public/platform/platform.h
 @@ -664,6 +664,8 @@ class BLINK_PLATFORM_EXPORT Platform {

+ 2 - 2
patches/devtools_frontend/chore_expose_ui_to_allow_electron_to_set_dock_side.patch

@@ -10,10 +10,10 @@ to handle this without patching, but this is fairly clean for now and no longer
 patching legacy devtools code.
 
 diff --git a/front_end/entrypoints/main/MainImpl.ts b/front_end/entrypoints/main/MainImpl.ts
-index 833e2d339699018a6baceeca85439fa9611be300..6b726a61b4746fa255d3082ebf0f4ca9502e1cb2 100644
+index 3c316b48a98168eadff506f50c7a54b51dd2467c..11a7d88d170d8730c645cae38eae4a0963094c9b 100644
 --- a/front_end/entrypoints/main/MainImpl.ts
 +++ b/front_end/entrypoints/main/MainImpl.ts
-@@ -777,6 +777,8 @@ export class MainImpl {
+@@ -772,6 +772,8 @@ export class MainImpl {
  globalThis.Main = globalThis.Main || {};
  // @ts-ignore Exported for Tests.js
  globalThis.Main.Main = MainImpl;

+ 2 - 2
patches/v8/deps_add_v8_object_setinternalfieldfornodecore.patch

@@ -46,10 +46,10 @@ index 3e57ae8efe33f326ef0e5d609c311d4be5b8afd6..dc521d39c2280dfc3217e97c1e413b2b
    V8_INLINE static void* GetAlignedPointerFromInternalField(
        const BasicTracedReference<Object>& object, int index) {
 diff --git a/src/api/api.cc b/src/api/api.cc
-index 5554984791dad9317c51daf3a154396c1fff9d41..c472c749cb782b7a444d3afc2d44f4560cc079d5 100644
+index 3e15759b3d30ff0ac8c311fa409b34d19ba7ae2c..522a86c3d58258c8bc7fc63de883a12ba640fd82 100644
 --- a/src/api/api.cc
 +++ b/src/api/api.cc
-@@ -6419,14 +6419,33 @@ Local<Data> v8::Object::SlowGetInternalField(int index) {
+@@ -6418,14 +6418,33 @@ Local<Data> v8::Object::SlowGetInternalField(int index) {
        i::Cast<i::JSObject>(*obj)->GetEmbedderField(index), isolate));
  }
  

+ 2 - 3
shell/browser/extensions/api/scripting/scripting_api.cc

@@ -528,13 +528,12 @@ api::scripting::RegisteredContentScript CreateRegisteredContentScriptInfo(
       [](api::extension_types::ExecutionWorld world) {
         switch (world) {
           case api::extension_types::ExecutionWorld::kNone:
-            NOTREACHED_NORETURN()
+            NOTREACHED()
                 << "Execution world should always be present in serialization.";
           case api::extension_types::ExecutionWorld::kIsolated:
             return api::scripting::ExecutionWorld::kIsolated;
           case api::extension_types::ExecutionWorld::kUserScript:
-            NOTREACHED_NORETURN()
-                << "ISOLATED worlds are not supported in this API.";
+            NOTREACHED() << "ISOLATED worlds are not supported in this API.";
           case api::extension_types::ExecutionWorld::kMain:
             return api::scripting::ExecutionWorld::kMain;
         }

+ 5 - 4
shell/browser/file_select_helper.cc

@@ -159,8 +159,9 @@ void FileSelectHelper::OnListDone(int error) {
   } else {
     std::vector<FileChooserFileInfoPtr> chooser_files;
     for (const auto& file_path : entry->results_) {
-      chooser_files.push_back(FileChooserFileInfo::NewNativeFile(
-          blink::mojom::NativeFileInfo::New(file_path, std::u16string())));
+      chooser_files.push_back(
+          FileChooserFileInfo::NewNativeFile(blink::mojom::NativeFileInfo::New(
+              file_path, std::u16string(), std::vector<std::u16string>())));
     }
 
     listener_->FileSelected(std::move(chooser_files), base_dir_,
@@ -179,8 +180,8 @@ void FileSelectHelper::ConvertToFileChooserFileInfoList(
   for (const auto& file : files) {
     chooser_files.push_back(
         FileChooserFileInfo::NewNativeFile(blink::mojom::NativeFileInfo::New(
-            file.local_path,
-            base::FilePath(file.display_name).AsUTF16Unsafe())));
+            file.local_path, base::FilePath(file.display_name).AsUTF16Unsafe(),
+            std::vector<std::u16string>())));
   }
 
   PerformContentAnalysisIfNeeded(std::move(chooser_files));

+ 11 - 0
shell/common/extensions/api/tabs.json

@@ -69,6 +69,7 @@
           "active": {"type": "boolean", "description": "Whether the tab is active in its window. Does not necessarily mean the window is focused."},
           "pinned": {"type": "boolean", "description": "Whether the tab is pinned."},
           "audible": {"type": "boolean", "optional": true, "description": "Whether the tab has produced sound over the past couple of seconds (but it might not be heard if also muted). Equivalent to whether the 'speaker audio' indicator is showing."},
+          "frozen": {"type": "boolean", "description": "Whether the tab is frozen. A frozen tab cannot execute tasks, including event handlers or timers. It is visible in the tab strip and its content is loaded in memory.  It is unfrozen on activation."},          
           "discarded": {"type": "boolean", "description": "Whether the tab is discarded. A discarded tab is one whose content has been unloaded from memory, but is still visible in the tab strip. Its content is reloaded the next time it is activated."},
           "autoDiscardable":  {"type": "boolean", "description": "Whether the tab can be discarded automatically by the browser when resources are low."},
           "mutedInfo": {"$ref": "MutedInfo", "optional": true, "description": "The tab's muted state and the reason for the last state change."},
@@ -467,6 +468,11 @@
                 "optional": true,
                 "description": "Whether the tabs are highlighted."
               },
+              "frozen": {
+                "type": "boolean",
+                "optional": true,
+                "description": "Whether the tabs are frozen. A frozen tab cannot execute tasks, including event handlers or timers. It is visible in the tab strip and its content is loaded in memory.  It is unfrozen on activation."
+              },              
               "discarded": {
                 "type": "boolean",
                 "optional": true,
@@ -684,6 +690,11 @@
                 "optional": true,
                 "description": "The tab's new audible state."
               },
+              "frozen": {
+                "type": "boolean",
+                "optional": true,
+                "description": "The tab's new frozen state."
+              },              
               "discarded": {
                 "type": "boolean",
                 "optional": true,

+ 2 - 2
shell/common/gin_converters/osr_converter.cc

@@ -27,7 +27,7 @@ std::string OsrVideoPixelFormatToString(media::VideoPixelFormat format) {
     case media::PIXEL_FORMAT_ABGR:
       return "rgba";
     default:
-      NOTREACHED_NORETURN();
+      NOTREACHED();
   }
 }
 
@@ -38,7 +38,7 @@ std::string OsrWidgetTypeToString(content::WidgetType type) {
     case content::WidgetType::kFrame:
       return "frame";
     default:
-      NOTREACHED_NORETURN();
+      NOTREACHED();
   }
 }