Browse Source

chore: bump chromium to 111.0.5563.50 (24-x-y) (#37223)

* chore: bump chromium in DEPS to 111.0.5563.19

* chore: bump chromium in DEPS to 111.0.5563.33

* chore: bump chromium in DEPS to 111.0.5563.41

* chore: update patches

* refactor: remove GetFontLookupTableCacheDir

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/4191820
(cherry picked from commit 52740f127f3b98ee6cd9499dcacbc6b92eb0071b)

* chore: remove dead DecodeToken code

(cherry picked from commit e7ac425771fdba03b21bdbaff50014624c9ad741)

* chore: add stub impls for WCO routing

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/4182690
(cherry picked from commit 911e353b07099b3260163f35b647eec2970d2ef7)

* refacotr: switch mojom::NetworkHintsHandler to use SchemeHostPair instead of URL

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/4185417
(cherry picked from commit a8b3befdd72495a6a93ce9aebeed3ae3ced8ce41)

* chore: bump chromium in DEPS to 111.0.5563.50

* chore: update patches

* 4240360: [intl] Revert date formatting behavior change from ICU 72

https://chromium-review.googlesource.com/c/v8/v8/+/4240360

* chore: update patches

---------

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <[email protected]>
Co-authored-by: Samuel Attard <[email protected]>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
electron-roller[bot] 2 years ago
parent
commit
29ced1215a
56 changed files with 206 additions and 242 deletions
  1. 1 1
      DEPS
  2. 11 11
      patches/chromium/add_didinstallconditionalfeatures.patch
  3. 2 2
      patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch
  4. 3 3
      patches/chromium/blink_local_frame.patch
  5. 8 8
      patches/chromium/build_disable_partition_alloc_on_mac.patch
  6. 8 8
      patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch
  7. 1 1
      patches/chromium/build_gn.patch
  8. 6 6
      patches/chromium/build_only_use_the_mas_build_config_in_the_required_components.patch
  9. 9 9
      patches/chromium/can_create_window.patch
  10. 3 3
      patches/chromium/chore_add_electron_deps_to_gitignores.patch
  11. 5 5
      patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch
  12. 2 2
      patches/chromium/chrome_key_systems.patch
  13. 3 3
      patches/chromium/create_browser_v8_snapshot_file_name_fuse.patch
  14. 2 2
      patches/chromium/expose_v8initializer_codegenerationcheckcallbackinmainthread.patch
  15. 2 2
      patches/chromium/extend_apply_webpreferences.patch
  16. 15 15
      patches/chromium/feat_allow_embedders_to_add_observers_on_created_hunspell.patch
  17. 3 3
      patches/chromium/feat_configure_launch_options_for_service_process.patch
  18. 3 3
      patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch
  19. 4 4
      patches/chromium/feat_expose_raw_response_headers_from_urlloader.patch
  20. 2 2
      patches/chromium/fix_allow_guest_webcontents_to_enter_fullscreen.patch
  21. 5 5
      patches/chromium/fix_crash_loading_non-standard_schemes_in_iframes.patch
  22. 4 4
      patches/chromium/fix_expose_decrementcapturercount_in_web_contents_impl.patch
  23. 2 2
      patches/chromium/fix_on-screen-keyboard_hides_on_input_blur_in_webview.patch
  24. 1 1
      patches/chromium/fix_properly_honor_printing_page_ranges.patch
  25. 5 5
      patches/chromium/fix_return_v8_value_from_localframe_requestexecutescript.patch
  26. 3 3
      patches/chromium/frame_host_manager.patch
  27. 3 3
      patches/chromium/gin_enable_disable_v8_platform.patch
  28. 2 2
      patches/chromium/hack_to_allow_gclient_sync_with_host_os_mac_on_linux_in_ci.patch
  29. 3 5
      patches/chromium/logging_win32_only_create_a_console_if_logging_to_stderr.patch
  30. 7 7
      patches/chromium/mas_disable_remote_accessibility.patch
  31. 3 3
      patches/chromium/mas_no_private_api.patch
  32. 3 3
      patches/chromium/notification_provenance.patch
  33. 6 6
      patches/chromium/port_autofill_colors_to_the_color_pipeline.patch
  34. 3 3
      patches/chromium/printing.patch
  35. 4 4
      patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch
  36. 1 1
      patches/chromium/render_widget_host_view_mac.patch
  37. 3 3
      patches/chromium/resource_file_conflict.patch
  38. 4 4
      patches/chromium/upload_list_add_loadsync_method.patch
  39. 6 6
      patches/chromium/web_contents.patch
  40. 1 1
      patches/chromium/webview_cross_drag.patch
  41. 2 2
      patches/chromium/webview_fullscreen.patch
  42. 1 0
      patches/node/.patches
  43. 24 0
      patches/node/intl_revert_date_formatting_behavior_change_from_icu_72.patch
  44. 0 1
      patches/v8/.patches
  45. 2 2
      patches/v8/build_gn.patch
  46. 0 44
      patches/v8/disable_the_use_of_preserve_most_on_arm64_windows.patch
  47. 1 1
      patches/v8/do_not_export_private_v8_symbols_on_windows.patch
  48. 2 2
      patches/v8/expose_mksnapshot.patch
  49. 4 4
      patches/v8/fix_build_deprecated_attribute_for_older_msvc_versions.patch
  50. 0 7
      shell/browser/electron_browser_client.cc
  51. 0 1
      shell/browser/electron_browser_client.h
  52. 2 2
      shell/browser/network_hints_handler_impl.cc
  53. 2 1
      shell/browser/network_hints_handler_impl.h
  54. 3 0
      shell/browser/osr/osr_web_contents_view.cc
  55. 1 0
      shell/browser/osr/osr_web_contents_view.h
  56. 0 11
      shell/browser/serial/serial_chooser_context.cc

+ 1 - 1
DEPS

@@ -2,7 +2,7 @@ gclient_gn_args_from = 'src'
 
 vars = {
   'chromium_version':
-    '111.0.5560.0',
+    '111.0.5563.50',
   'node_version':
     'v18.14.0',
   'nan_version':

+ 11 - 11
patches/chromium/add_didinstallconditionalfeatures.patch

@@ -10,7 +10,7 @@ DidCreateScriptContext is called, not all JS APIs are available in the
 context, which can cause some preload scripts to trip.
 
 diff --git a/content/public/renderer/render_frame_observer.h b/content/public/renderer/render_frame_observer.h
-index 7eaed5e4ce1f8a46d1e25f8838cf52b3676a7fb5..8f2bd75d29acfc212f2e680caf63c428aedb16b9 100644
+index 6c92a2856e447bdda11c7ed2c64b79b93a0eca26..03dedde2d83e6b09fb7e90be7dfdce246f301d8f 100644
 --- a/content/public/renderer/render_frame_observer.h
 +++ b/content/public/renderer/render_frame_observer.h
 @@ -136,6 +136,8 @@ class CONTENT_EXPORT RenderFrameObserver : public IPC::Listener,
@@ -23,10 +23,10 @@ index 7eaed5e4ce1f8a46d1e25f8838cf52b3676a7fb5..8f2bd75d29acfc212f2e680caf63c428
                                          int32_t world_id) {}
    virtual void DidClearWindowObject() {}
 diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
-index a0123eac7193282dbfba9712f0d88b2b87fccd9f..137c78c4441d58d9e8822aa87a2389126a80e1aa 100644
+index af97f29bbe4e1f4e67845cbd14c7aeb9bf4177ab..6a400f5d28f3e2485073a366e50cdfe2a83904ef 100644
 --- a/content/renderer/render_frame_impl.cc
 +++ b/content/renderer/render_frame_impl.cc
-@@ -4407,6 +4407,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,
+@@ -4412,6 +4412,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,
      observer.DidCreateScriptContext(context, world_id);
  }
  
@@ -40,10 +40,10 @@ index a0123eac7193282dbfba9712f0d88b2b87fccd9f..137c78c4441d58d9e8822aa87a238912
                                                 int world_id) {
    for (auto& observer : observers_)
 diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h
-index c0d24c1715b4714c5f179dbba4f0d91cddef1946..c819e1429630342cb34476847b3c25b140dfc593 100644
+index 2dcc6cf737dbe296e966e35b5c512691884f09b3..7c0729d0e38bcdcf61ebba3dd5d5c7e3ed6880f2 100644
 --- a/content/renderer/render_frame_impl.h
 +++ b/content/renderer/render_frame_impl.h
-@@ -603,6 +603,8 @@ class CONTENT_EXPORT RenderFrameImpl
+@@ -606,6 +606,8 @@ class CONTENT_EXPORT RenderFrameImpl
    void DidObserveLayoutShift(double score, bool after_input_or_scroll) override;
    void DidCreateScriptContext(v8::Local<v8::Context> context,
                                int world_id) override;
@@ -53,10 +53,10 @@ index c0d24c1715b4714c5f179dbba4f0d91cddef1946..c819e1429630342cb34476847b3c25b1
                                  int world_id) override;
    void DidChangeScrollOffset() override;
 diff --git a/third_party/blink/public/web/web_local_frame_client.h b/third_party/blink/public/web/web_local_frame_client.h
-index 9fa27d4f1c63599d5cfeb095e74a72a88db1d8a2..0d37864c44495615103f5c1dca623c1e181a6460 100644
+index 371e1df42bf2e121f028b297910d5a4b3f61be87..e3da9fe2c16285f45528c9cea32582e81efba146 100644
 --- a/third_party/blink/public/web/web_local_frame_client.h
 +++ b/third_party/blink/public/web/web_local_frame_client.h
