Browse Source

chore: bump chromium to 0f4170320ff37e971064916aed1dc (master) (#23285)

* chore: bump chromium in DEPS to 53836640273c3d45b05ad74bdff7323ef0ffc610

* chore: bump chromium in DEPS to 17da1064b910f4170320ff37e971064916aed1dc

* Rename attach_same_site_cookies param to force_ignore_site_for_cookies

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

* chore: update patch indices

* Remove single argument HttpResponseHeaders::AddHeader() method

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

* Rename attach_same_site_cookies param to force_ignore_site_for_cookies

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

* fixup! Remove single argument HttpResponseHeaders::AddHeader() method

* Exchange SandboxType::kInvalid for a CHECK.

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

* chore: fix string type on windows

Co-authored-by: Shelley Vohr <[email protected]>
Co-authored-by: deepak1556 <[email protected]>
Electron Bot 5 years ago
parent
commit
8edc7a1fb1
40 changed files with 143 additions and 141 deletions
  1. 1 1
      DEPS
  2. 6 6
      patches/chromium/add_didinstallconditionalfeatures.patch
  3. 7 7
      patches/chromium/add_trustedauthclient_to_urlloaderfactory.patch
  4. 1 1
      patches/chromium/blink_local_frame.patch
  5. 4 4
      patches/chromium/blink_world_context.patch
  6. 1 1
      patches/chromium/build_add_electron_tracing_category.patch
  7. 9 9
      patches/chromium/can_create_window.patch
  8. 2 2
      patches/chromium/chore_use_electron_resources_not_chrome_for_spellchecker.patch
  9. 5 5
      patches/chromium/disable_color_correct_rendering.patch
  10. 4 4
      patches/chromium/disable_hidden.patch
  11. 4 4
      patches/chromium/feat_add_support_for_overriding_the_base_spellchecker_download_url.patch
  12. 8 8
      patches/chromium/feat_allow_disabling_blink_scheduler_throttling_per_renderview.patch
  13. 1 1
      patches/chromium/feat_allow_embedders_to_add_observers_on_created_hunspell.patch
  14. 2 2
      patches/chromium/fix_account_for_print_preview_disabled_when_printing_to_pdf.patch
  15. 1 1
      patches/chromium/fix_route_mouse_event_navigations_through_the_web_contents_delegate.patch
  16. 2 2
      patches/chromium/fixme_grit_conflicts.patch
  17. 8 8
      patches/chromium/frame_host_manager.patch
  18. 2 2
      patches/chromium/gritsettings_resource_ids.patch
  19. 2 2
      patches/chromium/notification_provenance.patch
  20. 7 7
      patches/chromium/pepper_plugin_support.patch
  21. 15 15
      patches/chromium/printing.patch
  22. 3 3
      patches/chromium/resource_file_conflict.patch
  23. 8 8
      patches/chromium/revert_remove_contentrendererclient_shouldfork.patch
  24. 5 5
      patches/chromium/support_mixed_sandbox_with_zygote.patch
  25. 1 1
      patches/chromium/web_contents.patch
  26. 1 1
      patches/chromium/webview_cross_drag.patch
  27. 4 4
      patches/chromium/worker_context_will_destroy.patch
  28. 1 1
      patches/v8/add_realloc.patch
  29. 3 3
      patches/v8/build_gn.patch
  30. 3 3
      patches/v8/dcheck.patch
  31. 1 1
      patches/v8/do_not_export_private_v8_symbols_on_windows.patch
  32. 2 2
      patches/v8/expose_mksnapshot.patch
  33. 1 1
      shell/browser/api/electron_api_url_loader.cc
  34. 2 3
      shell/browser/net/asar/asar_url_loader.cc
  35. 9 6
      shell/browser/net/electron_url_loader_factory.cc
  36. 1 1
      shell/browser/net/proxying_websocket.cc
  37. 5 0
      shell/browser/relauncher.cc
  38. 0 2
      shell/common/electron_constants.cc
  39. 0 3
      shell/common/electron_constants.h
  40. 1 1
      shell/common/gin_converters/net_converter.cc

+ 1 - 1
DEPS

@@ -12,7 +12,7 @@ gclient_gn_args = [
 
 vars = {
   'chromium_version':
-    '7ff3897f3104563763ef26ad940d4e988d7245dd',
+    '17da1064b910f4170320ff37e971064916aed1dc',
   'node_version':
     'v12.16.3',
   'nan_version':

+ 6 - 6
patches/chromium/add_didinstallconditionalfeatures.patch

@@ -23,10 +23,10 @@ index 68822e9c91633d9433c52bdf3484f6c660eb7917..c14a7b2a1897f805f072d8156765f909
                                          int32_t world_id) {}
    virtual void DidClearWindowObject() {}
 diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
-index a73954c423fb0db905177f55ca5fd87a809e96ca..84438b3183cd9f5a4d0f677880e4c3fb96281bb7 100644
+index 1ca9dc1dab20fb1ca4d461fbe3068323ee6b9b44..95e9039217f44dcaf770ffea2979976e79d276ab 100644
 --- a/content/renderer/render_frame_impl.cc
 +++ b/content/renderer/render_frame_impl.cc
-@@ -4909,6 +4909,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,
+@@ -4865,6 +4865,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,
      observer.DidCreateScriptContext(context, world_id);
  }
  
@@ -40,10 +40,10 @@ index a73954c423fb0db905177f55ca5fd87a809e96ca..84438b3183cd9f5a4d0f677880e4c3fb
                                                 int world_id) {
    for (auto& observer : observers_)
 diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h
-index 192f9718a1e0f55a18e03570b66cc4da526d4a0f..7310fe82ac9bfa84b47fbb28b7aefaf0a15e9c4d 100644
+index b839ead18e704d6e3cbb9ee62882438ca91d4823..f54218f24522ee2d28462e127b52d8ba4d529330 100644
 --- a/content/renderer/render_frame_impl.h
 +++ b/content/renderer/render_frame_impl.h
-@@ -755,6 +755,8 @@ class CONTENT_EXPORT RenderFrameImpl
+@@ -751,6 +751,8 @@ class CONTENT_EXPORT RenderFrameImpl
    bool ShouldTrackUseCounter(const blink::WebURL& url) override;
    void DidCreateScriptContext(v8::Local<v8::Context> context,
                                int world_id) override;
@@ -53,10 +53,10 @@ index 192f9718a1e0f55a18e03570b66cc4da526d4a0f..7310fe82ac9bfa84b47fbb28b7aefaf0
                                  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 dc6aa93a446ece135118b8b9dd65b4a37119eb10..0fc7f150fb45152af82f46c713c40ccbc5d57864 100644
+index e07795d6a2726738e743f38dff795a98663eb71c..d7be6078425928c0e9577d8401e328e5ed2bef0c 100644
 --- a/third_party/blink/public/web/web_local_frame_client.h
 +++ b/third_party/blink/public/web/web_local_frame_client.h
-@@ -559,6 +559,9 @@ class BLINK_EXPORT WebLocalFrameClient {
+@@ -551,6 +551,9 @@ class BLINK_EXPORT WebLocalFrameClient {
    virtual void DidCreateScriptContext(v8::Local<v8::Context>,
                                        int32_t world_id) {}
  

+ 7 - 7
patches/chromium/add_trustedauthclient_to_urlloaderfactory.patch

@@ -49,10 +49,10 @@ index 18c3c5312be05333e6ed19ad53bb6296be5db4b7..21299b9959c3f9f44c419d769b0aaff5
    // the per-context allow patterns that is managed via NetworkContext
    // interface. This still respects the per-context block lists.
 diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc
-index aa4c83af9f4e321add47653f8cebb5b4092efd3e..daaef90fdbb7a42b1a3ec9151bd51bcab4a1a270 100644
+index a180f3fe9af9411dec7a6e49da5ee4ef3f7b00f5..92ecdeca6962697d6ca13ff3ad4de8c2d7d1aa8a 100644
 --- a/services/network/url_loader.cc
 +++ b/services/network/url_loader.cc
-@@ -474,6 +474,7 @@ URLLoader::URLLoader(
+@@ -442,6 +442,7 @@ URLLoader::URLLoader(
      base::WeakPtr<KeepaliveStatisticsRecorder> keepalive_statistics_recorder,
      base::WeakPtr<NetworkUsageAccumulator> network_usage_accumulator,
      mojom::TrustedURLLoaderHeaderClient* url_loader_header_client,
@@ -60,7 +60,7 @@ index aa4c83af9f4e321add47653f8cebb5b4092efd3e..daaef90fdbb7a42b1a3ec9151bd51bca
      mojom::OriginPolicyManager* origin_policy_manager,
      std::unique_ptr<TrustTokenRequestHelperFactory> trust_token_helper_factory)
      : url_request_context_(url_request_context),
-@@ -530,6 +531,11 @@ URLLoader::URLLoader(
+@@ -498,6 +499,11 @@ URLLoader::URLLoader(
      header_client_.set_disconnect_handler(
          base::BindOnce(&URLLoader::OnMojoDisconnect, base::Unretained(this)));
    }
@@ -72,7 +72,7 @@ index aa4c83af9f4e321add47653f8cebb5b4092efd3e..daaef90fdbb7a42b1a3ec9151bd51bca
    if (want_raw_headers_) {
      options_ |= mojom::kURLLoadOptionSendSSLInfoWithResponse |
                  mojom::kURLLoadOptionSendSSLInfoForCertificateError;
-@@ -1009,7 +1015,7 @@ void URLLoader::OnReceivedRedirect(net::URLRequest* url_request,
+@@ -978,7 +984,7 @@ void URLLoader::OnReceivedRedirect(net::URLRequest* url_request,
  
  void URLLoader::OnAuthRequired(net::URLRequest* url_request,
                                 const net::AuthChallengeInfo& auth_info) {
@@ -81,7 +81,7 @@ index aa4c83af9f4e321add47653f8cebb5b4092efd3e..daaef90fdbb7a42b1a3ec9151bd51bca
      OnAuthCredentials(base::nullopt);
      return;
    }
-@@ -1025,11 +1031,20 @@ void URLLoader::OnAuthRequired(net::URLRequest* url_request,
+@@ -994,11 +1000,20 @@ void URLLoader::OnAuthRequired(net::URLRequest* url_request,
    if (url_request->response_headers())
      head->headers = url_request->response_headers();
    head->auth_challenge_info = auth_info;
@@ -108,7 +108,7 @@ index aa4c83af9f4e321add47653f8cebb5b4092efd3e..daaef90fdbb7a42b1a3ec9151bd51bca
    auth_challenge_responder_receiver_.set_disconnect_handler(
        base::BindOnce(&URLLoader::DeleteSelf, base::Unretained(this)));
 diff --git a/services/network/url_loader.h b/services/network/url_loader.h
-index 70508cbc5f527dc1fc5db0165dad18a0b9e4d9e3..09d4e0bbe6b0750a3e7188a8b9db0ee5aafbf921 100644
+index 4e95817834afd7b9d3a3284a5924646ff784e636..e26a90754565a548d72a74b2936f15ab5c71debb 100644
 --- a/services/network/url_loader.h
 +++ b/services/network/url_loader.h
 @@ -112,6 +112,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) URLLoader
@@ -119,7 +119,7 @@ index 70508cbc5f527dc1fc5db0165dad18a0b9e4d9e3..09d4e0bbe6b0750a3e7188a8b9db0ee5
        mojom::OriginPolicyManager* origin_policy_manager,
        std::unique_ptr<TrustTokenRequestHelperFactory>
            trust_token_helper_factory);
-@@ -447,6 +448,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) URLLoader
+@@ -443,6 +444,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) URLLoader
    base::Optional<base::UnguessableToken> fetch_window_id_;
  
    mojo::Remote<mojom::TrustedHeaderClient> header_client_;

+ 1 - 1
patches/chromium/blink_local_frame.patch

@@ -14,7 +14,7 @@ when there is code doing that.
 This patch reverts the change to fix the crash in Electron.
 
 diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
-index eefa0cbf99d7c6f0b1d9e7bc84a22d71b3d7d5e6..52aa1097aa99f5682bda64c25e2505321c656b02 100644
+index 89028fddac1f32a619a3d0b9216932515ef0ed86..c1ba8ffd313256001c99ad605906c11cd06274e9 100644
 --- a/third_party/blink/renderer/core/frame/local_frame.cc
 +++ b/third_party/blink/renderer/core/frame/local_frame.cc
 @@ -469,10 +469,6 @@ void LocalFrame::DetachImpl(FrameDetachType type) {

+ 4 - 4
patches/chromium/blink_world_context.patch

@@ -7,10 +7,10 @@ This exposes a method for obtaining a reference to an isolated world, which is
 otherwise not available in the Blink API.
 
 diff --git a/third_party/blink/public/web/web_local_frame.h b/third_party/blink/public/web/web_local_frame.h
-index 30cb8bc97e0820b6aaa6e36f472c49fa4c0293cd..38ade540bae40bec1d0f38d5d9bced660a52910a 100644
+index 8231ed74df9c031a594eb1be607b171a78531010..c5621d9e7dc4f1c2a0c79a1d07e833874378b950 100644
 --- a/third_party/blink/public/web/web_local_frame.h
 +++ b/third_party/blink/public/web/web_local_frame.h
-@@ -334,6 +334,9 @@ class WebLocalFrame : public WebFrame {
+@@ -335,6 +335,9 @@ class WebLocalFrame : public WebFrame {
    // be calling this API.
    virtual v8::Local<v8::Context> MainWorldScriptContext() const = 0;
  
@@ -21,7 +21,7 @@ index 30cb8bc97e0820b6aaa6e36f472c49fa4c0293cd..38ade540bae40bec1d0f38d5d9bced66
    // that the script evaluated to with callback. Script execution can be
    // suspend.
 diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
-index 6671ee42a602baf120c3ab2bda6590cacb5f07ae..5fb828cfb76098a20f48e0dd9a11291fd04bae9e 100644
+index f8e90a17ca7cec06613b396a4e8351381772b692..008737d979c82bd1b07144a21f1c39de48c210a2 100644
 --- a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
 +++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
 @@ -923,6 +923,13 @@ v8::Local<v8::Object> WebLocalFrameImpl::GlobalProxy() const {
@@ -39,7 +39,7 @@ index 6671ee42a602baf120c3ab2bda6590cacb5f07ae..5fb828cfb76098a20f48e0dd9a11291f
    return BindingSecurity::ShouldAllowAccessToFrame(
        CurrentDOMWindow(V8PerIsolateData::MainThreadIsolate()),
 diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.h b/third_party/blink/renderer/core/frame/web_local_frame_impl.h
-index b7365c92f2428341b6892f8750e4b7d9f16ede89..7e1f1dea70e8caefd00fceb1d3921fced17ea146 100644
+index c80168558ff46553667f70f9fa82bf19ce5ecbce..1bc72e14acd253615c73571ac82e9970f5b91196 100644
 --- a/third_party/blink/renderer/core/frame/web_local_frame_impl.h
 +++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.h
 @@ -161,6 +161,8 @@ class CORE_EXPORT WebLocalFrameImpl final

+ 1 - 1
patches/chromium/build_add_electron_tracing_category.patch

@@ -8,7 +8,7 @@ categories in use are known / declared.  This patch is required for us
 to introduce a new Electron category for Electron-specific tracing.
 
 diff --git a/base/trace_event/builtin_categories.h b/base/trace_event/builtin_categories.h
-index 0d0c3342ebc9ca8aaa47bb4b21c69e513d08f661..23b9d874c95dc3c55212aae6a3c8ecf7f5fee47f 100644
+index 97fe778a121a1fd3658db8c00d621a72c12e82d2..661a0ee2deff4dc1c4180ade161c9ff17cfc0226 100644
 --- a/base/trace_event/builtin_categories.h
 +++ b/base/trace_event/builtin_categories.h
 @@ -74,6 +74,7 @@

+ 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/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc
-index bf81e64d4ffe22c550199bd775a1a79534f042c8..3ed93c7cecf4c184e67261d15e15476539158096 100644
+index baee2af78cd679e458c336786326957b6ea32440..5aa26ca8eb3d5128cc217950fe8bba27b44c26b6 100644
 --- a/content/browser/frame_host/render_frame_host_impl.cc
 +++ b/content/browser/frame_host/render_frame_host_impl.cc
-@@ -4357,6 +4357,7 @@ void RenderFrameHostImpl::CreateNewWindow(
+@@ -4363,6 +4363,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,7 +21,7 @@ index bf81e64d4ffe22c550199bd775a1a79534f042c8..3ed93c7cecf4c184e67261d15e154765
            &no_javascript_access);
  
 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index 1ba6488edf19109cb872086988ef322d0aed5a66..b61b15943c2ae8eb99ef4beefbffe1e6c1426ab3 100644
+index 6883f29361bab9a78ba93da92e7bd234f62e2f8f..6a18c7085f102d475bd36925106e86c56812accc 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
 @@ -2962,9 +2962,9 @@ RenderFrameHostDelegate* WebContentsImpl::CreateNewWindow(
@@ -53,10 +53,10 @@ index ce836b666eaca4312b01dec1cb012bbcb23b9050..9009a8b7a23e170ab0fbf81a6d157e18
  
  // 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 c49222a1c068b0d8b30dea2916aa2486586b15cf..aeff1a685fc22c2e8fe988856cb529028f102182 100644
+index 5990228237b99f382ba235a4bc59068ab12168de..c9fc489ded15dc3cfcdd71c86707e6e86a7e6ba3 100644
 --- a/content/public/browser/content_browser_client.cc
 +++ b/content/public/browser/content_browser_client.cc
-@@ -510,6 +510,8 @@ bool ContentBrowserClient::CanCreateWindow(
+@@ -508,6 +508,8 @@ bool ContentBrowserClient::CanCreateWindow(
      const std::string& frame_name,
      WindowOpenDisposition disposition,
      const blink::mojom::WindowFeatures& features,
@@ -66,10 +66,10 @@ index c49222a1c068b0d8b30dea2916aa2486586b15cf..aeff1a685fc22c2e8fe988856cb52902
      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 728f71d76c75dd3534bc58cd2a452666452b33d4..be343c7f4a9e412fbb7b43cc908b8bdcb12aa533 100644
+index 7c7a70b95873ed089e311cc0917ad32d8e465a4e..2d8d316f948fbc25fd4b1aa899b38ba2607e24a1 100644
 --- a/content/public/browser/content_browser_client.h
 +++ b/content/public/browser/content_browser_client.h
-@@ -142,6 +142,7 @@ class NetworkService;
+@@ -144,6 +144,7 @@ class NetworkService;
  class TrustedURLLoaderHeaderClient;
  }  // namespace mojom
  struct ResourceRequest;
@@ -77,7 +77,7 @@ index 728f71d76c75dd3534bc58cd2a452666452b33d4..be343c7f4a9e412fbb7b43cc908b8bdc
  }  // namespace network
  
  namespace rappor {
-@@ -833,6 +834,8 @@ class CONTENT_EXPORT ContentBrowserClient {
+@@ -831,6 +832,8 @@ class CONTENT_EXPORT ContentBrowserClient {
        const std::string& frame_name,
        WindowOpenDisposition disposition,
        const blink::mojom::WindowFeatures& features,
@@ -135,7 +135,7 @@ index d10b0f458416044f0b5eaeac4160ac26a2857d94..4e3a846a3825216e1a77e17fd8e03331
    // typically happens when popups are created.
    virtual void WebContentsCreated(WebContents* source_contents,
 diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
-index 470b4322002aa00e368b658ad837b21c5e10c68f..b49f8e65e505bbd658bdf994186501fa101330d5 100644
+index 2a33016a5e54bbabfa8c534b954f6c72822ca70d..ea7084056f13c60bcc3ba8bd4991a924b6153ee2 100644
 --- a/content/renderer/render_view_impl.cc
 +++ b/content/renderer/render_view_impl.cc
 @@ -68,6 +68,7 @@

+ 2 - 2
patches/chromium/chore_use_electron_resources_not_chrome_for_spellchecker.patch

@@ -7,10 +7,10 @@ spellchecker uses a few IDS_ resources.  We need to load these from
 Electrons grit header instead of Chromes
 
 diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
-index fdb73928bb3f4291ee7a367b866b455e68d6d54d..94cee9f355b45d998f5442f01726d6f8e5c9840c 100644
+index f853ba4924c5730cc9b0eafc2d15dbf3c1341542..9bb35ad9a3918d5fea8d66eb7f29c50058c87afc 100644
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -5310,6 +5310,7 @@ jumbo_static_library("browser") {
+@@ -5313,6 +5313,7 @@ jumbo_static_library("browser") {
      deps += [
        "//components/spellcheck/browser",
        "//components/spellcheck/common",

+ 5 - 5
patches/chromium/disable_color_correct_rendering.patch

@@ -216,10 +216,10 @@ index d47312d5f89939eab55cfa94bd3fbd41a4bd7d2a..da2f5e9fdc0fda37c82357a12f4fa28f
      service_manager::switches::kGpuSandboxAllowSysVShm,
      service_manager::switches::kGpuSandboxFailuresFatal,
 diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
-index 495e90285de38991e43425023aeaa8437254857b..ec383524faa4ddf738c915d309d660440a095cc7 100644
+index 618700cc99de3174b9de9bc26abcaac5880ec21e..aac0c3e5e19ee7bcf0de68a4f9f45c1cf46f9fad 100644
 --- a/content/browser/renderer_host/render_process_host_impl.cc
 +++ b/content/browser/renderer_host/render_process_host_impl.cc
-@@ -228,6 +228,7 @@
+@@ -230,6 +230,7 @@
  #include "ui/accessibility/accessibility_switches.h"
  #include "ui/base/ui_base_switches.h"
  #include "ui/display/display_switches.h"
@@ -227,7 +227,7 @@ index 495e90285de38991e43425023aeaa8437254857b..ec383524faa4ddf738c915d309d66044
  #include "ui/gl/gl_switches.h"
  #include "ui/native_theme/native_theme_features.h"
  #include "url/origin.h"
-@@ -3211,6 +3212,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
+@@ -3213,6 +3214,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
    // Propagate the following switches to the renderer command line (along
    // with any associated values) if present in the browser command line.
    static const char* const kSwitchNames[] = {
@@ -236,10 +236,10 @@ index 495e90285de38991e43425023aeaa8437254857b..ec383524faa4ddf738c915d309d66044
      service_manager::switches::kDisableInProcessStackTraces,
      service_manager::switches::kDisableSeccompFilterSandbox,
 diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc
-index ef30bb971b8052c9c24cf3c293dc7f48615b031f..a8238638497e4aa7cae954cd5607832fde83681e 100644
+index 75558f0658a3760ce9dcf550b1ac134e30c686d8..40dc39bdcd08032e7af821beeb13373fd1c613e9 100644
 --- a/content/renderer/render_widget.cc
 +++ b/content/renderer/render_widget.cc
-@@ -2587,6 +2587,9 @@ cc::LayerTreeSettings RenderWidget::GenerateLayerTreeSettings(
+@@ -2586,6 +2586,9 @@ cc::LayerTreeSettings RenderWidget::GenerateLayerTreeSettings(
    settings.main_frame_before_activation_enabled =
        cmd.HasSwitch(cc::switches::kEnableMainFrameBeforeActivation);
  

+ 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 5345442d1a71c45db1cfb2c3d098816e8dfdc0ac..7cd54d67f2245d197d0f145c3af0c8feab7ac559 100644
+index a0bb67b269f03ed6fa322fd156e9eb358eed1437..8c2d75c20afd5832371b04f50c9fb1ec5d9e8dc5 100644
 --- a/content/browser/renderer_host/render_widget_host_impl.cc
 +++ b/content/browser/renderer_host/render_widget_host_impl.cc
-@@ -655,6 +655,9 @@ void RenderWidgetHostImpl::WasHidden() {
+@@ -653,6 +653,9 @@ void RenderWidgetHostImpl::WasHidden() {
    if (is_hidden_)
      return;
  
@@ -20,7 +20,7 @@ index 5345442d1a71c45db1cfb2c3d098816e8dfdc0ac..7cd54d67f2245d197d0f145c3af0c8fe
        blink::mojom::PointerLockResult::kWrongDocument);
  
 diff --git a/content/browser/renderer_host/render_widget_host_impl.h b/content/browser/renderer_host/render_widget_host_impl.h
-index 7bec7d8c2f9955768d69d15eb825ffb9782de05b..6ed5f0e49094d03211a59e9b9e9c3cf22086ff4e 100644
+index 947fb6ba02cde74da8787ccec689cd184f98aefd..67722b63693d28c828435d60ca167b5cda0a57b4 100644
 --- a/content/browser/renderer_host/render_widget_host_impl.h
 +++ b/content/browser/renderer_host/render_widget_host_impl.h
 @@ -179,6 +179,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl
@@ -34,7 +34,7 @@ index 7bec7d8c2f9955768d69d15eb825ffb9782de05b..6ed5f0e49094d03211a59e9b9e9c3cf2
        const base::TimeDelta& delay) {
      new_content_rendering_delay_ = delay;
 diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
-index 18f8dd370b6999e0c8526d68d38d60d16a668709..b261aaef15dd9c040dc3a30d19029414d43f005a 100644
+index 12e1923fd2943af92aaf6f691d28212bdd2a73dd..3b66abb180df5f3da7c4fa8de77279620cbc4aa3 100644
 --- a/content/browser/renderer_host/render_widget_host_view_aura.cc
 +++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
 @@ -692,7 +692,7 @@ void RenderWidgetHostViewAura::HideImpl() {

+ 4 - 4
patches/chromium/feat_add_support_for_overriding_the_base_spellchecker_download_url.patch

@@ -9,10 +9,10 @@ production use cases.  This is unlikely to be upstreamed as the change
 is entirely in //chrome.
 
 diff --git a/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc b/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc
-index 47179fbe844505c1401b0ff56ba9695c9390272e..c9c9f18b5cb176d74729cea8e5fee12f7fcf74f2 100644
+index 25feeebf5367cec52c36cbfac4af71022c8716d2..653ef44ff095015ef25cc59bf42f9fbd9d907160 100644
 --- a/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc
 +++ b/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc
-@@ -49,6 +49,9 @@ namespace {
+@@ -50,6 +50,9 @@ namespace {
  base::LazyInstance<GURL>::Leaky g_download_url_for_testing =
      LAZY_INSTANCE_INITIALIZER;
  
@@ -22,7 +22,7 @@ index 47179fbe844505c1401b0ff56ba9695c9390272e..c9c9f18b5cb176d74729cea8e5fee12f
  // Close the file.
  void CloseDictionary(base::File file) {
    base::ScopedBlockingCall scoped_blocking_call(FROM_HERE,
-@@ -247,6 +250,10 @@ void SpellcheckHunspellDictionary::SetDownloadURLForTesting(const GURL url) {
+@@ -248,6 +251,10 @@ void SpellcheckHunspellDictionary::SetDownloadURLForTesting(const GURL url) {
    g_download_url_for_testing.Get() = url;
  }
  
@@ -33,7 +33,7 @@ index 47179fbe844505c1401b0ff56ba9695c9390272e..c9c9f18b5cb176d74729cea8e5fee12f
  GURL SpellcheckHunspellDictionary::GetDictionaryURL() {
    if (g_download_url_for_testing.Get() != GURL())
      return g_download_url_for_testing.Get();
-@@ -254,6 +261,9 @@ GURL SpellcheckHunspellDictionary::GetDictionaryURL() {
+@@ -255,6 +262,9 @@ GURL SpellcheckHunspellDictionary::GetDictionaryURL() {
    std::string bdict_file = dictionary_file_.path.BaseName().MaybeAsASCII();
    DCHECK(!bdict_file.empty());
  

+ 8 - 8
patches/chromium/feat_allow_disabling_blink_scheduler_throttling_per_renderview.patch

@@ -61,7 +61,7 @@ index 893c45a5c71b4e55ea323ae60e11d12ddb099efd..db9a1ff0fe1a912db83692ab17c620cf
    //
    // Returns the current WebKit preferences. Note: WebPreferences is cached, so
 diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
-index b49f8e65e505bbd658bdf994186501fa101330d5..0343d8f9855cb92f097ac2c0c3303ebf1cba7fef 100644
+index ea7084056f13c60bcc3ba8bd4991a924b6153ee2..ccbe64ec13acb5e39ae869e30eebc3944e4e8ee9 100644
 --- a/content/renderer/render_view_impl.cc
 +++ b/content/renderer/render_view_impl.cc
 @@ -1174,6 +1174,8 @@ bool RenderViewImpl::OnMessageReceived(const IPC::Message& message) {
@@ -99,10 +99,10 @@ index 396c63b9dedde6c82b82edddbb35d010bf55474c..65fb52f7ba2f379c7ae1cab325026917
    void OnUpdateTargetURLAck();
    void OnUpdateWebPreferences(const WebPreferences& prefs);
 diff --git a/third_party/blink/public/web/web_view.h b/third_party/blink/public/web/web_view.h
-index 02dd65eddc778d3f60e3cbad6c1311f46c097840..5c5c15af943c00931b0615017f6bd762288ad17a 100644
+index 3995c946382f54582e2de2720dfc3475f76806bb..73ae36568d34f4e40cc68ef53e719532100f88ed 100644
 --- a/third_party/blink/public/web/web_view.h
 +++ b/third_party/blink/public/web/web_view.h
-@@ -398,6 +398,7 @@ class WebView {
+@@ -400,6 +400,7 @@ class WebView {
    // Scheduling -----------------------------------------------------------
  
    virtual PageScheduler* Scheduler() const = 0;
@@ -111,10 +111,10 @@ index 02dd65eddc778d3f60e3cbad6c1311f46c097840..5c5c15af943c00931b0615017f6bd762
    // 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 ce803cae5892b1b14e692b5a382cdf77572e08b1..658c4d10f8048cbcfca237b98c048b267f2ebbab 100644
+index 9098b1fa973dd57c5c1074fd73391888c4e6dac4..d5b696d7d372fc6caf3c281ea1c2ff2636a72fbd 100644
 --- a/third_party/blink/renderer/core/exported/web_view_impl.cc
 +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
-@@ -3321,12 +3321,20 @@ PageScheduler* WebViewImpl::Scheduler() const {
+@@ -3322,12 +3322,20 @@ PageScheduler* WebViewImpl::Scheduler() const {
    return GetPage()->GetPageScheduler();
  }
  
@@ -138,10 +138,10 @@ index ce803cae5892b1b14e692b5a382cdf77572e08b1..658c4d10f8048cbcfca237b98c048b26
  
  PageVisibilityState WebViewImpl::GetVisibilityState() {
 diff --git a/third_party/blink/renderer/core/exported/web_view_impl.h b/third_party/blink/renderer/core/exported/web_view_impl.h
-index f7834bbb9e950596287d0f05a6a0751c0871d82e..e2d6207ff9a2a324b356402f4216b8d7c622a639 100644
+index 9624d433eea3e2e09d91ce9ad44198d5e045d41b..c30fa33dc1e3e0413a7d483959e8602721e8207a 100644
 --- a/third_party/blink/renderer/core/exported/web_view_impl.h
 +++ b/third_party/blink/renderer/core/exported/web_view_impl.h
-@@ -327,6 +327,7 @@ class CORE_EXPORT WebViewImpl final : public WebView,
+@@ -328,6 +328,7 @@ class CORE_EXPORT WebViewImpl final : public WebView,
    LocalDOMWindow* PagePopupWindow() const;
  
    PageScheduler* Scheduler() const override;
@@ -149,7 +149,7 @@ index f7834bbb9e950596287d0f05a6a0751c0871d82e..e2d6207ff9a2a324b356402f4216b8d7
    void SetVisibilityState(PageVisibilityState visibility_state,
                            bool is_initial_state) override;
    PageVisibilityState GetVisibilityState() override;
-@@ -689,6 +690,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
+@@ -691,6 +692,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
    // WebViewImpl::Close while handling an input event.
    bool debug_inside_input_handling_ = false;
  

+ 1 - 1
patches/chromium/feat_allow_embedders_to_add_observers_on_created_hunspell.patch

@@ -5,7 +5,7 @@ Subject: feat: allow embedders to add observers on created hunspell
  dictionaries
 
 diff --git a/chrome/browser/spellchecker/spellcheck_service.cc b/chrome/browser/spellchecker/spellcheck_service.cc
-index 4aea771dcad5f190a5ccd357ace0491e8c651458..dcb35b869cbb6a87110ac3e56094dce058b2f0c5 100644
+index af11ea50738ca20453c5c20f7807455fca8becfa..301a9de1eb82ebea009f0c20028e8ed87764622b 100644
 --- a/chrome/browser/spellchecker/spellcheck_service.cc
 +++ b/chrome/browser/spellchecker/spellcheck_service.cc
 @@ -363,6 +363,9 @@ void SpellcheckService::LoadHunspellDictionaries() {

+ 2 - 2
patches/chromium/fix_account_for_print_preview_disabled_when_printing_to_pdf.patch

@@ -10,10 +10,10 @@ understanding, it seems like we slightly misuse the print preview API
 and this is fallout from using it in a way the code doesn't expect.
 
 diff --git a/components/printing/renderer/print_render_frame_helper.cc b/components/printing/renderer/print_render_frame_helper.cc
-index 03fb6efb2296d6e21b0569afd471487c08f49e66..bc38eaf3819561a2271624b4c856f4a9e999f909 100644
+index 5d829b6ef0c02d0f230c9581377fe3b5941d9b42..776ca12f4509d317ff10461efbad8b7a09bd3afd 100644
 --- a/components/printing/renderer/print_render_frame_helper.cc
 +++ b/components/printing/renderer/print_render_frame_helper.cc
-@@ -1458,6 +1458,7 @@ PrintRenderFrameHelper::CreatePreviewDocument() {
+@@ -1475,6 +1475,7 @@ PrintRenderFrameHelper::CreatePreviewDocument() {
    const std::vector<int>& pages = print_pages_params_->pages;
  
    bool require_document_metafile =

+ 1 - 1
patches/chromium/fix_route_mouse_event_navigations_through_the_web_contents_delegate.patch

@@ -13,7 +13,7 @@ This patch can be removed once app.allowRendererProcessReuse is forced
 to true as then Chromiums assumptions around processes become correct.
 
 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index b61b15943c2ae8eb99ef4beefbffe1e6c1426ab3..6272c336b1af633e328b1a3ed6e1dda6fc1caf00 100644
+index 6a18c7085f102d475bd36925106e86c56812accc..bcd52490b3ea333c521cf0ab63206a66889cf939 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
 @@ -2365,11 +2365,13 @@ bool WebContentsImpl::HandleMouseEvent(const blink::WebMouseEvent& event) {

+ 2 - 2
patches/chromium/fixme_grit_conflicts.patch

@@ -10,10 +10,10 @@ Should be removed once grit is fixed.
 Tracking bug: https://crbug.com/1040605
 
 diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_ids.spec
-index 84802e09d5db2d1d76118e2a1967608072e77cd5..74f88149fc7ec617a89e3b2857e31ee6b32cd8ea 100644
+index 1c5366d3096ff2616778b67f690521ddd3472030..96b96d23bb88f2c90265461b0ae11e276df1c644 100644
 --- a/tools/gritsettings/resource_ids.spec
 +++ b/tools/gritsettings/resource_ids.spec
-@@ -589,15 +589,16 @@
+@@ -594,15 +594,16 @@
      "includes": [3840],
    },
  

+ 8 - 8
patches/chromium/frame_host_manager.patch

@@ -42,7 +42,7 @@ index 906a1ee4ac58b0744a32153bbaafeac4322a60e4..c90f4aead36cbf3767dc5094728963c2
    // another SiteInstance for the same site.
    void RegisterSiteInstance(SiteInstanceImpl* site_instance);
 diff --git a/content/browser/frame_host/navigation_request.cc b/content/browser/frame_host/navigation_request.cc
-index 38f5ab2f17586cc46ba9654ca1cbaf54e45ee525..fb642e30369056727809ae710ec745ac3623a267 100644
+index 26fd7bdfb902508922b9a4c5f9f42ae9182356d4..fcd4f21f54066057a48b7b34657177fb28a80cf5 100644
 --- a/content/browser/frame_host/navigation_request.cc
 +++ b/content/browser/frame_host/navigation_request.cc
 @@ -1284,6 +1284,24 @@ void NavigationRequest::BeginNavigation() {
@@ -71,10 +71,10 @@ index 38f5ab2f17586cc46ba9654ca1cbaf54e45ee525..fb642e30369056727809ae710ec745ac
      render_frame_host_ =
          frame_tree_node_->render_manager()->GetFrameHostForNavigation(this);
 diff --git a/content/browser/frame_host/render_frame_host_manager.cc b/content/browser/frame_host/render_frame_host_manager.cc
-index 1cf2081ae8642dd22ebe57e08457c26af4fad830..f7d8fb884712a921419de274106a6166ccf7e9f3 100644
+index 0feececd533b3e53b8dcfd36caf0f41fbd595fd2..b1e983078c3693c45ff30075e38f0ccef93206f3 100644
 --- a/content/browser/frame_host/render_frame_host_manager.cc
 +++ b/content/browser/frame_host/render_frame_host_manager.cc
-@@ -2399,6 +2399,16 @@ bool RenderFrameHostManager::InitRenderView(
+@@ -2391,6 +2391,16 @@ bool RenderFrameHostManager::InitRenderView(
  scoped_refptr<SiteInstance>
  RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
      NavigationRequest* request) {
@@ -91,7 +91,7 @@ index 1cf2081ae8642dd22ebe57e08457c26af4fad830..f7d8fb884712a921419de274106a6166
    SiteInstance* current_site_instance = render_frame_host_->GetSiteInstance();
  
    // All children of MHTML documents must be MHTML documents. They all live in
-@@ -2418,10 +2428,60 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
+@@ -2410,10 +2420,60 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
    //
    // TODO(clamy): We should also consider as a candidate SiteInstance the
    // speculative SiteInstance that was computed on redirects.
@@ -156,7 +156,7 @@ index 1cf2081ae8642dd22ebe57e08457c26af4fad830..f7d8fb884712a921419de274106a6166
  
    // Account for renderer-initiated reload as well.
    // Needed as a workaround for https://crbug.com/1045524, remove it when it is
-@@ -2464,6 +2524,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
+@@ -2456,6 +2516,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
      request->ResetStateForSiteInstanceChange();
    }
  
@@ -194,7 +194,7 @@ index 85288dac0acfb51330669cd87cfc0343af3dfd2c..3bb39459fd3c87a0968044e02d684f6b
    size_t GetRelatedActiveContentsCount() override;
    bool RequiresDedicatedProcess() override;
 diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
-index aeff1a685fc22c2e8fe988856cb529028f102182..3708b4ac6125abb95f333192dd2d7c09e7deb377 100644
+index c9fc489ded15dc3cfcdd71c86707e6e86a7e6ba3..96f7423b78c16b119b761b47c317d8c326a1868d 100644
 --- a/content/public/browser/content_browser_client.cc
 +++ b/content/public/browser/content_browser_client.cc
 @@ -57,6 +57,21 @@
@@ -220,10 +220,10 @@ index aeff1a685fc22c2e8fe988856cb529028f102182..3708b4ac6125abb95f333192dd2d7c09
      const MainFunctionParams& parameters) {
    return nullptr;
 diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
-index be343c7f4a9e412fbb7b43cc908b8bdcb12aa533..0321dca8ba52be7d5e51f14e2f5cf94234cbd341 100644
+index 2d8d316f948fbc25fd4b1aa899b38ba2607e24a1..6a9d69ee79eafe531bd974e3648e107a4c6de1e1 100644
 --- a/content/public/browser/content_browser_client.h
 +++ b/content/public/browser/content_browser_client.h
-@@ -232,8 +232,45 @@ class CONTENT_EXPORT ContentBrowserClient {
+@@ -234,8 +234,45 @@ class CONTENT_EXPORT ContentBrowserClient {
    using IsClipboardPasteAllowedCallback =
        base::OnceCallback<void(ClipboardPasteAllowed)>;
  

+ 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 6630b0643c4cbb85ab47dc269d10cc4e85846985..84802e09d5db2d1d76118e2a1967608072e77cd5 100644
+index 4c358d9c9ee67fa1fed8144d894c9c51062a76e7..1c5366d3096ff2616778b67f690521ddd3472030 100644
 --- a/tools/gritsettings/resource_ids.spec
 +++ b/tools/gritsettings/resource_ids.spec
-@@ -595,6 +595,11 @@
+@@ -600,6 +600,11 @@
      "includes": [3860],
    },
  

+ 2 - 2
patches/chromium/notification_provenance.patch

@@ -108,10 +108,10 @@ index 4bf25bf1fa69f7d3869369172d375e2e489e62a1..f80ef2cecc8b111dc54e109646573a59
        mojo::PendingReceiver<blink::mojom::NotificationService> receiver);
  
 diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
-index 40ef859ab14696de3e028256446bb1e5327ac4bc..5300930629a7a5741c0962f6bf6a1fca9a7a3976 100644
+index 4c88b83382bfe08e91ceb981392e72cbc8cbd80b..9beff8728eba07fe5bbb50701dcec78d61149fde 100644
 --- a/content/browser/renderer_host/render_process_host_impl.cc
 +++ b/content/browser/renderer_host/render_process_host_impl.cc
-@@ -2108,7 +2108,7 @@ void RenderProcessHostImpl::CreateNotificationService(
+@@ -2110,7 +2110,7 @@ void RenderProcessHostImpl::CreateNotificationService(
      mojo::PendingReceiver<blink::mojom::NotificationService> receiver) {
    DCHECK_CURRENTLY_ON(BrowserThread::UI);
    storage_partition_impl_->GetPlatformNotificationContext()->CreateService(

+ 7 - 7
patches/chromium/pepper_plugin_support.patch

@@ -186,10 +186,10 @@ index 6b13bae8def62d9a26d68ac8396b4bf6f7439c1a..d92b5a5855c0cebf94922a31f686e15e
  
    DISALLOW_COPY_AND_ASSIGN(PepperFlashBrowserHost);
 diff --git a/chrome/browser/renderer_host/pepper/pepper_flash_drm_host.cc b/chrome/browser/renderer_host/pepper/pepper_flash_drm_host.cc
-index 2e51425cb66f25f240ad7f4a052bcf6eb76f2062..240fa299b1160ebb2f9b20c7361405c9b84d5d2f 100644
+index 7c8c292d6d422139be89632dcb6a9d44106b3ac9..276d2fa32b25984e50eb5422e60a650fcb67fb71 100644
 --- a/chrome/browser/renderer_host/pepper/pepper_flash_drm_host.cc
 +++ b/chrome/browser/renderer_host/pepper/pepper_flash_drm_host.cc
-@@ -20,6 +20,7 @@
+@@ -21,6 +21,7 @@
  #include "content/public/browser/child_process_security_policy.h"
  #include "content/public/browser/render_frame_host.h"
  #include "content/public/common/pepper_plugin_info.h"
@@ -197,7 +197,7 @@ index 2e51425cb66f25f240ad7f4a052bcf6eb76f2062..240fa299b1160ebb2f9b20c7361405c9
  #include "ppapi/c/pp_errors.h"
  #include "ppapi/host/dispatch_host_message.h"
  #include "ppapi/host/host_message_context.h"
-@@ -127,7 +128,9 @@ PepperFlashDRMHost::PepperFlashDRMHost(BrowserPpapiHost* host,
+@@ -128,7 +129,9 @@ PepperFlashDRMHost::PepperFlashDRMHost(BrowserPpapiHost* host,
    content::ChildProcessSecurityPolicy::GetInstance()->GrantReadFile(
        render_process_id, voucher_file);
  
@@ -207,7 +207,7 @@ index 2e51425cb66f25f240ad7f4a052bcf6eb76f2062..240fa299b1160ebb2f9b20c7361405c9
    monitor_finder_ = new MonitorFinder(render_process_id, render_frame_id);
    monitor_finder_->GetMonitor();
  }
-@@ -150,12 +153,18 @@ int32_t PepperFlashDRMHost::OnResourceMessageReceived(
+@@ -151,12 +154,18 @@ int32_t PepperFlashDRMHost::OnResourceMessageReceived(
  
  int32_t PepperFlashDRMHost::OnHostMsgGetDeviceID(
      ppapi::host::HostMessageContext* context) {
@@ -227,7 +227,7 @@ index 2e51425cb66f25f240ad7f4a052bcf6eb76f2062..240fa299b1160ebb2f9b20c7361405c9
  }
  
  int32_t PepperFlashDRMHost::OnHostMsgGetHmonitor(
-@@ -184,6 +193,7 @@ int32_t PepperFlashDRMHost::OnHostMsgMonitorIsExternal(
+@@ -185,6 +194,7 @@ int32_t PepperFlashDRMHost::OnHostMsgMonitorIsExternal(
    return PP_OK;
  }
  
@@ -235,7 +235,7 @@ index 2e51425cb66f25f240ad7f4a052bcf6eb76f2062..240fa299b1160ebb2f9b20c7361405c9
  void PepperFlashDRMHost::GotDeviceID(
      ppapi::host::ReplyMessageContext reply_context,
      const std::string& id,
-@@ -196,3 +206,4 @@ void PepperFlashDRMHost::GotDeviceID(
+@@ -197,3 +207,4 @@ void PepperFlashDRMHost::GotDeviceID(
    host()->SendReply(reply_context,
                      PpapiPluginMsg_FlashDRM_GetDeviceIDReply(id));
  }
@@ -412,7 +412,7 @@ index 56a23e8f41bb418d414f11af5797b30571d4cc2b..6f9f577f16de80dd2ab194b557bbd9ec
    DISALLOW_COPY_AND_ASSIGN(PepperIsolatedFileSystemMessageFilter);
  };
 diff --git a/chrome/renderer/pepper/chrome_renderer_pepper_host_factory.cc b/chrome/renderer/pepper/chrome_renderer_pepper_host_factory.cc
-index d63e90b6c5079ab3237c4bad3d5e63ce2f99c657..ec8c1e7cfbaec3e0876325e6b9ebb01581988bee 100644
+index 375ca0233a74ef6a6e91102947ce0b63585d48ff..1c4bb268c5bd21126551414b1864d495a07844b6 100644
 --- a/chrome/renderer/pepper/chrome_renderer_pepper_host_factory.cc
 +++ b/chrome/renderer/pepper/chrome_renderer_pepper_host_factory.cc
 @@ -10,8 +10,13 @@

+ 15 - 15
patches/chromium/printing.patch

@@ -414,10 +414,10 @@ index 3695656560c54b5aa1fb08fb5e7c17d54989c597..85ffa5704d8dea809e80b1993c7c852f
    // Tells the RenderFrame to switch the CSS to print media type, render every
    // requested page using the print preview document's frame/node, and then
 diff --git a/components/printing/renderer/print_render_frame_helper.cc b/components/printing/renderer/print_render_frame_helper.cc
-index 8e51567398aef2275236e962a71bce5e2ddb9c58..03fb6efb2296d6e21b0569afd471487c08f49e66 100644
+index 1b995b1d7bbb972ce66e351a3bfef2fdae0ad25d..5d829b6ef0c02d0f230c9581377fe3b5941d9b42 100644
 --- a/components/printing/renderer/print_render_frame_helper.cc
 +++ b/components/printing/renderer/print_render_frame_helper.cc
-@@ -40,6 +40,7 @@
+@@ -42,6 +42,7 @@
  #include "printing/buildflags/buildflags.h"
  #include "printing/metafile_skia.h"
  #include "printing/printing_features.h"
@@ -425,7 +425,7 @@ index 8e51567398aef2275236e962a71bce5e2ddb9c58..03fb6efb2296d6e21b0569afd471487c
  #include "printing/units.h"
  #include "third_party/blink/public/common/associated_interfaces/associated_interface_registry.h"
  #include "third_party/blink/public/common/frame/frame_owner_element_type.h"
-@@ -1146,7 +1147,8 @@ void PrintRenderFrameHelper::ScriptedPrint(bool user_initiated) {
+@@ -1160,7 +1161,8 @@ void PrintRenderFrameHelper::ScriptedPrint(bool user_initiated) {
      web_frame->DispatchBeforePrintEvent();
      if (!weak_this)
        return;
@@ -435,7 +435,7 @@ index 8e51567398aef2275236e962a71bce5e2ddb9c58..03fb6efb2296d6e21b0569afd471487c
      if (weak_this)
        web_frame->DispatchAfterPrintEvent();
    }
-@@ -1167,7 +1169,7 @@ void PrintRenderFrameHelper::BindPrintRenderFrameReceiver(
+@@ -1181,7 +1183,7 @@ void PrintRenderFrameHelper::BindPrintRenderFrameReceiver(
    receivers_.Add(this, std::move(receiver));
  }
  
@@ -444,7 +444,7 @@ index 8e51567398aef2275236e962a71bce5e2ddb9c58..03fb6efb2296d6e21b0569afd471487c
    ScopedIPC scoped_ipc(weak_ptr_factory_.GetWeakPtr());
    if (ipc_nesting_level_ > 1)
      return;
-@@ -1181,7 +1183,7 @@ void PrintRenderFrameHelper::PrintRequestedPages() {
+@@ -1195,7 +1197,7 @@ void PrintRenderFrameHelper::PrintRequestedPages() {
    // If we are printing a PDF extension frame, find the plugin node and print
    // that instead.
    auto plugin = delegate_->GetPdfElement(frame);
@@ -453,7 +453,7 @@ index 8e51567398aef2275236e962a71bce5e2ddb9c58..03fb6efb2296d6e21b0569afd471487c
    if (!render_frame_gone_)
      frame->DispatchAfterPrintEvent();
    // WARNING: |this| may be gone at this point. Do not do any more work here and
-@@ -1198,7 +1200,7 @@ void PrintRenderFrameHelper::PrintForSystemDialog() {
+@@ -1212,7 +1214,7 @@ void PrintRenderFrameHelper::PrintForSystemDialog() {
      return;
    }
    Print(frame, print_preview_context_.source_node(),
@@ -462,7 +462,7 @@ index 8e51567398aef2275236e962a71bce5e2ddb9c58..03fb6efb2296d6e21b0569afd471487c
    if (!render_frame_gone_)
      frame->DispatchAfterPrintEvent();
    // WARNING: |this| may be gone at this point. Do not do any more work here and
-@@ -1238,6 +1240,8 @@ void PrintRenderFrameHelper::PrintPreview(base::Value settings) {
+@@ -1252,6 +1254,8 @@ void PrintRenderFrameHelper::PrintPreview(base::Value settings) {
    if (ipc_nesting_level_ > 1)
      return;
  
@@ -471,7 +471,7 @@ index 8e51567398aef2275236e962a71bce5e2ddb9c58..03fb6efb2296d6e21b0569afd471487c
    print_preview_context_.OnPrintPreview();
  
    base::UmaHistogramEnumeration(print_preview_context_.IsForArc()
-@@ -1733,7 +1737,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
+@@ -1755,7 +1759,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
  
      auto self = weak_ptr_factory_.GetWeakPtr();
      Print(duplicate_node.GetDocument().GetFrame(), duplicate_node,
@@ -482,7 +482,7 @@ index 8e51567398aef2275236e962a71bce5e2ddb9c58..03fb6efb2296d6e21b0569afd471487c
      // Check if |this| is still valid.
      if (!self)
        return;
-@@ -1744,7 +1750,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
+@@ -1766,7 +1772,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
  
  void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
                                     const blink::WebNode& node,
@@ -493,7 +493,7 @@ index 8e51567398aef2275236e962a71bce5e2ddb9c58..03fb6efb2296d6e21b0569afd471487c
    // If still not finished with earlier print request simply ignore.
    if (prep_frame_view_)
      return;
-@@ -1752,7 +1760,7 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
+@@ -1774,7 +1782,7 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
    FrameReference frame_ref(frame);
  
    int expected_page_count = 0;
@@ -502,7 +502,7 @@ index 8e51567398aef2275236e962a71bce5e2ddb9c58..03fb6efb2296d6e21b0569afd471487c
      DidFinishPrinting(FAIL_PRINT_INIT);
      return;  // Failed to init print page settings.
    }
-@@ -1772,8 +1780,11 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
+@@ -1794,8 +1802,11 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
  
      PrintMsg_PrintPages_Params print_settings;
      auto self = weak_ptr_factory_.GetWeakPtr();
@@ -516,7 +516,7 @@ index 8e51567398aef2275236e962a71bce5e2ddb9c58..03fb6efb2296d6e21b0569afd471487c
      // Check if |this| is still valid.
      if (!self)
        return;
-@@ -2008,10 +2019,23 @@ void PrintRenderFrameHelper::IPCProcessed() {
+@@ -2030,10 +2041,23 @@ void PrintRenderFrameHelper::IPCProcessed() {
      base::ThreadTaskRunnerHandle::Get()->DeleteSoon(FROM_HERE, this);
  }
  
@@ -543,7 +543,7 @@ index 8e51567398aef2275236e962a71bce5e2ddb9c58..03fb6efb2296d6e21b0569afd471487c
    // Check if the printer returned any settings, if the settings is empty, we
    // can safely assume there are no printer drivers configured. So we safely
    // terminate.
-@@ -2031,12 +2055,14 @@ bool PrintRenderFrameHelper::InitPrintSettings(bool fit_to_paper_size) {
+@@ -2053,12 +2077,14 @@ bool PrintRenderFrameHelper::InitPrintSettings(bool fit_to_paper_size) {
    return result;
  }
  
@@ -604,10 +604,10 @@ index 92ad8475b8268db89a5a7f22ad22547686388374..81df566a5908f1b35b9da5c2aad35ea7
  #if BUILDFLAG(ENABLE_PRINT_PREVIEW)
    // Set options for print preset from source PDF document.
 diff --git a/printing/printing_context.cc b/printing/printing_context.cc
-index cd9880fbf49b537e4049a871d00e0ee5c95afb0a..e723250e095bc450dbcdf350e4edc41499ef4f87 100644
+index a85f6812f010193a676494d297a21726611e2d35..d40df922111c0ecfc9a1ceebc3bad9f0c067bd1b 100644
 --- a/printing/printing_context.cc
 +++ b/printing/printing_context.cc
-@@ -91,8 +91,6 @@ PrintingContext::Result PrintingContext::UsePdfSettings() {
+@@ -92,8 +92,6 @@ PrintingContext::Result PrintingContext::UsePdfSettings() {
  
  PrintingContext::Result PrintingContext::UpdatePrintSettings(
      base::Value job_settings) {

+ 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 d9932a98d22eaff5b3abda1502251f522328f59e..96a9d84e22fa3437182103c985743938c3480522 100644
+index 5ce71dd7f2e469a08b2f698cfcd313b9e010289e..b310951256feb884df6b2a7f59cfd286f06b3d76 100644
 --- a/chrome/BUILD.gn
 +++ b/chrome/BUILD.gn
-@@ -1369,7 +1369,7 @@ if (is_chrome_branded && !is_android) {
+@@ -1372,7 +1372,7 @@ if (is_chrome_branded && !is_android) {
    }
  }
  
@@ -64,7 +64,7 @@ index d9932a98d22eaff5b3abda1502251f522328f59e..96a9d84e22fa3437182103c985743938
    chrome_paks("packed_resources") {
      if (is_mac) {
        output_dir = "$root_gen_dir/repack"
-@@ -1389,6 +1389,12 @@ if (!is_android) {
+@@ -1392,6 +1392,12 @@ if (!is_android) {
    }
  }
  

+ 8 - 8
patches/chromium/revert_remove_contentrendererclient_shouldfork.patch

@@ -9,10 +9,10 @@ for every navigation to keep Node.js working properly. Once Native Modules in th
 are required to be NAPI or context aware (Electron v11), this patch can be removed.
 
 diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc
-index ea39afcf03ce42a242ee14567a41b448a39324c3..6c710642bfd6da7cdf882c8a53b0a268c5f1544f 100644
+index 4a1bbc64b3bcc27d742fff2b7a7b3de73e9c7426..c5505f99bed35f0eaf5b968555ed5c3be4ec1e47 100644
 --- a/chrome/renderer/chrome_content_renderer_client.cc
 +++ b/chrome/renderer/chrome_content_renderer_client.cc
-@@ -1293,6 +1293,25 @@ bool ChromeContentRendererClient::AllowPopup() {
+@@ -1294,6 +1294,25 @@ bool ChromeContentRendererClient::AllowPopup() {
  #endif
  }
  
@@ -39,7 +39,7 @@ index ea39afcf03ce42a242ee14567a41b448a39324c3..6c710642bfd6da7cdf882c8a53b0a268
      WebLocalFrame* frame,
      ui::PageTransition transition_type,
 diff --git a/chrome/renderer/chrome_content_renderer_client.h b/chrome/renderer/chrome_content_renderer_client.h
-index 77cf178fd26bb6abd4666ccb4b0c5eea4dff3413..68bc006ef8aa3e39e9e2131782611f9b06e22197 100644
+index 7cea12e179544e5700e6cb393fafc8437166da9b..1042f99e33a75b76d5b59a97e813024487e31470 100644
 --- a/chrome/renderer/chrome_content_renderer_client.h
 +++ b/chrome/renderer/chrome_content_renderer_client.h
 @@ -126,6 +126,11 @@ class ChromeContentRendererClient
@@ -55,7 +55,7 @@ index 77cf178fd26bb6abd4666ccb4b0c5eea4dff3413..68bc006ef8aa3e39e9e2131782611f9b
                         ui::PageTransition transition_type,
                         const blink::WebURL& url,
 diff --git a/content/public/renderer/content_renderer_client.cc b/content/public/renderer/content_renderer_client.cc
-index 045b6ccd9b75baa6d48e262adba9986599e4a79a..1b42aaa81ec0963ade99533c6cff8410bac32992 100644
+index a1a8284038231e61d9f1d6302441e871abab4209..67a92523d1078cc7f47251614e27a6d9e9dcfb95 100644
 --- a/content/public/renderer/content_renderer_client.cc
 +++ b/content/public/renderer/content_renderer_client.cc
 @@ -105,6 +105,14 @@ bool ContentRendererClient::HandleNavigation(
@@ -74,7 +74,7 @@ index 045b6ccd9b75baa6d48e262adba9986599e4a79a..1b42aaa81ec0963ade99533c6cff8410
      blink::WebLocalFrame* frame,
      ui::PageTransition transition_type,
 diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h
-index bb990768e528ae66b340402084e9785eb1deb132..5e73a1cc9d3c35e7e69ac4ae1cbe7c20d399613e 100644
+index b35f479d7ef121021a5df8dfb471aead9af3517b..4945bb1e132ac9b2f325850c51000b48ebd82c44 100644
 --- a/content/public/renderer/content_renderer_client.h
 +++ b/content/public/renderer/content_renderer_client.h
 @@ -217,6 +217,13 @@ class CONTENT_EXPORT ContentRendererClient {
@@ -90,12 +90,12 @@ index bb990768e528ae66b340402084e9785eb1deb132..5e73a1cc9d3c35e7e69ac4ae1cbe7c20
 +
    // Notifies the embedder that the given frame is requesting the resource at
    // |url|. If the function returns a valid |new_url|, the request must be
-   // updated to use it. The |attach_same_site_cookies| output parameter
+   // updated to use it. The |force_ignore_site_for_cookies| output parameter
 diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
-index 84438b3183cd9f5a4d0f677880e4c3fb96281bb7..b0dfd8086377d14620746c722915cc41d92bc7d6 100644
+index 95e9039217f44dcaf770ffea2979976e79d276ab..1126ef0b8bd28142583d77261af6a9c8041d1538 100644
 --- a/content/renderer/render_frame_impl.cc
 +++ b/content/renderer/render_frame_impl.cc
-@@ -5691,6 +5691,23 @@ void RenderFrameImpl::BeginNavigation(
+@@ -5647,6 +5647,23 @@ void RenderFrameImpl::BeginNavigation(
      // we can do a per-frame check here rather than a process-wide check.
      bool should_fork = HasWebUIScheme(url) || HasWebUIScheme(old_url) ||
                         (enabled_bindings_ & kWebUIBindingsPolicyMask);

+ 5 - 5
patches/chromium/support_mixed_sandbox_with_zygote.patch

@@ -22,10 +22,10 @@ However, the patch would need to be reviewed by the security team, as it
 does touch a security-sensitive class.
 
 diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
-index 5300930629a7a5741c0962f6bf6a1fca9a7a3976..495e90285de38991e43425023aeaa8437254857b 100644
+index 9beff8728eba07fe5bbb50701dcec78d61149fde..618700cc99de3174b9de9bc26abcaac5880ec21e 100644
 --- a/content/browser/renderer_host/render_process_host_impl.cc
 +++ b/content/browser/renderer_host/render_process_host_impl.cc
-@@ -414,6 +414,11 @@ class RendererSandboxedProcessLauncherDelegate
+@@ -416,6 +416,11 @@ class RendererSandboxedProcessLauncherDelegate
    {
    }
  
@@ -37,7 +37,7 @@ index 5300930629a7a5741c0962f6bf6a1fca9a7a3976..495e90285de38991e43425023aeaa843
    ~RendererSandboxedProcessLauncherDelegate() override {}
  
  #if defined(OS_WIN)
-@@ -435,6 +440,9 @@ class RendererSandboxedProcessLauncherDelegate
+@@ -437,6 +442,9 @@ class RendererSandboxedProcessLauncherDelegate
  
  #if BUILDFLAG(USE_ZYGOTE_HANDLE)
    service_manager::ZygoteHandle GetZygote() override {
@@ -47,7 +47,7 @@ index 5300930629a7a5741c0962f6bf6a1fca9a7a3976..495e90285de38991e43425023aeaa843
      const base::CommandLine& browser_command_line =
          *base::CommandLine::ForCurrentProcess();
      base::CommandLine::StringType renderer_prefix =
-@@ -449,10 +457,13 @@ class RendererSandboxedProcessLauncherDelegate
+@@ -451,10 +459,13 @@ class RendererSandboxedProcessLauncherDelegate
      return service_manager::SandboxType::kRenderer;
    }
  
@@ -62,7 +62,7 @@ index 5300930629a7a5741c0962f6bf6a1fca9a7a3976..495e90285de38991e43425023aeaa843
  };
  
  const char kSessionStorageHolderKey[] = "kSessionStorageHolderKey";
-@@ -1820,11 +1831,18 @@ bool RenderProcessHostImpl::Init() {
+@@ -1822,11 +1833,18 @@ bool RenderProcessHostImpl::Init() {
        cmd_line->PrependWrapper(renderer_prefix);
      AppendRendererCommandLine(cmd_line.get());
  

+ 1 - 1
patches/chromium/web_contents.patch

@@ -9,7 +9,7 @@ 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 6272c336b1af633e328b1a3ed6e1dda6fc1caf00..74b0a1193ed85c13b420035a79c6533897210943 100644
+index bcd52490b3ea333c521cf0ab63206a66889cf939..86c1791f8b41bca7e7d011d7445fd320637ce7ce 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
 @@ -2090,6 +2090,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {

+ 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 025f82ede5c7105ffcf5cd834c8ab6392de672bc..84cd07bc48e680053a012a674bd4b50fcf5123af 100644
+index 9829c1507a71669308ff6215d68d56ce4f2825bd..5f513ec6a79b082de75ccd655d4210f37f63de42 100644
 --- a/content/browser/web_contents/web_contents_view_aura.cc
 +++ b/content/browser/web_contents/web_contents_view_aura.cc
 @@ -796,9 +796,7 @@ gfx::NativeView WebContentsViewAura::GetRenderWidgetHostViewParent() const {

+ 4 - 4
patches/chromium/worker_context_will_destroy.patch

@@ -10,10 +10,10 @@ An attempt to upstream this was made, but rejected:
 https://chromium-review.googlesource.com/c/chromium/src/+/1954347
 
 diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h
-index 9c1cc56c07694f001e8408e68d5d8e85c9e731d4..bb990768e528ae66b340402084e9785eb1deb132 100644
+index bc0f72040db5ea178d67218d69b31f623958f287..b35f479d7ef121021a5df8dfb471aead9af3517b 100644
 --- a/content/public/renderer/content_renderer_client.h
 +++ b/content/public/renderer/content_renderer_client.h
-@@ -383,6 +383,11 @@ class CONTENT_EXPORT ContentRendererClient {
+@@ -384,6 +384,11 @@ class CONTENT_EXPORT ContentRendererClient {
    virtual void DidInitializeWorkerContextOnWorkerThread(
        v8::Local<v8::Context> context) {}
  
@@ -67,10 +67,10 @@ index 6c813f0484f8ce2ef6e58b710a0117d3785f25f8..2872ee9d3a7b0eb888d332a7f7fe9354
        const WebSecurityOrigin& script_origin) {
      return false;
 diff --git a/third_party/blink/renderer/core/workers/worker_thread.cc b/third_party/blink/renderer/core/workers/worker_thread.cc
-index d11b948c6de2cbb38cf09728168218fee5c63713..d736f31425d024f28fb8be63b03ab0eeb56d354c 100644
+index 3774cb4c336f641c7e209625b81996374dbaa98d..7408c65846627edc5baec5ba9dbf754b82f7d46b 100644
 --- a/third_party/blink/renderer/core/workers/worker_thread.cc
 +++ b/third_party/blink/renderer/core/workers/worker_thread.cc
-@@ -691,6 +691,12 @@ void WorkerThread::PrepareForShutdownOnWorkerThread() {
+@@ -693,6 +693,12 @@ void WorkerThread::PrepareForShutdownOnWorkerThread() {
      nested_runner_->QuitNow();
    }
  

+ 1 - 1
patches/v8/add_realloc.patch

@@ -30,7 +30,7 @@ index 5a2a701774b7dc25ef2c6863a893d8d9bff41dfd..153065b131fdb7c65b6dd5493b151680
       * Free the memory block of size |length|, pointed to by |data|.
       * That memory is guaranteed to be previously allocated by |Allocate|.
 diff --git a/src/api/api.cc b/src/api/api.cc
-index 05d70ef5adf3ef5fd58228eabfad12cc22e96b2e..66f7a5f6fb2b004f40c5622514a5d8cc6b0edc5c 100644
+index bcd4ebb807968d697af0fe881faec474403b9953..0fdb464af1ea4f173298a915020a5341d979a777 100644
 --- a/src/api/api.cc
 +++ b/src/api/api.cc
 @@ -529,6 +529,10 @@ void V8::SetSnapshotDataBlob(StartupData* snapshot_blob) {

+ 3 - 3
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 2af183e1f13f78711b00b8a2d2dd7f1b66dd2ec0..fba03862bc5712168fd109c0de11e64e081b398d 100644
+index 81cb222cb21cf22ba9fae6f8de783ae40d0bda8b..6fa899345ed10b46e0b66483cd9da85c8a459148 100644
 --- a/BUILD.gn
 +++ b/BUILD.gn
 @@ -316,7 +316,7 @@ config("internal_config") {
@@ -21,7 +21,7 @@ index 2af183e1f13f78711b00b8a2d2dd7f1b66dd2ec0..fba03862bc5712168fd109c0de11e64e
      defines += [ "BUILDING_V8_SHARED" ]
    }
  }
-@@ -4143,7 +4143,7 @@ if (current_toolchain == v8_generator_toolchain) {
+@@ -4145,7 +4145,7 @@ if (current_toolchain == v8_generator_toolchain) {
        "src/interpreter/bytecodes.h",
      ]
  
@@ -30,7 +30,7 @@ index 2af183e1f13f78711b00b8a2d2dd7f1b66dd2ec0..fba03862bc5712168fd109c0de11e64e
  
      deps = [
        ":v8_libbase",
-@@ -4176,6 +4176,8 @@ if (current_toolchain == v8_snapshot_toolchain) {
+@@ -4178,6 +4178,8 @@ if (current_toolchain == v8_snapshot_toolchain) {
  
      configs = [ ":internal_config" ]
  

+ 3 - 3
patches/v8/dcheck.patch

@@ -6,7 +6,7 @@ Subject: dcheck.patch
 https://github.com/auchenberg/volkswagen
 
 diff --git a/src/api/api.cc b/src/api/api.cc
-index 66f7a5f6fb2b004f40c5622514a5d8cc6b0edc5c..a3d82edb82af3b980acecb1039c6a2554ce31178 100644
+index 0fdb464af1ea4f173298a915020a5341d979a777..4a5131b2c67140802a6c70cfe67edc6bff688304 100644
 --- a/src/api/api.cc
 +++ b/src/api/api.cc
 @@ -8727,7 +8727,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) {
@@ -19,10 +19,10 @@ index 66f7a5f6fb2b004f40c5622514a5d8cc6b0edc5c..a3d82edb82af3b980acecb1039c6a255
    isolate->default_microtask_queue()->PerformCheckpoint(this);
  }
 diff --git a/src/heap/heap.cc b/src/heap/heap.cc
-index 2d9d5867bcd63e2dab2180140d20413999ec99d1..efd6985dd267aaa7e2af5e6759176296274a7bb7 100644
+index 29ae26f1f5ed78f83ff9a2a49d1a03cb07d5dbfc..b2ed81a7828b6e85bbbe66d22164f1c4f07bb37b 100644
 --- a/src/heap/heap.cc
 +++ b/src/heap/heap.cc
-@@ -5519,9 +5519,9 @@ void Heap::TearDown() {
+@@ -5505,9 +5505,9 @@ void Heap::TearDown() {
  void Heap::AddGCPrologueCallback(v8::Isolate::GCCallbackWithData callback,
                                   GCType gc_type, void* data) {
    DCHECK_NOT_NULL(callback);

+ 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 9384405d85001d183685005d6697f25f73cea31d..536646574691cd42e2ee9e8282028dd657ab37d6 100644
+index 1b8fd83602ba0a34c861961c1c11ffa43d12f79d..4216d7888e77d0ee4af382d52fa0dff5e22b0073 100644
 --- a/BUILD.gn
 +++ b/BUILD.gn
 @@ -316,6 +316,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 fba03862bc5712168fd109c0de11e64e081b398d..9384405d85001d183685005d6697f25f73cea31d 100644
+index 6fa899345ed10b46e0b66483cd9da85c8a459148..1b8fd83602ba0a34c861961c1c11ffa43d12f79d 100644
 --- a/BUILD.gn
 +++ b/BUILD.gn
-@@ -4154,7 +4154,6 @@ if (current_toolchain == v8_generator_toolchain) {
+@@ -4156,7 +4156,6 @@ if (current_toolchain == v8_generator_toolchain) {
  
  if (current_toolchain == v8_snapshot_toolchain) {
    v8_executable("mksnapshot") {

+ 1 - 1
shell/browser/api/electron_api_url_loader.cc

@@ -349,7 +349,7 @@ gin::Handle<SimpleURLLoaderWrapper> SimpleURLLoaderWrapper::Create(
     return gin::Handle<SimpleURLLoaderWrapper>();
   }
   auto request = std::make_unique<network::ResourceRequest>();
-  request->attach_same_site_cookies = true;
+  request->force_ignore_site_for_cookies = true;
   opts.Get("method", &request->method);
   opts.Get("url", &request->url);
   std::map<std::string, std::string> extra_headers;

+ 2 - 3
shell/browser/net/asar/asar_url_loader.cc

@@ -221,9 +221,8 @@ class AsarURLLoader : public network::mojom::URLLoader {
       head->did_mime_sniff = true;
     }
     if (head->headers) {
-      head->headers->AddHeader(
-          base::StringPrintf("%s: %s", net::HttpRequestHeaders::kContentType,
-                             head->mime_type.c_str()));
+      head->headers->AddHeader(net::HttpRequestHeaders::kContentType,
+                               head->mime_type.c_str());
     }
     client_->OnReceiveResponse(std::move(head));
     client_->OnStartLoadingResponseBody(std::move(pipe.consumer_handle));

+ 9 - 6
shell/browser/net/electron_url_loader_factory.cc

@@ -112,13 +112,13 @@ network::mojom::URLResponseHeadPtr ToResponseHead(
   if (dict.Get("headers", &headers)) {
     for (const auto& iter : headers.DictItems()) {
       if (iter.second.is_string()) {
-        // key: value
-        head->headers->AddHeader(iter.first + ": " + iter.second.GetString());
+        // key, value
+        head->headers->AddHeader(iter.first, iter.second.GetString());
       } else if (iter.second.is_list()) {
         // key: [values...]
         for (const auto& item : iter.second.GetList()) {
           if (item.is_string())
-            head->headers->AddHeader(iter.first + ": " + item.GetString());
+            head->headers->AddHeader(iter.first, item.GetString());
         }
       } else {
         continue;
@@ -135,7 +135,7 @@ network::mojom::URLResponseHeadPtr ToResponseHead(
   // Setting |head->mime_type| does not automatically set the "content-type"
   // header in NetworkService.
   if (has_mime_type && !has_content_type)
-    head->headers->AddHeader("content-type: " + head->mime_type);
+    head->headers->AddHeader("content-type", head->mime_type);
   return head;
 }
 
@@ -376,7 +376,8 @@ void ElectronURLLoaderFactory::StartLoadingFile(
     return;
   }
 
-  head->headers->AddHeader(kCORSHeader);
+  // Add header to ignore CORS.
+  head->headers->AddHeader("Access-Control-Allow-Origin", "*");
   asar::CreateAsarURLLoader(request, std::move(loader), std::move(client),
                             head->headers);
 }
@@ -484,7 +485,9 @@ void ElectronURLLoaderFactory::SendContents(
     std::string data) {
   mojo::Remote<network::mojom::URLLoaderClient> client_remote(
       std::move(client));
-  head->headers->AddHeader(kCORSHeader);
+
+  // Add header to ignore CORS.
+  head->headers->AddHeader("Access-Control-Allow-Origin", "*");
   client_remote->OnReceiveResponse(std::move(head));
 
   // Code bellow follows the pattern of data_url_loader_factory.cc.

+ 1 - 1
shell/browser/net/proxying_websocket.cc

@@ -147,7 +147,7 @@ void ProxyingWebSocket::OnConnectionEstablished(
           handshake_response_->status_code,
           handshake_response_->status_text.c_str()));
   for (const auto& header : handshake_response_->headers)
-    response_->headers->AddHeader(header->name + ": " + header->value);
+    response_->headers->AddHeader(header->name, header->value);
 
   ContinueToHeadersReceived();
 }

+ 5 - 0
shell/browser/relauncher.cc

@@ -57,6 +57,11 @@ bool RelaunchAppWithHelper(const base::FilePath& helper,
   StringVector relaunch_argv;
   relaunch_argv.push_back(helper.value());
   relaunch_argv.push_back(internal::kRelauncherTypeArg);
+  // Relauncher process has its own --type=relauncher which
+  // is not recognized by the service_manager, explicitly set
+  // the sandbox type to avoid CHECK failure in
+  // service_manager::SandboxTypeFromCommandLine
+  relaunch_argv.push_back(FILE_PATH_LITERAL("--no-sandbox"));
 
   relaunch_argv.insert(relaunch_argv.end(), relauncher_args.begin(),
                        relauncher_args.end());

+ 0 - 2
shell/common/electron_constants.cc

@@ -9,8 +9,6 @@ namespace electron {
 const char kBrowserForward[] = "browser-forward";
 const char kBrowserBackward[] = "browser-backward";
 
-const char kCORSHeader[] = "Access-Control-Allow-Origin: *";
-
 const char kSHA1Certificate[] = "SHA-1 Certificate";
 const char kSHA1MajorDescription[] =
     "The certificate for this site expires in 2017 or later, "

+ 0 - 3
shell/common/electron_constants.h

@@ -15,9 +15,6 @@ namespace electron {
 extern const char kBrowserForward[];
 extern const char kBrowserBackward[];
 
-// Header to ignore CORS.
-extern const char kCORSHeader[];
-
 // Strings describing Chrome security policy for DevTools security panel.
 extern const char kSHA1Certificate[];
 extern const char kSHA1MajorDescription[];

+ 1 - 1
shell/common/gin_converters/net_converter.cc

@@ -186,7 +186,7 @@ bool Converter<net::HttpResponseHeaders*>::FromV8(
     }
     std::string value;
     gin::ConvertFromV8(isolate, localStrVal, &value);
-    out->AddHeader(key + ": " + value);
+    out->AddHeader(key, value);
     return true;
   };