Browse Source

chore: bump chromium 134.0.6990.0 (#45507)

* chore: update feat_add_support_for_missing_dialog_features_to_shell_dialogs.patch

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

Partially upstreamed by @codebytere

* chore: e patches all
Charles Kerr 2 months ago
parent
commit
3db691804b
23 changed files with 73 additions and 101 deletions
  1. 1 1
      DEPS
  2. 1 1
      patches/chromium/add_electron_deps_to_license_credits_file.patch
  3. 7 7
      patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch
  4. 9 9
      patches/chromium/can_create_window.patch
  5. 2 2
      patches/chromium/cherry-pick-dd8e2822e507.patch
  6. 4 4
      patches/chromium/chore_introduce_blocking_api_for_electron.patch
  7. 2 2
      patches/chromium/chore_partial_revert_of.patch
  8. 2 2
      patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch
  9. 4 4
      patches/chromium/disable_hidden.patch
  10. 7 35
      patches/chromium/feat_add_support_for_missing_dialog_features_to_shell_dialogs.patch
  11. 1 1
      patches/chromium/fix_crash_loading_non-standard_schemes_in_iframes.patch
  12. 2 2
      patches/chromium/fix_on-screen-keyboard_hides_on_input_blur_in_webview.patch
  13. 2 2
      patches/chromium/fix_restore_original_resize_performance_on_macos.patch
  14. 1 1
      patches/chromium/frame_host_manager.patch
  15. 2 2
      patches/chromium/gritsettings_resource_ids.patch
  16. 5 5
      patches/chromium/mas_avoid_private_macos_api_usage.patch.patch
  17. 1 1
      patches/chromium/partially_revert_is_newly_created_to_allow_for_browser_initiated.patch
  18. 2 2
      patches/chromium/printing.patch
  19. 6 6
      patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch
  20. 2 2
      patches/chromium/refactor_unfilter_unresponsive_events.patch
  21. 3 3
      patches/chromium/resource_file_conflict.patch
  22. 3 3
      patches/chromium/web_contents.patch
  23. 4 4
      patches/chromium/webview_fullscreen.patch

+ 1 - 1
DEPS

@@ -2,7 +2,7 @@ gclient_gn_args_from = 'src'
 
 vars = {
   'chromium_version':
-    '134.0.6989.0',
+    '134.0.6990.0',
   'node_version':
     'v22.13.1',
   'nan_version':

+ 1 - 1
patches/chromium/add_electron_deps_to_license_credits_file.patch

@@ -7,7 +7,7 @@ Ensure that licenses for the dependencies introduced by Electron
 are included in `LICENSES.chromium.html`
 
 diff --git a/tools/licenses/licenses.py b/tools/licenses/licenses.py
-index 7500f633b4672cecbe3f5015724b5f9c9b35f953..6f83a2fe35b6695120b37b298dcd80179601af53 100755
+index e2eafa2d533b9264e6452b38ef51b9363cccda31..f506aee9ac373ced20916da5013aa19137da4c5d 100755
 --- a/tools/licenses/licenses.py
 +++ b/tools/licenses/licenses.py
 @@ -336,6 +336,31 @@ SPECIAL_CASES = {

+ 7 - 7
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 c85316d1b75473e65e4b6de84a57ae91b6202a08..3033a50c2249c921d80e3ca0ca11baabaa1c0005 100644
+index 66ef563af7a9698ef76ac710824234885ecb6125..e11d4f2d11a4a701c3e02719cc71d3d1f92c74fd 100644
 --- a/chrome/BUILD.gn
 +++ b/chrome/BUILD.gn
 @@ -196,11 +196,16 @@ if (!is_android && !is_mac) {
@@ -33,10 +33,10 @@ index c85316d1b75473e65e4b6de84a57ae91b6202a08..3033a50c2249c921d80e3ca0ca11baab
          "//base",
          "//build:branding_buildflags",
 diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
-index b6f9a7c63721344cf3c9d3eb3a772c37788c0bcf..b3c2213f275f944ca3d4191ccb9b03e971b5fb6e 100644
+index 512e796b8dd07f7d06a69d4183f915b72d3e3400..6b7118ad3e507f32d4dccd26e1dddfa06cf04819 100644
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -4522,7 +4522,7 @@ static_library("browser") {
+@@ -4531,7 +4531,7 @@ static_library("browser") {
            [ "//chrome/browser/ui/webui/signin:profile_impl" ]
      }
  
@@ -46,10 +46,10 @@ index b6f9a7c63721344cf3c9d3eb3a772c37788c0bcf..b3c2213f275f944ca3d4191ccb9b03e9
        # than here in :chrome_dll.
        deps += [ "//chrome:packed_resources_integrity_header" ]
 diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
-index 057a71a3884cc4cb44b875ee873361a9e0007f59..6d119f63e5cd332217fd4e9e5b9aec700aa88e93 100644
+index b9c2a5301ec9ff352bb7dc22478f6bdcaf73367d..46b9c69bf798fc2628442f3ce726ff4ed5f50fec 100644
 --- a/chrome/test/BUILD.gn
 +++ b/chrome/test/BUILD.gn
-@@ -6995,9 +6995,12 @@ test("unit_tests") {
+@@ -6997,9 +6997,12 @@ test("unit_tests") {
        "//chrome/notification_helper",
      ]
  
@@ -63,7 +63,7 @@ index 057a71a3884cc4cb44b875ee873361a9e0007f59..6d119f63e5cd332217fd4e9e5b9aec70
        "//chrome//services/util_win:unit_tests",
        "//chrome/app:chrome_dll_resources",
        "//chrome/app:win_unit_tests",
-@@ -7954,6 +7957,10 @@ test("unit_tests") {
+@@ -7956,6 +7959,10 @@ test("unit_tests") {
        "../browser/performance_manager/policies/background_tab_loading_policy_unittest.cc",
      ]
  
@@ -74,7 +74,7 @@ index 057a71a3884cc4cb44b875ee873361a9e0007f59..6d119f63e5cd332217fd4e9e5b9aec70
      sources += [
        # The importer code is not used on Android.
        "../common/importer/firefox_importer_utils_unittest.cc",
-@@ -8009,7 +8016,6 @@ test("unit_tests") {
+@@ -8011,7 +8018,6 @@ test("unit_tests") {
      # Non-android deps for "unit_tests" target.
      deps += [
        "../browser/screen_ai:screen_ai_install_state",

+ 9 - 9
patches/chromium/can_create_window.patch

@@ -9,7 +9,7 @@ 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 7c0f64a475f379a9cff48a922d391d75122d8583..11345ff4c57b512d1aad114c4ee11a3652df6eeb 100644
+index ac6c76e34fdc8b84374161c2984349e4c40f6b49..bf5c630c3e7f86f20bddd5d7c1953c10d3d0f323 100644
 --- a/content/browser/renderer_host/render_frame_host_impl.cc
 +++ b/content/browser/renderer_host/render_frame_host_impl.cc
 @@ -9401,6 +9401,7 @@ void RenderFrameHostImpl::CreateNewWindow(
@@ -21,10 +21,10 @@ index 7c0f64a475f379a9cff48a922d391d75122d8583..11345ff4c57b512d1aad114c4ee11a36
            &no_javascript_access);
  
 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index db726f36b3d685a5563c5177a0e98b627abb30e6..c3388ade654b79df4c96e4867acd10abea89f096 100644
+index ef5cf5d027cbae80508d188165b5a2a522a4c648..b76df2fa58a2f96d1b6dd13fec2cea420bb8ecb4 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -4977,6 +4977,12 @@ FrameTree* WebContentsImpl::CreateNewWindow(
+@@ -5002,6 +5002,12 @@ FrameTree* WebContentsImpl::CreateNewWindow(
    SetPartitionedPopinOpenerOnNewWindowIfNeeded(new_contents_impl, params,
                                                 opener);
  
@@ -37,7 +37,7 @@ index db726f36b3d685a5563c5177a0e98b627abb30e6..c3388ade654b79df4c96e4867acd10ab
    // 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
-@@ -5018,12 +5024,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
+@@ -5043,12 +5049,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
      AddWebContentsDestructionObserver(new_contents_impl);
    }
  
@@ -66,10 +66,10 @@ index 91dcf6c9c4a2d840fb50cb329fe3ef1bba9103c3..cbc887a3034605a93468e73a310e9ca6
  
  // 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 868f15b1f5ee0620115530653fca29283d34eced..1b060732595198cb652ae00c9787b02772fdb61c 100644
+index fb1309ff3283ba220b4ffcc01abd217211c0a57c..2f8bdfa586c1392264ed7ce6c6aee36b2c6b8577 100644
 --- a/content/public/browser/content_browser_client.cc
 +++ b/content/public/browser/content_browser_client.cc
-@@ -801,6 +801,8 @@ bool ContentBrowserClient::CanCreateWindow(
+@@ -805,6 +805,8 @@ bool ContentBrowserClient::CanCreateWindow(
      const std::string& frame_name,
      WindowOpenDisposition disposition,
      const blink::mojom::WindowFeatures& features,
@@ -79,7 +79,7 @@ index 868f15b1f5ee0620115530653fca29283d34eced..1b060732595198cb652ae00c9787b027
      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 d39a4763b4b67b1adc84a0090aba88b7ae7ae4cd..7988eae8421eb3c9079e449b25da2f9e52c31ffc 100644
+index e418a12409a250a747a194c137807a2d2cfb4e8d..7bda9f416d7399a3e9fe42ec22af374ba9c4130f 100644
 --- a/content/public/browser/content_browser_client.h
 +++ b/content/public/browser/content_browser_client.h
 @@ -203,6 +203,7 @@ class NetworkService;
@@ -90,7 +90,7 @@ index d39a4763b4b67b1adc84a0090aba88b7ae7ae4cd..7988eae8421eb3c9079e449b25da2f9e
  }  // namespace network
  
  namespace sandbox {
-@@ -1357,6 +1358,8 @@ class CONTENT_EXPORT ContentBrowserClient {
+@@ -1361,6 +1362,8 @@ class CONTENT_EXPORT ContentBrowserClient {
        const std::string& frame_name,
        WindowOpenDisposition disposition,
        const blink::mojom::WindowFeatures& features,
@@ -210,7 +210,7 @@ index 82e9d3dfb5f7da76d89fe15ae61d379fa46e177d..fd035512099a54dff6cc951a2226c23a
  
  }  // namespace blink
 diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_party/blink/renderer/core/frame/local_dom_window.cc
-index 845b836a0b57d496253dbb966d2b759c08635381..af981e5269ebb4e61c25db84f20068aeb95b03af 100644
+index 3f43b8dcfc99a2d168f994ab18f6ed325a8df867..c021d1d050bea88a1e65e0e8a49dfde4b91c81f2 100644
 --- a/third_party/blink/renderer/core/frame/local_dom_window.cc
 +++ b/third_party/blink/renderer/core/frame/local_dom_window.cc
 @@ -2264,6 +2264,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,

+ 2 - 2
patches/chromium/cherry-pick-dd8e2822e507.patch

@@ -56,10 +56,10 @@ index 394bd53bb5c1dfea5abe24b9047eb190884c2648..7add42348ef28079196b447feda78210
    // Used when loading workers from network schemes.
    // WARNING: This does not populate referrer policy.
 diff --git a/content/browser/service_worker/service_worker_registry.cc b/content/browser/service_worker/service_worker_registry.cc
-index 930c7a0c51832f1577656357135a1cfd175839c6..429fe4e4fd632ee7eef04b483614b316c8cc2019 100644
+index aa1e8fb5d1b3eef93b799f29cc89e15315507d2d..68b5c2ba114aa084c5ad6bc2e4fd12d44393ed77 100644
 --- a/content/browser/service_worker/service_worker_registry.cc
 +++ b/content/browser/service_worker/service_worker_registry.cc
-@@ -1069,7 +1069,8 @@ ServiceWorkerRegistry::GetOrCreateRegistration(
+@@ -1084,7 +1084,8 @@ ServiceWorkerRegistry::GetOrCreateRegistration(
      if (data.policy_container_policies) {
        version->set_policy_container_host(
            base::MakeRefCounted<PolicyContainerHost>(

+ 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 e029700325e792e7a840ed94f25e7a49b86d0046..23b476f1b3e86f896044a8cb4f1a92f24033f3b1 100644
+index ab355bfa81e995e31aa0decf68e1275c9bd69657..eeb7abb38725e06cbd8404653ab792b2f6a5be95 100644
 --- a/base/threading/thread_restrictions.h
 +++ b/base/threading/thread_restrictions.h
 @@ -132,6 +132,7 @@ class KeyStorageLinux;
@@ -18,7 +18,7 @@ index e029700325e792e7a840ed94f25e7a49b86d0046..23b476f1b3e86f896044a8cb4f1a92f2
  class Profile;
  class ProfileImpl;
  class ScopedAllowBlockingForProfile;
-@@ -282,6 +283,9 @@ class BackendImpl;
+@@ -281,6 +282,9 @@ class BackendImpl;
  class InFlightIO;
  bool CleanupDirectorySync(const base::FilePath&);
  }  // namespace disk_cache
@@ -28,7 +28,7 @@ index e029700325e792e7a840ed94f25e7a49b86d0046..23b476f1b3e86f896044a8cb4f1a92f2
  namespace enterprise_connectors {
  class LinuxKeyRotationCommand;
  }  // namespace enterprise_connectors
-@@ -579,6 +583,7 @@ class BASE_EXPORT ScopedAllowBlocking {
+@@ -578,6 +582,7 @@ class BASE_EXPORT ScopedAllowBlocking {
    friend class ::DesktopNotificationBalloon;
    friend class ::FirefoxProfileLock;
    friend class ::GaiaConfig;
@@ -36,7 +36,7 @@ index e029700325e792e7a840ed94f25e7a49b86d0046..23b476f1b3e86f896044a8cb4f1a92f2
    friend class ::ProfileImpl;
    friend class ::ScopedAllowBlockingForProfile;
    friend class ::StartupTabProviderImpl;
-@@ -620,6 +625,7 @@ class BASE_EXPORT ScopedAllowBlocking {
+@@ -619,6 +624,7 @@ class BASE_EXPORT ScopedAllowBlocking {
    friend class crypto::ScopedAllowBlockingForNSS;  // http://crbug.com/59847
    friend class drive::FakeDriveService;
    friend class extensions::DesktopAndroidExtensionSystem;

+ 2 - 2
patches/chromium/chore_partial_revert_of.patch

@@ -14,10 +14,10 @@ track down the source of this problem & figure out if we can fix it
 by changing something in Electron.
 
 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index 92fdec43db9de93e6fb6ad842d936cdad5a2d04e..4292629633d4d27d2d955e71eec077898cef75a9 100644
+index b48b57fd851430b273d89efe23ba8287e238a992..036f36e0db1ca493bbeefc5f9bfcc1da743eabe6 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -4896,7 +4896,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
+@@ -4921,7 +4921,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
            : IsGuest();
    // While some guest types do not have a guest SiteInstance, the ones that
    // don't all override WebContents creation above.

+ 2 - 2
patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch

@@ -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 ffcfe06f299f2a4d62f6a8edbde9df9d301d81fe..a439a65cba92b95f48c4a8e46c57e714a934d2fa 100644
+index 4fc5cf0ca116f75b46ce61f1315c6666c54e1009..ea3051dcced29ea08d557dd94b5bf255aa828ddc 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -4859,8 +4859,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
+@@ -4884,8 +4884,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
    // TODO(crbug.com/40202416): Support a way for MPArch guests to support this.
    if (delegate_ && delegate_->IsWebContentsCreationOverridden(
                         source_site_instance, params.window_container_type,

+ 4 - 4
patches/chromium/disable_hidden.patch

@@ -6,10 +6,10 @@ Subject: disable_hidden.patch
 Electron uses this to disable background throttling for hidden windows.
 
 diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
-index 02d3a7ca666adcb723a1b64928258d1ecaed6a7a..86bd9d926dcf51d42ec716ccde47a77bcd4e8e1d 100644
+index aac39964c3aff5f58d473330c714051deec8e473..58ddbafd8a35b1e7246be65cb5e633b9ac629ed8 100644
 --- a/content/browser/renderer_host/render_widget_host_impl.cc
 +++ b/content/browser/renderer_host/render_widget_host_impl.cc
-@@ -818,6 +818,10 @@ void RenderWidgetHostImpl::WasHidden() {
+@@ -819,6 +819,10 @@ void RenderWidgetHostImpl::WasHidden() {
      return;
    }
  
@@ -21,10 +21,10 @@ index 02d3a7ca666adcb723a1b64928258d1ecaed6a7a..86bd9d926dcf51d42ec716ccde47a77b
    // Prompts should remain open and functional across tab switches.
    if (!delegate_->IsWaitingForPointerLockPrompt(this)) {
 diff --git a/content/browser/renderer_host/render_widget_host_impl.h b/content/browser/renderer_host/render_widget_host_impl.h
-index ba199dfd6445ebb696a8c2fdda17000ac672b5bf..2d0f23b2347f5d420a31c325002fb0f2d830e42f 100644
+index 64b4e2fb0a2c2dff82f5fb03b098f0b16eaff8df..6cd7fd0b919c98146e21b033ba8b848ed87b8633 100644
 --- a/content/browser/renderer_host/render_widget_host_impl.h
 +++ b/content/browser/renderer_host/render_widget_host_impl.h
-@@ -1013,6 +1013,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl
+@@ -1014,6 +1014,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl
    // Requests a commit and forced redraw in the renderer compositor.
    void ForceRedrawForTesting();
  

+ 7 - 35
patches/chromium/feat_add_support_for_missing_dialog_features_to_shell_dialogs.patch

@@ -260,18 +260,10 @@ index 61683d0eddb04c494ca5e650e7d556b44968ec49..5492456a9138b250e97a5479838bb443
  
  }  // namespace ui
 diff --git a/ui/shell_dialogs/select_file_dialog_linux_kde.cc b/ui/shell_dialogs/select_file_dialog_linux_kde.cc
-index 64a79ebe2e2d21d5a6b4a98042d1cdb7b6edad52..400cce91b020ecd5e48566f125515d2cfe3ea6af 100644
+index 9d45ec49a4fb5e12407b65b83c1ba0c13cd0dfd8..400cce91b020ecd5e48566f125515d2cfe3ea6af 100644
 --- a/ui/shell_dialogs/select_file_dialog_linux_kde.cc
 +++ b/ui/shell_dialogs/select_file_dialog_linux_kde.cc
-@@ -8,6 +8,7 @@
- #include <string_view>
- 
- #include "base/command_line.h"
-+#include "base/files/file_util.h"
- #include "base/functional/bind.h"
- #include "base/functional/callback_helpers.h"
- #include "base/logging.h"
-@@ -154,9 +155,20 @@ class SelectFileDialogLinuxKde : public SelectFileDialogLinux {
+@@ -155,9 +155,20 @@ class SelectFileDialogLinuxKde : public SelectFileDialogLinux {
    void OnSelectMultiFileDialogResponse(
        gfx::AcceleratedWidget parent,
        std::unique_ptr<KDialogOutputParams> results);
@@ -292,27 +284,7 @@ index 64a79ebe2e2d21d5a6b4a98042d1cdb7b6edad52..400cce91b020ecd5e48566f125515d2c
  
    // Should be either DESKTOP_ENVIRONMENT_KDE3, KDE4, KDE5, or KDE6.
    base::nix::DesktopEnvironment desktop_;
-@@ -413,10 +425,16 @@ void SelectFileDialogLinuxKde::GetKDialogCommandLine(
-   }
-   command_line->AppendSwitch(type);
-   // The path should never be empty. If it is, set it to PWD.
--  if (path.empty())
--    command_line->AppendArgPath(base::FilePath("."));
--  else
-+  auto pwd = base::FilePath(".");
-+  if (path.empty()) {
-+    command_line->AppendArgPath(pwd);
-+  } else if (path.IsAbsolute()) {
-     command_line->AppendArgPath(path);
-+  } else {
-+    // KDialog won't set the default name in the Name field for relative paths.
-+    auto abs_path = base::MakeAbsoluteFilePathNoResolveSymbolicLinks(path);
-+    command_line->AppendArgPath(abs_path.value_or(pwd));
-+  }
-   // Depending on the type of the operation we need, get the path to the
-   // file/folder and set up mime type filters.
-   if (file_operation)
-@@ -461,6 +479,7 @@ void SelectFileDialogLinuxKde::CreateSelectFolderDialog(
+@@ -468,6 +479,7 @@ void SelectFileDialogLinuxKde::CreateSelectFolderDialog(
    int title_message_id = (type == SELECT_UPLOAD_FOLDER)
                               ? IDS_SELECT_UPLOAD_FOLDER_DIALOG_TITLE
                               : IDS_SELECT_FOLDER_DIALOG_TITLE;
@@ -320,7 +292,7 @@ index 64a79ebe2e2d21d5a6b4a98042d1cdb7b6edad52..400cce91b020ecd5e48566f125515d2c
    pipe_task_runner_->PostTaskAndReplyWithResult(
        FROM_HERE,
        base::BindOnce(
-@@ -468,10 +487,12 @@ void SelectFileDialogLinuxKde::CreateSelectFolderDialog(
+@@ -475,10 +487,12 @@ void SelectFileDialogLinuxKde::CreateSelectFolderDialog(
            KDialogParams(
                "--getexistingdirectory", GetTitle(title, title_message_id),
                default_path.empty() ? *last_opened_path() : default_path, parent,
@@ -336,7 +308,7 @@ index 64a79ebe2e2d21d5a6b4a98042d1cdb7b6edad52..400cce91b020ecd5e48566f125515d2c
  }
  
  void SelectFileDialogLinuxKde::CreateFileOpenDialog(
-@@ -561,7 +582,8 @@ void SelectFileDialogLinuxKde::OnSelectSingleFolderDialogResponse(
+@@ -568,7 +582,8 @@ void SelectFileDialogLinuxKde::OnSelectSingleFolderDialogResponse(
    SelectSingleFileHelper(true, std::move(results));
  }
  
@@ -346,7 +318,7 @@ index 64a79ebe2e2d21d5a6b4a98042d1cdb7b6edad52..400cce91b020ecd5e48566f125515d2c
      gfx::AcceleratedWidget parent,
      std::unique_ptr<KDialogOutputParams> results) {
    DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-@@ -579,7 +601,7 @@ void SelectFileDialogLinuxKde::OnSelectMultiFileDialogResponse(
+@@ -586,7 +601,7 @@ void SelectFileDialogLinuxKde::OnSelectMultiFileDialogResponse(
         base::SplitStringPiece(results->output, "\n", base::KEEP_WHITESPACE,
                                base::SPLIT_WANT_NONEMPTY)) {
      base::FilePath path(line);
@@ -355,7 +327,7 @@ index 64a79ebe2e2d21d5a6b4a98042d1cdb7b6edad52..400cce91b020ecd5e48566f125515d2c
        continue;
      filenames_fp.push_back(path);
    }
-@@ -591,4 +613,16 @@ void SelectFileDialogLinuxKde::OnSelectMultiFileDialogResponse(
+@@ -598,4 +613,16 @@ void SelectFileDialogLinuxKde::OnSelectMultiFileDialogResponse(
    MultiFilesSelected(filenames_fp);
  }
  

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

@@ -28,7 +28,7 @@ The patch should be removed in favor of either:
 Upstream bug https://bugs.chromium.org/p/chromium/issues/detail?id=1081397.
 
 diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc
-index 5d6118daf956254c7f22d600560af62aba9d1cba..534207b506f2068c94e59e0c05476bfdbcefab91 100644
+index 85044aec3ec4d3d03ff10b4c893a7ff257364d51..0c75e426cf32023ea35e6d5044abbfbec9845939 100644
 --- a/content/browser/renderer_host/navigation_request.cc
 +++ b/content/browser/renderer_host/navigation_request.cc
 @@ -10946,6 +10946,12 @@ NavigationRequest::GetOriginForURLLoaderFactoryUncheckedWithDebugInfo() {

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

@@ -87,10 +87,10 @@ index 51522e60d6dc14f1113cc438558b6b393c3fe73a..153ed02f493a83ef9ca354cc18736f93
    // The view with active text input state, i.e., a focused <input> element.
    // It will be nullptr if no such view exists. Note that the active view
 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index 5f7d2e165c9551a7cf965aaac196c9508eab22bb..92fdec43db9de93e6fb6ad842d936cdad5a2d04e 100644
+index 99fc1fde507e4594de8ffed7c3132150e226d475..b48b57fd851430b273d89efe23ba8287e238a992 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -9673,7 +9673,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(
+@@ -9700,7 +9700,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(
                          "WebContentsImpl::OnFocusedElementChangedInFrame",
                          "render_frame_host", frame);
    RenderWidgetHostViewBase* root_view =

+ 2 - 2
patches/chromium/fix_restore_original_resize_performance_on_macos.patch

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

+ 1 - 1
patches/chromium/frame_host_manager.patch

@@ -20,7 +20,7 @@ index d6c91f23000c5a15d791560f91a5aa235f2701c7..bf0e2979cf1534b9f72bb44c3e51fa5a
  }
  
 diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
-index 7988eae8421eb3c9079e449b25da2f9e52c31ffc..16fff107a0f658d78ce38935820f5ac6a923c129 100644
+index 7bda9f416d7399a3e9fe42ec22af374ba9c4130f..f718016e4ace49189c2920d98f92e2a857075ac9 100644
 --- a/content/public/browser/content_browser_client.h
 +++ b/content/public/browser/content_browser_client.h
 @@ -344,6 +344,11 @@ class CONTENT_EXPORT ContentBrowserClient {

+ 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 c272cb9614cd8095c10ae2b1b2cab702a380a278..0ed8a5cc082b29d6b1c90c1ca02162b20f3f803b 100644
+index 4b679c6ee3b585a4891ec57a9080e08f2b51ed4d..bbff85e3365a0d61473ce9ae8801f1c18f0609e5 100644
 --- a/tools/gritsettings/resource_ids.spec
 +++ b/tools/gritsettings/resource_ids.spec
-@@ -1447,6 +1447,11 @@
+@@ -1450,6 +1450,11 @@
    "<(SHARED_INTERMEDIATE_DIR)/third_party/blink/public/strings/permission_element_generated_strings.grd": {
      "META": {"sizes": {"messages": [2000],}},
      "messages": [10080],

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

@@ -35,7 +35,7 @@ system font by checking if it's kCTFontPriorityAttribute is set to
 system priority.
 
 diff --git a/base/BUILD.gn b/base/BUILD.gn
-index 3934ff75fa9f0841d062f00e52a1ccb9af327177..a0c81d907db6143e11de04ebfa7f629c7e11911c 100644
+index a4ae9c4c242551f6850cdcbb42551b676db76c95..22281156bcfdd6999d15d511c508415f8f3f9ac7 100644
 --- a/base/BUILD.gn
 +++ b/base/BUILD.gn
 @@ -1028,6 +1028,7 @@ component("base") {
@@ -579,7 +579,7 @@ index a76028eed0249244d0559de102a756e3b2771b63..cb65efb56849d57e2e656f90d5b1d737
    return kAttributes;
  }
 diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
-index 82518ae30b39aae406d5c142af60ae4c0829786b..84adb6a2163ea44fc36c8fa95057f2bbad757093 100644
+index 74ca66c0f38b4fc4448d50a9f3674cda6a078f0e..5c49a11dfbe1275f0f8cd21bf970d3b6b98cb71e 100644
 --- a/content/browser/BUILD.gn
 +++ b/content/browser/BUILD.gn
 @@ -329,6 +329,7 @@ source_set("browser") {
@@ -792,7 +792,7 @@ index a1068589ad844518038ee7bc15a3de9bc5cba525..1ff781c49f086ec8015c7d3c44567dbe
  
  }  // namespace content
 diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
-index 15a237fd7354b76fd6c67c3f7c77c75d8ef34b11..2cd888ea6f4b1f18ab65945dfb2814f0601f7b58 100644
+index 27adf4138c7ea1cb90460bdd21586163f7614a48..6b422c331bb14489b36a762ad2ced88544d21b60 100644
 --- a/content/test/BUILD.gn
 +++ b/content/test/BUILD.gn
 @@ -652,6 +652,7 @@ static_library("test_support") {
@@ -811,7 +811,7 @@ index 15a237fd7354b76fd6c67c3f7c77c75d8ef34b11..2cd888ea6f4b1f18ab65945dfb2814f0
  }
  
  mojom("content_test_mojo_bindings") {
-@@ -1918,6 +1920,7 @@ test("content_browsertests") {
+@@ -1924,6 +1926,7 @@ test("content_browsertests") {
      "//ui/shell_dialogs",
      "//ui/snapshot",
      "//ui/webui:test_support",
@@ -819,7 +819,7 @@ index 15a237fd7354b76fd6c67c3f7c77c75d8ef34b11..2cd888ea6f4b1f18ab65945dfb2814f0
    ]
  
    if (!(is_chromeos && target_cpu == "arm64" && current_cpu == "arm")) {
-@@ -3204,6 +3207,7 @@ test("content_unittests") {
+@@ -3210,6 +3213,7 @@ test("content_unittests") {
      "//ui/latency:test_support",
      "//ui/shell_dialogs:shell_dialogs",
      "//ui/webui:test_support",

+ 1 - 1
patches/chromium/partially_revert_is_newly_created_to_allow_for_browser_initiated.patch

@@ -10,7 +10,7 @@ an about:blank check to this area.
 Ref: https://chromium-review.googlesource.com/c/chromium/src/+/5403876
 
 diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
-index 074885f3f17f3838a61f1b6d7866e80c9eb8d644..2cf31c000cdc829d6b920f31977aeda826d0c070 100644
+index 2778d916941effdf5b7c03794e0ffac5077f87a6..4b70fe8bc36131e0e72d661b02bee126a61073ad 100644
 --- a/content/browser/renderer_host/render_frame_host_impl.cc
 +++ b/content/browser/renderer_host/render_frame_host_impl.cc
 @@ -798,8 +798,8 @@ void VerifyThatBrowserAndRendererCalculatedOriginsToCommitMatch(

+ 2 - 2
patches/chromium/printing.patch

@@ -881,10 +881,10 @@ index 97cb6458bc9eec767db89b56abfc5f4b4136ff7b..d9a0b343158b8464b5c9aa8e0e655c0b
    ScriptingThrottler scripting_throttler_;
  
 diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
-index 84adb6a2163ea44fc36c8fa95057f2bbad757093..106d5cec3dcf164b42ead3cad1f262082bf5bfbf 100644
+index 5c49a11dfbe1275f0f8cd21bf970d3b6b98cb71e..6e9632e8a67e5848c96af23aa2296607b5c0b2c3 100644
 --- a/content/browser/BUILD.gn
 +++ b/content/browser/BUILD.gn
-@@ -3075,8 +3075,9 @@ source_set("browser") {
+@@ -3081,8 +3081,9 @@ source_set("browser") {
        "//ppapi/shared_impl",
      ]
  

+ 6 - 6
patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch

@@ -30,10 +30,10 @@ index ecb007b668458da1f8db4fca75f9c4428221dfbf..063007699b5b09ef8e6dbb39e044e4a1
    // 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 86bd9d926dcf51d42ec716ccde47a77bcd4e8e1d..4c6081970652f83382359623cc89ffd5f26b1c17 100644
+index 58ddbafd8a35b1e7246be65cb5e633b9ac629ed8..ce5ec54c97815522cf8df64c23849d3892c00d2c 100644
 --- a/content/browser/renderer_host/render_widget_host_impl.cc
 +++ b/content/browser/renderer_host/render_widget_host_impl.cc
-@@ -2019,6 +2019,9 @@ void RenderWidgetHostImpl::SetCursor(const ui::Cursor& cursor) {
+@@ -2037,6 +2037,9 @@ void RenderWidgetHostImpl::SetCursor(const ui::Cursor& cursor) {
    if (view_) {
      view_->UpdateCursor(cursor);
    }
@@ -44,10 +44,10 @@ index 86bd9d926dcf51d42ec716ccde47a77bcd4e8e1d..4c6081970652f83382359623cc89ffd5
  
  void RenderWidgetHostImpl::ShowContextMenuAtPoint(
 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index c3388ade654b79df4c96e4867acd10abea89f096..ffcfe06f299f2a4d62f6a8edbde9df9d301d81fe 100644
+index b76df2fa58a2f96d1b6dd13fec2cea420bb8ecb4..4fc5cf0ca116f75b46ce61f1315c6666c54e1009 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -5726,6 +5726,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
+@@ -5751,6 +5751,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
    return text_input_manager_.get();
  }
  
@@ -60,10 +60,10 @@ index c3388ade654b79df4c96e4867acd10abea89f096..ffcfe06f299f2a4d62f6a8edbde9df9d
      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 f68fb7f6b92a71cc4d52a2de5f86a7be808468d9..2eed7ca33168e88b0b677f759c48892238f97c15 100644
+index 504f0971e21d3c068f57be8d6cb1a0242fb9c960..fa047301662e86f770be433c498cff9935b8b718 100644
 --- a/content/browser/web_contents/web_contents_impl.h
 +++ b/content/browser/web_contents/web_contents_impl.h
-@@ -1165,6 +1165,7 @@ class CONTENT_EXPORT WebContentsImpl
+@@ -1167,6 +1167,7 @@ class CONTENT_EXPORT WebContentsImpl
    void SendScreenRects() override;
    void SendActiveState(bool active) override;
    TextInputManager* GetTextInputManager() override;

+ 2 - 2
patches/chromium/refactor_unfilter_unresponsive_events.patch

@@ -15,10 +15,10 @@ This CL removes these filters so the unresponsive event can still be
 accessed from our JS event. The filtering is moved into Electron's code.
 
 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index 4292629633d4d27d2d955e71eec077898cef75a9..11310d464eb10479110c7910c9442b49260a45e1 100644
+index 036f36e0db1ca493bbeefc5f9bfcc1da743eabe6..1052df03ff2441543921502cb2a7a228b2bd6644 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -9810,25 +9810,13 @@ void WebContentsImpl::RendererUnresponsive(
+@@ -9837,25 +9837,13 @@ void WebContentsImpl::RendererUnresponsive(
      base::RepeatingClosure hang_monitor_restarter) {
    OPTIONAL_TRACE_EVENT1("content", "WebContentsImpl::RendererUnresponsive",
                          "render_widget_host", render_widget_host);

+ 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 623aa9404de5b3cfc6e7837edb44ed005b66b185..c85316d1b75473e65e4b6de84a57ae91b6202a08 100644
+index 576e94b4574276d123687fe027046d14c95a7a51..66ef563af7a9698ef76ac710824234885ecb6125 100644
 --- a/chrome/BUILD.gn
 +++ b/chrome/BUILD.gn
-@@ -1545,7 +1545,7 @@ if (is_chrome_branded && !is_android) {
+@@ -1547,7 +1547,7 @@ if (is_chrome_branded && !is_android) {
    }
  }
  
@@ -64,7 +64,7 @@ index 623aa9404de5b3cfc6e7837edb44ed005b66b185..c85316d1b75473e65e4b6de84a57ae91
    chrome_paks("packed_resources") {
      if (is_mac) {
        output_dir = "$root_gen_dir/repack"
-@@ -1584,6 +1584,12 @@ if (!is_android) {
+@@ -1586,6 +1586,12 @@ if (!is_android) {
    }
  }
  

+ 3 - 3
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 a439a65cba92b95f48c4a8e46c57e714a934d2fa..a4a5db4cf4dea358fb34d658a675be9e799e2ef1 100644
+index ea3051dcced29ea08d557dd94b5bf255aa828ddc..76b8f23f39b6de07359348e99b900f7f10d77437 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -3809,6 +3809,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
+@@ -3829,6 +3829,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 a439a65cba92b95f48c4a8e46c57e714a934d2fa..a4a5db4cf4dea358fb34d658a675be9e
    std::unique_ptr<WebContentsViewDelegate> delegate =
        GetContentClient()->browser()->GetWebContentsViewDelegate(this);
  
-@@ -3819,6 +3826,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
+@@ -3839,6 +3846,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
      view_ = CreateWebContentsView(this, std::move(delegate),
                                    &render_view_host_delegate_view_);
    }

+ 4 - 4
patches/chromium/webview_fullscreen.patch

@@ -15,7 +15,7 @@ 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 11345ff4c57b512d1aad114c4ee11a3652df6eeb..074885f3f17f3838a61f1b6d7866e80c9eb8d644 100644
+index bf5c630c3e7f86f20bddd5d7c1953c10d3d0f323..2778d916941effdf5b7c03794e0ffac5077f87a6 100644
 --- a/content/browser/renderer_host/render_frame_host_impl.cc
 +++ b/content/browser/renderer_host/render_frame_host_impl.cc
 @@ -8510,6 +8510,17 @@ void RenderFrameHostImpl::EnterFullscreen(
@@ -37,10 +37,10 @@ index 11345ff4c57b512d1aad114c4ee11a3652df6eeb..074885f3f17f3838a61f1b6d7866e80c
    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 a4a5db4cf4dea358fb34d658a675be9e799e2ef1..5f7d2e165c9551a7cf965aaac196c9508eab22bb 100644
+index 76b8f23f39b6de07359348e99b900f7f10d77437..99fc1fde507e4594de8ffed7c3132150e226d475 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -4073,21 +4073,25 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent(
+@@ -4098,21 +4098,25 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent(
      const input::NativeWebKeyboardEvent& event) {
    OPTIONAL_TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("content.verbose"),
                          "WebContentsImpl::PreHandleKeyboardEvent");
@@ -78,7 +78,7 @@ index a4a5db4cf4dea358fb34d658a675be9e799e2ef1..5f7d2e165c9551a7cf965aaac196c950
  }
  
  bool WebContentsImpl::HandleMouseEvent(const blink::WebMouseEvent& event) {
-@@ -4246,7 +4250,7 @@ void WebContentsImpl::EnterFullscreenMode(
+@@ -4271,7 +4275,7 @@ void WebContentsImpl::EnterFullscreenMode(
    OPTIONAL_TRACE_EVENT0("content", "WebContentsImpl::EnterFullscreenMode");
    DCHECK(CanEnterFullscreenMode(requesting_frame));
    DCHECK(requesting_frame->IsActive());