-@@ -592,6 +592,9 @@ class BLINK_EXPORT WebLocalFrameClient {
+@@ -595,6 +595,9 @@ class BLINK_EXPORT WebLocalFrameClient {
    virtual void DidCreateScriptContext(v8::Local<v8::Context>,
                                        int32_t world_id) {}
  
@@ -79,10 +79,10 @@ index 9736b31c03a32635fb8fde581321cc10ec11b11a..c9fd2170a25a7970648b8210ebe94e22
    if (World().IsMainWorld()) {
      GetFrame()->Loader().DispatchDidClearWindowObjectInMainWorld();
 diff --git a/third_party/blink/renderer/core/frame/local_frame_client.h b/third_party/blink/renderer/core/frame/local_frame_client.h
-index bbcc1a23378d86d716171cf695f641212e64a30a..06b10cdfa96473731958c4a7e6d0839e79714ad3 100644
+index 7b44fbe83599917a3ba44996a84ab7a024a9828d..34c6fa4b532d4a91a68f0779dd606c116cd699ce 100644
 --- a/third_party/blink/renderer/core/frame/local_frame_client.h
 +++ b/third_party/blink/renderer/core/frame/local_frame_client.h
-@@ -308,6 +308,8 @@ class CORE_EXPORT LocalFrameClient : public FrameClient {
+@@ -311,6 +311,8 @@ class CORE_EXPORT LocalFrameClient : public FrameClient {
  
    virtual void DidCreateScriptContext(v8::Local<v8::Context>,
                                        int32_t world_id) = 0;
@@ -92,7 +92,7 @@ index bbcc1a23378d86d716171cf695f641212e64a30a..06b10cdfa96473731958c4a7e6d0839e
                                          int32_t world_id) = 0;
    virtual bool AllowScriptExtensions() = 0;
 diff --git a/third_party/blink/renderer/core/frame/local_frame_client_impl.cc b/third_party/blink/renderer/core/frame/local_frame_client_impl.cc
-index 77850c10195719e320b1fdfc4f13c805a802d4ef..98955dd3da64a2f4b7036466d9e1eefd1704727d 100644
+index 06ee76131d39832ff9f3aa8d341880c0144be8d9..65132045098de42f5ee4925f356469505d9043a4 100644
 --- a/third_party/blink/renderer/core/frame/local_frame_client_impl.cc
 +++ b/third_party/blink/renderer/core/frame/local_frame_client_impl.cc
 @@ -283,6 +283,13 @@ void LocalFrameClientImpl::DidCreateScriptContext(
@@ -110,7 +110,7 @@ index 77850c10195719e320b1fdfc4f13c805a802d4ef..98955dd3da64a2f4b7036466d9e1eefd
      v8::Local<v8::Context> context,
      int32_t world_id) {
 diff --git a/third_party/blink/renderer/core/frame/local_frame_client_impl.h b/third_party/blink/renderer/core/frame/local_frame_client_impl.h
-index d3f976c53e4ad894bfb808c1184f949871c3df2f..00d95e053dcc274036fc7300ad0b946df969d5fa 100644
+index c6bf61ee8391787522906a2e0d16e460024895ee..0984dcbdc6926c864a6dbc7e4ed4abc8594122e3 100644
 --- a/third_party/blink/renderer/core/frame/local_frame_client_impl.h
 +++ b/third_party/blink/renderer/core/frame/local_frame_client_impl.h
 @@ -82,6 +82,8 @@ class CORE_EXPORT LocalFrameClientImpl final : public LocalFrameClient {

+ 2 - 2
patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch

@@ -72,10 +72,10 @@ index c8655d9270b812df04f27025ff29a2fb6d2a4066..2f83e5ce40f8217ff5d53f7205299ad7
    // Visibility -----------------------------------------------------------
  
 diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc
-index 2e8500ac411bec392ec85c798b8379140917792b..490a381e1afd0a175cd1ca12926a21278c051712 100644
+index 9ce7b0b20d0e9c069a17e7caec52dc54e9a000fd..5547c6f343d0efc8efa3cefec551411774a23ad7 100644
 --- a/third_party/blink/renderer/core/exported/web_view_impl.cc
 +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
-@@ -3827,13 +3827,21 @@ PageScheduler* WebViewImpl::Scheduler() const {
+@@ -3826,13 +3826,21 @@ PageScheduler* WebViewImpl::Scheduler() const {
    return GetPage()->GetPageScheduler();
  }
  

+ 3 - 3
patches/chromium/blink_local_frame.patch

@@ -49,10 +49,10 @@ index 33c676021af1165993cb20d92378dea3ab3bd8d4..98fc59d9dac47fa6f0725e088ddc2f9d
    // its owning reference back to our owning LocalFrame.
    client_->Detached(type);
 diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
-index 34cb438b0559cc133c8be67768fec35c4890e946..8ebcae8f67814537a5350f89d163e2a510532f7f 100644
+index 68f05f53a0607fffbff806ee65f52bb9c3081f36..8374bbc7361c9d85d627176972ad14979238fc62 100644
 --- a/third_party/blink/renderer/core/frame/local_frame.cc
 +++ b/third_party/blink/renderer/core/frame/local_frame.cc
-@@ -576,10 +576,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {
+@@ -575,10 +575,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {
    }
    DCHECK(!view_ || !view_->IsAttached());
  
@@ -63,7 +63,7 @@ index 34cb438b0559cc133c8be67768fec35c4890e946..8ebcae8f67814537a5350f89d163e2a5
    if (!Client())
      return false;
  
-@@ -627,6 +623,11 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {
+@@ -626,6 +622,11 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {
    DCHECK(!view_->IsAttached());
    Client()->WillBeDetached();
  

+ 8 - 8
patches/chromium/build_disable_partition_alloc_on_mac.patch

@@ -9,15 +9,15 @@ and can be removed when the crash in fork is resolved.
 Related issue: https://github.com/electron/electron/issues/32718
 
 diff --git a/build_overrides/partition_alloc.gni b/build_overrides/partition_alloc.gni
-index e1fa5fe9f6da68451d364fadbc021239a8c3e19a..4850698ef66776333fad27812a5414a9aa55fe08 100644
+index e90ccba879dc5823c15acf35869cd5bd211b717b..a95d2b46b37e007405cd472bd9f882c1d180d809 100644
 --- a/build_overrides/partition_alloc.gni
 +++ b/build_overrides/partition_alloc.gni
-@@ -42,7 +42,7 @@ _disable_partition_alloc_everywhere = is_component_build || (is_win && is_debug)
- 
- # - NaCl: No plans to support it.
- # - iOS: not done yet.
--_is_partition_alloc_everywhere_platform = !is_nacl && !is_ios
-+_is_partition_alloc_everywhere_platform = !is_nacl && !is_ios && !is_mac
+@@ -46,7 +46,7 @@ _disable_partition_alloc_everywhere = is_component_build || (is_win && is_debug)
+ if (is_ios) {
+   _is_partition_alloc_everywhere_platform = ios_partition_alloc_enabled
+ } else {
+-  _is_partition_alloc_everywhere_platform = !is_nacl
++  _is_partition_alloc_everywhere_platform = !is_nacl && !is_mac
+ }
  
  # Under Windows debug build, the allocator shim is not compatible with CRT.
- #     NaCl in particular does seem to link some binaries statically

+ 8 - 8
patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch

@@ -11,7 +11,7 @@ if we ever align our .pak file generation with Chrome we can remove this
 patch.
 
 diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
-index 8f003ac2da1e49bc2bbf3a7cce1a648980e325c1..f216efc553847fe1ce41e41c8a7144d2f6911dee 100644
+index d8764148314bcaba869cdd92020fcc5765b2c5c2..fa92185c996738b629583a87145764f0a9a546b8 100644
 --- a/chrome/BUILD.gn
 +++ b/chrome/BUILD.gn
 @@ -187,11 +187,16 @@ if (!is_android && !is_mac) {
@@ -33,10 +33,10 @@ index 8f003ac2da1e49bc2bbf3a7cce1a648980e325c1..f216efc553847fe1ce41e41c8a7144d2
          "//base",
          "//build:branding_buildflags",
 diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
-index 6fd94d13f11645f389b0c5cbd185e40c86f11d44..5333a8a16ed62747830083c427a07a9546f0a42d 100644
+index 42712ea4134e177836ed79026fa16114356fe850..9b25153b48a909b28aabeff5c7cf74347bc79602 100644
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -4557,7 +4557,7 @@ static_library("browser") {
+@@ -4569,7 +4569,7 @@ static_library("browser") {
  
      # On Windows, the hashes are embedded in //chrome:chrome_initial rather
      # than here in :chrome_dll.
@@ -46,10 +46,10 @@ index 6fd94d13f11645f389b0c5cbd185e40c86f11d44..5333a8a16ed62747830083c427a07a95
        sources += [ "certificate_viewer_stub.cc" ]
      }
 diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
-index 18ca933e7a07e73c1dcd7dc60be42c6180653b59..d01b8278141a4f19f3888f895efc24a415fe45b3 100644
+index a5a8685b9627dc85f96a00eb87115604f239d4ee..82c26d08ae1cf8a88e98345f8c4f23b43d0cbda6 100644
 --- a/chrome/test/BUILD.gn
 +++ b/chrome/test/BUILD.gn
-@@ -6229,7 +6229,6 @@ test("unit_tests") {
+@@ -6204,7 +6204,6 @@ test("unit_tests") {
  
      deps += [
        "//chrome:other_version",
@@ -57,7 +57,7 @@ index 18ca933e7a07e73c1dcd7dc60be42c6180653b59..d01b8278141a4f19f3888f895efc24a4
        "//chrome//services/util_win:unit_tests",
        "//chrome/app:chrome_dll_resources",
        "//chrome/app:crash_reporter_client_win_unit_tests",
-@@ -6255,6 +6254,10 @@ test("unit_tests") {
+@@ -6230,6 +6229,10 @@ test("unit_tests") {
        "//ui/resources",
      ]
  
@@ -68,7 +68,7 @@ index 18ca933e7a07e73c1dcd7dc60be42c6180653b59..d01b8278141a4f19f3888f895efc24a4
      ldflags = [
        "/DELAYLOAD:api-ms-win-core-winrt-error-l1-1-0.dll",
        "/DELAYLOAD:api-ms-win-core-winrt-l1-1-0.dll",
-@@ -7167,7 +7170,7 @@ test("unit_tests") {
+@@ -7149,7 +7152,7 @@ test("unit_tests") {
      }
  
      deps += [
@@ -77,7 +77,7 @@ index 18ca933e7a07e73c1dcd7dc60be42c6180653b59..d01b8278141a4f19f3888f895efc24a4
        "//chrome/browser/apps/app_service",
        "//chrome/browser/apps/app_service:test_support",
        "//chrome/browser/enterprise/connectors/analysis:features",
-@@ -7300,6 +7303,10 @@ test("unit_tests") {
+@@ -7282,6 +7285,10 @@ test("unit_tests") {
      }
    }
  

+ 1 - 1
patches/chromium/build_gn.patch

@@ -14,7 +14,7 @@ tradeoff is that switching from MAS_BUILD to !MAS_BUILD or vice-versa will
 rebuild the entire tree.
 
 diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn
-index e675e08bee105e475ae7aa784d030d5dbaa12080..5a4570c4699cde1376c21fb50954b6562acd999f 100644
+index 1fa42b1b1b0e0e467dbe6fb6f82da77e4c494f0f..68d467f75faa3fddd385632b536373bd9167d881 100644
 --- a/build/config/BUILDCONFIG.gn
 +++ b/build/config/BUILDCONFIG.gn
 @@ -123,6 +123,9 @@ if (current_os == "") {

+ 6 - 6
patches/chromium/build_only_use_the_mas_build_config_in_the_required_components.patch

@@ -6,7 +6,7 @@ Subject: build: only use the mas build config in the required components
 Before landing this patch should be split into the relevant MAS patches, or at least the patch this one partially reverts
 
 diff --git a/base/BUILD.gn b/base/BUILD.gn
-index 29344e62d32b50cceef20c5c869c77f992880667..90dbf4ad6f38f6380aa65679d8114fd8cb230444 100644
+index 1f0e5cc5f0faeea26cd9ce5f3fd02796c34a31e1..45d3407852233e66d9c239dfbd7e408a317579b4 100644
 --- a/base/BUILD.gn
 +++ b/base/BUILD.gn
 @@ -1485,6 +1485,7 @@ component("base") {
@@ -18,7 +18,7 @@ index 29344e62d32b50cceef20c5c869c77f992880667..90dbf4ad6f38f6380aa65679d8114fd8
  
    deps = [
 diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn
-index 5a4570c4699cde1376c21fb50954b6562acd999f..7172c144eacccf8efce6cc85545599ecf14c5d4a 100644
+index 68d467f75faa3fddd385632b536373bd9167d881..7699ea2310308b1b42e12bf26a6a0ed2e261cbc6 100644
 --- a/build/config/BUILDCONFIG.gn
 +++ b/build/config/BUILDCONFIG.gn
 @@ -355,7 +355,6 @@ default_compiler_configs = [
@@ -43,7 +43,7 @@ index 8448ff2d912ed8664ba1117397a2407c08e9a578..5f6bb1a87615c474e06209fc8034ff36
  
    if (is_win) {
 diff --git a/components/remote_cocoa/app_shim/BUILD.gn b/components/remote_cocoa/app_shim/BUILD.gn
-index 1adfddd0fa65aac18e4bc98a38e52dfd62701ff4..6ac3d77d7259970394537e164097cd8dbefec6b0 100644
+index 7f9176a723dbe87bfa89d6892fa93f9bebeb2bcf..4728583dc810cd565b33487f8c1f751627e30333 100644
 --- a/components/remote_cocoa/app_shim/BUILD.gn
 +++ b/components/remote_cocoa/app_shim/BUILD.gn
 @@ -16,6 +16,7 @@ component("app_shim") {
@@ -68,7 +68,7 @@ index c320ce10cfcd8b62dc516871bae900f6da9600f5..c9347d61c76098c9df5e0142872b5078
  
    if (is_android || use_ozone) {
 diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
-index 9ba992e9ce8e107949db8dfc928a478b50fea35a..564467c1dda1210085488aed47d64052c457bd8a 100644
+index 860c0422b9b7e7a3a12c3b8a68bad23583b2d4f5..2555491f97ed8ca9ff9c7b4d4c0672efa8734820 100644
 --- a/content/browser/BUILD.gn
 +++ b/content/browser/BUILD.gn
 @@ -57,6 +57,7 @@ source_set("browser") {
@@ -257,10 +257,10 @@ index d2692c7422e4694a783876addc1b283d451e937f..a07aaa7e88f38fa91c1254f7af03675c
    if (is_win) {
      sources += [
 diff --git a/ui/views/BUILD.gn b/ui/views/BUILD.gn
-index 36bc22a122193bf5ccd7e86df08cce7e5451a035..6d64206ee17042b6eef9ba15977eba0458903c75 100644
+index accb869030e59007935fa2363b8138c1508d7396..bd0be0ce3d7becea13096d46a44a019fe71c0172 100644
 --- a/ui/views/BUILD.gn
 +++ b/ui/views/BUILD.gn
-@@ -664,6 +664,7 @@ component("views") {
+@@ -668,6 +668,7 @@ component("views") {
        "IOSurface.framework",
        "QuartzCore.framework",
      ]

+ 9 - 9
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 337aab0addc0a0e31df71b5dce3b62626b7f9504..080c99e23a4a81a4ddbf8a7689c8c10b66f9e039 100644
+index 935ffba33ca52cc21bb6072180fdfb9df2967471..135bd48e6263ee76e7ad3105623fd15a5837ebd4 100644
 --- a/content/browser/renderer_host/render_frame_host_impl.cc
 +++ b/content/browser/renderer_host/render_frame_host_impl.cc
-@@ -7474,6 +7474,7 @@ void RenderFrameHostImpl::CreateNewWindow(
+@@ -7469,6 +7469,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 337aab0addc0a0e31df71b5dce3b62626b7f9504..080c99e23a4a81a4ddbf8a7689c8c10b
            &no_javascript_access);
  
 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index 720156a65fe9804834aa943dbcad975076d99193..03082815e5c4de60da566176af10bc972cff0072 100644
+index aea2d122faef0b302cda4aaaefc931abc0b72dcd..c0dd66966c343df0e1906a0ea90d6c5afca90b4b 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -4127,6 +4127,12 @@ FrameTree* WebContentsImpl::CreateNewWindow(
+@@ -4131,6 +4131,12 @@ FrameTree* WebContentsImpl::CreateNewWindow(
  
    auto* new_contents_impl = new_contents.get();
  
@@ -37,7 +37,7 @@ index 720156a65fe9804834aa943dbcad975076d99193..03082815e5c4de60da566176af10bc97
    // 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
-@@ -4168,12 +4174,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
+@@ -4172,12 +4178,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
      AddWebContentsDestructionObserver(new_contents_impl);
    }
  
@@ -66,7 +66,7 @@ index d2f710218b4fb7c24be02ea1cc78abcfb5718fc9..4d6f86e5674cf4f419061a0f67f3700f
  
  // 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 28afdb7d6f13a0a7331048197762acb44381bc57..b8712563ca3804872a6aab6b6f0fd170f21bbcd6 100644
+index 75dbea1be3e609b39304272b24614e6e37da678d..0105dcc394fc94579a6d534900b8413f31841437 100644
 --- a/content/public/browser/content_browser_client.cc
 +++ b/content/public/browser/content_browser_client.cc
 @@ -634,6 +634,8 @@ bool ContentBrowserClient::CanCreateWindow(
@@ -79,7 +79,7 @@ index 28afdb7d6f13a0a7331048197762acb44381bc57..b8712563ca3804872a6aab6b6f0fd170
      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 174a8d9197876cc7167407560fa011ed2e9d6adf..b1e3179eae105e29a360cc5a92c475e7c545704d 100644
+index 868dd480c66e38fb6a52c5c32a7e3c28b29f5240..cea55873bb5550a8d60279a56c691a6cae501667 100644
 --- a/content/public/browser/content_browser_client.h
 +++ b/content/public/browser/content_browser_client.h
 @@ -164,6 +164,7 @@ class NetworkService;
@@ -148,10 +148,10 @@ index 2717fd39b99c6c3f8b0cb8278fc5011dfb6d34a8..fae93468160463c098b5b115ef293989
    // 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 b5feb7b1c89954409c18f2a8d348ff1ca2f6389c..a0123eac7193282dbfba9712f0d88b2b87fccd9f 100644
+index 600bd28f538cc2f16d9b2ee06a965e7b55c8f634..af97f29bbe4e1f4e67845cbd14c7aeb9bf4177ab 100644
 --- a/content/renderer/render_frame_impl.cc
 +++ b/content/renderer/render_frame_impl.cc
-@@ -6290,6 +6290,10 @@ WebView* RenderFrameImpl::CreateNewWindow(
+@@ -6298,6 +6298,10 @@ WebView* RenderFrameImpl::CreateNewWindow(
        blink::GetNavigationInitiatorActivationAndAdStatus(
            request.HasUserGesture(), GetWebFrame()->IsAdScriptInStack());
  

+ 3 - 3
patches/chromium/chore_add_electron_deps_to_gitignores.patch

@@ -18,7 +18,7 @@ index 13ace36474a9de85ba7111c4b9794206e112e46d..ee8c0a6daed14a51a76595546f02f983
  /google_apis/internal
  /googleurl
 diff --git a/third_party/.gitignore b/third_party/.gitignore
-index d2d1b438f80fa6fe94c935f64d1ba007265bd3fa..cf0966f75b61e407aa781849bfc5b1b5a8d1e033 100644
+index 24c302f31b75581a48ec911fc4cbc9cb7cb49426..f17a8220ceb3a881d3409a787b4a0dc281be8a5b 100644
 --- a/third_party/.gitignore
 +++ b/third_party/.gitignore
 @@ -87,6 +87,7 @@
@@ -29,7 +29,7 @@ index d2d1b438f80fa6fe94c935f64d1ba007265bd3fa..cf0966f75b61e407aa781849bfc5b1b5
  /elfutils/src
  /emoji-metadata/src
  /emoji-segmenter/src
-@@ -186,6 +187,7 @@
+@@ -187,6 +188,7 @@
  /mocha
  /mockito/src
  /nacl_sdk_binaries/
@@ -37,7 +37,7 @@ index d2d1b438f80fa6fe94c935f64d1ba007265bd3fa..cf0966f75b61e407aa781849bfc5b1b5
  /nasm
  /nearby/src
  /neon_2_sse/src
-@@ -249,6 +251,7 @@
+@@ -250,6 +252,7 @@
  /speex
  /sqlite/src
  /sqlite4java/lib/

+ 5 - 5
patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch

@@ -80,10 +80,10 @@ index aaaa61d5c3a1d5ade2fd355e38a3985ef5cc4e7d..b45746ba0f38a381a2ee5ca17f3a1685
    }
  
 diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
-index 08ac5f0afd874913929e6ea9c79b38c6b28789ce..efe0f782e7747825a836a590400b65106f557c43 100644
+index 13a07ce16ad4f8523ad17fa42b86be3c6345b999..31aecb02f842992e994c3291bb08162f6ee9c894 100644
 --- a/chrome/browser/ui/browser.cc
 +++ b/chrome/browser/ui/browser.cc
-@@ -1840,12 +1840,11 @@ bool Browser::IsWebContentsCreationOverridden(
+@@ -1839,12 +1839,11 @@ bool Browser::IsWebContentsCreationOverridden(
      content::SiteInstance* source_site_instance,
      content::mojom::WindowContainerType window_container_type,
      const GURL& opener_url,
@@ -99,7 +99,7 @@ index 08ac5f0afd874913929e6ea9c79b38c6b28789ce..efe0f782e7747825a836a590400b6510
  
  WebContents* Browser::CreateCustomWebContents(
 diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h
-index 08879ac2f134a338200f841cea1dea3323b6696f..136f86297dc03610e725526a70d0aaa1c45d81d0 100644
+index 10105dd979aa4718ea06088961c8e47272feb658..df5ac9fc6b862a95ca962e0d9b948fe41005105d 100644
 --- a/chrome/browser/ui/browser.h
 +++ b/chrome/browser/ui/browser.h
 @@ -853,8 +853,7 @@ class Browser : public TabStripModelObserver,
@@ -218,10 +218,10 @@ index 4e32d708ecf4afd3913d86ec1602ef2dc9a60998..1dd2f50fba1387b5eeb554dd540957d7
    void AddNewContents(content::WebContents* source,
                        std::unique_ptr<content::WebContents> new_contents,
 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index 465dcd8c19fff3f435ed1286a9932a484b7d7d4e..6fbf7fc57e7188d4fc323e0276a85a58c3d9cbc4 100644
+index 3d142842cc022fa8401c02f82863428b5ae79705..34f56e1d5b77a42b1a83ed2b6ffba7127db0c8e5 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -4027,8 +4027,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
+@@ -4034,8 +4034,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
  
    if (delegate_ && delegate_->IsWebContentsCreationOverridden(
                         source_site_instance, params.window_container_type,

+ 2 - 2
patches/chromium/chrome_key_systems.patch

@@ -7,7 +7,7 @@ Disable persiste licence support check for widevine cdm,
 as its not supported in the current version of chrome.
 
 diff --git a/chrome/renderer/media/chrome_key_systems.cc b/chrome/renderer/media/chrome_key_systems.cc
-index 56533ee562300302d27e3bde27148d36612f2f65..dcb9816d632dd3198377de3f87252fda5bc90133 100644
+index 771183255372710a95630a62057cf467ee63b1b2..b640d2218241291c970810ae1df9e994c4416d78 100644
 --- a/chrome/renderer/media/chrome_key_systems.cc
 +++ b/chrome/renderer/media/chrome_key_systems.cc
 @@ -17,7 +17,9 @@
@@ -20,7 +20,7 @@ index 56533ee562300302d27e3bde27148d36612f2f65..dcb9816d632dd3198377de3f87252fda
  #include "components/cdm/renderer/external_clear_key_key_system_info.h"
  #include "components/cdm/renderer/widevine_key_system_info.h"
  #include "content/public/renderer/render_thread.h"
-@@ -238,12 +240,14 @@ SupportedCodecs GetSupportedCodecs(const media::CdmCapability& capability,
+@@ -239,12 +241,14 @@ SupportedCodecs GetSupportedCodecs(const media::CdmCapability& capability,
  
  // Returns whether persistent-license session can be supported.
  bool CanSupportPersistentLicense() {

+ 3 - 3
patches/chromium/create_browser_v8_snapshot_file_name_fuse.patch

@@ -102,10 +102,10 @@ index d4bb0e9a017a833b403916e1d6e64fb058f40f86..35ba35a95e39700824d6e0b480b99bc3
    friend class ContentClientCreator;
    friend class ContentClientInitializer;
 diff --git a/gin/v8_initializer.cc b/gin/v8_initializer.cc
-index 3fd76d7051ccc5f7e6f45c5be17fca4b22463b24..1d197cb685d14fb440c0136a6b4fff7336e9e946 100644
+index 0bca4cbf38b87d87febd4dc89b6d74acad5c8f4b..4f04cc3f41368e8863542afcd52672984e2b6885 100644
 --- a/gin/v8_initializer.cc
 +++ b/gin/v8_initializer.cc
-@@ -494,8 +494,7 @@ void V8Initializer::GetV8ExternalSnapshotData(const char** snapshot_data_out,
+@@ -480,8 +480,7 @@ void V8Initializer::GetV8ExternalSnapshotData(const char** snapshot_data_out,
  
  #if defined(V8_USE_EXTERNAL_STARTUP_DATA)
  
@@ -115,7 +115,7 @@ index 3fd76d7051ccc5f7e6f45c5be17fca4b22463b24..1d197cb685d14fb440c0136a6b4fff73
    if (g_mapped_snapshot) {
      // TODO(crbug.com/802962): Confirm not loading different type of snapshot
      // files in a process.
-@@ -504,10 +503,17 @@ void V8Initializer::LoadV8Snapshot(V8SnapshotFileType snapshot_file_type) {
+@@ -490,10 +489,17 @@ void V8Initializer::LoadV8Snapshot(V8SnapshotFileType snapshot_file_type) {
  
    base::MemoryMappedFile::Region file_region;
    base::File file =

+ 2 - 2
patches/chromium/expose_v8initializer_codegenerationcheckcallbackinmainthread.patch

@@ -6,10 +6,10 @@ Subject: expose V8Initializer::CodeGenerationCheckCallbackInMainThread
 This is needed to blend Blink and Node's policy for code generation policy.
 
 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 c9c33c560476e43e097f04d1b21154debc20667c..fcbccbb67b0d152a771e26aaae5beb85ffe83bc2 100644
+index 7dafc767308fea4c9bfb94451b57c9a23f927917..35f6b7fb09528d4a2018cc423f5d459b8b62035c 100644
 --- a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
 +++ b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
-@@ -443,8 +443,9 @@ TrustedTypesCodeGenerationCheck(v8::Local<v8::Context> context,
+@@ -444,8 +444,9 @@ TrustedTypesCodeGenerationCheck(v8::Local<v8::Context> context,
    return {true, V8String(context->GetIsolate(), stringified_source)};
  }
  

+ 2 - 2
patches/chromium/extend_apply_webpreferences.patch

@@ -12,7 +12,7 @@ Ideally we could add an embedder observer pattern here but that can be
 done in future work.
 
 diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc
-index 490a381e1afd0a175cd1ca12926a21278c051712..66dabaf4f57ede27416b7f14fa30e652a056fefc 100644
+index 5547c6f343d0efc8efa3cefec551411774a23ad7..2adce1e1590481c761e579c55e584d7c3abecc07 100644
 --- a/third_party/blink/renderer/core/exported/web_view_impl.cc
 +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
 @@ -164,6 +164,7 @@
@@ -23,7 +23,7 @@ index 490a381e1afd0a175cd1ca12926a21278c051712..66dabaf4f57ede27416b7f14fa30e652
  #include "third_party/blink/renderer/platform/graphics/image.h"
  #include "third_party/blink/renderer/platform/graphics/paint/cull_rect.h"
  #include "third_party/blink/renderer/platform/graphics/paint/paint_record_builder.h"
-@@ -1816,6 +1817,7 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs,
+@@ -1815,6 +1816,7 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs,
  #if BUILDFLAG(IS_MAC)
    web_view_impl->SetMaximumLegibleScale(
        prefs.default_maximum_page_scale_factor);

+ 15 - 15
patches/chromium/feat_allow_embedders_to_add_observers_on_created_hunspell.patch

@@ -7,10 +7,10 @@ Subject: feat: allow embedders to add observers on created hunspell
 This patch is used by Electron to implement spellchecker events.
 
 diff --git a/chrome/browser/spellchecker/spellcheck_service.cc b/chrome/browser/spellchecker/spellcheck_service.cc
-index 0409bf02684e1d01a76e04f43fe30bb19098ac4c..b1102a326d8ef74ac42494f6bc2a36815d56d465 100644
+index 809410c3c7337e0ac62e8ce0697469ebaaa3f8d1..b8f21215fb50fbdd610a4eb46d9228d73b333b3e 100644
 --- a/chrome/browser/spellchecker/spellcheck_service.cc
 +++ b/chrome/browser/spellchecker/spellcheck_service.cc
-@@ -463,6 +463,9 @@ void SpellcheckService::LoadDictionaries() {
+@@ -468,6 +468,9 @@ void SpellcheckService::LoadDictionaries() {
          std::make_unique<SpellcheckHunspellDictionary>(
              dictionary, platform_spellcheck_language, context_, this));
      hunspell_dictionaries_.back()->AddObserver(this);
@@ -20,8 +20,8 @@ index 0409bf02684e1d01a76e04f43fe30bb19098ac4c..b1102a326d8ef74ac42494f6bc2a3681
      hunspell_dictionaries_.back()->Load();
    }
  
-@@ -515,6 +518,20 @@ bool SpellcheckService::IsSpellcheckEnabled() const {
-          (!hunspell_dictionaries_.empty() || enable_if_uninitialized);
+@@ -527,6 +530,20 @@ void SpellcheckService::Observe(int type,
+   InitForRenderer(content::Source<content::RenderProcessHost>(source).ptr());
  }
  
 +void SpellcheckService::SetHunspellObserver(SpellcheckHunspellDictionary::Observer* observer) {
@@ -38,23 +38,23 @@ index 0409bf02684e1d01a76e04f43fe30bb19098ac4c..b1102a326d8ef74ac42494f6bc2a3681
 +  hunspell_observer_ = observer;
 +}
 +
- void SpellcheckService::OnRenderProcessHostCreated(
-     content::RenderProcessHost* host) {
-   InitForRenderer(host);
+ void SpellcheckService::OnCustomDictionaryLoaded() {
+   InitForAllRenderers();
+ }
 diff --git a/chrome/browser/spellchecker/spellcheck_service.h b/chrome/browser/spellchecker/spellcheck_service.h
-index 00e613bb4ca4346eb0b0e65b9b818d817ac724d9..bd9745d29a61944a23b83b274aace2ea8cb37a0f 100644
+index 17b0aaeb05bcb1f8dadc6551c6b688c7b084c1ff..cb6a54e4d4df05435946a7c059e9f151b7f6c186 100644
 --- a/chrome/browser/spellchecker/spellcheck_service.h
 +++ b/chrome/browser/spellchecker/spellcheck_service.h
-@@ -135,6 +135,8 @@ class SpellcheckService : public KeyedService,
-   // dictionaries available.
-   bool IsSpellcheckEnabled() const;
+@@ -143,6 +143,8 @@ class SpellcheckService : public KeyedService,
+                const content::NotificationSource& source,
+                const content::NotificationDetails& details) override;
  
 +  void SetHunspellObserver(SpellcheckHunspellDictionary::Observer* observer);
 +
-   // content::RenderProcessHostCreationObserver implementation.
-   void OnRenderProcessHostCreated(content::RenderProcessHost* host) override;
- 
-@@ -299,6 +301,8 @@ class SpellcheckService : public KeyedService,
+   // SpellcheckCustomDictionary::Observer implementation.
+   void OnCustomDictionaryLoaded() override;
+   void OnCustomDictionaryChanged(
+@@ -305,6 +307,8 @@ class SpellcheckService : public KeyedService,
    // A pointer to the BrowserContext which this service refers to.
    raw_ptr<content::BrowserContext> context_;
  

+ 3 - 3
patches/chromium/feat_configure_launch_options_for_service_process.patch

@@ -323,7 +323,7 @@ index c0abba2466c7dba5f3e41f95ede3f983ce0050e0..0f3bb9b69597aec460ad26d569b281b0
    // launch failed.
    enum class LaunchState {
 diff --git a/content/browser/utility_sandbox_delegate.cc b/content/browser/utility_sandbox_delegate.cc
-index 051f08d67c6186a8e874ded8752c1fd355e26cd7..fad86c948f6f2ee3a51680f367ad6440649141a4 100644
+index 68db1862fd51f9b6c8c8c9fbd4055490fccd5f9a..5fb93015c780124ced9781ff5ae3e9cb821bb6e7 100644
 --- a/content/browser/utility_sandbox_delegate.cc
 +++ b/content/browser/utility_sandbox_delegate.cc
 @@ -29,13 +29,15 @@ UtilitySandboxedProcessLauncherDelegate::
@@ -346,7 +346,7 @@ index 051f08d67c6186a8e874ded8752c1fd355e26cd7..fad86c948f6f2ee3a51680f367ad6440
  #if DCHECK_IS_ON()
    bool supported_sandbox_type =
        sandbox_type_ == sandbox::mojom::Sandbox::kNoSandbox ||
-@@ -96,11 +98,17 @@ UtilitySandboxedProcessLauncherDelegate::GetSandboxType() {
+@@ -97,11 +99,17 @@ UtilitySandboxedProcessLauncherDelegate::GetSandboxType() {
    return sandbox_type_;
  }
  
@@ -621,7 +621,7 @@ index ea5342394f2aaf6d612f58ab886440473ed12647..0a5a4fbdcebbb2ec5d06206f1854de58
  #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 38601d04959aac61fbeba7b99482831833b9f564..3fbc8482465a03716cdeb434995dbcff30c32cec 100644
+index cf16e2e25fec6d0e17bf9376039a066f1af2173c..dae10c7f734aa5ccb8573669ec31fbd368531243 100644
 --- a/sandbox/policy/win/sandbox_win.cc
 +++ b/sandbox/policy/win/sandbox_win.cc
 @@ -742,11 +742,9 @@ ResultCode GenerateConfigForSandboxedProcess(const base::CommandLine& cmd_line,

+ 3 - 3
patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch

@@ -527,10 +527,10 @@ index f9dd844cd6b665a5566cf6f46830287cffedc0ca..5b74259b2650fc4a525ba3a1be61d3d9
    // Creating output surface failed. The host can send a new request, possibly
    // with a different compositing mode.
 diff --git a/content/browser/compositor/viz_process_transport_factory.cc b/content/browser/compositor/viz_process_transport_factory.cc
-index 0b0c6d676f83f49eb3c846ee79430089b5a5bc0f..3427494a6b6d1df803d9b6bdae81ceaf296028ae 100644
+index d4c0be621ecd9462a9a8fab76a83e9ca72cc1bf7..f6b9692f5615d3d0ab88ae8b2117ec07d3d5983c 100644
 --- a/content/browser/compositor/viz_process_transport_factory.cc
 +++ b/content/browser/compositor/viz_process_transport_factory.cc
-@@ -399,8 +399,14 @@ void VizProcessTransportFactory::OnEstablishedGpuChannel(
+@@ -397,8 +397,14 @@ void VizProcessTransportFactory::OnEstablishedGpuChannel(
    mojo::AssociatedRemote<viz::mojom::DisplayPrivate> display_private;
    root_params->display_private =
        display_private.BindNewEndpointAndPassReceiver();
@@ -560,7 +560,7 @@ index 83c153d99c1e2be2b139330cd4eedf129fcac2ce..14466dd30eb6b63638d351dcf7caf93a
  
    // Sends the created child window to the browser process so that it can be
 diff --git a/services/viz/privileged/mojom/compositing/frame_sink_manager.mojom b/services/viz/privileged/mojom/compositing/frame_sink_manager.mojom
-index ebb40d253e3870250d8dbe21dc26e7be5566297a..fd29e465522e7d219d1012d3e993d13d45c5e7e5 100644
+index 71d79e79e3d68679696977682b85cad1b09e99ef..b7fd9f45394925949398cb467f9388f856f64e94 100644
 --- a/services/viz/privileged/mojom/compositing/frame_sink_manager.mojom
 +++ b/services/viz/privileged/mojom/compositing/frame_sink_manager.mojom
 @@ -30,6 +30,7 @@ struct RootCompositorFrameSinkParams {

+ 4 - 4
patches/chromium/feat_expose_raw_response_headers_from_urlloader.patch

@@ -112,10 +112,10 @@ index 5cfd1bb970562e19e668105e6e0accae63bfbd32..6aa05958b3dcf848038b9634b79823a3
    string mime_type;
  
 diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc
-index dd848ae45573b18d6c6ccaafdc51e45d9dc87a81..7078ca900dff196d267ccd57b11020f805d7e283 100644
+index 4312171d63dd78702f5be93e80ba6c2b575c7c59..a8d42962737fb16d036c55814101b0c15952a32e 100644
 --- a/services/network/url_loader.cc
 +++ b/services/network/url_loader.cc
-@@ -642,6 +642,7 @@ URLLoader::URLLoader(
+@@ -643,6 +643,7 @@ URLLoader::URLLoader(
      has_user_activation_ = request.trusted_params->has_user_activation;
      allow_cookies_from_browser_ =
          request.trusted_params->allow_cookies_from_browser;
@@ -123,7 +123,7 @@ index dd848ae45573b18d6c6ccaafdc51e45d9dc87a81..7078ca900dff196d267ccd57b11020f8
    }
  
    throttling_token_ = network::ScopedThrottlingToken::MaybeCreate(
-@@ -708,7 +709,7 @@ URLLoader::URLLoader(
+@@ -709,7 +710,7 @@ URLLoader::URLLoader(
    url_request_->SetRequestHeadersCallback(base::BindRepeating(
        &URLLoader::SetRawRequestHeadersAndNotify, base::Unretained(this)));
  
@@ -132,7 +132,7 @@ index dd848ae45573b18d6c6ccaafdc51e45d9dc87a81..7078ca900dff196d267ccd57b11020f8
      url_request_->SetResponseHeadersCallback(base::BindRepeating(
          &URLLoader::SetRawResponseHeaders, base::Unretained(this)));
    }
-@@ -1528,6 +1529,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) {
+@@ -1534,6 +1535,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) {
    }
  
    response_ = BuildResponseHead();

+ 2 - 2
patches/chromium/fix_allow_guest_webcontents_to_enter_fullscreen.patch

@@ -6,10 +6,10 @@ Subject: fix: allow guest webcontents to enter fullscreen
 This can be upstreamed, a guest webcontents can't technically become the focused webContents. This DCHECK should allow all guest webContents to request fullscreen entrance.
 
 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index 2e3b9ebd5be217eb892fea1cce09afee4d05f2e3..eff9b4689b68c7ff291b31b53d98b9ab7bf21e85 100644
+index 407ad52e53108930c994505c452a7f2e08c405f8..ad44ed922c24df5f6780418d536b9e7c66a9d316 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -3549,7 +3549,7 @@ void WebContentsImpl::EnterFullscreenMode(
+@@ -3556,7 +3556,7 @@ void WebContentsImpl::EnterFullscreenMode(
    OPTIONAL_TRACE_EVENT0("content", "WebContentsImpl::EnterFullscreenMode");
    DCHECK(CanEnterFullscreenMode(requesting_frame, options));
    DCHECK(requesting_frame->IsActive());

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

@@ -17,10 +17,10 @@ policy->CanCommitOriginAndUrl.
 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 61b47ad9abee29a8e6f999830ca37b0095b62222..7b60da8f1433cf1d43432d1b42db69600c7f1640 100644
+index cee8f0967790ce620a21c52dc69d327a01a5cbda..a4a75cde0abf4562b824a5b7d61ef752b66f28c6 100644
 --- a/content/browser/renderer_host/navigation_request.cc
 +++ b/content/browser/renderer_host/navigation_request.cc
-@@ -6975,10 +6975,11 @@ NavigationRequest::GetOriginForURLLoaderFactoryAfterResponseWithDebugInfo() {
+@@ -6989,10 +6989,11 @@ NavigationRequest::GetOriginForURLLoaderFactoryAfterResponseWithDebugInfo() {
    if (IsForMhtmlSubframe())
      return origin_with_debug_info;
  
@@ -37,10 +37,10 @@ index 61b47ad9abee29a8e6f999830ca37b0095b62222..7b60da8f1433cf1d43432d1b42db6960
  }
  
 diff --git a/content/browser/renderer_host/render_frame_host_impl.h b/content/browser/renderer_host/render_frame_host_impl.h
-index 21cb1e96f90341981c02ffac84eb3c0d6f9ae87b..c62197529e85d94c387c0389b9fc0e05438e2975 100644
+index a9cbd42bd6f22211d1623178a4b39ea96ee3c60f..2cfbf5e996c5dfd8c498aebd1dfa7f1fc15bebda 100644
 --- a/content/browser/renderer_host/render_frame_host_impl.h
 +++ b/content/browser/renderer_host/render_frame_host_impl.h
-@@ -2783,6 +2783,17 @@ class CONTENT_EXPORT RenderFrameHostImpl
+@@ -2795,6 +2795,17 @@ class CONTENT_EXPORT RenderFrameHostImpl
    // used on primary main frames.
    bool IsPageReadyToBeClosed();
  
@@ -58,7 +58,7 @@ index 21cb1e96f90341981c02ffac84eb3c0d6f9ae87b..c62197529e85d94c387c0389b9fc0e05
   protected:
    friend class RenderFrameHostFactory;
  
-@@ -3101,17 +3112,6 @@ class CONTENT_EXPORT RenderFrameHostImpl
+@@ -3118,17 +3129,6 @@ class CONTENT_EXPORT RenderFrameHostImpl
    // relevant.
    void ResetWaitingState();
  

+ 4 - 4
patches/chromium/fix_expose_decrementcapturercount_in_web_contents_impl.patch

@@ -8,10 +8,10 @@ we invoke it in order to expose contents.decrementCapturerCount([stayHidden, sta
 to users. We should try to upstream this.
 
 diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
-index ef8ac6dca3a43cfa5a58f10b3860987bb01eec2b..0b01ed746df9fc91c6b106381f79eedaa04851b5 100644
+index b5ec89157a4a3c39485a3a544c7faccfd94ec58d..d2667248d05690e3ef4d9250299ad8b9ef49ebf2 100644
 --- a/content/browser/web_contents/web_contents_impl.h
 +++ b/content/browser/web_contents/web_contents_impl.h
-@@ -1852,7 +1852,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents,
+@@ -1854,7 +1854,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents,
    // IncrementCapturerCount() is destructed.
    void DecrementCapturerCount(bool stay_hidden,
                                bool stay_awake,
@@ -21,10 +21,10 @@ index ef8ac6dca3a43cfa5a58f10b3860987bb01eec2b..0b01ed746df9fc91c6b106381f79eeda
    // Calculates the PageVisibilityState for |visibility|, taking the capturing
    // state into account.
 diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h
-index b32c7c02d85794f684ccbe0a7a6c9cf1aee695e9..7d8dec5501c4da0829122b5afd6a7e53f3ba8e02 100644
+index 2a2a077740932bfda48e81db8f86fc867b2885fe..8d0bae8430fd1de72c28ad23cb182180b5227816 100644
 --- a/content/public/browser/web_contents.h
 +++ b/content/public/browser/web_contents.h
-@@ -694,6 +694,10 @@ class WebContents : public PageNavigator,
+@@ -702,6 +702,10 @@ class WebContents : public PageNavigator,
        bool stay_awake,
        bool is_activity = true) = 0;
  

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

@@ -45,10 +45,10 @@ index 05c3c2d19985b8d32d95187fe3075aa4eab6de0a..424967bfaf957b3ab426517b3185b8fc
    // RenderFrameMetadataProvider::Observer implementation.
    void OnRenderFrameMetadataChangedBeforeActivation(
 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index eff9b4689b68c7ff291b31b53d98b9ab7bf21e85..c7bbcc7973341acfeefc374959feb0151ff57a33 100644
+index ad44ed922c24df5f6780418d536b9e7c66a9d316..0c9c8d93a1e13501bb428c0a6c04b905904a7f90 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -8027,7 +8027,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(
+@@ -8041,7 +8041,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(
                          "WebContentsImpl::OnFocusedElementChangedInFrame",
                          "render_frame_host", frame);
    RenderWidgetHostViewBase* root_view =

+ 1 - 1
patches/chromium/fix_properly_honor_printing_page_ranges.patch

@@ -25,7 +25,7 @@ index 53b106a1522a04d596d6ec833b00aa2170c760d9..3b5ca717d48cdade667fda8ce113f3f6
    // Returns true if duplex mode is set.
    bool SetDuplexModeInPrintSettings(mojom::DuplexMode mode);
 diff --git a/printing/printing_context_mac.mm b/printing/printing_context_mac.mm
-index 844c3befb928c1e7509f3af4be22ef7b9a131af8..dce986be7a16b6ecbcddbd33cedae69fb935d09e 100644
+index 22df5f28493591e2ae0625119fef26502373650e..fff2ea0440eafae258730b9bbc62e6165a3d6ac1 100644
 --- a/printing/printing_context_mac.mm
 +++ b/printing/printing_context_mac.mm
 @@ -200,7 +200,8 @@ PMPaper MatchPaper(CFArrayRef paper_list,

+ 5 - 5
patches/chromium/fix_return_v8_value_from_localframe_requestexecutescript.patch

@@ -64,10 +64,10 @@ index 4cd668a127a50e5462e3878c3f1dcb7384926768..dfbec49249404df8f8ebdbd26e6e865c
  
  #endif  // THIRD_PARTY_BLINK_PUBLIC_WEB_WEB_SCRIPT_EXECUTION_CALLBACK_H_
 diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
-index 8ebcae8f67814537a5350f89d163e2a510532f7f..9a1499f1da38efa27793f435bb62df801c6633b0 100644
+index 8374bbc7361c9d85d627176972ad14979238fc62..740efad6e71bcb22708498ed26284f890f311bc0 100644
 --- a/third_party/blink/renderer/core/frame/local_frame.cc
 +++ b/third_party/blink/renderer/core/frame/local_frame.cc
-@@ -2594,6 +2594,7 @@ void LocalFrame::RequestExecuteScript(
+@@ -2593,6 +2593,7 @@ void LocalFrame::RequestExecuteScript(
      mojom::blink::EvaluationTiming evaluation_timing,
      mojom::blink::LoadEventBlockingOption blocking_option,
      WebScriptExecutionCallback callback,
@@ -75,7 +75,7 @@ index 8ebcae8f67814537a5350f89d163e2a510532f7f..9a1499f1da38efa27793f435bb62df80
      BackForwardCacheAware back_forward_cache_aware,
      mojom::blink::WantResultOption want_result_option,
      mojom::blink::PromiseResultOption promise_behavior) {
-@@ -2624,7 +2625,8 @@ void LocalFrame::RequestExecuteScript(
+@@ -2623,7 +2624,8 @@ void LocalFrame::RequestExecuteScript(
    PausableScriptExecutor::CreateAndRun(
        ToScriptState(DomWindow(), *world), std::move(script_sources),
        execute_script_policy, user_gesture, evaluation_timing, blocking_option,
@@ -98,10 +98,10 @@ index 0cc7e3abb8b17a598ed593127ed93a6e7f260ad6..4a90544d7adcaad487699c94cbf02dee
                              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 b2af7a248941bdb2a8af3e9fb4f0f4ee903b4a81..707d6fb55d2240b0a7f2a7a6184873eb8155e808 100644
+index a9437500d39d5964d40738d17a9440424118c1b8..2c86b5172309b8dd8a1e9603ab7a865c361256ec 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
-@@ -1051,6 +1051,7 @@ void LocalFrameMojoHandler::JavaScriptExecuteRequestInIsolatedWorld(
+@@ -962,6 +962,7 @@ void LocalFrameMojoHandler::JavaScriptExecuteRequestInIsolatedWorld(
              std::move(callback).Run(value ? std::move(*value) : base::Value());
            },
            std::move(callback)),

+ 3 - 3
patches/chromium/frame_host_manager.patch

@@ -6,10 +6,10 @@ Subject: frame_host_manager.patch
 Allows embedder to intercept site instances created by chromium.
 
 diff --git a/content/browser/renderer_host/render_frame_host_manager.cc b/content/browser/renderer_host/render_frame_host_manager.cc
-index c13bafd949765fe838322a1550efb0e4a2a1ab99..764fea690df47b026b0bffa8f85a3e4de30e6384 100644
+index bc8c25935ac38a1129309cdc91f8b07b06c1ca55..cfbec379a05dc67b84f1492d643ea2b6b07bcb01 100644
 --- a/content/browser/renderer_host/render_frame_host_manager.cc
 +++ b/content/browser/renderer_host/render_frame_host_manager.cc
-@@ -3536,6 +3536,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
+@@ -3541,6 +3541,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
      request->ResetStateForSiteInstanceChange();
    }
  
@@ -20,7 +20,7 @@ index c13bafd949765fe838322a1550efb0e4a2a1ab99..764fea690df47b026b0bffa8f85a3e4d
  }
  
 diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
-index b1e3179eae105e29a360cc5a92c475e7c545704d..a0a5173ad8feb09ded34ba462e9295649ca80667 100644
+index cea55873bb5550a8d60279a56c691a6cae501667..31d186738e7f5dbe3fc22ac3c1147b6203ef57b3 100644
 --- a/content/public/browser/content_browser_client.h
 +++ b/content/public/browser/content_browser_client.h
 @@ -275,6 +275,11 @@ class CONTENT_EXPORT ContentBrowserClient {

+ 3 - 3
patches/chromium/gin_enable_disable_v8_platform.patch

@@ -38,10 +38,10 @@ index 10caab6d9ef3345332c163a55dcef991248ab4ea..c9bc6e5dd7e1cf8d198afcd21cbb2497
    // Returns whether `Initialize` has already been invoked in the process.
    // Initialization is a one-way operation (i.e., this method cannot return
 diff --git a/gin/v8_initializer.cc b/gin/v8_initializer.cc
-index c10536b30120fc905988653e7117059ef7479838..3fd76d7051ccc5f7e6f45c5be17fca4b22463b24 100644
+index 1b77e0dd1f7f917025ba172930dda263eb99b28c..0bca4cbf38b87d87febd4dc89b6d74acad5c8f4b 100644
 --- a/gin/v8_initializer.cc
 +++ b/gin/v8_initializer.cc
-@@ -382,7 +382,8 @@ void SetFlags(IsolateHolder::ScriptMode mode,
+@@ -368,7 +368,8 @@ void SetFlags(IsolateHolder::ScriptMode mode,
  // static
  void V8Initializer::Initialize(IsolateHolder::ScriptMode mode,
                                 const std::string js_command_line_flags,
@@ -51,7 +51,7 @@ index c10536b30120fc905988653e7117059ef7479838..3fd76d7051ccc5f7e6f45c5be17fca4b
    static bool v8_is_initialized = false;
    if (v8_is_initialized)
      return;
-@@ -392,7 +393,8 @@ void V8Initializer::Initialize(IsolateHolder::ScriptMode mode,
+@@ -378,7 +379,8 @@ void V8Initializer::Initialize(IsolateHolder::ScriptMode mode,
    // See https://crbug.com/v8/11043
    SetFlags(mode, js_command_line_flags);
  

+ 2 - 2
patches/chromium/hack_to_allow_gclient_sync_with_host_os_mac_on_linux_in_ci.patch

@@ -11,10 +11,10 @@ If removing this patch causes no sync failures, it's safe to delete :+1:
 Ref https://chromium-review.googlesource.com/c/chromium/src/+/2953903
 
 diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py
-index 7cad05926ce951a5fdc879251b959b9f50d0b5af..4a91d8e45847171e4d59c5378fc795d48f93eeb3 100755
+index a6a98b75221c0d769715bc48124d853b78561ba8..a7b0a0653340292dd079e087ce874ee4189736ea 100755
 --- a/tools/clang/scripts/update.py
 +++ b/tools/clang/scripts/update.py
-@@ -302,6 +302,8 @@ def GetDefaultHostOs():
+@@ -303,6 +303,8 @@ def GetDefaultHostOs():
        'win32': 'win',
    }
    default_host_os = _PLATFORM_HOST_OS_MAP.get(sys.platform, sys.platform)

+ 3 - 5
patches/chromium/logging_win32_only_create_a_console_if_logging_to_stderr.patch

@@ -9,17 +9,15 @@ be created for each child process, despite logs being redirected to a
 file.
 
 diff --git a/content/app/content_main.cc b/content/app/content_main.cc
-index 00c293219a70cc046c1d2ebc703c8d6541a0a958..ee0c736944a67f8bfaf45ef270ddf536100e87d2 100644
+index f646abaa56f8bc8429f738307c5c8ba53c426e71..af033bbdfdccd9a7a65fa4468cb002e271b6ce96 100644
 --- a/content/app/content_main.cc
 +++ b/content/app/content_main.cc
-@@ -302,10 +302,12 @@ RunContentProcess(ContentMainParams params,
+@@ -301,8 +301,12 @@ RunContentProcess(ContentMainParams params,
  
  #if BUILDFLAG(IS_WIN)
      // Route stdio to parent console (if any) or create one.
 -    if (base::CommandLine::ForCurrentProcess()->HasSwitch(
--            switches::kEnableLogging) ||
--        base::CommandLine::ForCurrentProcess()->HasSwitch(
--            switches::kHeadless)) {
+-            switches::kEnableLogging)) {
 +    auto const* cmd_line = base::CommandLine::ForCurrentProcess();
 +    bool const log_to_stderr =
 +        cmd_line->HasSwitch(switches::kEnableLogging) &&

+ 7 - 7
patches/chromium/mas_disable_remote_accessibility.patch

@@ -44,10 +44,10 @@ index 447bc6bfb54484b30686db7fd9df0454f48316c8..a1b3140858ae9a456f1c07fbe60cf9ca
  
  }  // namespace
 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 bb0bb33745c9fa7c2c9b7ba0b03e832ad51f0829..de419f3226b586b122cb9b90d105d85a957c02d7 100644
+index 59f09b541703d3ecb1553d90b069fb736dc89f5d..c2d97a9368c4fbb64c1e0186535f031a5c72a565 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
-@@ -567,10 +567,12 @@ NSUInteger CountBridgedWindows(NSArray* child_windows) {
+@@ -566,10 +566,12 @@ NSUInteger CountBridgedWindows(NSArray* child_windows) {
    // this should be treated as an error and caught early.
    CHECK(bridged_view_);
  
@@ -265,7 +265,7 @@ index 4d47115d3f72da17b2ada8866770ac24717c29da..506d7847d904478793d992dbe548a611
 +
  #endif  // UI_BASE_COCOA_REMOTE_ACCESSIBILITY_API_H_
 diff --git a/ui/views/cocoa/native_widget_mac_ns_window_host.h b/ui/views/cocoa/native_widget_mac_ns_window_host.h
-index 1c30148ec8f091e6e35a9f849cc1935cd10f2691..3ca2b624c03ca09b75b966d63f3559d0966e5d51 100644
+index 6651147b716466bd0132eeca890283d159e65162..f50ae17199f2e464a986c505edfcd6b755c1c080 100644
 --- a/ui/views/cocoa/native_widget_mac_ns_window_host.h
 +++ b/ui/views/cocoa/native_widget_mac_ns_window_host.h
 @@ -32,7 +32,9 @@
@@ -278,7 +278,7 @@ index 1c30148ec8f091e6e35a9f849cc1935cd10f2691..3ca2b624c03ca09b75b966d63f3559d0
  @class NSView;
  
  namespace remote_cocoa {
-@@ -464,11 +466,13 @@ class VIEWS_EXPORT NativeWidgetMacNSWindowHost
+@@ -455,11 +457,13 @@ class VIEWS_EXPORT NativeWidgetMacNSWindowHost
    mojo::AssociatedRemote<remote_cocoa::mojom::NativeWidgetNSWindow>
        remote_ns_window_remote_;
  
@@ -293,7 +293,7 @@ index 1c30148ec8f091e6e35a9f849cc1935cd10f2691..3ca2b624c03ca09b75b966d63f3559d0
    // Used to force the NSApplication's focused accessibility element to be the
    // views::Views accessibility tree when the NSView for this is focused.
 diff --git a/ui/views/cocoa/native_widget_mac_ns_window_host.mm b/ui/views/cocoa/native_widget_mac_ns_window_host.mm
-index 0cb9bea6f8d29ccacac658ccb419e3549cdc6af5..14fcb3e2daf451a7db8111aad550300235bcd168 100644
+index ddd74107c20a6e3356256da9d45e082f1ca92dfa..c035b355dfb7c235f5136b75777f15e950b709d5 100644
 --- a/ui/views/cocoa/native_widget_mac_ns_window_host.mm
 +++ b/ui/views/cocoa/native_widget_mac_ns_window_host.mm
 @@ -337,14 +337,22 @@ void HandleAccelerator(const ui::Accelerator& accelerator,
@@ -319,7 +319,7 @@ index 0cb9bea6f8d29ccacac658ccb419e3549cdc6af5..14fcb3e2daf451a7db8111aad5503002
  }
  
  remote_cocoa::mojom::NativeWidgetNSWindow*
-@@ -1350,6 +1358,7 @@ void HandleAccelerator(const ui::Accelerator& accelerator,
+@@ -1334,6 +1342,7 @@ void HandleAccelerator(const ui::Accelerator& accelerator,
  void NativeWidgetMacNSWindowHost::SetRemoteAccessibilityTokens(
      const std::vector<uint8_t>& window_token,
      const std::vector<uint8_t>& view_token) {
@@ -327,7 +327,7 @@ index 0cb9bea6f8d29ccacac658ccb419e3549cdc6af5..14fcb3e2daf451a7db8111aad5503002
    remote_window_accessible_ =
        ui::RemoteAccessibility::GetRemoteElementFromToken(window_token);
    remote_view_accessible_ =
-@@ -1358,14 +1367,17 @@ void HandleAccelerator(const ui::Accelerator& accelerator,
+@@ -1342,14 +1351,17 @@ void HandleAccelerator(const ui::Accelerator& accelerator,
    [remote_view_accessible_
        setTopLevelUIElement:remote_window_accessible_.get()];
    [NSAccessibilityRemoteUIElement setRemoteUIApp:YES];

+ 3 - 3
patches/chromium/mas_no_private_api.patch

@@ -446,10 +446,10 @@ index 18479382a277cb2b25626ec8d31442bfd1377ee6..7d80d7fa8337523c3a70f317f883f0cc
        NOTREACHED();
        return nullptr;
 diff --git a/ui/accessibility/platform/inspect/ax_transform_mac.mm b/ui/accessibility/platform/inspect/ax_transform_mac.mm
-index fe043e6dc2203a9054ae367b70a3854b8560c9c7..6cc51d9df176512f6f296e0eb82bc31b5a9515fa 100644
+index 2b4c110a3f7e1eb4f125bb94204affd112c85073..4d480e5f2dc8f49b02e2404bdb5186de4415f4d6 100644
 --- a/ui/accessibility/platform/inspect/ax_transform_mac.mm
 +++ b/ui/accessibility/platform/inspect/ax_transform_mac.mm
-@@ -88,6 +88,7 @@
+@@ -95,6 +95,7 @@
      }
    }
  
@@ -457,7 +457,7 @@ index fe043e6dc2203a9054ae367b70a3854b8560c9c7..6cc51d9df176512f6f296e0eb82bc31b
    // AXTextMarker
    if (IsAXTextMarker(value)) {
      return AXTextMarkerToBaseValue(value, indexer);
-@@ -96,6 +97,7 @@
+@@ -103,6 +104,7 @@
    // AXTextMarkerRange
    if (IsAXTextMarkerRange(value))
      return AXTextMarkerRangeToBaseValue(value, indexer);

+ 3 - 3
patches/chromium/notification_provenance.patch

@@ -7,10 +7,10 @@ Pass RenderFrameHost through to PlatformNotificationService
 so Electron can identify which renderer a notification came from.
 
 diff --git a/chrome/browser/notifications/platform_notification_service_impl.cc b/chrome/browser/notifications/platform_notification_service_impl.cc
-index 39d85278026f2a625a593d75f5c7bd0166c6110c..72546797930ddade55d71d0a47e6702072acad8b 100644
+index aa9ce8fa016317d543752462f356ccdef6b931eb..71fc184b94286803300c396fe4845e5f17911f55 100644
 --- a/chrome/browser/notifications/platform_notification_service_impl.cc
 +++ b/chrome/browser/notifications/platform_notification_service_impl.cc
-@@ -197,6 +197,7 @@ bool PlatformNotificationServiceImpl::WasClosedProgrammatically(
+@@ -200,6 +200,7 @@ bool PlatformNotificationServiceImpl::WasClosedProgrammatically(
  
  // TODO(awdf): Rename to DisplayNonPersistentNotification (Similar for Close)
  void PlatformNotificationServiceImpl::DisplayNotification(
@@ -19,7 +19,7 @@ index 39d85278026f2a625a593d75f5c7bd0166c6110c..72546797930ddade55d71d0a47e67020
      const GURL& origin,
      const GURL& document_url,
 diff --git a/chrome/browser/notifications/platform_notification_service_impl.h b/chrome/browser/notifications/platform_notification_service_impl.h
-index dfbfbf4e5d92eb8c7c2ba38f31264ac41713a485..78cc81931321656c308e5611e30e0813b8e6b88a 100644
+index 380a2da617ff5e49f780f4b89d87ceefd75bb6f7..ec78a854531b7d52fbaa5de71fc5e67180fad8c8 100644
 --- a/chrome/browser/notifications/platform_notification_service_impl.h
 +++ b/chrome/browser/notifications/platform_notification_service_impl.h
 @@ -56,6 +56,7 @@ class PlatformNotificationServiceImpl

+ 6 - 6
patches/chromium/port_autofill_colors_to_the_color_pipeline.patch

@@ -8,10 +8,10 @@ needed in chromium but our autofill implementation uses them.  This patch can be
 our autofill implementation to work like Chromium's.
 
 diff --git a/ui/color/color_id.h b/ui/color/color_id.h
-index c8727dcac4d1440f7aef0b32e5ac7569b02f177e..4b6cd9afd7d224198c704e4a45f2f13c07e1fc81 100644
+index 210a250079563720dc12b748df73fc673ec69188..6cee46f6357c2a953c680a27f173e7133bfda31c 100644
 --- a/ui/color/color_id.h
 +++ b/ui/color/color_id.h
-@@ -289,6 +289,10 @@
+@@ -302,6 +302,10 @@
    E_CPONLY(kColorScrollbarThumbInactive) \
    E_CPONLY(kColorScrollbarThumbPressed) \
    E_CPONLY(kColorScrollbarTrack) \
@@ -22,7 +22,7 @@ index c8727dcac4d1440f7aef0b32e5ac7569b02f177e..4b6cd9afd7d224198c704e4a45f2f13c
    E_CPONLY(kColorSeparator) \
    E_CPONLY(kColorShadowBase) \
    E_CPONLY(kColorShadowValueAmbientShadowElevationSixteen) \
-@@ -344,6 +348,7 @@
+@@ -357,6 +361,7 @@
    E_CPONLY(kColorTreeNodeForeground) \
    E_CPONLY(kColorTreeNodeForegroundSelectedFocused) \
    E_CPONLY(kColorTreeNodeForegroundSelectedUnfocused) \
@@ -31,10 +31,10 @@ index c8727dcac4d1440f7aef0b32e5ac7569b02f177e..4b6cd9afd7d224198c704e4a45f2f13c
  
  #if BUILDFLAG(IS_CHROMEOS)
 diff --git a/ui/color/ui_color_mixer.cc b/ui/color/ui_color_mixer.cc
-index 45bea447f6d25e23d60e0b5dde9aeb0ac7a005f3..7b9f527ba0efe6c09e00b15c7a9895a446f771cd 100644
+index fd608a83550457fdabe77420cd104f2021e2f8e9..b6fbdf92e5fe46fca5b6b73efef632f763d1fa70 100644
 --- a/ui/color/ui_color_mixer.cc
 +++ b/ui/color/ui_color_mixer.cc
-@@ -202,6 +202,17 @@ void AddUiColorMixer(ColorProvider* provider,
+@@ -211,6 +211,17 @@ void AddUiColorMixer(ColorProvider* provider,
                                              : SkColorSetA(SK_ColorBLACK, 0x80)};
    mixer[kColorScrollbarTrack] = {dark_mode ? SkColorSetRGB(0x42, 0x42, 0x42)
                                             : SkColorSetRGB(0xF1, 0xF1, 0xF1)};
@@ -52,7 +52,7 @@ index 45bea447f6d25e23d60e0b5dde9aeb0ac7a005f3..7b9f527ba0efe6c09e00b15c7a9895a4
    mixer[kColorSeparator] = {kColorMidground};
    mixer[kColorShadowBase] = {dark_mode ? SK_ColorBLACK : gfx::kGoogleGrey800};
    mixer[kColorShadowValueAmbientShadowElevationThree] =
-@@ -283,6 +294,7 @@ void AddUiColorMixer(ColorProvider* provider,
+@@ -301,6 +312,7 @@ void AddUiColorMixer(ColorProvider* provider,
    mixer[kColorTreeNodeForegroundSelectedFocused] = {kColorTreeNodeForeground};
    mixer[kColorTreeNodeForegroundSelectedUnfocused] = {
        kColorTreeNodeForegroundSelectedFocused};

+ 3 - 3
patches/chromium/printing.patch

@@ -11,7 +11,7 @@ majority of changes originally come from these PRs:
 This patch also fixes callback for manual user cancellation and success.
 
 diff --git a/BUILD.gn b/BUILD.gn
-index e8b687fa8db81d22d04bae5302b8514bed6053d3..0b67e532df8864e6e9b6c054d6d3225f63447f9d 100644
+index 7cfadb4724141363c2fb4895ed2333e1cfc303b9..7e75e8af8f2234f03c62255e56eb4a38b8947e77 100644
 --- a/BUILD.gn
 +++ b/BUILD.gn
 @@ -956,7 +956,6 @@ if (is_win) {
@@ -783,10 +783,10 @@ index 3f82c0cdfd11a8d0c3cbcba9cc74b0e3e1a41b0f..36c1df7e3346f51945721ababf12dc34
  #if BUILDFLAG(ENABLE_PRINT_PREVIEW)
    // Set options for print preset from source PDF document.
 diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
-index f8325e930179fcb7a675db696fbfe0e2436b769b..9ba992e9ce8e107949db8dfc928a478b50fea35a 100644
+index 62a5aa48fdf02da4951202f62c74305b1c279dc1..860c0422b9b7e7a3a12c3b8a68bad23583b2d4f5 100644
 --- a/content/browser/BUILD.gn
 +++ b/content/browser/BUILD.gn
-@@ -2827,8 +2827,9 @@ source_set("browser") {
+@@ -2831,8 +2831,9 @@ source_set("browser") {
        "//ppapi/shared_impl",
      ]
  

+ 4 - 4
patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch

@@ -43,10 +43,10 @@ index f49cf68e4b5be592000b193a3b1fae18e0bd41dc..06f9fd63819afb96cad0569abeb07410
  
  void RenderWidgetHostImpl::ShowContextMenuAtPoint(
 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index 03082815e5c4de60da566176af10bc972cff0072..465dcd8c19fff3f435ed1286a9932a484b7d7d4e 100644
+index c0dd66966c343df0e1906a0ea90d6c5afca90b4b..3d142842cc022fa8401c02f82863428b5ae79705 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -4711,6 +4711,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
+@@ -4725,6 +4725,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
    return text_input_manager_.get();
  }
  
@@ -59,10 +59,10 @@ index 03082815e5c4de60da566176af10bc972cff0072..465dcd8c19fff3f435ed1286a9932a48
      RenderWidgetHostImpl* render_widget_host) {
    return render_widget_host == GetPrimaryMainFrame()->GetRenderWidgetHost();
 diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
-index ae95a44450f4942cd463cfbcc3b90123796cdf3e..ef8ac6dca3a43cfa5a58f10b3860987bb01eec2b 100644
+index 82645cbaa1809d795ff8b5c9c2566a3d72af4f91..b5ec89157a4a3c39485a3a544c7faccfd94ec58d 100644
 --- a/content/browser/web_contents/web_contents_impl.h
 +++ b/content/browser/web_contents/web_contents_impl.h
-@@ -957,6 +957,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents,
+@@ -959,6 +959,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents,
    void SendScreenRects() override;
    void SendActiveState(bool active) override;
    TextInputManager* GetTextInputManager() override;

+ 1 - 1
patches/chromium/render_widget_host_view_mac.patch

@@ -10,7 +10,7 @@ kinds of utility windows. Similarly for `disableAutoHideCursor`.
 Additionally, disables usage of some private APIs in MAS builds.
 
 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 9235ef0202972569b4c5b2e5f2e0469e29df8992..306b05fe54b6baf43d4adbe8b1e0c6f69b2bcfd4 100644
+index c37375eb33ab3b6e4ffcdb2a4cbb617a5e08f1cd..fcbec9b2526b0fc84c21d0bcd4603b272d8b70dd 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
 @@ -157,6 +157,15 @@ void ExtractUnderlines(NSAttributedString* string,

+ 3 - 3
patches/chromium/resource_file_conflict.patch

@@ -52,10 +52,10 @@ Some alternatives to this patch:
 None of these options seems like a substantial maintainability win over this patch to me (@nornagon).
 
 diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
-index cfe599398a92ad8954c102f3ba9644436f4e9791..8f003ac2da1e49bc2bbf3a7cce1a648980e325c1 100644
+index a4003417d110b805503750c7fb0bfe6cb55bf777..d8764148314bcaba869cdd92020fcc5765b2c5c2 100644
 --- a/chrome/BUILD.gn
 +++ b/chrome/BUILD.gn
-@@ -1555,7 +1555,7 @@ if (is_chrome_branded && !is_android) {
+@@ -1556,7 +1556,7 @@ if (is_chrome_branded && !is_android) {
    }
  }
  
@@ -64,7 +64,7 @@ index cfe599398a92ad8954c102f3ba9644436f4e9791..8f003ac2da1e49bc2bbf3a7cce1a6489
    chrome_paks("packed_resources") {
      if (is_mac) {
        output_dir = "$root_gen_dir/repack"
-@@ -1584,6 +1584,12 @@ if (!is_android) {
+@@ -1585,6 +1585,12 @@ if (!is_android) {
    }
  }
  

+ 4 - 4
patches/chromium/upload_list_add_loadsync_method.patch

@@ -9,10 +9,10 @@ deprecated, and this API should be removed once the deprecated behavior
 is no longer supported.
 
 diff --git a/components/upload_list/upload_list.cc b/components/upload_list/upload_list.cc
-index bc1432727df939385fbf58f4f427ff470c2c8361..7edf9e3f7140d387c7ce07531fb3b48f9014076c 100644
+index 0d07e156e7d44c55ac47a525863da7d514b24001..272956518929f1729456c842d579edf42ef5160b 100644
 --- a/components/upload_list/upload_list.cc
 +++ b/components/upload_list/upload_list.cc
-@@ -72,6 +72,10 @@ void UploadList::Load(base::OnceClosure callback) {
+@@ -65,6 +65,10 @@ void UploadList::Load(base::OnceClosure callback) {
        base::BindOnce(&UploadList::OnLoadComplete, this));
  }
  
@@ -24,10 +24,10 @@ index bc1432727df939385fbf58f4f427ff470c2c8361..7edf9e3f7140d387c7ce07531fb3b48f
                         const base::Time& end,
                         base::OnceClosure callback) {
 diff --git a/components/upload_list/upload_list.h b/components/upload_list/upload_list.h
-index 34aeeabde40111897b3e300861a0967a31887e3f..450c373f7d69986037fbd77bf9b1bcec88cdc5b3 100644
+index bb1655f85538fd4b4a513e1f87f9411bf879f71c..9919b0ff5785667c5fd8f81d64eeb2e87b7b9abc 100644
 --- a/components/upload_list/upload_list.h
 +++ b/components/upload_list/upload_list.h
-@@ -77,6 +77,8 @@ class UploadList : public base::RefCountedThreadSafe<UploadList> {
+@@ -80,6 +80,8 @@ class UploadList : public base::RefCountedThreadSafe<UploadList> {
    // overwrite the previously supplied one, and the first will not be called.
    void Load(base::OnceClosure callback);
  

+ 6 - 6
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 6fbf7fc57e7188d4fc323e0276a85a58c3d9cbc4..2e3b9ebd5be217eb892fea1cce09afee4d05f2e3 100644
+index 34f56e1d5b77a42b1a83ed2b6ffba7127db0c8e5..407ad52e53108930c994505c452a7f2e08c405f8 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -3167,6 +3167,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
+@@ -3174,6 +3174,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 6fbf7fc57e7188d4fc323e0276a85a58c3d9cbc4..2e3b9ebd5be217eb892fea1cce09afee
    std::unique_ptr<WebContentsViewDelegate> delegate =
        GetContentClient()->browser()->GetWebContentsViewDelegate(this);
  
-@@ -3177,6 +3184,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
+@@ -3184,6 +3191,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
      view_ = CreateWebContentsView(this, std::move(delegate),
                                    &render_view_host_delegate_view_);
    }
@@ -35,10 +35,10 @@ index 6fbf7fc57e7188d4fc323e0276a85a58c3d9cbc4..2e3b9ebd5be217eb892fea1cce09afee
    CHECK(view_.get());
  
 diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h
-index 54c0a5f2c347af943f4720953889a10909f5d248..b32c7c02d85794f684ccbe0a7a6c9cf1aee695e9 100644
+index 5644b0efa9a3e24380eb5c43e23c40fc6cc5e5f7..2a2a077740932bfda48e81db8f86fc867b2885fe 100644
 --- a/content/public/browser/web_contents.h
 +++ b/content/public/browser/web_contents.h
-@@ -94,10 +94,13 @@ class BrowserContext;
+@@ -95,10 +95,13 @@ class BrowserContext;
  class BrowserPluginGuestDelegate;
  class RenderFrameHost;
  class RenderViewHost;
@@ -52,7 +52,7 @@ index 54c0a5f2c347af943f4720953889a10909f5d248..b32c7c02d85794f684ccbe0a7a6c9cf1
  class WebUI;
  struct DropData;
  struct MHTMLGenerationParams;
-@@ -240,6 +243,10 @@ class WebContents : public PageNavigator,
+@@ -241,6 +244,10 @@ class WebContents : public PageNavigator,
      network::mojom::WebSandboxFlags starting_sandbox_flags =
          network::mojom::WebSandboxFlags::kNone;
  

+ 1 - 1
patches/chromium/webview_cross_drag.patch

@@ -8,7 +8,7 @@ This allows dragging and dropping between <webview>s.
 Originally landed in https://github.com/electron/libchromiumcontent/pull/267
 
 diff --git a/content/browser/web_contents/web_contents_view_aura.cc b/content/browser/web_contents/web_contents_view_aura.cc
-index 78ce9650aad29217d786e55a93ffd4c26e10d3a4..812777a6bd88a50bb90a7f5a6bf3c061284e1380 100644
+index 37b75adc1ef25d1688ea63da083c8dd764e953c8..63175581edc351e3dc13caa97ab0b86d1a7791c8 100644
 --- a/content/browser/web_contents/web_contents_view_aura.cc
 +++ b/content/browser/web_contents/web_contents_view_aura.cc
 @@ -919,10 +919,7 @@ bool WebContentsViewAura::IsValidDragTarget(

+ 2 - 2
patches/chromium/webview_fullscreen.patch

@@ -14,10 +14,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 080c99e23a4a81a4ddbf8a7689c8c10b66f9e039..000a22639c2e3f9ef29a0be31d60756295e71fe9 100644
+index 135bd48e6263ee76e7ad3105623fd15a5837ebd4..35f65613c7971037b7aac527a21c0e707d3805a0 100644
 --- a/content/browser/renderer_host/render_frame_host_impl.cc
 +++ b/content/browser/renderer_host/render_frame_host_impl.cc
-@@ -6726,6 +6726,17 @@ void RenderFrameHostImpl::EnterFullscreen(
+@@ -6721,6 +6721,17 @@ void RenderFrameHostImpl::EnterFullscreen(
      }
    }
  

+ 1 - 0
patches/node/.patches

@@ -36,3 +36,4 @@ allow_embedder_to_control_codegenerationfromstringscallback.patch
 src_allow_optional_isolation_termination_in_node.patch
 test_mark_cpu_prof_tests_as_flaky_in_electron.patch
 lib_fix_broadcastchannel_initialization_location.patch
+intl_revert_date_formatting_behavior_change_from_icu_72.patch

+ 24 - 0
patches/node/intl_revert_date_formatting_behavior_change_from_icu_72.patch

@@ -0,0 +1,24 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: John Kleinschmidt <[email protected]>
+Date: Thu, 2 Mar 2023 16:03:51 -0500
+Subject: Revert date formatting behavior change from ICU 72
+
+https://chromium-review.googlesource.com/c/v8/v8/+/4240360
+
+diff --git a/test/parallel/test-intl.js b/test/parallel/test-intl.js
+index 2cf3efe11a205b97bc91bdf39bb6bc07088ad240..7d1742f2c7d1c6e335d3ccfc81ce0834c1de9c19 100644
+--- a/test/parallel/test-intl.js
++++ b/test/parallel/test-intl.js
+@@ -97,11 +97,7 @@ if (!common.hasIntl) {
+   // Test format
+   {
+     const localeString = date0.toLocaleString(['en'], optsGMT);
+-    if (Number(process.versions.cldr) >= 42) {
+-      assert.strictEqual(localeString, '1/1/1970, 12:00:00 AM');
+-    } else {
+-      assert.strictEqual(localeString, '1/1/1970, 12:00:00 AM');
+-    }
++    assert.strictEqual(localeString, '1/1/1970, 12:00:00 AM');
+   }
+   // number format
+   {

+ 0 - 1
patches/v8/.patches

@@ -8,4 +8,3 @@ fix_build_deprecated_attribute_for_older_msvc_versions.patch
 fix_disable_implies_dcheck_for_node_stream_array_buffers.patch
 force_cppheapcreateparams_to_be_noncopyable.patch
 chore_allow_customizing_microtask_policy_per_context.patch
-disable_the_use_of_preserve_most_on_arm64_windows.patch

+ 2 - 2
patches/v8/build_gn.patch

@@ -9,7 +9,7 @@ necessary for native modules to load.
 Also, some fixes relating to mksnapshot on ARM.
 
 diff --git a/BUILD.gn b/BUILD.gn
-index e1f23f17969f90df9becdcf7c0015b27cd973b4a..e689a0b35a0011ba14a94c3ab749043cddf93fb9 100644
+index 316bcb4d3c7c81448a06c90f46f41e168c27b57c..849b3cb5d48679f263fb4648122e7fd30186c284 100644
 --- a/BUILD.gn
 +++ b/BUILD.gn
 @@ -674,7 +674,7 @@ config("internal_config") {
@@ -21,7 +21,7 @@ index e1f23f17969f90df9becdcf7c0015b27cd973b4a..e689a0b35a0011ba14a94c3ab749043c
      defines += [ "BUILDING_V8_SHARED" ]
    }
  
-@@ -6320,7 +6320,7 @@ if (current_toolchain == v8_generator_toolchain) {
+@@ -6322,7 +6322,7 @@ if (current_toolchain == v8_generator_toolchain) {
        "src/interpreter/bytecodes.h",
      ]
  

+ 0 - 44
patches/v8/disable_the_use_of_preserve_most_on_arm64_windows.patch

@@ -1,44 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Clemens Backes <[email protected]>
-Date: Thu, 2 Feb 2023 14:38:14 +0100
-Subject: Disable the use of preserve_most on arm64 Windows
-
-We see crashes on arm64 on Windows. Disable the use of preserve_most
-there, until we figure out (and fix) the root cause.
-
[email protected]
-
-Bug: chromium:1409934
-Change-Id: Ic913039d36d158fb5ad368915d95c250d8724a07
-Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4218354
-Commit-Queue: Clemens Backes <[email protected]>
-Reviewed-by: Michael Lippautz <[email protected]>
-Cr-Commit-Position: refs/heads/main@{#85634}
-(cherry picked from commit e33c3a09b31af5b69286f904a378fcbfb36a726d)
-
-diff --git a/include/v8config.h b/include/v8config.h
-index fd762d87f5ebd32ccb23ff0c6383a37a5093ac78..6cffeaa5ad21826123c8dda487fc6c65b7d03ed2 100644
---- a/include/v8config.h
-+++ b/include/v8config.h
-@@ -346,12 +346,15 @@ path. Add it with -I<path> to the command line
- # define V8_HAS_ATTRIBUTE_NONNULL (__has_attribute(nonnull))
- # define V8_HAS_ATTRIBUTE_NOINLINE (__has_attribute(noinline))
- # define V8_HAS_ATTRIBUTE_UNUSED (__has_attribute(unused))
--// Support for the "preserve_most" attribute is incomplete on 32-bit, and we see
--// failures in component builds. Thus only use it in 64-bit non-component builds
--// for now.
--#if (defined(_M_X64) || defined(__x86_64__) || defined(__AARCH64EL__) || \
--     defined(_M_ARM64)) /* x64 or arm64 */ \
--     && !defined(COMPONENT_BUILD)
-+// Support for the "preserve_most" attribute is limited:
-+// - 32-bit platforms do not implement it,
-+// - component builds fail because _dl_runtime_resolve clobbers registers,
-+// - we see crashes on arm64 on Windows (https://crbug.com/1409934), which can
-+//   hopefully be fixed in the future.
-+#if (defined(_M_X64) || defined(__x86_64__)            /* x64 (everywhere) */  \
-+     || ((defined(__AARCH64EL__) || defined(_M_ARM64)) /* arm64, but ... */    \
-+         && !defined(_WIN32)))                         /* not on windows */    \
-+     && !defined(COMPONENT_BUILD)                      /* no component build */
- # define V8_HAS_ATTRIBUTE_PRESERVE_MOST (__has_attribute(preserve_most))
- #endif
- # define V8_HAS_ATTRIBUTE_VISIBILITY (__has_attribute(visibility))

+ 1 - 1
patches/v8/do_not_export_private_v8_symbols_on_windows.patch

@@ -12,7 +12,7 @@ This patch can be safely removed if, when it is removed, `node.lib` does not
 contain any standard C++ library exports (e.g. `std::ostringstream`).
 
 diff --git a/BUILD.gn b/BUILD.gn
-index de5bb0c5e7c9cd85211eeb073b828b793c8f49b3..9a3f28419a52b3c8433ca024d94b7a9445efdedb 100644
+index 5111ea11cfa85a70aca81db565b8ce0ad81c1e96..592bb0b667d89246330893d75596616cce31dbca 100644
 --- a/BUILD.gn
 +++ b/BUILD.gn
 @@ -674,6 +674,10 @@ config("internal_config") {

+ 2 - 2
patches/v8/expose_mksnapshot.patch

@@ -6,10 +6,10 @@ Subject: expose_mksnapshot.patch
 Needed in order to target mksnapshot for mksnapshot zip.
 
 diff --git a/BUILD.gn b/BUILD.gn
-index e689a0b35a0011ba14a94c3ab749043cddf93fb9..de5bb0c5e7c9cd85211eeb073b828b793c8f49b3 100644
+index 849b3cb5d48679f263fb4648122e7fd30186c284..5111ea11cfa85a70aca81db565b8ce0ad81c1e96 100644
 --- a/BUILD.gn
 +++ b/BUILD.gn
-@@ -6332,7 +6332,6 @@ if (current_toolchain == v8_generator_toolchain) {
+@@ -6334,7 +6334,6 @@ if (current_toolchain == v8_generator_toolchain) {
  
  if (current_toolchain == v8_snapshot_toolchain) {
    v8_executable("mksnapshot") {

+ 4 - 4
patches/v8/fix_build_deprecated_attribute_for_older_msvc_versions.patch

@@ -6,10 +6,10 @@ Subject: fix: usage of c++ [[deprecated]] attribute for older msvc versions
 This attribute can only be used in all contexts in Visual Studio 2019
 
 diff --git a/include/v8config.h b/include/v8config.h
-index a967d92c39c1518831f60eeb443409e5284bba6c..fd762d87f5ebd32ccb23ff0c6383a37a5093ac78 100644
+index b44995e7cd3cd8fcfc223e960cfc98c927fcdf05..6cffeaa5ad21826123c8dda487fc6c65b7d03ed2 100644
 --- a/include/v8config.h
 +++ b/include/v8config.h
-@@ -526,10 +526,13 @@ path. Add it with -I<path> to the command line
+@@ -529,10 +529,13 @@ path. Add it with -I<path> to the command line
  # define V8_PRESERVE_MOST /* NOT SUPPORTED */
  #endif
  
@@ -25,7 +25,7 @@ index a967d92c39c1518831f60eeb443409e5284bba6c..fd762d87f5ebd32ccb23ff0c6383a37a
  #else
  # define V8_DEPRECATED(message)
  #endif
-@@ -537,7 +540,11 @@ path. Add it with -I<path> to the command line
+@@ -540,7 +543,11 @@ path. Add it with -I<path> to the command line
  
  // A macro (V8_DEPRECATE_SOON) to make it easier to see what will be deprecated.
  #if defined(V8_IMMINENT_DEPRECATION_WARNINGS)
@@ -38,7 +38,7 @@ index a967d92c39c1518831f60eeb443409e5284bba6c..fd762d87f5ebd32ccb23ff0c6383a37a
  #else
  # define V8_DEPRECATE_SOON(message)
  #endif
-@@ -571,7 +578,7 @@ path. Add it with -I<path> to the command line
+@@ -574,7 +581,7 @@ path. Add it with -I<path> to the command line
    END_ALLOW_USE_DEPRECATED()
  
  

+ 0 - 7
shell/browser/electron_browser_client.cc

@@ -1514,13 +1514,6 @@ std::string ElectronBrowserClient::GetApplicationLocale() {
   return *g_application_locale;
 }
 
-base::FilePath ElectronBrowserClient::GetFontLookupTableCacheDir() {
-  base::FilePath user_data_dir;
-  base::PathService::Get(chrome::DIR_USER_DATA, &user_data_dir);
-  DCHECK(!user_data_dir.empty());
-  return user_data_dir.Append(FILE_PATH_LITERAL("FontLookupTableCache"));
-}
-
 bool ElectronBrowserClient::ShouldEnableStrictSiteIsolation() {
   // Enable site isolation. It is off by default in Chromium <= 69.
   return true;

+ 0 - 1
shell/browser/electron_browser_client.h

@@ -71,7 +71,6 @@ class ElectronBrowserClient : public content::ContentBrowserClient,
 
   // content::ContentBrowserClient:
   std::string GetApplicationLocale() override;
-  base::FilePath GetFontLookupTableCacheDir() override;
   bool ShouldEnableStrictSiteIsolation() override;
   void BindHostReceiverForRenderer(
       content::RenderProcessHost* render_process_host,

+ 2 - 2
shell/browser/network_hints_handler_impl.cc

@@ -25,7 +25,7 @@ NetworkHintsHandlerImpl::NetworkHintsHandlerImpl(
 
 NetworkHintsHandlerImpl::~NetworkHintsHandlerImpl() = default;
 
-void NetworkHintsHandlerImpl::Preconnect(const GURL& url,
+void NetworkHintsHandlerImpl::Preconnect(const url::SchemeHostPort& url,
                                          bool allow_credentials) {
   DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
 
@@ -34,7 +34,7 @@ void NetworkHintsHandlerImpl::Preconnect(const GURL& url,
   }
   auto* session = electron::api::Session::FromBrowserContext(browser_context_);
   if (session) {
-    session->Emit("preconnect", url, allow_credentials);
+    session->Emit("preconnect", url.GetURL(), allow_credentials);
   }
 }
 

+ 2 - 1
shell/browser/network_hints_handler_impl.h

@@ -23,7 +23,8 @@ class NetworkHintsHandlerImpl
           receiver);
 
   // network_hints::mojom::NetworkHintsHandler:
-  void Preconnect(const GURL& url, bool allow_credentials) override;
+  void Preconnect(const url::SchemeHostPort& url,
+                  bool allow_credentials) override;
 
  private:
   explicit NetworkHintsHandlerImpl(content::RenderFrameHost*);

+ 3 - 0
shell/browser/osr/osr_web_contents_view.cc

@@ -220,4 +220,7 @@ OffScreenRenderWidgetHostView* OffScreenWebContentsView::GetView() const {
 
 void OffScreenWebContentsView::FullscreenStateChanged(bool is_fullscreen) {}
 
+void OffScreenWebContentsView::UpdateWindowControlsOverlay(
+    const gfx::Rect& bounding_rect) {}
+
 }  // namespace electron

+ 1 - 0
shell/browser/osr/osr_web_contents_view.h

@@ -64,6 +64,7 @@ class OffScreenWebContentsView : public content::WebContentsView,
   void SetOverscrollControllerEnabled(bool enabled) override;
   void OnCapturerCountChanged() override;
   void FullscreenStateChanged(bool is_fullscreen) override;
+  void UpdateWindowControlsOverlay(const gfx::Rect& bounding_rect) override;
 
 #if BUILDFLAG(IS_MAC)
   bool CloseTabAfterEventTrackingIfNeeded() override;

+ 0 - 11
shell/browser/serial/serial_chooser_context.cc

@@ -46,17 +46,6 @@ std::string EncodeToken(const base::UnguessableToken& token) {
   return buffer;
 }
 
-base::UnguessableToken DecodeToken(base::StringPiece input) {
-  std::string buffer;
-  if (!base::Base64Decode(input, &buffer) ||
-      buffer.length() != sizeof(uint64_t) * 2) {
-    return base::UnguessableToken();
-  }
-
-  const uint64_t* data = reinterpret_cast<const uint64_t*>(buffer.data());
-  return base::UnguessableToken::Deserialize(data[0], data[1]);
-}
-
 base::Value PortInfoToValue(const device::mojom::SerialPortInfo& port) {
   base::Value::Dict value;
   if (port.display_name && !port.display_name->empty())