Browse Source

chore: bump chromium to 131.0.6744.0 (main) (#43948)

* chore: bump chromium in DEPS to 131.0.6738.0

* chore: bump chromium in DEPS to 131.0.6740.0

* 5889025: [LaCrOS] Remove LaCrOS screen capturer. | https://chromium-review.googlesource.com/c/chromium/src/+/5889025

* https://boringssl.googlesource.com/boringssl.git/+/40dd94116ba03678226443ba20c5887459c9bf16/crypto/fipsmodule/digest/digests.c.inc

* chore: update patches

* 5878695: Add IsolationInfo for embedders handling external protocols | https://chromium-review.googlesource.com/c/chromium/src/+/5878695

* 5854304: [UI] Remove alias of mojom  | https://chromium-review.googlesource.com/c/chromium/src/+/5854304

* chore: bump chromium in DEPS to 131.0.6742.0

* chore: update patches

* chore: bump chromium in DEPS to 131.0.6744.0

* fixup! 5889025: [LaCrOS] Remove LaCrOS screen capturer. | https://chromium-review.googlesource.com/c/chromium/src/+/5889025

* chore: e patches all

* chore: update chore_provide_iswebcontentscreationoverridden_with_full_params.patch

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5894233

* [UI] Remove alias of mojom 'WindowShowState'

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5854304

* chore: gen-libc++-filenames.js

* chore: partially revert https://chromium-review.googlesource.com/c/chromium/src/+/5894233

see patch commit message for description

* Clean up stale base::Feature "kFileSystemAccessLocalUNCPathBlock"

This feature is always on by default and doesn't have active finch
experiments.

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5881253

* fix: asar integrity test recognizes SIGABRT as a crash

https://chromium-review.googlesource.com/c/chromium/src/+/5882758

ValidateIntegrityOrDie() exits via LOG(FATAL)'s call to
base::ImmediateCrash(). There's been churn there upstream between
5332940 and 5882758 on whether to use SIGTRAP or SIGABRT.  For now,
let's accept both until the churn is done.

---------

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: alice <[email protected]>
Co-authored-by: Charles Kerr <[email protected]>
electron-roller[bot] 6 months ago
parent
commit
af58931efa
59 changed files with 302 additions and 236 deletions
  1. 1 1
      DEPS
  2. 1 2
      filenames.libcxx.gni
  3. 4 4
      patches/boringssl/expose_ripemd160.patch
  4. 3 3
      patches/boringssl/revert_track_ssl_error_zero_return_explicitly.patch
  5. 1 0
      patches/chromium/.patches
  6. 2 2
      patches/chromium/add_didinstallconditionalfeatures.patch
  7. 4 4
      patches/chromium/add_maximized_parameter_to_linuxui_getwindowframeprovider.patch
  8. 6 6
      patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch
  9. 1 1
      patches/chromium/build_run_reclient_cfg_generator_after_chrome.patch
  10. 16 16
      patches/chromium/can_create_window.patch
  11. 2 2
      patches/chromium/chore_allow_chromium_to_handle_synthetic_mouse_events_for_touch.patch
  12. 4 4
      patches/chromium/chore_introduce_blocking_api_for_electron.patch
  13. 29 0
      patches/chromium/chore_partial_revert_of.patch
  14. 46 10
      patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch
  15. 3 3
      patches/chromium/disable_hidden.patch
  16. 1 1
      patches/chromium/enable_reset_aspect_ratio.patch
  17. 1 1
      patches/chromium/expose_setuseragent_on_networkcontext.patch
  18. 2 2
      patches/chromium/feat_add_set_theme_source_to_allow_apps_to.patch
  19. 6 6
      patches/chromium/feat_allow_usage_of_sccontentsharingpicker_on_supported_platforms.patch
  20. 16 16
      patches/chromium/feat_configure_launch_options_for_service_process.patch
  21. 2 2
      patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch
  22. 2 2
      patches/chromium/feat_enable_passing_exit_code_on_service_process_crash.patch
  23. 6 6
      patches/chromium/feat_expose_raw_response_headers_from_urlloader.patch
  24. 2 2
      patches/chromium/fix_activate_background_material_on_windows.patch
  25. 2 2
      patches/chromium/fix_aspect_ratio_with_max_size.patch
  26. 7 7
      patches/chromium/fix_crash_loading_non-standard_schemes_in_iframes.patch
  27. 1 1
      patches/chromium/fix_crash_when_saving_edited_pdf_files.patch
  28. 2 2
      patches/chromium/fix_on-screen-keyboard_hides_on_input_blur_in_webview.patch
  29. 2 2
      patches/chromium/fix_remove_caption-removing_style_call.patch
  30. 1 1
      patches/chromium/fix_restore_original_resize_performance_on_macos.patch
  31. 1 1
      patches/chromium/fix_return_v8_value_from_localframe_requestexecutescript.patch
  32. 11 11
      patches/chromium/fix_use_delegated_generic_capturer_when_available.patch
  33. 4 4
      patches/chromium/frame_host_manager.patch
  34. 2 2
      patches/chromium/gritsettings_resource_ids.patch
  35. 24 24
      patches/chromium/mas_avoid_private_macos_api_usage.patch.patch
  36. 1 1
      patches/chromium/network_service_allow_remote_certificate_verification_logic.patch
  37. 3 3
      patches/chromium/notification_provenance.patch
  38. 1 1
      patches/chromium/osr_shared_texture_remove_keyed_mutex_on_win_dxgi.patch
  39. 2 2
      patches/chromium/partially_revert_is_newly_created_to_allow_for_browser_initiated.patch
  40. 5 5
      patches/chromium/printing.patch
  41. 3 3
      patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch
  42. 1 1
      patches/chromium/refactor_expose_file_system_access_blocklist.patch
  43. 8 8
      patches/chromium/refactor_expose_hostimportmoduledynamically_and.patch
  44. 1 1
      patches/chromium/render_widget_host_view_mac.patch
  45. 2 2
      patches/chromium/scroll_bounce_flag.patch
  46. 2 2
      patches/chromium/support_mixed_sandbox_with_zygote.patch
  47. 4 4
      patches/chromium/web_contents.patch
  48. 5 5
      patches/chromium/webview_fullscreen.patch
  49. 2 2
      patches/devtools_frontend/chore_expose_ui_to_allow_electron_to_set_dock_side.patch
  50. 2 2
      patches/v8/deps_add_v8_object_setinternalfieldfornodecore.patch
  51. 1 0
      shell/browser/electron_browser_client.cc
  52. 1 0
      shell/browser/electron_browser_client.h
  53. 1 4
      shell/browser/file_system_access/file_system_access_permission_context.cc
  54. 15 15
      shell/browser/native_window_views.cc
  55. 2 2
      shell/browser/native_window_views.h
  56. 12 12
      shell/browser/native_window_views_win.cc
  57. 3 2
      shell/browser/ui/views/electron_views_delegate.cc
  58. 6 5
      shell/browser/ui/views/electron_views_delegate.h
  59. 1 1
      spec/asar-integrity-spec.ts

+ 1 - 1
DEPS

@@ -2,7 +2,7 @@ gclient_gn_args_from = 'src'
 
 vars = {
   'chromium_version':
-    '131.0.6734.0',
+    '131.0.6744.0',
   'node_version':
     'v20.17.0',
   'nan_version':

+ 1 - 2
filenames.libcxx.gni

@@ -24,7 +24,6 @@ libcxx_headers = [
   "//third_party/libc++/src/include/__algorithm/find_if.h",
   "//third_party/libc++/src/include/__algorithm/find_if_not.h",
   "//third_party/libc++/src/include/__algorithm/find_segment_if.h",
-  "//third_party/libc++/src/include/__algorithm/fold.h",
   "//third_party/libc++/src/include/__algorithm/for_each.h",
   "//third_party/libc++/src/include/__algorithm/for_each_n.h",
   "//third_party/libc++/src/include/__algorithm/for_each_segment.h",
@@ -99,6 +98,7 @@ libcxx_headers = [
   "//third_party/libc++/src/include/__algorithm/ranges_find_if.h",
   "//third_party/libc++/src/include/__algorithm/ranges_find_if_not.h",
   "//third_party/libc++/src/include/__algorithm/ranges_find_last.h",
+  "//third_party/libc++/src/include/__algorithm/ranges_fold.h",
   "//third_party/libc++/src/include/__algorithm/ranges_for_each.h",
   "//third_party/libc++/src/include/__algorithm/ranges_for_each_n.h",
   "//third_party/libc++/src/include/__algorithm/ranges_generate.h",
@@ -689,7 +689,6 @@ libcxx_headers = [
   "//third_party/libc++/src/include/__ranges/views.h",
   "//third_party/libc++/src/include/__ranges/zip_view.h",
   "//third_party/libc++/src/include/__split_buffer",
-  "//third_party/libc++/src/include/__std_clang_module",
   "//third_party/libc++/src/include/__std_mbstate_t.h",
   "//third_party/libc++/src/include/__stop_token/atomic_unique_lock.h",
   "//third_party/libc++/src/include/__stop_token/intrusive_list_view.h",

+ 4 - 4
patches/boringssl/expose_ripemd160.patch

@@ -22,18 +22,18 @@ index 7033d9c9cc2a2e11c5d6b4bc8575b1f6d271170c..97107c022f6997c56581317feee230bd
      // hash function when given a signature OID. To avoid unintended lax parsing
      // of hash OIDs, this is no longer supported for lookup by OID or NID.
 diff --git a/crypto/fipsmodule/digest/digests.c.inc b/crypto/fipsmodule/digest/digests.c.inc
-index 216af52f7e7bb8df3bb3e9072b15a3edc15eaaf5..154aec02f93279a7a5dcb49b5410dfee9d4f0656 100644
+index 9ead2c65c43f6f4899fa84d095c025b2b7c0bedc..1644bba5c1b87037b681372db89d93c2e637ebf2 100644
 --- a/crypto/fipsmodule/digest/digests.c.inc
 +++ b/crypto/fipsmodule/digest/digests.c.inc
-@@ -61,6 +61,7 @@
+@@ -60,6 +60,7 @@
+ #include <string.h>
  
  #include <openssl/nid.h>
- #include <openssl/sha.h>
 +#include <openssl/ripemd.h>
  
  #include "internal.h"
  #include "../delocate.h"
-@@ -216,4 +217,27 @@ DEFINE_METHOD_FUNCTION(EVP_MD, EVP_sha512_256) {
+@@ -215,4 +216,27 @@ DEFINE_METHOD_FUNCTION(EVP_MD, EVP_sha512_256) {
    out->ctx_size = sizeof(SHA512_CTX);
  }
  

+ 3 - 3
patches/boringssl/revert_track_ssl_error_zero_return_explicitly.patch

@@ -20,10 +20,10 @@ index 7de8923518dbfb69fef62d7781f906b30cf62155..7a4310d6d8e85f07f0ae6c97726d909c
  
      case ssl_open_record_error:
 diff --git a/ssl/ssl_lib.cc b/ssl/ssl_lib.cc
-index 2e7859994430054cbba3b8a0e452ee6027b419a2..7be28a2af48c71b63f9311ac7c9fd69b5a247317 100644
+index 071709f50fb0552fb65ec67d8dc8313baf6f1e1c..e198849996c9b18e892113ac503ba61f2030ca7b 100644
 --- a/ssl/ssl_lib.cc
 +++ b/ssl/ssl_lib.cc
-@@ -1336,7 +1336,7 @@ int SSL_get_error(const SSL *ssl, int ret_code) {
+@@ -1343,7 +1343,7 @@ int SSL_get_error(const SSL *ssl, int ret_code) {
    }
  
    if (ret_code == 0) {
@@ -32,7 +32,7 @@ index 2e7859994430054cbba3b8a0e452ee6027b419a2..7be28a2af48c71b63f9311ac7c9fd69b
        return SSL_ERROR_ZERO_RETURN;
      }
      // An EOF was observed which violates the protocol, and the underlying
-@@ -2718,13 +2718,7 @@ void *SSL_CTX_get_ex_data(const SSL_CTX *ctx, int idx) {
+@@ -2725,13 +2725,7 @@ void *SSL_CTX_get_ex_data(const SSL_CTX *ctx, int idx) {
    return CRYPTO_get_ex_data(&ctx->ex_data, idx);
  }
  

+ 1 - 0
patches/chromium/.patches

@@ -131,3 +131,4 @@ feat_enable_customizing_symbol_color_in_framecaptionbutton.patch
 build_expose_webplugininfo_interface_to_electron.patch
 osr_shared_texture_remove_keyed_mutex_on_win_dxgi.patch
 feat_allow_usage_of_sccontentsharingpicker_on_supported_platforms.patch
+chore_partial_revert_of.patch

+ 2 - 2
patches/chromium/add_didinstallconditionalfeatures.patch

@@ -23,10 +23,10 @@ index ad0092ef2e13853e4bb8b923481559a043b00ab7..1c2dfd23f18733e21312992877ae1499
                                          int32_t world_id) {}
    virtual void DidClearWindowObject() {}
 diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
-index 724818204a4fa1578102c2fe1a8877735323595a..954fdbbdd4d07c32d6fe78632ca95efc29fadc3c 100644
+index 89f28a5e8351571d15d6de910a014409494eabb7..3e9b5afc6f8884c55c47656ee9a450ce38a618fe 100644
 --- a/content/renderer/render_frame_impl.cc
 +++ b/content/renderer/render_frame_impl.cc
-@@ -4791,6 +4791,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,
+@@ -4792,6 +4792,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,
      observer.DidCreateScriptContext(context, world_id);
  }
  

+ 4 - 4
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 d215ab072131dcc6ec27e91410d5ac6dda054764..7684edaaf4e6798d18be9bb7e2349961e16c217d 100644
+index 5cf15029941218d5005d720aad65fb14c1d30235..02b280ca776c91b506b0eafba66a6a14dcda0691 100644
 --- a/ui/gtk/gtk_ui.cc
 +++ b/ui/gtk/gtk_ui.cc
-@@ -582,11 +582,12 @@ std::unique_ptr<ui::NavButtonProvider> GtkUi::CreateNavButtonProvider() {
+@@ -581,11 +581,12 @@ std::unique_ptr<ui::NavButtonProvider> GtkUi::CreateNavButtonProvider() {
  }
  
  ui::WindowFrameProvider* GtkUi::GetWindowFrameProvider(bool solid_frame,
@@ -201,10 +201,10 @@ index 0800349bc18753e6a41a938c70213dd7dd123d0d..a1553e0cb1fac188fb2c74e10163c52d
   private:
    std::optional<gfx::FontRenderParams> default_font_render_params_;
 diff --git a/ui/linux/linux_ui.h b/ui/linux/linux_ui.h
-index 0a4c394b07a682d55639f37414331d68f175841c..45db96c165d61f551b344c7c852c083546508325 100644
+index 1e59679d206462f72495d587740ac48ba0fa30df..090e770ac2f8e5231f2bdd11247cacaceb0c7ef6 100644
 --- a/ui/linux/linux_ui.h
 +++ b/ui/linux/linux_ui.h
-@@ -307,7 +307,8 @@ class COMPONENT_EXPORT(LINUX_UI) LinuxUiTheme {
+@@ -306,7 +306,8 @@ class COMPONENT_EXPORT(LINUX_UI) LinuxUiTheme {
    // The returned object is not owned by the caller and will remain alive until
    // the process ends.
    virtual WindowFrameProvider* GetWindowFrameProvider(bool solid_frame,

+ 6 - 6
patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch

@@ -33,10 +33,10 @@ index 6193a1017c888a5b1187f25f858b9af5930063bb..4421014867944cd67c0072777c9f36ba
            "//base",
            "//build:branding_buildflags",
 diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
-index 28bde5af4f7a7e399c36a293416e151af06a029e..bf31cd8d19a323535611de9fe13e0de62744e535 100644
+index 562234d7b46a33cb652a7ecf8dbd0d438880020a..8d98d36ad409dbb45849eda49018ad170e1ef40e 100644
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -4474,7 +4474,7 @@ static_library("browser") {
+@@ -4501,7 +4501,7 @@ static_library("browser") {
        ]
      }
  
@@ -46,10 +46,10 @@ index 28bde5af4f7a7e399c36a293416e151af06a029e..bf31cd8d19a323535611de9fe13e0de6
        # than here in :chrome_dll.
        deps += [ "//chrome:packed_resources_integrity_header" ]
 diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
-index 19758ff98652b42d0e81e6c647c82e3d36583466..821e649362b3a6ffba83bd03ab30afe73cfb3d21 100644
+index 1825ba2f5b7b48c269be02292fe7ce001c65ba9e..ec8b15716191074597c498e17813331485f2a8cd 100644
 --- a/chrome/test/BUILD.gn
 +++ b/chrome/test/BUILD.gn
-@@ -7169,9 +7169,12 @@ test("unit_tests") {
+@@ -7119,9 +7119,12 @@ test("unit_tests") {
        "//chrome/notification_helper",
      ]
  
@@ -63,7 +63,7 @@ index 19758ff98652b42d0e81e6c647c82e3d36583466..821e649362b3a6ffba83bd03ab30afe7
        "//chrome//services/util_win:unit_tests",
        "//chrome/app:chrome_dll_resources",
        "//chrome/app:win_unit_tests",
-@@ -8174,6 +8177,10 @@ test("unit_tests") {
+@@ -8105,6 +8108,10 @@ test("unit_tests") {
        "../browser/performance_manager/policies/background_tab_loading_policy_unittest.cc",
      ]
  
@@ -74,7 +74,7 @@ index 19758ff98652b42d0e81e6c647c82e3d36583466..821e649362b3a6ffba83bd03ab30afe7
      sources += [
        # The importer code is not used on Android.
        "../common/importer/firefox_importer_utils_unittest.cc",
-@@ -8226,7 +8233,6 @@ test("unit_tests") {
+@@ -8157,7 +8164,6 @@ test("unit_tests") {
      # Non-android deps for "unit_tests" target.
      deps += [
        "../browser/screen_ai:screen_ai_install_state",

+ 1 - 1
patches/chromium/build_run_reclient_cfg_generator_after_chrome.patch

@@ -20,7 +20,7 @@ index 17103061c4752e6fcac07413dbf574e0c6fd6d39..848be71fa6dc81a64b7274b31d461f9d
  /win-cross/
  reproxy.cfg
 diff --git a/buildtools/reclient_cfgs/configure_reclient_cfgs.py b/buildtools/reclient_cfgs/configure_reclient_cfgs.py
-index ba44640480e758d4ed8c9115497a2c09074918b4..837158cbbeb9120b7456aefc516eb3db6a38558c 100755
+index e367bf89e2ebabe731dcf8714ea7a0fa3b15d50d..f5cf97c51b7cc1d07ca4effb04aa6d9a3ee52845 100755
 --- a/buildtools/reclient_cfgs/configure_reclient_cfgs.py
 +++ b/buildtools/reclient_cfgs/configure_reclient_cfgs.py
 @@ -344,4 +344,13 @@ def main():

+ 16 - 16
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 ad884c1077b1c3f3b0af9490eb9e7ecd09ff2880..5ca1a4ff1c2e3acb3988bba651153a334058911d 100644
+index 40b4ae587e5c10c164e0d24ecd0c009bb95d4611..556086106747673de32486df2e82f98f165a9156 100644
 --- a/content/browser/renderer_host/render_frame_host_impl.cc
 +++ b/content/browser/renderer_host/render_frame_host_impl.cc
-@@ -8945,6 +8945,7 @@ void RenderFrameHostImpl::CreateNewWindow(
+@@ -9074,6 +9074,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 ad884c1077b1c3f3b0af9490eb9e7ecd09ff2880..5ca1a4ff1c2e3acb3988bba651153a33
            &no_javascript_access);
  
 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index f7982642de07c3e57d1ff19c901f10947bec6cae..30b5caf0379d8209ee92945be69cc8aac98c7666 100644
+index a8bb15f59d46ec5e2e71e16181f4dd1156a137c7..1dc6de327d29fe89486ef84c2ccea96bb38136b5 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -4793,6 +4793,12 @@ FrameTree* WebContentsImpl::CreateNewWindow(
+@@ -4865,6 +4865,12 @@ FrameTree* WebContentsImpl::CreateNewWindow(
    SetPartitionedPopinOpenerOnNewWindowIfNeeded(new_contents_impl, params,
                                                 opener);
  
@@ -37,7 +37,7 @@ index f7982642de07c3e57d1ff19c901f10947bec6cae..30b5caf0379d8209ee92945be69cc8aa
    // 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
-@@ -4834,12 +4840,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
+@@ -4906,12 +4912,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
      AddWebContentsDestructionObserver(new_contents_impl);
    }
  
@@ -66,10 +66,10 @@ index 61ee456a1bfb842aefd8b644ff0ae630a698ef7c..cbf4276337139a81d46fb263bce8f5ee
  
  // 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 d93b8edafc1182afb10f85a266e9c074340466bd..6b8f1d00b10290fedeea138426dc0299e7cd4d3f 100644
+index 9848ac58da8a0918d04bb4bb6f1d76da36ab8078..491963b39a0140193915480373371f162e2d370f 100644
 --- a/content/public/browser/content_browser_client.cc
 +++ b/content/public/browser/content_browser_client.cc
-@@ -754,6 +754,8 @@ bool ContentBrowserClient::CanCreateWindow(
+@@ -760,6 +760,8 @@ bool ContentBrowserClient::CanCreateWindow(
      const std::string& frame_name,
      WindowOpenDisposition disposition,
      const blink::mojom::WindowFeatures& features,
@@ -79,10 +79,10 @@ index d93b8edafc1182afb10f85a266e9c074340466bd..6b8f1d00b10290fedeea138426dc0299
      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 65101a5595ef5e9d40719eb934a0cad4d4ade4de..eb527d816e7ccf9122f0d154e95eca8f6981443f 100644
+index 2831b0d6a44e1def69f2bc02d7daf0074acca6f4..58fd2cea8a602832e56ac5962fbac57b5adae610 100644
 --- a/content/public/browser/content_browser_client.h
 +++ b/content/public/browser/content_browser_client.h
-@@ -194,6 +194,7 @@ class NetworkService;
+@@ -196,6 +196,7 @@ class NetworkService;
  class TrustedURLLoaderHeaderClient;
  }  // namespace mojom
  struct ResourceRequest;
@@ -90,7 +90,7 @@ index 65101a5595ef5e9d40719eb934a0cad4d4ade4de..eb527d816e7ccf9122f0d154e95eca8f
  }  // namespace network
  
  namespace sandbox {
-@@ -1301,6 +1302,8 @@ class CONTENT_EXPORT ContentBrowserClient {
+@@ -1322,6 +1323,8 @@ class CONTENT_EXPORT ContentBrowserClient {
        const std::string& frame_name,
        WindowOpenDisposition disposition,
        const blink::mojom::WindowFeatures& features,
@@ -100,7 +100,7 @@ index 65101a5595ef5e9d40719eb934a0cad4d4ade4de..eb527d816e7ccf9122f0d154e95eca8f
        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 d9af18d041a9726862b0b00285ccb55e0756daf0..dfb3c2401074c95c129290ec68149e1aab81d1cb 100644
+index 9d14f11ef397a525633292dbedfed40f38a9ec8f..49bc6ce731ea06cae8281107dbaa527060ffd4ce 100644
 --- a/content/public/browser/web_contents_delegate.cc
 +++ b/content/public/browser/web_contents_delegate.cc
 @@ -31,6 +31,17 @@ namespace content {
@@ -122,7 +122,7 @@ index d9af18d041a9726862b0b00285ccb55e0756daf0..dfb3c2401074c95c129290ec68149e1a
      WebContents* source,
      const OpenURLParams& params,
 diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h
-index a080fb57f00c712eb8a3a9be669413e1082ce3b3..4826eea9747c4860d7f5b4b8d478e62cb48a675b 100644
+index 294dc13ec8f27875c28b459b56b166f2c8f4a2ff..1a58077807de673e1937f3323c8dc37b4c69468e 100644
 --- a/content/public/browser/web_contents_delegate.h
 +++ b/content/public/browser/web_contents_delegate.h
 @@ -17,6 +17,7 @@
@@ -148,10 +148,10 @@ index a080fb57f00c712eb8a3a9be669413e1082ce3b3..4826eea9747c4860d7f5b4b8d478e62c
    // typically happens when popups are created.
    virtual void WebContentsCreated(WebContents* source_contents,
 diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
-index d5e16b9e780efac46e088b3ef226e4418a90aeaf..724818204a4fa1578102c2fe1a8877735323595a 100644
+index edcc9e240ab6d8660d8bfd873ca89b36219b722d..89f28a5e8351571d15d6de910a014409494eabb7 100644
 --- a/content/renderer/render_frame_impl.cc
 +++ b/content/renderer/render_frame_impl.cc
-@@ -6834,6 +6834,10 @@ WebView* RenderFrameImpl::CreateNewWindow(
+@@ -6835,6 +6835,10 @@ WebView* RenderFrameImpl::CreateNewWindow(
            request.HasUserGesture(), GetWebFrame()->IsAdFrame(),
            GetWebFrame()->IsAdScriptInStack());
  
@@ -163,7 +163,7 @@ index d5e16b9e780efac46e088b3ef226e4418a90aeaf..724818204a4fa1578102c2fe1a887773
    // moved on send.
    bool is_background_tab =
 diff --git a/content/web_test/browser/web_test_content_browser_client.cc b/content/web_test/browser/web_test_content_browser_client.cc
-index 207c7298ffb187354d4a50dad421fe78f9bc066d..10bae4861c9cac9d2c9cedae8beca16f2c4c5f5a 100644
+index 91d731a33bb48a9b7432b1139bd52e777d1e1967..d5dc4514f16063314afe1847bb64b0d5e43f5d92 100644
 --- a/content/web_test/browser/web_test_content_browser_client.cc
 +++ b/content/web_test/browser/web_test_content_browser_client.cc
 @@ -520,6 +520,8 @@ bool WebTestContentBrowserClient::CanCreateWindow(
@@ -176,7 +176,7 @@ index 207c7298ffb187354d4a50dad421fe78f9bc066d..10bae4861c9cac9d2c9cedae8beca16f
      bool opener_suppressed,
      bool* no_javascript_access) {
 diff --git a/content/web_test/browser/web_test_content_browser_client.h b/content/web_test/browser/web_test_content_browser_client.h
-index 115b75966f53ee16f7886fc4152741727c7825c8..a1944f7de539f04f85fdb238ccf67e091f413ad3 100644
+index 00cbe48de3b874215f2896940d71c6ed5bed98b5..8937c40d8bffbf09c8b0c33524086d16dbbee57a 100644
 --- a/content/web_test/browser/web_test_content_browser_client.h
 +++ b/content/web_test/browser/web_test_content_browser_client.h
 @@ -92,6 +92,8 @@ class WebTestContentBrowserClient : public ShellContentBrowserClient {

+ 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 49a39d1a9cc20ddce24b651341fc361def3fe24a..47592b26ed16163759bf94f8278b5898bf60423d 100644
+index de8284b0b75511d11dc3afed60efc75788d0a7d0..1d47f744b21b23afa48687e1bcc3a0f02f042a87 100644
 --- a/ui/views/win/hwnd_message_handler.cc
 +++ b/ui/views/win/hwnd_message_handler.cc
-@@ -3131,15 +3131,19 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
+@@ -3135,15 +3135,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.

+ 4 - 4
patches/chromium/chore_introduce_blocking_api_for_electron.patch

@@ -7,7 +7,7 @@ This patch comes after Chromium removed the ScopedAllowIO API in favor
 of explicitly adding ScopedAllowBlocking calls as friends.
 
 diff --git a/base/threading/thread_restrictions.h b/base/threading/thread_restrictions.h
-index 0de909d74fffc91b9e3afead3204f9c8234fa131..0eca9f62f2bda366c93fa1c57f30e707f228f2a5 100644
+index 0cddd96b731dd6b4f2829b7284171cc43a2d1702..d0fd45bf6db6ba34a69e6d60172b3e980e9188ca 100644
 --- a/base/threading/thread_restrictions.h
 +++ b/base/threading/thread_restrictions.h
 @@ -132,6 +132,7 @@ class KeyStorageLinux;
@@ -18,7 +18,7 @@ index 0de909d74fffc91b9e3afead3204f9c8234fa131..0eca9f62f2bda366c93fa1c57f30e707
  class Profile;
  class ProfileImpl;
  class ScopedAllowBlockingForProfile;
-@@ -282,6 +283,9 @@ class BackendImpl;
+@@ -283,6 +284,9 @@ class BackendImpl;
  class InFlightIO;
  bool CleanupDirectorySync(const base::FilePath&);
  }  // namespace disk_cache
@@ -28,7 +28,7 @@ index 0de909d74fffc91b9e3afead3204f9c8234fa131..0eca9f62f2bda366c93fa1c57f30e707
  namespace enterprise_connectors {
  class LinuxKeyRotationCommand;
  }  // namespace enterprise_connectors
-@@ -579,6 +583,7 @@ class BASE_EXPORT ScopedAllowBlocking {
+@@ -580,6 +584,7 @@ class BASE_EXPORT ScopedAllowBlocking {
    friend class ::DesktopNotificationBalloon;
    friend class ::FirefoxProfileLock;
    friend class ::GaiaConfig;
@@ -36,7 +36,7 @@ index 0de909d74fffc91b9e3afead3204f9c8234fa131..0eca9f62f2bda366c93fa1c57f30e707
    friend class ::ProfileImpl;
    friend class ::ScopedAllowBlockingForProfile;
    friend class ::StartupTabProviderImpl;
-@@ -619,6 +624,7 @@ class BASE_EXPORT ScopedAllowBlocking {
+@@ -620,6 +625,7 @@ class BASE_EXPORT ScopedAllowBlocking {
    friend class crosapi::LacrosThreadTypeDelegate;
    friend class crypto::ScopedAllowBlockingForNSS;  // http://crbug.com/59847
    friend class drive::FakeDriveService;

+ 29 - 0
patches/chromium/chore_partial_revert_of.patch

@@ -0,0 +1,29 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Charles Kerr <[email protected]>
+Date: Sat, 28 Sep 2024 17:33:51 -0500
+Subject: chore: partial revert of
+ https://chromium-review.googlesource.com/c/chromium/src/+/5894233
+
+The `CHECK_EQ()` being removed here is failing in the Chromium roll.
+I experimented with backporting the `CHECK_EQ()` to `main` and it's
+failing there as well, so some pre-existing behavior in Electron is
+incompatible with this assertion.
+
+I will file an upgrades-followup-task issue in Electron and try to
+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 18410cd178e80967daa0969ec8b641feb9624c9a..94074676f4b7fcbf2a3ea7a9854ec20d39d9fede 100644
+--- a/content/browser/web_contents/web_contents_impl.cc
++++ b/content/browser/web_contents/web_contents_impl.cc
+@@ -4791,9 +4791,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
+   bool renderer_started_hidden =
+       params.disposition == WindowOpenDisposition::NEW_BACKGROUND_TAB;
+ 
+-  // While some guest types do not have a guest SiteInstance, the ones that
+-  // don't all override WebContents creation above.
+-  CHECK_EQ(source_site_instance->IsGuest(), IsGuest());
+   bool is_guest = IsGuest();
+ 
+   // We usually create the new window in the same BrowsingInstance (group of

+ 46 - 10
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 00aec167d625e7f0377f5c437a343cdd7a494886..ce7af63b948ec9c6baeec2e68c2f559ddc195749 100644
+index 05354407fd600432bae001d1afd66ffae4fe562b..9dd7d8b60b9a13eeffe5355044cd039a56dd8424 100644
 --- a/chrome/browser/ui/browser.cc
 +++ b/chrome/browser/ui/browser.cc
-@@ -2087,12 +2087,11 @@ bool Browser::IsWebContentsCreationOverridden(
+@@ -2096,12 +2096,11 @@ bool Browser::IsWebContentsCreationOverridden(
      content::SiteInstance* source_site_instance,
      content::mojom::WindowContainerType window_container_type,
      const GURL& opener_url,
@@ -99,10 +99,10 @@ index 00aec167d625e7f0377f5c437a343cdd7a494886..ce7af63b948ec9c6baeec2e68c2f559d
  
  WebContents* Browser::CreateCustomWebContents(
 diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h
-index ede585e30530a096f2295a081ed7cfd1ffd032e6..4ecbfcfb80d1732000137646ca23484acb3ca2d2 100644
+index 2f17fc1f34808af63448b95bdde72569bf65e364..2a20ad8c9acf60a31382698aa30281addaaf99ed 100644
 --- a/chrome/browser/ui/browser.h
 +++ b/chrome/browser/ui/browser.h
-@@ -965,8 +965,7 @@ class Browser : public TabStripModelObserver,
+@@ -969,8 +969,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 362b94678c1add8d3d3baeb6dd1caec0dab87f16..2101c84a1af87ad01825fa0f683647363ae02e18 100644
+index 9e79f504a18e943d56ef02d2424403e0acbe157e..dd2f2912bd76e43a08dd5149c13a1b49b1565290 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -4691,8 +4691,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
+@@ -4760,8 +4760,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
  
    if (delegate_ && delegate_->IsWebContentsCreationOverridden(
                         source_site_instance, params.window_container_type,
@@ -232,7 +232,7 @@ index 362b94678c1add8d3d3baeb6dd1caec0dab87f16..2101c84a1af87ad01825fa0f68364736
          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 dfb3c2401074c95c129290ec68149e1aab81d1cb..f843b336189849bf1a1dbe9b79afeb20cd21b5a6 100644
+index 49bc6ce731ea06cae8281107dbaa527060ffd4ce..b061435dd97fd80e748591390a6d0631eab78c42 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,7 +246,7 @@ index dfb3c2401074c95c129290ec68149e1aab81d1cb..f843b336189849bf1a1dbe9b79afeb20
  }
  
 diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h
-index 4826eea9747c4860d7f5b4b8d478e62cb48a675b..4bd15ce68cbf3c393b2b51883f19835f40a6e285 100644
+index 1a58077807de673e1937f3323c8dc37b4c69468e..87f97ef6c2456e7dcc4a46b820ecba58dcf19388 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 {
@@ -259,8 +259,44 @@ index 4826eea9747c4860d7f5b4b8d478e62cb48a675b..4bd15ce68cbf3c393b2b51883f19835f
  
    // Allow delegate to creates a custom WebContents when
    // WebContents::CreateNewWindow() is called. This function is only called
+diff --git a/extensions/browser/guest_view/app_view/app_view_guest.cc b/extensions/browser/guest_view/app_view/app_view_guest.cc
+index 7168904a792aedeea0249a1bc38718da06a43c04..f69143c9554f74709edbb5ac80c50083860e8856 100644
+--- a/extensions/browser/guest_view/app_view/app_view_guest.cc
++++ b/extensions/browser/guest_view/app_view/app_view_guest.cc
+@@ -142,8 +142,7 @@ bool AppViewGuest::IsWebContentsCreationOverridden(
+     content::SiteInstance* source_site_instance,
+     content::mojom::WindowContainerType window_container_type,
+     const GURL& opener_url,
+-    const std::string& frame_name,
+-    const GURL& target_url) {
++    const content::mojom::CreateNewWindowParams& params) {
+   return true;
+ }
+ 
+diff --git a/extensions/browser/guest_view/app_view/app_view_guest.h b/extensions/browser/guest_view/app_view/app_view_guest.h
+index cb4241744b7c8ee4803de5ff5ccdefcae61cb02f..390ff1e3840f245b302aad460fc00cb4ea3e68b2 100644
+--- a/extensions/browser/guest_view/app_view/app_view_guest.h
++++ b/extensions/browser/guest_view/app_view/app_view_guest.h
+@@ -10,6 +10,7 @@
+ #include "base/containers/id_map.h"
+ #include "base/values.h"
+ #include "components/guest_view/browser/guest_view.h"
++#include "content/common/frame.mojom-shared.h"
+ #include "extensions/browser/guest_view/app_view/app_view_guest_delegate.h"
+ #include "extensions/browser/lazy_context_task_queue.h"
+ 
+@@ -73,8 +74,7 @@ class AppViewGuest : public guest_view::GuestView<AppViewGuest> {
+       content::SiteInstance* source_site_instance,
+       content::mojom::WindowContainerType window_container_type,
+       const GURL& opener_url,
+-      const std::string& frame_name,
+-      const GURL& target_url) final;
++      const content::mojom::CreateNewWindowParams& params) final;
+   content::WebContents* CreateCustomWebContents(
+       content::RenderFrameHost* opener,
+       content::SiteInstance* source_site_instance,
 diff --git a/extensions/browser/guest_view/extension_options/extension_options_guest.cc b/extensions/browser/guest_view/extension_options/extension_options_guest.cc
-index c9492327c30d41eab2425c037d23cae5b50d24eb..f7627e2fd5b2e419a3d00f6966535bd5f1fe94f6 100644
+index 0eb1b7b778c139971601a14cef729be6fdf5c247..3491662f5eb6131e6d4a6cd525e6ba951ac91e00 100644
 --- a/extensions/browser/guest_view/extension_options/extension_options_guest.cc
 +++ b/extensions/browser/guest_view/extension_options/extension_options_guest.cc
 @@ -221,8 +221,7 @@ bool ExtensionOptionsGuest::IsWebContentsCreationOverridden(
@@ -288,7 +324,7 @@ index 2ee922084c82edb7e49ec1c894b517b88f56f54d..9c12c8e9bab2ac59b16cb4a638e099ca
        content::RenderFrameHost* opener,
        content::SiteInstance* source_site_instance,
 diff --git a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
-index fad08e33e16e4408a295c3c0b755e9e050f4b48f..23fb05dac66b271ad465d548167fbd6b0bf355d9 100644
+index 6c8040666b5203f9d2cd1f87cb730680483942c3..5a48581859f36a2c2a3925d44fcae0b07096bae4 100644
 --- a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
 +++ b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
 @@ -389,8 +389,7 @@ bool MimeHandlerViewGuest::IsWebContentsCreationOverridden(

+ 3 - 3
patches/chromium/disable_hidden.patch

@@ -6,7 +6,7 @@ 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 3d6e27546d1a53a1aecbce49a7cf3d6620e854ce..3ca8b3839f99534224ee4f110ae1bb4f692c1b3c 100644
+index 35a8d11c3a929cb9a026eebbb13ddbeb30aa777d..42aada7b5eb7e18708f854cdda74d16eacc23415 100644
 --- a/content/browser/renderer_host/render_widget_host_impl.cc
 +++ b/content/browser/renderer_host/render_widget_host_impl.cc
 @@ -789,6 +789,9 @@ void RenderWidgetHostImpl::WasHidden() {
@@ -20,10 +20,10 @@ index 3d6e27546d1a53a1aecbce49a7cf3d6620e854ce..3ca8b3839f99534224ee4f110ae1bb4f
        blink::mojom::PointerLockResult::kWrongDocument);
  
 diff --git a/content/browser/renderer_host/render_widget_host_impl.h b/content/browser/renderer_host/render_widget_host_impl.h
-index 3d03709303e22489edf7c8cf61a611c0832ea26e..469b91d7bd3f46fb23645a9d5a0f1f9e5519ba59 100644
+index ad10b3662636ea51bff23e1f07c806b57c0fc553..a2647c5f9f9f51d54dcde66b3d61f24564f86213 100644
 --- a/content/browser/renderer_host/render_widget_host_impl.h
 +++ b/content/browser/renderer_host/render_widget_host_impl.h
-@@ -1008,6 +1008,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl
+@@ -1017,6 +1017,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl
    // Requests a commit and forced redraw in the renderer compositor.
    void ForceRedrawForTesting();
  

+ 1 - 1
patches/chromium/enable_reset_aspect_ratio.patch

@@ -19,7 +19,7 @@ index 6cd2eace306cb6b3b8d39d968f898c6468d00eea..e2146f0a06fb70d16c48fe6e06d0615c
                                     excluded_margin);
  }
 diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
-index ec0ff0ae4e53ff380666a5f36cf412dfa8e61639..4f792b6c9c466ce17c4a4ef12d9666a18ebda309 100644
+index 328cf96499fa2ec23259339cffce467de142acc6..466738cc252dceae3fcaa7c44aaa29ff945386ef 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,

+ 1 - 1
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 3b0481e6d6b21eac255d717a262bc2c48102ef06..4b31e5f8b434a0de1d4d3963161de40253dfde10 100644
+index 43fe136e619f0fd4473f44bfb48247d532550b11..a121455608abc4fa6405d61fe0fa90081432cde2 100644
 --- a/services/network/network_context.cc
 +++ b/services/network/network_context.cc
 @@ -1746,6 +1746,13 @@ void NetworkContext::SetNetworkConditions(

+ 2 - 2
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 9d108fe375fa68811c5aba9b2d3b5622b7293b49..3080f77e125e1792f37b402ceeb3dbf730af45eb 100644
+index 0f5155569923a732928457f2f3d73e649122279f..75b5c406ee5d75b03361ae0c11b4d21f6addf373 100644
 --- a/ui/native_theme/native_theme.cc
 +++ b/ui/native_theme/native_theme.cc
-@@ -209,6 +209,8 @@ NativeTheme::NativeTheme(bool should_use_dark_colors,
+@@ -208,6 +208,8 @@ NativeTheme::NativeTheme(bool should_use_dark_colors,
  NativeTheme::~NativeTheme() = default;
  
  bool NativeTheme::ShouldUseDarkColors() const {

+ 6 - 6
patches/chromium/feat_allow_usage_of_sccontentsharingpicker_on_supported_platforms.patch

@@ -311,10 +311,10 @@ index 128bca8bb64113418551a20164f67ef5e5a88253..93f86ec79364db1f46c5d2eb015a11cf
  
  // Although ScreenCaptureKit is available in 12.3 there were some bugs that
 diff --git a/content/browser/renderer_host/media/in_process_video_capture_device_launcher.cc b/content/browser/renderer_host/media/in_process_video_capture_device_launcher.cc
-index 7adf8264cfa9980c4a8414bf0f8bfa9ad70ec0b3..bab2f0282b191a4263fc964125e199e52c62554b 100644
+index 01f082fc05e70246a8c0626897df306816d93687..67cf9fd1d3d366fa08e24fba9eb18ae22852c817 100644
 --- a/content/browser/renderer_host/media/in_process_video_capture_device_launcher.cc
 +++ b/content/browser/renderer_host/media/in_process_video_capture_device_launcher.cc
-@@ -332,8 +332,16 @@ void InProcessVideoCaptureDeviceLauncher::LaunchDeviceAsync(
+@@ -329,8 +329,16 @@ void InProcessVideoCaptureDeviceLauncher::LaunchDeviceAsync(
          break;
        }
  
@@ -332,10 +332,10 @@ index 7adf8264cfa9980c4a8414bf0f8bfa9ad70ec0b3..bab2f0282b191a4263fc964125e199e5
          // For the other capturers, when a bug reports the type of capture it's
          // easy enough to determine which capturer was used, but it's a little
          // fuzzier with window capture.
-@@ -360,13 +368,15 @@ void InProcessVideoCaptureDeviceLauncher::LaunchDeviceAsync(
-           std::move(after_start_capture_callback));
-       break;
- #else
+@@ -346,13 +354,15 @@ void InProcessVideoCaptureDeviceLauncher::LaunchDeviceAsync(
+       }
+ #endif  // defined(USE_AURA) || BUILDFLAG(IS_MAC)
+ 
 +      media::VideoCaptureParams updated_params = params;
 +      updated_params.use_native_picker = stream_type != blink::mojom::MediaStreamType::GUM_DESKTOP_VIDEO_CAPTURE;
        // All cases other than tab capture or Aura desktop/window capture.

+ 16 - 16
patches/chromium/feat_configure_launch_options_for_service_process.patch

@@ -187,7 +187,7 @@ index bdd5bec301f5fcff2d3e3d7994ecbc4eae46da36..f6082bada22c5f4e70af60ea6f555b0f
    host->GetChildProcess()->BindServiceInterface(std::move(receiver));
  }
 diff --git a/content/browser/utility_process_host.cc b/content/browser/utility_process_host.cc
-index d63bb20c8a4dc09e3df70cf8fe5b454d593ea360..918d1f92476277cd8f463a7aa1ceda008815c1d7 100644
+index 23370e926c9fb9c24bb151d6d4dbca7d5936ebae..b617e0fd3aecb3f9cd1c4cfa9aadf68e658a2dbc 100644
 --- a/content/browser/utility_process_host.cc
 +++ b/content/browser/utility_process_host.cc
 @@ -179,11 +179,13 @@ const ChildProcessData& UtilityProcessHost::GetData() {
@@ -237,7 +237,7 @@ index d63bb20c8a4dc09e3df70cf8fe5b454d593ea360..918d1f92476277cd8f463a7aa1ceda00
  mojom::ChildProcess* UtilityProcessHost::GetChildProcess() {
    return static_cast<ChildProcessHostImpl*>(process_->GetHost())
        ->child_process();
-@@ -435,9 +461,26 @@ bool UtilityProcessHost::StartProcess() {
+@@ -436,9 +462,26 @@ bool UtilityProcessHost::StartProcess() {
      }
  #endif  // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
  
@@ -347,7 +347,7 @@ index 9791ae2f761043b9eecd9064a6fd39a6e2339af4..c1809298c830b814f886859c2626d6bc
    // launch failed.
    enum class LaunchState {
 diff --git a/content/browser/utility_sandbox_delegate.cc b/content/browser/utility_sandbox_delegate.cc
-index ad04359ead729d46d26027a7ef995ebdff1fe842..a476a4c1be9156270c8400666f4042de584555ca 100644
+index 98f758cc283f45ffa0218cb584f351b2c0db051c..0ed2ab4a22b42d2600bfafbf7ce350152292a1c8 100644
 --- a/content/browser/utility_sandbox_delegate.cc
 +++ b/content/browser/utility_sandbox_delegate.cc
 @@ -34,17 +34,19 @@ UtilitySandboxedProcessLauncherDelegate::
@@ -374,7 +374,7 @@ index ad04359ead729d46d26027a7ef995ebdff1fe842..a476a4c1be9156270c8400666f4042de
  #if DCHECK_IS_ON()
    bool supported_sandbox_type =
        sandbox_type_ == sandbox::mojom::Sandbox::kNoSandbox ||
-@@ -110,11 +112,28 @@ UtilitySandboxedProcessLauncherDelegate::GetSandboxType() {
+@@ -113,11 +115,28 @@ UtilitySandboxedProcessLauncherDelegate::GetSandboxType() {
    return sandbox_type_;
  }
  
@@ -641,10 +641,10 @@ index 9bb4b30ba0f5d37ec2b28f0848d94f34c24f9423..b614fef01ee5cdf81b7112be721b851c
  
  }  // namespace content
 diff --git a/content/public/common/sandboxed_process_launcher_delegate.cc b/content/public/common/sandboxed_process_launcher_delegate.cc
-index 9c1aa450f32b6812d4a87cd0b9ee0dfb1a9557f4..c281fc33709376dbd50af281c219f3f5bda5635b 100644
+index 8656215a709012eef80532e7aac197818ac292df..74ad339d8f8fcc62628006171e0a7ad265143625 100644
 --- a/content/public/common/sandboxed_process_launcher_delegate.cc
 +++ b/content/public/common/sandboxed_process_launcher_delegate.cc
-@@ -68,11 +68,23 @@ ZygoteCommunication* SandboxedProcessLauncherDelegate::GetZygote() {
+@@ -64,11 +64,23 @@ ZygoteCommunication* SandboxedProcessLauncherDelegate::GetZygote() {
  }
  #endif  // BUILDFLAG(USE_ZYGOTE)
  
@@ -671,7 +671,7 @@ index 9c1aa450f32b6812d4a87cd0b9ee0dfb1a9557f4..c281fc33709376dbd50af281c219f3f5
  #if BUILDFLAG(IS_MAC)
  
 diff --git a/content/public/common/sandboxed_process_launcher_delegate.h b/content/public/common/sandboxed_process_launcher_delegate.h
-index cb43aa14c9742f3788ae58c3e49b890cd532f327..276b2a06fabba559eb1caaaa9129b9f78058aa9f 100644
+index 4b2ea0e2680c552b853fcbe4f5e4765a908f8915..6e8af760d986911ed6030b24244e9b21eeba865c 100644
 --- a/content/public/common/sandboxed_process_launcher_delegate.h
 +++ b/content/public/common/sandboxed_process_launcher_delegate.h
 @@ -6,6 +6,7 @@
@@ -682,7 +682,7 @@ index cb43aa14c9742f3788ae58c3e49b890cd532f327..276b2a06fabba559eb1caaaa9129b9f7
  #include "base/files/scoped_file.h"
  #include "base/process/process.h"
  #include "build/build_config.h"
-@@ -57,10 +58,19 @@ class CONTENT_EXPORT SandboxedProcessLauncherDelegate
+@@ -56,10 +57,19 @@ class CONTENT_EXPORT SandboxedProcessLauncherDelegate
    virtual ZygoteCommunication* GetZygote();
  #endif  // BUILDFLAG(USE_ZYGOTE)
  
@@ -705,10 +705,10 @@ index cb43aa14c9742f3788ae58c3e49b890cd532f327..276b2a06fabba559eb1caaaa9129b9f7
  #if BUILDFLAG(IS_MAC)
    // Whether or not to disclaim TCC responsibility for the process, defaults to
 diff --git a/sandbox/policy/win/sandbox_win.cc b/sandbox/policy/win/sandbox_win.cc
-index aecdbe31e3ddcc66798c11902a415c767679c233..904520a77541c9bfd4b2ba31df830af3f588269e 100644
+index 30d2877297ec2e65fba9d4ba110c0f4e2c921be5..bbb68ee5de54b54ba4859909cdec9ff692f27289 100644
 --- a/sandbox/policy/win/sandbox_win.cc
 +++ b/sandbox/policy/win/sandbox_win.cc
-@@ -700,11 +700,9 @@ base::win::ScopedHandle CreateUnsandboxedJob() {
+@@ -672,11 +672,9 @@ base::win::ScopedHandle CreateUnsandboxedJob() {
  // command line flag.
  ResultCode LaunchWithoutSandbox(
      const base::CommandLine& cmd_line,
@@ -721,7 +721,7 @@ index aecdbe31e3ddcc66798c11902a415c767679c233..904520a77541c9bfd4b2ba31df830af3
    // Network process runs in a job even when unsandboxed. This is to ensure it
    // does not outlive the browser, which could happen if there is a lot of I/O
    // on process shutdown, in which case TerminateProcess can fail. See
-@@ -934,7 +932,7 @@ bool SandboxWin::InitTargetServices(TargetServices* target_services) {
+@@ -906,7 +904,7 @@ bool SandboxWin::InitTargetServices(TargetServices* target_services) {
  // static
  ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
      const base::CommandLine& cmd_line,
@@ -730,7 +730,7 @@ index aecdbe31e3ddcc66798c11902a415c767679c233..904520a77541c9bfd4b2ba31df830af3
      SandboxDelegate* delegate,
      TargetPolicy* policy) {
    const base::CommandLine& launcher_process_command_line =
-@@ -948,7 +946,7 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
+@@ -920,7 +918,7 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
    }
  
    // Add any handles to be inherited to the policy.
@@ -739,7 +739,7 @@ index aecdbe31e3ddcc66798c11902a415c767679c233..904520a77541c9bfd4b2ba31df830af3
      policy->AddHandleToShare(handle);
  
    if (!policy->GetConfig()->IsConfigured()) {
-@@ -963,6 +961,13 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
+@@ -935,6 +933,13 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
    // have no effect. These calls can fail with SBOX_ERROR_BAD_PARAMS.
    policy->SetStdoutHandle(GetStdHandle(STD_OUTPUT_HANDLE));
    policy->SetStderrHandle(GetStdHandle(STD_ERROR_HANDLE));
@@ -753,7 +753,7 @@ index aecdbe31e3ddcc66798c11902a415c767679c233..904520a77541c9bfd4b2ba31df830af3
  #endif
  
    if (!delegate->PreSpawnTarget(policy))
-@@ -974,7 +979,7 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
+@@ -946,7 +951,7 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
  // static
  ResultCode SandboxWin::StartSandboxedProcess(
      const base::CommandLine& cmd_line,
@@ -762,7 +762,7 @@ index aecdbe31e3ddcc66798c11902a415c767679c233..904520a77541c9bfd4b2ba31df830af3
      SandboxDelegate* delegate,
      base::Process* process) {
    SandboxLaunchTimer timer;
-@@ -982,7 +987,7 @@ ResultCode SandboxWin::StartSandboxedProcess(
+@@ -954,7 +959,7 @@ ResultCode SandboxWin::StartSandboxedProcess(
    // Avoid making a policy if we won't use it.
    if (IsUnsandboxedProcess(delegate->GetSandboxType(), cmd_line,
                             *base::CommandLine::ForCurrentProcess())) {
@@ -771,7 +771,7 @@ index aecdbe31e3ddcc66798c11902a415c767679c233..904520a77541c9bfd4b2ba31df830af3
                                  process);
    }
  
-@@ -990,7 +995,7 @@ ResultCode SandboxWin::StartSandboxedProcess(
+@@ -962,7 +967,7 @@ ResultCode SandboxWin::StartSandboxedProcess(
    timer.OnPolicyCreated();
  
    ResultCode result = GeneratePolicyForSandboxedProcess(

+ 2 - 2
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 2f36496cf77258fe7e7b5eb7c93c6c53ff55abd0..0808df2627a4630c9e573fdb4f620ef601252026 100644
+index 055c6ee45f7ca482f1a8292c7fb904d17d238651..d39acbec0b2dd12191e3bc9c18f412310dd1d8a0 100644
 --- a/components/viz/service/BUILD.gn
 +++ b/components/viz/service/BUILD.gn
 @@ -172,6 +172,8 @@ viz_component("service") {
@@ -117,7 +117,7 @@ index 524df4c2a1382e6d009ab1165305a79894dca15e..a21da0785be3884e5e299643d306d25e
    virtual gpu::SharedImageManager* GetSharedImageManager() = 0;
    virtual gpu::SyncPointManager* GetSyncPointManager() = 0;
 diff --git a/components/viz/service/display_embedder/output_surface_provider_impl.cc b/components/viz/service/display_embedder/output_surface_provider_impl.cc
-index bddaacb09fcf9f94594b55bd82b903804c2d6970..3aa4753e4d2dd7b391a1dc4057fce7162ba63110 100644
+index 87722045daafa87f7111df943217ceaa8518e55c..badf8c3dc5fb768388a19814d8428a46d3c5648b 100644
 --- a/components/viz/service/display_embedder/output_surface_provider_impl.cc
 +++ b/components/viz/service/display_embedder/output_surface_provider_impl.cc
 @@ -25,6 +25,7 @@

+ 2 - 2
patches/chromium/feat_enable_passing_exit_code_on_service_process_crash.patch

@@ -76,10 +76,10 @@ index f6082bada22c5f4e70af60ea6f555b0f363919c5..228f947edbe04bce242df62080052d9c
  void ServiceProcessHost::RemoveObserver(Observer* observer) {
    GetServiceProcessTracker().RemoveObserver(observer);
 diff --git a/content/browser/utility_process_host.cc b/content/browser/utility_process_host.cc
-index 918d1f92476277cd8f463a7aa1ceda008815c1d7..cdebe04babbd9682f97923149261bbe23c9d9701 100644
+index b617e0fd3aecb3f9cd1c4cfa9aadf68e658a2dbc..c1d6999e53b222ae08ddb5f403de780d01b0ba71 100644
 --- a/content/browser/utility_process_host.cc
 +++ b/content/browser/utility_process_host.cc
-@@ -518,7 +518,7 @@ void UtilityProcessHost::OnProcessCrashed(int exit_code) {
+@@ -519,7 +519,7 @@ void UtilityProcessHost::OnProcessCrashed(int exit_code) {
    // Take ownership of |client_| so the destructor doesn't notify it of
    // termination.
    auto client = std::move(client_);

+ 6 - 6
patches/chromium/feat_expose_raw_response_headers_from_urlloader.patch

@@ -112,10 +112,10 @@ index 3450c15835d8b792f37764f6edc4a4560be435ef..b1034aa141d6121f8e1524fb34a28a04
    string mime_type;
  
 diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc
-index 72cb384706358f14f7c4fd2c25c8bed0734eb833..fde4df3dc26ab92ca2b57313b0f1df0c0a92d1bf 100644
+index 2b6a5854cf912d38aac207a4c74504b00aa7c97e..c8cbd70306f04f025ba7e9d121bb2287929f2d5c 100644
 --- a/services/network/url_loader.cc
 +++ b/services/network/url_loader.cc
-@@ -720,6 +720,7 @@ URLLoader::URLLoader(
+@@ -725,6 +725,7 @@ URLLoader::URLLoader(
          request.trusted_params->allow_cookies_from_browser;
      include_request_cookies_with_response_ =
          request.trusted_params->include_request_cookies_with_response;
@@ -123,7 +123,7 @@ index 72cb384706358f14f7c4fd2c25c8bed0734eb833..fde4df3dc26ab92ca2b57313b0f1df0c
    }
  
    // Store any cookies passed from the browser process to later attach them to
-@@ -758,7 +759,7 @@ URLLoader::URLLoader(
+@@ -763,7 +764,7 @@ URLLoader::URLLoader(
          &URLLoader::IsSharedDictionaryReadAllowed, base::Unretained(this)));
    }
  
@@ -132,7 +132,7 @@ index 72cb384706358f14f7c4fd2c25c8bed0734eb833..fde4df3dc26ab92ca2b57313b0f1df0c
      url_request_->SetResponseHeadersCallback(base::BindRepeating(
          &URLLoader::SetRawResponseHeaders, base::Unretained(this)));
    }
-@@ -1734,6 +1735,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) {
+@@ -1738,6 +1739,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) {
    }
  
    response_ = BuildResponseHead();
@@ -153,10 +153,10 @@ index 72cb384706358f14f7c4fd2c25c8bed0734eb833..fde4df3dc26ab92ca2b57313b0f1df0c
  
    // Parse and remove the Trust Tokens response headers, if any are expected,
 diff --git a/services/network/url_loader.h b/services/network/url_loader.h
-index cfc5b5b82557792f336a4a00ff3dc0f11aee22c4..69680e5560c143ac2f45d23fbdfdc64c3bc141af 100644
+index 3089be9b39552c8fc03ee97bd90a5f5626f66b26..e70b15cc3683d77e900fce644616da64851bc801 100644
 --- a/services/network/url_loader.h
 +++ b/services/network/url_loader.h
-@@ -676,6 +676,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) URLLoader
+@@ -680,6 +680,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) URLLoader
    std::unique_ptr<ResourceScheduler::ScheduledResourceRequest>
        resource_scheduler_request_handle_;
  

+ 2 - 2
patches/chromium/fix_activate_background_material_on_windows.patch

@@ -14,7 +14,7 @@ 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 d9d5dac1934ee2e625f66ece4a70ec41b9ca804d..b7b1b67dd4b586140c70d512cdd2dce35df7286a 100644
+index ae24de9ce9d3a2d6c9d7612104e1ef13bbd84f9f..c7ce5bc2aaa8bd29c41c253bd9b6fc9e713ff5a5 100644
 --- a/ui/views/win/hwnd_message_handler.cc
 +++ b/ui/views/win/hwnd_message_handler.cc
 @@ -909,13 +909,13 @@ void HWNDMessageHandler::FrameTypeChanged() {
@@ -33,7 +33,7 @@ index d9d5dac1934ee2e625f66ece4a70ec41b9ca804d..b7b1b67dd4b586140c70d512cdd2dce3
  }
  
  void HWNDMessageHandler::SetWindowIcons(const gfx::ImageSkia& window_icon,
-@@ -2260,17 +2260,18 @@ LRESULT HWNDMessageHandler::OnNCActivate(UINT message,
+@@ -2264,17 +2264,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 4f792b6c9c466ce17c4a4ef12d9666a18ebda309..49a39d1a9cc20ddce24b651341fc361def3fe24a 100644
+index 466738cc252dceae3fcaa7c44aaa29ff945386ef..de8284b0b75511d11dc3afed60efc75788d0a7d0 100644
 --- a/ui/views/win/hwnd_message_handler.cc
 +++ b/ui/views/win/hwnd_message_handler.cc
-@@ -3685,14 +3685,29 @@ void HWNDMessageHandler::SizeWindowToAspectRatio(UINT param,
+@@ -3689,14 +3689,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);

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

@@ -23,10 +23,10 @@ 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 4216f8eb94a64b9d8e63abe043fc26f27d50da39..230ea765249e7949c57a5eb68a882563d575094e 100644
+index 6e329572b72d5c76e0c78204c9eb98346626c543..55dde123a54068e6e0ffc5c98f6ae5cef59cd892 100644
 --- a/content/browser/renderer_host/navigation_request.cc
 +++ b/content/browser/renderer_host/navigation_request.cc
-@@ -10774,6 +10774,12 @@ NavigationRequest::GetOriginForURLLoaderFactoryUncheckedWithDebugInfo() {
+@@ -10783,6 +10783,12 @@ NavigationRequest::GetOriginForURLLoaderFactoryUncheckedWithDebugInfo() {
          "blob");
    }
  
@@ -40,7 +40,7 @@ index 4216f8eb94a64b9d8e63abe043fc26f27d50da39..230ea765249e7949c57a5eb68a882563
    // 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 0fb02ada85ed3d4cc113ac7ce18d6efdb7065627..9e78c486fdc9b931dfcbcf40145076a22f221e35 100644
+index 7980748f0259dd9a87aee30c6fec771369b505a8..d435f8cb5d98a056ab05fab23ad4f871419a4e32 100644
 --- a/third_party/blink/renderer/core/loader/document_loader.cc
 +++ b/third_party/blink/renderer/core/loader/document_loader.cc
 @@ -2261,6 +2261,10 @@ Frame* DocumentLoader::CalculateOwnerFrame() {
@@ -54,10 +54,10 @@ index 0fb02ada85ed3d4cc113ac7ce18d6efdb7065627..9e78c486fdc9b931dfcbcf40145076a2
    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
-@@ -2313,6 +2317,10 @@ scoped_refptr<SecurityOrigin> DocumentLoader::CalculateOrigin(
-     debug_info_builder.Append(", url=");
-     debug_info_builder.Append(owner_document->Url().BaseAsString());
-     debug_info_builder.Append(")");
+@@ -2314,6 +2318,10 @@ scoped_refptr<SecurityOrigin> DocumentLoader::CalculateOrigin(
+     // the end of this function.
+     origin = origin_to_commit_;
+     debug_info_builder.Append("use_origin_to_commit");
 +  } else if (!SecurityOrigin::ShouldUseInnerURL(url_) &&
 +             !is_standard) {
 +    debug_info_builder.Append("use_url_with_non_standard_scheme");

+ 1 - 1
patches/chromium/fix_crash_when_saving_edited_pdf_files.patch

@@ -13,7 +13,7 @@ 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 f291ca720095ad1d079135539fb0a7421cae0be9..b967868063402572d9410c1725188e9c9caa5455 100644
+index 59ca49518ec59bc59a735196cf2ae379889019bc..9df9c8925f24ffd5cfe2bcebf5e23c6f926bb9fd 100644
 --- a/chrome/browser/resources/pdf/pdf_viewer.ts
 +++ b/chrome/browser/resources/pdf/pdf_viewer.ts
 @@ -1010,7 +1010,15 @@ export class PdfViewerElement extends PdfViewerBaseElement {

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

@@ -87,10 +87,10 @@ index 0c7d5b2c1d3e97420913bd643bb2a524a76fc286..653793fa480f035ce11e079b370bf5ed
    // 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 56a5730482e667d1d141f546fa263792a2c2f246..617c4449700873b2343c462a2c37e169d36b59b7 100644
+index 80b1df58edeac63e52758d5f7da87687765c7bf7..18410cd178e80967daa0969ec8b641feb9624c9a 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -9273,7 +9273,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(
+@@ -9345,7 +9345,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 47592b26ed16163759bf94f8278b5898bf60423d..d9d5dac1934ee2e625f66ece4a70ec41b9ca804d 100644
+index 1d47f744b21b23afa48687e1bcc3a0f02f042a87..ae24de9ce9d3a2d6c9d7612104e1ef13bbd84f9f 100644
 --- a/ui/views/win/hwnd_message_handler.cc
 +++ b/ui/views/win/hwnd_message_handler.cc
-@@ -1733,7 +1733,23 @@ LRESULT HWNDMessageHandler::OnCreate(CREATESTRUCT* create_struct) {
+@@ -1737,7 +1737,23 @@ LRESULT HWNDMessageHandler::OnCreate(CREATESTRUCT* create_struct) {
    SendMessage(hwnd(), WM_CHANGEUISTATE, MAKELPARAM(UIS_CLEAR, UISF_HIDEFOCUS),
                0);
  

+ 1 - 1
patches/chromium/fix_restore_original_resize_performance_on_macos.patch

@@ -11,7 +11,7 @@ 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 a5094a38ceaad3cd671aff988e5f99d273156459..7cfb057c582ba8d9ccd83bb92260e0f5e187c577 100644
+index 34796157de1c24dc03ed9fb4c3123cea7d57a570..87e5335d19b69677e523a37dfa8d1390fb9ab2fe 100644
 --- a/content/browser/renderer_host/render_widget_host_impl.cc
 +++ b/content/browser/renderer_host/render_widget_host_impl.cc
 @@ -2043,9 +2043,8 @@ RenderWidgetHostImpl::GetWidgetInputHandler() {

+ 1 - 1
patches/chromium/fix_return_v8_value_from_localframe_requestexecutescript.patch

@@ -97,7 +97,7 @@ index 72722ddbecb7a006ec407b374c8d75c5054f9574..cb4c93a8356f35e5766e843006161143
                              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 e4902e71bdf72c140463a2d73db67dcc8e165062..25e91d0bca2d164afa1b563ef2596010c64887a8 100644
+index 00f8c36d2056be406714dd9816ff837900fae993..968e3e8511a2563373ae0249bd330d58a1779e42 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
 @@ -973,6 +973,7 @@ void LocalFrameMojoHandler::JavaScriptExecuteRequestInIsolatedWorld(

+ 11 - 11
patches/chromium/fix_use_delegated_generic_capturer_when_available.patch

@@ -15,13 +15,13 @@ capturer was window or screen-specific, as the IDs remain valid for
 generic capturer as well.
 
 diff --git a/content/browser/media/capture/desktop_capture_device.cc b/content/browser/media/capture/desktop_capture_device.cc
-index 9d53ceaffb4ba02bdc1780854f67588a5bd2fb27..66eb47e34c10be64a671e705029979c9c66b5b6c 100644
+index c2c782a9f0c772a2b55be0358088c6b7751a804b..16c6b6c1eef544da6bdb7ca7a7e8d237f1729ee8 100644
 --- a/content/browser/media/capture/desktop_capture_device.cc
 +++ b/content/browser/media/capture/desktop_capture_device.cc
-@@ -822,8 +822,14 @@ std::unique_ptr<media::VideoCaptureDevice> DesktopCaptureDevice::Create(
-               DesktopCapturerLacros::CaptureType::kScreen,
-               webrtc::DesktopCaptureOptions());
- #else
+@@ -811,8 +811,14 @@ std::unique_ptr<media::VideoCaptureDevice> DesktopCaptureDevice::Create(
+ 
+   switch (source.type) {
+     case DesktopMediaID::TYPE_SCREEN: {
 -      std::unique_ptr<webrtc::DesktopCapturer> screen_capturer(
 -          webrtc::DesktopCapturer::CreateScreenCapturer(options));
 +      std::unique_ptr<webrtc::DesktopCapturer> screen_capturer;
@@ -32,13 +32,13 @@ index 9d53ceaffb4ba02bdc1780854f67588a5bd2fb27..66eb47e34c10be64a671e705029979c9
 +      } else {
 +        screen_capturer = webrtc::DesktopCapturer::CreateScreenCapturer(options);
 +      }
- #endif
        if (screen_capturer && screen_capturer->SelectSource(source.id)) {
          capturer = std::make_unique<webrtc::DesktopAndCursorComposer>(
-@@ -842,8 +848,14 @@ std::unique_ptr<media::VideoCaptureDevice> DesktopCaptureDevice::Create(
-           new DesktopCapturerLacros(DesktopCapturerLacros::CaptureType::kWindow,
-                                     webrtc::DesktopCaptureOptions()));
- #else
+             std::move(screen_capturer), options);
+@@ -825,8 +831,14 @@ std::unique_ptr<media::VideoCaptureDevice> DesktopCaptureDevice::Create(
+     }
+ 
+     case DesktopMediaID::TYPE_WINDOW: {
 -      std::unique_ptr<webrtc::DesktopCapturer> window_capturer =
 -          webrtc::DesktopCapturer::CreateWindowCapturer(options);
 +      std::unique_ptr<webrtc::DesktopCapturer> window_capturer;
@@ -49,6 +49,6 @@ index 9d53ceaffb4ba02bdc1780854f67588a5bd2fb27..66eb47e34c10be64a671e705029979c9
 +      } else {
 +        window_capturer = webrtc::DesktopCapturer::CreateWindowCapturer(options);
 +      }
- #endif
        if (window_capturer && window_capturer->SelectSource(source.id)) {
          capturer = std::make_unique<webrtc::DesktopAndCursorComposer>(
+             std::move(window_capturer), options);

+ 4 - 4
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 82e042dc74d538933c003d856a07ed4183c5f10c..e53790efc334d280e80a501279e46bcd4558b772 100644
+index 11967d7c7881aca5cf29edff8db04303a0e66fe4..704488c8d1acb82255bf20d22e9342d9bb57ee3f 100644
 --- a/content/browser/renderer_host/render_frame_host_manager.cc
 +++ b/content/browser/renderer_host/render_frame_host_manager.cc
-@@ -4476,6 +4476,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
+@@ -4491,6 +4491,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
      request->ResetStateForSiteInstanceChange();
    }
  
@@ -20,10 +20,10 @@ index 82e042dc74d538933c003d856a07ed4183c5f10c..e53790efc334d280e80a501279e46bcd
  }
  
 diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
-index eb527d816e7ccf9122f0d154e95eca8f6981443f..bb34c1106944da94e1853d6efdd533089eb2c9b6 100644
+index 58fd2cea8a602832e56ac5962fbac57b5adae610..9f270bd973d1fc97b0040d0ad80da815f30ca8dd 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 {
+@@ -337,6 +337,11 @@ class CONTENT_EXPORT ContentBrowserClient {
  
    virtual ~ContentBrowserClient() = default;
  

+ 2 - 2
patches/chromium/gritsettings_resource_ids.patch

@@ -6,10 +6,10 @@ Subject: gritsettings_resource_ids.patch
 Add electron resources file to the list of resource ids generation.
 
 diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_ids.spec
-index 23ebf4585e339675801067ccaa38fcc5e5dd3c79..68ed44286d0cc8302f0f7134ebccd8a51dccc660 100644
+index 1ba8251e598caba26760ff4397c14eb079ae1194..e6f2bfdd45d037a9b615d3735fb733f508c38ad2 100644
 --- a/tools/gritsettings/resource_ids.spec
 +++ b/tools/gritsettings/resource_ids.spec
-@@ -1359,6 +1359,11 @@
+@@ -1355,6 +1355,11 @@
      "includes": [8460],
    },
  

+ 24 - 24
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 39f6bfe3cab60ea9576e7760bfc6693408d1a4b9..24ef8a380ca12f36fade75c51e4849d0915a2a3d 100644
+index 4c7805e58150b1ce61bec0ba116df22298a3e8b4..743d70810423422eba31f7977a6cb5f90d7bc681 100644
 --- a/base/BUILD.gn
 +++ b/base/BUILD.gn
-@@ -1041,6 +1041,7 @@ component("base") {
+@@ -1039,6 +1039,7 @@ component("base") {
      "//build:ios_buildflags",
      "//build/config/compiler:compiler_buildflags",
      "//third_party/modp_b64",
@@ -417,7 +417,7 @@ index 2aa2bd8d68c08359461254875f02fc37f8693058..5d5584d22ead9730876fae2fc3971982
    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 285a406e8cec06bf3beeca81b32e6561528279f9..a82a3653253b8a362d6ae3be41cbaaa017f757ca 100644
+index f71ea08f64ab5cd36f6bd1e2d3d2908d4de80ba6..4b3450b3bd44a35964bd935453861101f999a53a 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 @@
@@ -442,10 +442,10 @@ index 285a406e8cec06bf3beeca81b32e6561528279f9..a82a3653253b8a362d6ae3be41cbaaa0
    // 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 853a95c65674b1011898c64445024bdc30c9709b..2f36496cf77258fe7e7b5eb7c93c6c53ff55abd0 100644
+index 83aa52af49bf5cb26de1e3a32cafc1fc50eff191..055c6ee45f7ca482f1a8292c7fb904d17d238651 100644
 --- a/components/viz/service/BUILD.gn
 +++ b/components/viz/service/BUILD.gn
-@@ -371,6 +371,7 @@ viz_component("service") {
+@@ -372,6 +372,7 @@ viz_component("service") {
          "frame_sinks/external_begin_frame_source_mac.h",
        ]
      }
@@ -453,7 +453,7 @@ index 853a95c65674b1011898c64445024bdc30c9709b..2f36496cf77258fe7e7b5eb7c93c6c53
    }
  
    if (is_android || use_ozone) {
-@@ -645,6 +646,7 @@ viz_source_set("unit_tests") {
+@@ -646,6 +647,7 @@ viz_source_set("unit_tests") {
        "display_embedder/software_output_device_mac_unittest.mm",
      ]
      frameworks = [ "IOSurface.framework" ]
@@ -513,7 +513,7 @@ index dbf334caa3a6d10017b69ad76802e389a011436b..da828823e8195cc9e497866363c9af93
  
    void ForwardKeyboardEvent(const input::NativeWebKeyboardEvent& key_event,
 diff --git a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
-index 7b306925815201084a92db192d623b7d2f4d2691..348b538f286443b08bc979feaaa47a41c469cd4b 100644
+index 13c3fe06c417a2565e6af4552930a56c44a01fb3..ef67191f5d010451cde2b084d6165c7dfe3bbee7 100644
 --- a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
 +++ b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
 @@ -35,6 +35,7 @@
@@ -524,7 +524,7 @@ index 7b306925815201084a92db192d623b7d2f4d2691..348b538f286443b08bc979feaaa47a41
  #include "skia/ext/skia_utils_mac.h"
  #include "third_party/blink/public/common/features.h"
  #include "third_party/blink/public/mojom/input/input_handler.mojom.h"
-@@ -2062,15 +2063,21 @@ - (NSAccessibilityRole)accessibilityRole {
+@@ -2061,15 +2062,21 @@ - (NSAccessibilityRole)accessibilityRole {
  // Since this implementation doesn't have to wait any IPC calls, this doesn't
  // make any key-typing jank. --hbono 7/23/09
  //
@@ -547,10 +547,10 @@ index 7b306925815201084a92db192d623b7d2f4d2691..348b538f286443b08bc979feaaa47a41
    return kAttributes;
  }
 diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
-index aa9fefa344107d0d088668dd2e004be1e9fc8df1..015bc46e90a0e14e33d4ea65c37767a7f8d5681c 100644
+index e2096b8a8ee94c3d4354a4c17d65b55643e520c0..c569ecb529a85bdd350c2e8b52f95bd40658d9e2 100644
 --- a/content/browser/BUILD.gn
 +++ b/content/browser/BUILD.gn
-@@ -319,6 +319,7 @@ source_set("browser") {
+@@ -320,6 +320,7 @@ source_set("browser") {
      "//ui/strings:ax_strings",
      "//ui/touch_selection",
      "//v8:v8_version",
@@ -760,7 +760,7 @@ index a1068589ad844518038ee7bc15a3de9bc5cba525..1ff781c49f086ec8015c7d3c44567dbe
  
  }  // namespace content
 diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
-index 075b7804d631a2107de59f310169353e6da5fffe..6a40b5bd8dae7af5ef231757fd384e4be0508669 100644
+index 0d788588129e6daac4474d4da7e8a12934d849a0..c5004913227aaa9791985138baae964fe929dde7 100644
 --- a/content/test/BUILD.gn
 +++ b/content/test/BUILD.gn
 @@ -638,6 +638,7 @@ static_library("test_support") {
@@ -787,7 +787,7 @@ index 075b7804d631a2107de59f310169353e6da5fffe..6a40b5bd8dae7af5ef231757fd384e4b
    ]
  
    if (!(is_chromeos_ash && target_cpu == "arm64" && current_cpu == "arm")) {
-@@ -3209,6 +3212,7 @@ test("content_unittests") {
+@@ -3210,6 +3213,7 @@ test("content_unittests") {
      "//ui/latency:test_support",
      "//ui/shell_dialogs:shell_dialogs",
      "//ui/webui:test_support",
@@ -1257,7 +1257,7 @@ index 15c835e118456394c0a00ac98c11241c14ca75bd..a16faabe2bd63a5e0fbe9082a3b4b7c8
  
  }  // namespace sandbox
 diff --git a/sandbox/mac/seatbelt_extension.cc b/sandbox/mac/seatbelt_extension.cc
-index b3f017a8be25209a78ed6a1221abcdeeb7904752..64aacf0542cbb899b04a9f957b8d094e9c8669ff 100644
+index 79edca9ca521d1bc2ff343967348eb98039b292a..23f9410ee66024e2c6b0b6b2b356a67b0ae2eba7 100644
 --- a/sandbox/mac/seatbelt_extension.cc
 +++ b/sandbox/mac/seatbelt_extension.cc
 @@ -9,8 +9,10 @@
@@ -1316,8 +1316,8 @@ index b3f017a8be25209a78ed6a1221abcdeeb7904752..64aacf0542cbb899b04a9f957b8d094e
                                            resource.c_str(), 0);
 +#endif
      default:
-       NOTREACHED_IN_MIGRATION();
-       return nullptr;
+       NOTREACHED();
+   }
 diff --git a/sandbox/mac/system_services.cc b/sandbox/mac/system_services.cc
 index eb81a70e4d5d5cd3e6ae9b45f8cd1c795ea76c51..9921ccb10d3455600eddd85f77f10228016389af 100644
 --- a/sandbox/mac/system_services.cc
@@ -1360,7 +1360,7 @@ index eb81a70e4d5d5cd3e6ae9b45f8cd1c795ea76c51..9921ccb10d3455600eddd85f77f10228
  
  }  // namespace sandbox
 diff --git a/third_party/blink/renderer/core/BUILD.gn b/third_party/blink/renderer/core/BUILD.gn
-index d6bdf90cc367cfd2dd8a6bea596593384bcde9d9..1e9a25c205fb3f4c9241623b2ba0f8af443fe010 100644
+index f19b4c977e1d8ba14f35496660925f9f03440ad5..dd1661815cff79738b40e3e5543c4f7bcebbd5ac 100644
 --- a/third_party/blink/renderer/core/BUILD.gn
 +++ b/third_party/blink/renderer/core/BUILD.gn
 @@ -403,6 +403,7 @@ component("core") {
@@ -1372,10 +1372,10 @@ index d6bdf90cc367cfd2dd8a6bea596593384bcde9d9..1e9a25c205fb3f4c9241623b2ba0f8af
  
    if (is_mac) {
 diff --git a/third_party/blink/renderer/core/editing/build.gni b/third_party/blink/renderer/core/editing/build.gni
-index 7f16c41fc7a4ee73b6a720ca195d3bf148bbe730..b0f76b9f709bacc6cd9f74948a556848451b7dc5 100644
+index d38e951cdbf1ab9b367273ad0fb8f962155a7f3b..e39ee0414cb54004096dbfffc4f768e805f3310a 100644
 --- a/third_party/blink/renderer/core/editing/build.gni
 +++ b/third_party/blink/renderer/core/editing/build.gni
-@@ -356,10 +356,14 @@ blink_core_sources_editing = [
+@@ -358,10 +358,14 @@ blink_core_sources_editing = [
  if (is_mac) {
    blink_core_sources_editing += [
      "commands/smart_replace_cf.cc",
@@ -1508,10 +1508,10 @@ index dcf493d62990018040a3f84b6f875af737bd2214..3d1c4dcc9ee0bbfdac15f40d9c74e9f3
  
  void DisplayCALayerTree::GotIOSurfaceFrame(
 diff --git a/ui/accessibility/platform/BUILD.gn b/ui/accessibility/platform/BUILD.gn
-index 2e24201fcdc1ec65688e2b08d28a74a218792af2..6085a8cde3df9a763e0eb63a9620f9971a3f57c8 100644
+index 2b3aad7a639c68c6a131e86352b40128ab6af411..840968e8117dd6657c240fa81f3a42b65a39b733 100644
 --- a/ui/accessibility/platform/BUILD.gn
 +++ b/ui/accessibility/platform/BUILD.gn
-@@ -282,6 +282,7 @@ component("platform") {
+@@ -283,6 +283,7 @@ component("platform") {
          "AppKit.framework",
          "Foundation.framework",
        ]
@@ -1520,7 +1520,7 @@ index 2e24201fcdc1ec65688e2b08d28a74a218792af2..6085a8cde3df9a763e0eb63a9620f997
  
      if (is_ios) {
 diff --git a/ui/accessibility/platform/browser_accessibility_manager_mac.mm b/ui/accessibility/platform/browser_accessibility_manager_mac.mm
-index f9bd6478bea53f2b005c2d57b5f1db5313f77595..be1581eaf1dd1b6a7d1b44c7df3b16c04b6d19bc 100644
+index be442f6a2a67d07ec78fe00a3e864bf0088fe504..2332199d02b98f53375b4e3e40e25018cb584228 100644
 --- a/ui/accessibility/platform/browser_accessibility_manager_mac.mm
 +++ b/ui/accessibility/platform/browser_accessibility_manager_mac.mm
 @@ -13,13 +13,16 @@
@@ -1601,10 +1601,10 @@ index c8171f0527fe5194f0ea73b57c4444d4c630fbc4..c2ac4da580e3e7f749a0a4de1e859af6
    // Accessible object
    if (AXElementWrapper::IsValidElement(value)) {
 diff --git a/ui/base/BUILD.gn b/ui/base/BUILD.gn
-index 79937bebda1b3405a8acbf1559ebd994a3f7bf0b..a64ff04007701c0a1304a7d766f8b2aa034b1ee3 100644
+index f2b93abee260e1cc17c425c6c44e377d11ee1967..c09de27ee1e6d28c0dbbc0d777129e180c92128f 100644
 --- a/ui/base/BUILD.gn
 +++ b/ui/base/BUILD.gn
-@@ -384,6 +384,13 @@ component("base") {
+@@ -381,6 +381,13 @@ component("base") {
      sources += [ "resource/resource_bundle_lacros.cc" ]
    }
  
@@ -1618,7 +1618,7 @@ index 79937bebda1b3405a8acbf1559ebd994a3f7bf0b..a64ff04007701c0a1304a7d766f8b2aa
    if (is_ios) {
      sources += [
        "device_form_factor_ios.mm",
-@@ -535,6 +542,12 @@ component("base") {
+@@ -532,6 +539,12 @@ component("base") {
      "//url",
    ]
  

+ 1 - 1
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 f7d56c7a8307ecdca40a5a19ebe3a6863665dd33..3b0481e6d6b21eac255d717a262bc2c48102ef06 100644
+index d18f5b091d33ef307ec7c416fd5963a002782af2..43fe136e619f0fd4473f44bfb48247d532550b11 100644
 --- a/services/network/network_context.cc
 +++ b/services/network/network_context.cc
 @@ -156,6 +156,11 @@

+ 3 - 3
patches/chromium/notification_provenance.patch

@@ -133,10 +133,10 @@ 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 df5b9668861d2bd39bd561d30dde4dbf299f7771..d9e4bd47e95b1b51630ad2fdd69798342634cb87 100644
+index 7fc25caf3b3f871205a327ff3c8f95829cc7c3db..3c5a891cc1d59e6f7d0aaff00fca39f48fb99567 100644
 --- a/content/browser/renderer_host/render_process_host_impl.cc
 +++ b/content/browser/renderer_host/render_process_host_impl.cc
-@@ -2103,7 +2103,7 @@ void RenderProcessHostImpl::CreateNotificationService(
+@@ -2107,7 +2107,7 @@ void RenderProcessHostImpl::CreateNotificationService(
      case RenderProcessHost::NotificationServiceCreatorType::kSharedWorker:
      case RenderProcessHost::NotificationServiceCreatorType::kDedicatedWorker: {
        storage_partition_impl_->GetPlatformNotificationContext()->CreateService(
@@ -145,7 +145,7 @@ index df5b9668861d2bd39bd561d30dde4dbf299f7771..d9e4bd47e95b1b51630ad2fdd6979834
            creator_type, std::move(receiver));
        break;
      }
-@@ -2111,7 +2111,7 @@ void RenderProcessHostImpl::CreateNotificationService(
+@@ -2115,7 +2115,7 @@ void RenderProcessHostImpl::CreateNotificationService(
        CHECK(rfh);
  
        storage_partition_impl_->GetPlatformNotificationContext()->CreateService(

+ 1 - 1
patches/chromium/osr_shared_texture_remove_keyed_mutex_on_win_dxgi.patch

@@ -36,7 +36,7 @@ index 2096591596a26464ab8f71a399ccb16a04edfd59..9eb966b3ddc3551d6beeff123071b2c9
    Microsoft::WRL::ComPtr<ID3D11Texture2D> d3d11_texture;
  
 diff --git a/media/video/renderable_gpu_memory_buffer_video_frame_pool.cc b/media/video/renderable_gpu_memory_buffer_video_frame_pool.cc
-index cf5bde2e431fd137ce3501e2a913aa5a3dad5d5b..2f1d64464d76fdbd9af69c8b122e508219d1cced 100644
+index 596affaba0993b3db652e5deee3c8d6ba25eb21f..e9c94742fe318dfd0e8d510f3ea0e0020145a2a0 100644
 --- a/media/video/renderable_gpu_memory_buffer_video_frame_pool.cc
 +++ b/media/video/renderable_gpu_memory_buffer_video_frame_pool.cc
 @@ -205,7 +205,7 @@ gfx::Size GetBufferSizeInPixelsForVideoPixelFormat(

+ 2 - 2
patches/chromium/partially_revert_is_newly_created_to_allow_for_browser_initiated.patch

@@ -10,10 +10,10 @@ 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 7a53533b8c359da84ca96fe90b2016152e405ec2..e0ac3e9e7e1527f57b7eec65e576fc17d41c00e9 100644
+index 2beea79e54b8fb1aeccafeb28affdd4609dd6851..97c3e3d9b8ba1badbdf7645f2c75193e28ce5ebe 100644
 --- a/content/browser/renderer_host/render_frame_host_impl.cc
 +++ b/content/browser/renderer_host/render_frame_host_impl.cc
-@@ -778,8 +778,8 @@ void VerifyThatBrowserAndRendererCalculatedOriginsToCommitMatch(
+@@ -782,8 +782,8 @@ void VerifyThatBrowserAndRendererCalculatedOriginsToCommitMatch(
    // TODO(crbug.com/40092527): Consider adding a separate boolean that
    // tracks this instead of piggybacking `origin_calculation_debug_info`.
    if (renderer_side_origin.opaque() &&

+ 5 - 5
patches/chromium/printing.patch

@@ -653,7 +653,7 @@ index 3c2fdc9f9a6c60efc4b0afacbfb83eef55917791..8fd9aff538fa03da6c171927c316d4f6
    PrintingFailed(int32 cookie, PrintFailureReason reason);
  
 diff --git a/components/printing/renderer/print_render_frame_helper.cc b/components/printing/renderer/print_render_frame_helper.cc
-index ac1a772808f4755783ac55514ca7b20dbd5dfe8d..177aa0f442446bb079b55c9de2f9dc9f64a4520c 100644
+index 76001bddef2e4662f3f98ecb7439475ea91378aa..06f291bb3ecff3f0948bd671878a4e8d942bbcbb 100644
 --- a/components/printing/renderer/print_render_frame_helper.cc
 +++ b/components/printing/renderer/print_render_frame_helper.cc
 @@ -51,6 +51,7 @@
@@ -860,10 +860,10 @@ index 14de029740ffbebe06d309651c1a2c007d9fb96b..e9bf9c5bef2a9235260e7d6c8d26d415
    ScriptingThrottler scripting_throttler_;
  
 diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
-index 015bc46e90a0e14e33d4ea65c37767a7f8d5681c..c6f9a35dff7c29df69fc54df41117bfcd5f0ad0e 100644
+index c569ecb529a85bdd350c2e8b52f95bd40658d9e2..6611cc0f6aa5cbbcdc2823ca944fa72ef5578b80 100644
 --- a/content/browser/BUILD.gn
 +++ b/content/browser/BUILD.gn
-@@ -3011,8 +3011,9 @@ source_set("browser") {
+@@ -3000,8 +3000,9 @@ source_set("browser") {
        "//ppapi/shared_impl",
      ]
  
@@ -912,10 +912,10 @@ index 63f170c95050416c595e62f4c460c4cd6b7dbd1c..157e3d046889f9c63fdf0fd5d503890f
    virtual mojom::ResultCode OnError();
  
 diff --git a/sandbox/policy/mac/sandbox_mac.mm b/sandbox/policy/mac/sandbox_mac.mm
-index 7a65f7f2d68edb74fbaf74fe41949ed9cc198b25..4d7c59e93d71b624d4e93e643932c8167536ec6b 100644
+index 1e15568ad872c01c7c588ced81897f8dc229247a..ca528863a2dab2f437bbe95b343ccd334750d410 100644
 --- a/sandbox/policy/mac/sandbox_mac.mm
 +++ b/sandbox/policy/mac/sandbox_mac.mm
-@@ -35,6 +35,10 @@
+@@ -36,6 +36,10 @@
  #include "sandbox/policy/mac/utility.sb.h"
  #include "sandbox/policy/mojom/sandbox.mojom.h"
  

+ 3 - 3
patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch

@@ -30,7 +30,7 @@ index 84085ac531eb9d0d34dad6390862e05c8af90955..207120ce536cd0a8c5aadda8c57a71c7
    // 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 3ca8b3839f99534224ee4f110ae1bb4f692c1b3c..a5094a38ceaad3cd671aff988e5f99d273156459 100644
+index 42aada7b5eb7e18708f854cdda74d16eacc23415..34796157de1c24dc03ed9fb4c3123cea7d57a570 100644
 --- a/content/browser/renderer_host/render_widget_host_impl.cc
 +++ b/content/browser/renderer_host/render_widget_host_impl.cc
 @@ -1977,6 +1977,9 @@ void RenderWidgetHostImpl::SetCursor(const ui::Cursor& cursor) {
@@ -44,10 +44,10 @@ index 3ca8b3839f99534224ee4f110ae1bb4f692c1b3c..a5094a38ceaad3cd671aff988e5f99d2
  
  void RenderWidgetHostImpl::ShowContextMenuAtPoint(
 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index 30b5caf0379d8209ee92945be69cc8aac98c7666..362b94678c1add8d3d3baeb6dd1caec0dab87f16 100644
+index 1dc6de327d29fe89486ef84c2ccea96bb38136b5..9e79f504a18e943d56ef02d2424403e0acbe157e 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -5503,6 +5503,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
+@@ -5575,6 +5575,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
    return text_input_manager_.get();
  }
  

+ 1 - 1
patches/chromium/refactor_expose_file_system_access_blocklist.patch

@@ -8,7 +8,7 @@ it in Electron and prevent drift from Chrome's blocklist. We should look for a w
 to upstream this change to Chrome.
 
 diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
-index cb355631515e91e5f18fc64cd008b9302846bbd2..7578943359ec068bcdd3d5c645f7c7528f699b27 100644
+index 027b494015450002f676303f54874636e4cc4115..a7540f3e625978792bd0bbcb444b54ab25f8b39b 100644
 --- a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
 +++ b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
 @@ -42,7 +42,6 @@

+ 8 - 8
patches/chromium/refactor_expose_hostimportmoduledynamically_and.patch

@@ -7,10 +7,10 @@ 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 e62b8a5a3d358135dc2fd31cc1572274e955cc2c..5c070396cf3cf9877c1572cbd0d13f31d73991bb 100644
+index 9d7679d1979b21b58ac08723589a48fbff85c9e0..2647b325aefb15721c098d68ef401957e5f14273 100644
 --- a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
 +++ b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
-@@ -610,7 +610,9 @@ bool WasmJSPromiseIntegrationEnabledCallback(v8::Local<v8::Context> context) {
+@@ -638,7 +638,9 @@ bool WasmJSPromiseIntegrationEnabledCallback(v8::Local<v8::Context> context) {
        execution_context);
  }
  
@@ -21,7 +21,7 @@ index e62b8a5a3d358135dc2fd31cc1572274e955cc2c..5c070396cf3cf9877c1572cbd0d13f31
      v8::Local<v8::Context> context,
      v8::Local<v8::Data> v8_host_defined_options,
      v8::Local<v8::Value> v8_referrer_resource_url,
-@@ -688,7 +690,7 @@ v8::MaybeLocal<v8::Promise> HostImportModuleDynamically(
+@@ -716,7 +718,7 @@ v8::MaybeLocal<v8::Promise> HostImportModuleDynamically(
  }
  
  // https://html.spec.whatwg.org/C/#hostgetimportmetaproperties
@@ -30,7 +30,7 @@ index e62b8a5a3d358135dc2fd31cc1572274e955cc2c..5c070396cf3cf9877c1572cbd0d13f31
                                   v8::Local<v8::Module> module,
                                   v8::Local<v8::Object> meta) {
    v8::Isolate* isolate = context->GetIsolate();
-@@ -731,9 +733,6 @@ std::ostream& operator<<(std::ostream& os, const PrintV8OOM& oom_details) {
+@@ -759,9 +761,6 @@ std::ostream& operator<<(std::ostream& os, const PrintV8OOM& oom_details) {
    return os;
  }
  
@@ -40,7 +40,7 @@ index e62b8a5a3d358135dc2fd31cc1572274e955cc2c..5c070396cf3cf9877c1572cbd0d13f31
  void V8Initializer::InitializeV8Common(v8::Isolate* isolate) {
    // Set up garbage collection before setting up anything else as V8 may trigger
    // GCs during Blink setup.
-@@ -753,9 +752,9 @@ void V8Initializer::InitializeV8Common(v8::Isolate* isolate) {
+@@ -781,9 +780,9 @@ void V8Initializer::InitializeV8Common(v8::Isolate* isolate) {
    isolate->SetWasmJSPIEnabledCallback(WasmJSPromiseIntegrationEnabledCallback);
    isolate->SetSharedArrayBufferConstructorEnabledCallback(
        SharedArrayBufferConstructorEnabledCallback);
@@ -53,12 +53,12 @@ index e62b8a5a3d358135dc2fd31cc1572274e955cc2c..5c070396cf3cf9877c1572cbd0d13f31
  
  #if BUILDFLAG(IS_WIN)
 diff --git a/third_party/blink/renderer/bindings/core/v8/v8_initializer.h b/third_party/blink/renderer/bindings/core/v8/v8_initializer.h
-index 2e0fd8cdef733677f8e1d32b3d8e0c635e0a5052..1df4517f9b5926c1dc5333aa6fc9cc1290256c70 100644
+index c3aa714d99a398e29e52c3acb16fc555231d0e4a..6698228c6e76676c6a5cdb39c0d17e2add5547df 100644
 --- a/third_party/blink/renderer/bindings/core/v8/v8_initializer.h
 +++ b/third_party/blink/renderer/bindings/core/v8/v8_initializer.h
-@@ -84,6 +84,17 @@ class CORE_EXPORT V8Initializer {
-       v8::Local<v8::Value> data);
+@@ -85,6 +85,17 @@ class CORE_EXPORT V8Initializer {
    static void PromiseRejectHandlerInMainThread(v8::PromiseRejectMessage data);
+   static void ExceptionPropagationCallback(v8::ExceptionPropagationMessage);
  
 +  static v8::MaybeLocal<v8::Promise> HostImportModuleDynamically(
 +    v8::Local<v8::Context> context,

+ 1 - 1
patches/chromium/render_widget_host_view_mac.patch

@@ -8,7 +8,7 @@ respond to the first mouse click in their window, which is desirable for some
 kinds of utility windows. Similarly for `disableAutoHideCursor`.
 
 diff --git a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
-index 89b5fb70f4efdd961edab218971aead2b515166e..7b306925815201084a92db192d623b7d2f4d2691 100644
+index f7ead5e49e4ba93744eab12c8cb21a4f3b6a0d65..13c3fe06c417a2565e6af4552930a56c44a01fb3 100644
 --- a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
 +++ b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
 @@ -169,6 +169,15 @@ void ExtractUnderlines(NSAttributedString* string,

+ 2 - 2
patches/chromium/scroll_bounce_flag.patch

@@ -6,10 +6,10 @@ Subject: scroll_bounce_flag.patch
 Patch to make scrollBounce option work.
 
 diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
-index 57306f7731a6a19933a977ad789366f0008dcfe8..d26c50e8405be6a80dfacd60e451a45ecfb81b07 100644
+index 09cc182f71290dc622d17fcbd1d6e533a3eabb75..a1f9f412b02813b4d6a296dda56f8f6d75cdee92 100644
 --- a/content/renderer/render_thread_impl.cc
 +++ b/content/renderer/render_thread_impl.cc
-@@ -1275,7 +1275,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() {
+@@ -1276,7 +1276,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() {
  }
  
  bool RenderThreadImpl::IsElasticOverscrollEnabled() {

+ 2 - 2
patches/chromium/support_mixed_sandbox_with_zygote.patch

@@ -22,10 +22,10 @@ However, the patch would need to be reviewed by the security team, as it
 does touch a security-sensitive class.
 
 diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
-index d9e4bd47e95b1b51630ad2fdd69798342634cb87..bd7bf31c8d4a4b28a09dafd8e97d8b86d50aa893 100644
+index 3c5a891cc1d59e6f7d0aaff00fca39f48fb99567..b5ac9f952697790671d5dbd9c5807fb8dbce5bb3 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() {
+@@ -1752,6 +1752,10 @@ bool RenderProcessHostImpl::Init() {
      std::unique_ptr<SandboxedProcessLauncherDelegate> sandbox_delegate =
          std::make_unique<RendererSandboxedProcessLauncherDelegateWin>(
              *cmd_line, IsPdf(), IsJitDisabled());

+ 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 2101c84a1af87ad01825fa0f683647363ae02e18..d7c521c9f1b2a0b4c241302e9cda11a80023c9a6 100644
+index dd2f2912bd76e43a08dd5149c13a1b49b1565290..cb878dbcb0b22e8ab71a76589742c6e908ac57ad 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -3675,6 +3675,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
+@@ -3744,6 +3744,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 2101c84a1af87ad01825fa0f683647363ae02e18..d7c521c9f1b2a0b4c241302e9cda11a8
    std::unique_ptr<WebContentsViewDelegate> delegate =
        GetContentClient()->browser()->GetWebContentsViewDelegate(this);
  
-@@ -3685,6 +3692,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
+@@ -3754,6 +3761,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
      view_ = CreateWebContentsView(this, std::move(delegate),
                                    &render_view_host_delegate_view_);
    }
@@ -35,7 +35,7 @@ index 2101c84a1af87ad01825fa0f683647363ae02e18..d7c521c9f1b2a0b4c241302e9cda11a8
    CHECK(view_.get());
  
 diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h
-index e3351da92040c9b9f0f5c20d0257f916ba61d5aa..cc988ccd1dad50487b605d74cd117140ebfcc828 100644
+index 531789d666a8db1aecce56a6cfbf9dc188a5dd12..ea15666ba13f20cc56ab18176606481cbd04fae5 100644
 --- a/content/public/browser/web_contents.h
 +++ b/content/public/browser/web_contents.h
 @@ -110,10 +110,13 @@ class BrowserContext;

+ 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 5ca1a4ff1c2e3acb3988bba651153a334058911d..7a53533b8c359da84ca96fe90b2016152e405ec2 100644
+index 556086106747673de32486df2e82f98f165a9156..2beea79e54b8fb1aeccafeb28affdd4609dd6851 100644
 --- a/content/browser/renderer_host/render_frame_host_impl.cc
 +++ b/content/browser/renderer_host/render_frame_host_impl.cc
-@@ -8060,6 +8060,17 @@ void RenderFrameHostImpl::EnterFullscreen(
+@@ -8189,6 +8189,17 @@ void RenderFrameHostImpl::EnterFullscreen(
      }
    }
  
@@ -37,10 +37,10 @@ index 5ca1a4ff1c2e3acb3988bba651153a334058911d..7a53533b8c359da84ca96fe90b201615
    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 d7c521c9f1b2a0b4c241302e9cda11a80023c9a6..56a5730482e667d1d141f546fa263792a2c2f246 100644
+index cb878dbcb0b22e8ab71a76589742c6e908ac57ad..80b1df58edeac63e52758d5f7da87687765c7bf7 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -3930,21 +3930,25 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent(
+@@ -3999,21 +3999,25 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent(
      const input::NativeWebKeyboardEvent& event) {
    OPTIONAL_TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("content.verbose"),
                          "WebContentsImpl::PreHandleKeyboardEvent");
@@ -78,7 +78,7 @@ index d7c521c9f1b2a0b4c241302e9cda11a80023c9a6..56a5730482e667d1d141f546fa263792
  }
  
  bool WebContentsImpl::HandleMouseEvent(const blink::WebMouseEvent& event) {
-@@ -4103,7 +4107,7 @@ void WebContentsImpl::EnterFullscreenMode(
+@@ -4172,7 +4176,7 @@ void WebContentsImpl::EnterFullscreenMode(
    OPTIONAL_TRACE_EVENT0("content", "WebContentsImpl::EnterFullscreenMode");
    DCHECK(CanEnterFullscreenMode(requesting_frame));
    DCHECK(requesting_frame->IsActive());

+ 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 f1bb3ce9f08a802e45dffecf68658676374ab868..8baf78ff2695c98ac5b24d3ca0ca4b62c8fc1e74 100644
+index 3a5a863abf8fa966eb7c118d17adbd1217e0f6a6..0441afc49db9e835897844dace9309fde6a328a1 100644
 --- a/front_end/entrypoints/main/MainImpl.ts
 +++ b/front_end/entrypoints/main/MainImpl.ts
-@@ -769,6 +769,8 @@ export class MainImpl {
+@@ -763,6 +763,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 71a6c2c9c149116caa410d25aef4087774b81b44..ad8416ea2500f10aad31f25da96b235f
    V8_INLINE static void* GetAlignedPointerFromInternalField(
        const BasicTracedReference<Object>& object, int index) {
 diff --git a/src/api/api.cc b/src/api/api.cc
-index 5c2923db8f93d6cbbcfd8b66d8d7d23d76fd68d0..d8e613018d03f02218dd9cecf52881df28ca6a71 100644
+index 6aa29b3512bf4c39617b71e7398b147f09304f33..07caf2ad8666a6c399b3f3ed39bb7d0132a1db7a 100644
 --- a/src/api/api.cc
 +++ b/src/api/api.cc
-@@ -6401,14 +6401,33 @@ Local<Data> v8::Object::SlowGetInternalField(int index) {
+@@ -6398,14 +6398,33 @@ Local<Data> v8::Object::SlowGetInternalField(int index) {
        i::Cast<i::JSObject>(*obj)->GetEmbedderField(index), isolate));
  }
  

+ 1 - 0
shell/browser/electron_browser_client.cc

@@ -924,6 +924,7 @@ bool ElectronBrowserClient::HandleExternalProtocol(
     bool has_user_gesture,
     const std::optional<url::Origin>& initiating_origin,
     content::RenderFrameHost* initiator_document,
+    const net::IsolationInfo& isolation_info,
     mojo::PendingRemote<network::mojom::URLLoaderFactory>* out_factory) {
   content::GetUIThreadTaskRunner({})->PostTask(
       FROM_HERE,

+ 1 - 0
shell/browser/electron_browser_client.h

@@ -276,6 +276,7 @@ class ElectronBrowserClient : public content::ContentBrowserClient,
       bool has_user_gesture,
       const std::optional<url::Origin>& initiating_origin,
       content::RenderFrameHost* initiator_document,
+      const net::IsolationInfo& isolation_info,
       mojo::PendingRemote<network::mojom::URLLoaderFactory>* out_factory)
       override;
   std::unique_ptr<content::LoginDelegate> CreateLoginDelegate(

+ 1 - 4
shell/browser/file_system_access/file_system_access_permission_context.cc

@@ -155,11 +155,8 @@ bool ShouldBlockAccessToPath(const base::FilePath& path,
 #if BUILDFLAG(IS_WIN)
   // On Windows, local UNC paths are rejected, as UNC path can be written in a
   // way that can bypass the blocklist.
-  if (base::FeatureList::IsEnabled(
-          features::kFileSystemAccessLocalUNCPathBlock) &&
-      MaybeIsLocalUNCPath(path)) {
+  if (MaybeIsLocalUNCPath(path))
     return true;
-  }
 #endif  // BUILDFLAG(IS_WIN)
 
   // Add the hard-coded rules to the dynamic rules.

+ 15 - 15
shell/browser/native_window_views.cc

@@ -411,9 +411,9 @@ NativeWindowViews::NativeWindowViews(const gin_helper::Dictionary& options,
 #if BUILDFLAG(IS_WIN)
   // Save initial window state.
   if (fullscreen)
-    last_window_state_ = ui::SHOW_STATE_FULLSCREEN;
+    last_window_state_ = ui::mojom::WindowShowState::kFullscreen;
   else
-    last_window_state_ = ui::SHOW_STATE_NORMAL;
+    last_window_state_ = ui::mojom::WindowShowState::kNormal;
 #endif
 
   // Listen to mouse events.
@@ -641,8 +641,8 @@ void NativeWindowViews::Maximize() {
   if (IsVisible()) {
     widget()->Maximize();
   } else {
-    widget()->native_widget_private()->Show(ui::SHOW_STATE_MAXIMIZED,
-                                            gfx::Rect());
+    widget()->native_widget_private()->Show(
+        ui::mojom::WindowShowState::kMaximized, gfx::Rect());
     NotifyWindowShow();
   }
 }
@@ -690,8 +690,8 @@ void NativeWindowViews::Minimize() {
   if (IsVisible())
     widget()->Minimize();
   else
-    widget()->native_widget_private()->Show(ui::SHOW_STATE_MINIMIZED,
-                                            gfx::Rect());
+    widget()->native_widget_private()->Show(
+        ui::mojom::WindowShowState::kMinimized, gfx::Rect());
 }
 
 void NativeWindowViews::Restore() {
@@ -715,10 +715,10 @@ void NativeWindowViews::SetFullScreen(bool fullscreen) {
   bool leaving_fullscreen = IsFullscreen() && !fullscreen;
 
   if (fullscreen) {
-    last_window_state_ = ui::SHOW_STATE_FULLSCREEN;
+    last_window_state_ = ui::mojom::WindowShowState::kFullscreen;
     NotifyWindowEnterFullScreen();
   } else {
-    last_window_state_ = ui::SHOW_STATE_NORMAL;
+    last_window_state_ = ui::mojom::WindowShowState::kNormal;
     NotifyWindowLeaveFullScreen();
   }
 
@@ -768,8 +768,8 @@ void NativeWindowViews::SetFullScreen(bool fullscreen) {
   if (IsVisible())
     widget()->SetFullscreen(fullscreen);
   else if (fullscreen)
-    widget()->native_widget_private()->Show(ui::SHOW_STATE_FULLSCREEN,
-                                            gfx::Rect());
+    widget()->native_widget_private()->Show(
+        ui::mojom::WindowShowState::kFullscreen, gfx::Rect());
 
   // Auto-hide menubar when in fullscreen.
   if (fullscreen) {
@@ -1777,22 +1777,22 @@ void NativeWindowViews::OnMouseEvent(ui::MouseEvent* event) {
 #endif
 }
 
-ui::WindowShowState NativeWindowViews::GetRestoredState() {
+ui::mojom::WindowShowState NativeWindowViews::GetRestoredState() {
   if (IsMaximized()) {
 #if BUILDFLAG(IS_WIN)
     // Only restore Maximized state when window is NOT transparent style
     if (!transparent()) {
-      return ui::SHOW_STATE_MAXIMIZED;
+      return ui::mojom::WindowShowState::kMaximized;
     }
 #else
-    return ui::SHOW_STATE_MAXIMIZED;
+    return ui::mojom::WindowShowState::kMinimized;
 #endif
   }
 
   if (IsFullscreen())
-    return ui::SHOW_STATE_FULLSCREEN;
+    return ui::mojom::WindowShowState::kFullscreen;
 
-  return ui::SHOW_STATE_NORMAL;
+  return ui::mojom::WindowShowState::kNormal;
 }
 
 void NativeWindowViews::MoveBehindTaskBarIfNeeded() {

+ 2 - 2
shell/browser/native_window_views.h

@@ -231,7 +231,7 @@ class NativeWindowViews : public NativeWindow,
   void OnMouseEvent(ui::MouseEvent* event) override;
 
   // Returns the restore state for the window.
-  ui::WindowShowState GetRestoredState();
+  ui::mojom::WindowShowState GetRestoredState();
 
   // Maintain window placement.
   void MoveBehindTaskBarIfNeeded();
@@ -262,7 +262,7 @@ class NativeWindowViews : public NativeWindow,
 
 #if BUILDFLAG(IS_WIN)
 
-  ui::WindowShowState last_window_state_;
+  ui::mojom::WindowShowState last_window_state_;
 
   gfx::Rect last_normal_placement_bounds_;
 

+ 12 - 12
shell/browser/native_window_views_win.cc

@@ -213,8 +213,8 @@ void NativeWindowViews::Maximize() {
     if (IsVisible()) {
       widget()->Maximize();
     } else {
-      widget()->native_widget_private()->Show(ui::SHOW_STATE_MAXIMIZED,
-                                              gfx::Rect());
+      widget()->native_widget_private()->Show(
+          ui::mojom::WindowShowState::kMaximized, gfx::Rect());
       NotifyWindowShow();
     }
   } else {
@@ -458,31 +458,31 @@ void NativeWindowViews::HandleSizeEvent(WPARAM w_param, LPARAM l_param) {
       // Note that SIZE_MAXIMIZED and SIZE_MINIMIZED might be emitted for
       // multiple times for one resize because of the SetWindowPlacement call.
       if (w_param == SIZE_MAXIMIZED &&
-          last_window_state_ != ui::SHOW_STATE_MAXIMIZED) {
-        if (last_window_state_ == ui::SHOW_STATE_MINIMIZED)
+          last_window_state_ != ui::mojom::WindowShowState::kMaximized) {
+        if (last_window_state_ == ui::mojom::WindowShowState::kMinimized)
           NotifyWindowRestore();
-        last_window_state_ = ui::SHOW_STATE_MAXIMIZED;
+        last_window_state_ = ui::mojom::WindowShowState::kMaximized;
         NotifyWindowMaximize();
         ResetWindowControls();
       } else if (w_param == SIZE_MINIMIZED &&
-                 last_window_state_ != ui::SHOW_STATE_MINIMIZED) {
-        last_window_state_ = ui::SHOW_STATE_MINIMIZED;
+                 last_window_state_ != ui::mojom::WindowShowState::kMinimized) {
+        last_window_state_ = ui::mojom::WindowShowState::kMinimized;
         NotifyWindowMinimize();
       }
       break;
     }
     case SIZE_RESTORED: {
       switch (last_window_state_) {
-        case ui::SHOW_STATE_MAXIMIZED:
-          last_window_state_ = ui::SHOW_STATE_NORMAL;
+        case ui::mojom::WindowShowState::kMaximized:
+          last_window_state_ = ui::mojom::WindowShowState::kNormal;
           NotifyWindowUnmaximize();
           break;
-        case ui::SHOW_STATE_MINIMIZED:
+        case ui::mojom::WindowShowState::kMinimized:
           if (IsFullscreen()) {
-            last_window_state_ = ui::SHOW_STATE_FULLSCREEN;
+            last_window_state_ = ui::mojom::WindowShowState::kFullscreen;
             NotifyWindowEnterFullScreen();
           } else {
-            last_window_state_ = ui::SHOW_STATE_NORMAL;
+            last_window_state_ = ui::mojom::WindowShowState::kNormal;
             NotifyWindowRestore();
           }
           break;

+ 3 - 2
shell/browser/ui/views/electron_views_delegate.cc

@@ -37,13 +37,14 @@ ViewsDelegate::~ViewsDelegate() = default;
 void ViewsDelegate::SaveWindowPlacement(const views::Widget* window,
                                         const std::string& window_name,
                                         const gfx::Rect& bounds,
-                                        ui::WindowShowState show_state) {}
+                                        ui::mojom::WindowShowState show_state) {
+}
 
 bool ViewsDelegate::GetSavedWindowPlacement(
     const views::Widget* widget,
     const std::string& window_name,
     gfx::Rect* bounds,
-    ui::WindowShowState* show_state) const {
+    ui::mojom::WindowShowState* show_state) const {
   return false;
 }
 

+ 6 - 5
shell/browser/ui/views/electron_views_delegate.h

@@ -27,11 +27,12 @@ class ViewsDelegate : public views::ViewsDelegate {
   void SaveWindowPlacement(const views::Widget* window,
                            const std::string& window_name,
                            const gfx::Rect& bounds,
-                           ui::WindowShowState show_state) override;
-  bool GetSavedWindowPlacement(const views::Widget* widget,
-                               const std::string& window_name,
-                               gfx::Rect* bounds,
-                               ui::WindowShowState* show_state) const override;
+                           ui::mojom::WindowShowState show_state) override;
+  bool GetSavedWindowPlacement(
+      const views::Widget* widget,
+      const std::string& window_name,
+      gfx::Rect* bounds,
+      ui::mojom::WindowShowState* show_state) const override;
   void NotifyMenuItemFocused(const std::u16string& menu_name,
                              const std::u16string& menu_item_name,
                              int item_index,

+ 1 - 1
spec/asar-integrity-spec.ts

@@ -54,7 +54,7 @@ const expectToHaveCrashed = (res: SpawnResult) => {
     expect(res.signal).to.equal(null);
   } else {
     expect(res.code).to.equal(null);
-    expect(res.signal).to.equal('SIGTRAP');
+    expect(res.signal).to.be.oneOf(['SIGABRT', 'SIGTRAP']);
   }
 };