Browse Source

chore: bump chromium to ab0f6deadb33bb3a0201cd2d21602 (master) (#24539)

* chore: bump chromium in DEPS to 0ee01724797ab0f6deadb33bb3a0201cd2d21602

* Update patches

* Separate pdf/pdf_ppapi.h into its own target.

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

* [ozone/x11] Removed DesktopWindowTreeHostX11 and its DnD client.

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

* Move front_end html_entrypoints to data_deps

https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2292282

Co-authored-by: John Kleinschmidt <[email protected]>
Electron Bot 4 years ago
parent
commit
9c8cdd63fd
29 changed files with 97 additions and 133 deletions
  1. 1 0
      BUILD.gn
  2. 1 1
      DEPS
  3. 2 0
      build/zip.py
  4. 0 1
      patches/chromium/.patches
  5. 12 12
      patches/chromium/add_didinstallconditionalfeatures.patch
  6. 1 1
      patches/chromium/blink_local_frame.patch
  7. 6 6
      patches/chromium/can_create_window.patch
  8. 2 2
      patches/chromium/chore_use_electron_resources_not_chrome_for_spellchecker.patch
  9. 1 1
      patches/chromium/dcheck.patch
  10. 19 19
      patches/chromium/disable_color_correct_rendering.patch
  11. 3 3
      patches/chromium/disable_hidden.patch
  12. 0 39
      patches/chromium/disable_unnecessary_ischromefirstrun_check.patch
  13. 6 6
      patches/chromium/feat_allow_embedders_to_add_observers_on_created_hunspell.patch
  14. 4 4
      patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch
  15. 2 2
      patches/chromium/fix_route_mouse_event_navigations_through_the_web_contents_delegate.patch
  16. 5 5
      patches/chromium/frame_host_manager.patch
  17. 2 2
      patches/chromium/gpu_notify_when_dxdiag_request_fails.patch
  18. 1 1
      patches/chromium/mas_no_private_api.patch
  19. 6 6
      patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch
  20. 3 3
      patches/chromium/resource_file_conflict.patch
  21. 3 3
      patches/chromium/revert_remove_contentrendererclient_shouldfork.patch
  22. 3 3
      patches/chromium/web_contents.patch
  23. 2 2
      patches/chromium/worker_context_will_destroy.patch
  24. 2 2
      patches/v8/add_realloc.patch
  25. 3 3
      patches/v8/build_gn.patch
  26. 2 2
      patches/v8/dcheck.patch
  27. 1 1
      patches/v8/do_not_export_private_v8_symbols_on_windows.patch
  28. 2 2
      patches/v8/expose_mksnapshot.patch
  29. 2 1
      shell/browser/native_window_views.cc

+ 1 - 0
BUILD.gn

@@ -661,6 +661,7 @@ source_set("electron_lib") {
     deps += [
       "//components/pdf/browser",
       "//components/pdf/renderer",
+      "//pdf:pdf_ppapi",
     ]
     sources += [
       "shell/browser/electron_pdf_web_contents_helper_client.cc",

+ 1 - 1
DEPS

@@ -14,7 +14,7 @@ gclient_gn_args = [
 
 vars = {
   'chromium_version':
-    '17d931b6d2190fac716f92a66c7578fa4db6501a',
+    '0ee01724797ab0f6deadb33bb3a0201cd2d21602',
   'node_version':
     'v12.18.2',
   'nan_version':

+ 2 - 0
build/zip.py

@@ -32,6 +32,8 @@ PATHS_TO_SKIP = [
   # On Linux, we don't use crashpad, but this binary is still built for some
   # reason. Exclude it from the zip.
   './crashpad_handler',
+
+  'resources/inspector', #Skipping because these are outputs that we don't need
 ]
 
 def skip_path(dep, dist_zip, target_cpu):

+ 0 - 1
patches/chromium/.patches

@@ -92,7 +92,6 @@ upload_list_add_loadsync_method.patch
 breakpad_allow_getting_string_values_for_crash_keys.patch
 crash_allow_disabling_compression_on_linux.patch
 allow_setting_secondary_label_via_simplemenumodel.patch
-disable_unnecessary_ischromefirstrun_check.patch
 fix_swap_global_proxies_before_initializing_the_windows_proxies.patch
 feat_add_streaming-protocol_registry_to_multibuffer_data_source.patch
 use_electron_resources_in_icon_reader_service.patch

+ 12 - 12
patches/chromium/add_didinstallconditionalfeatures.patch

@@ -23,10 +23,10 @@ index 3e059605c55d88d52cf2544d6aca3446efee5750..398229becb8fd00022b08cc6afed7d18
                                          int32_t world_id) {}
    virtual void DidClearWindowObject() {}
 diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
-index c9e8e396135befdd67549326daa2ef5c2339f418..1df3376ca5a8fefc926634c197a8bf043a4f3897 100644
+index 7f73a8952f90e5f0b525061be385bf38f0ecab28..f7d78b305bccfdb69c20261010824bae6758b5c3 100644
 --- a/content/renderer/render_frame_impl.cc
 +++ b/content/renderer/render_frame_impl.cc
-@@ -4796,6 +4796,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,
+@@ -4780,6 +4780,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,
      observer.DidCreateScriptContext(context, world_id);
  }
  
@@ -40,10 +40,10 @@ index c9e8e396135befdd67549326daa2ef5c2339f418..1df3376ca5a8fefc926634c197a8bf04
                                                 int world_id) {
    for (auto& observer : observers_)
 diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h
-index eeac74bc62d6c276d31f714e5a1a024c9ec02838..cf6cfe870b63d675e16fc0e8b80914e19c796ae6 100644
+index 2e84f944b3d0ef06d8001830f7f29f4382bccdff..2c70f9b320145e508e3c906c1b1840356031a462 100644
 --- a/content/renderer/render_frame_impl.h
 +++ b/content/renderer/render_frame_impl.h
-@@ -738,6 +738,8 @@ class CONTENT_EXPORT RenderFrameImpl
+@@ -737,6 +737,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 eeac74bc62d6c276d31f714e5a1a024c9ec02838..cf6cfe870b63d675e16fc0e8b80914e1
                                  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 54a40d9a90d1dbb13d8234494ab53893ca339ee4..aee9160cba302b394594debfbc8dd0e400efbb46 100644
+index c16d7836c5cb34019efd1a1ba1786bc4c4ebf7f3..08d614a10a484d65eca5c16740a1b123f80f5fe1 100644
 --- a/third_party/blink/public/web/web_local_frame_client.h
 +++ b/third_party/blink/public/web/web_local_frame_client.h
-@@ -546,6 +546,9 @@ class BLINK_EXPORT WebLocalFrameClient {
+@@ -533,6 +533,9 @@ class BLINK_EXPORT WebLocalFrameClient {
    virtual void DidCreateScriptContext(v8::Local<v8::Context>,
                                        int32_t world_id) {}
  
@@ -79,7 +79,7 @@ index 17ebe5efb8b0bfcf17eda69fe4373b61b213af72..b7296a900c04006812d5f01b05c46a22
    if (World().IsMainWorld()) {
      GetFrame()->Loader().DispatchDidClearWindowObjectInMainWorld();
 diff --git a/third_party/blink/renderer/core/exported/local_frame_client_impl.cc b/third_party/blink/renderer/core/exported/local_frame_client_impl.cc
-index c586e0f7c21060f5f6a088631b5b0b9d57fad4eb..fc0fc331ecd535422eeb15bd831d64946edff3b2 100644
+index 8dbf0452f08c68e4edbd85e2be4e0e6fdfb90547..286c716d1e754efcd0591368a98d4c99d183c89c 100644
 --- a/third_party/blink/renderer/core/exported/local_frame_client_impl.cc
 +++ b/third_party/blink/renderer/core/exported/local_frame_client_impl.cc
 @@ -391,6 +391,13 @@ void LocalFrameClientImpl::DidCreateScriptContext(
@@ -97,7 +97,7 @@ index c586e0f7c21060f5f6a088631b5b0b9d57fad4eb..fc0fc331ecd535422eeb15bd831d6494
      v8::Local<v8::Context> context,
      int32_t world_id) {
 diff --git a/third_party/blink/renderer/core/exported/local_frame_client_impl.h b/third_party/blink/renderer/core/exported/local_frame_client_impl.h
-index b21e7f5ba906d13045f38f986677106d35cc1d60..024188a4365261ba47ac200d15d8c0e52eb80a90 100644
+index e29d690448142757e53ae778ece6c1d7a3b88cd2..03bd8dd3155f8b186f284a417fb215bc1d1c80c9 100644
 --- a/third_party/blink/renderer/core/exported/local_frame_client_impl.h
 +++ b/third_party/blink/renderer/core/exported/local_frame_client_impl.h
 @@ -78,6 +78,8 @@ class CORE_EXPORT LocalFrameClientImpl final : public LocalFrameClient {
@@ -110,10 +110,10 @@ index b21e7f5ba906d13045f38f986677106d35cc1d60..024188a4365261ba47ac200d15d8c0e5
                                  int32_t world_id) override;
  
 diff --git a/third_party/blink/renderer/core/frame/local_frame_client.h b/third_party/blink/renderer/core/frame/local_frame_client.h
-index 4c6f1b9decbc5292d8349816fbac88dfd22b4774..ab28222f6be19cfc78c410633d20dc8646f98a2c 100644
+index 582599e9f62ec3197b95deaa183449858169e8a2..febc1cce64dc3a9facbfc9a72be913fc04978950 100644
 --- a/third_party/blink/renderer/core/frame/local_frame_client.h
 +++ b/third_party/blink/renderer/core/frame/local_frame_client.h
-@@ -296,6 +296,8 @@ class CORE_EXPORT LocalFrameClient : public FrameClient {
+@@ -286,6 +286,8 @@ class CORE_EXPORT LocalFrameClient : public FrameClient {
  
    virtual void DidCreateScriptContext(v8::Local<v8::Context>,
                                        int32_t world_id) = 0;
@@ -123,10 +123,10 @@ index 4c6f1b9decbc5292d8349816fbac88dfd22b4774..ab28222f6be19cfc78c410633d20dc86
                                          int32_t world_id) = 0;
    virtual bool AllowScriptExtensions() = 0;
 diff --git a/third_party/blink/renderer/core/loader/empty_clients.h b/third_party/blink/renderer/core/loader/empty_clients.h
-index 006c575be0f9a33b0a5833b2d5d7bca6ca7fe2b0..d21901198b3b118b153ae2f77d071775c08574d4 100644
+index f08d47d43de96e4541172fe620cf318e6ba3321f..5d5141bd74dd012ad2a84ddaf2b105b5582e3155 100644
 --- a/third_party/blink/renderer/core/loader/empty_clients.h
 +++ b/third_party/blink/renderer/core/loader/empty_clients.h
-@@ -336,6 +336,8 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient {
+@@ -333,6 +333,8 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient {
  
    void DidCreateScriptContext(v8::Local<v8::Context>,
                                int32_t world_id) override {}

+ 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 55dfea6ac16d63cd7fc78114d430889c62d0e69a..74d2122efa86d90490b05a15858556055172ad2f 100644
+index 6d91a9a494b81120c68d5539f08e6b57f37a6e02..093cc5c6c4ec4e8e9c8d97e75fef3bba1d0adbc1 100644
 --- a/third_party/blink/renderer/core/frame/local_frame.cc
 +++ b/third_party/blink/renderer/core/frame/local_frame.cc
 @@ -551,10 +551,6 @@ void LocalFrame::DetachImpl(FrameDetachType type) {

+ 6 - 6
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 026d72790073641c62a1d8a816d49ceef386d513..799d5c785aebb52db45861939b7f7101dfaeb996 100644
+index 4285350cd976bbc279c334a06ca5ff892a77393f..e37450e6e000c1700463971821591845bb4e7673 100644
 --- a/content/browser/frame_host/render_frame_host_impl.cc
 +++ b/content/browser/frame_host/render_frame_host_impl.cc
-@@ -4668,6 +4668,7 @@ void RenderFrameHostImpl::CreateNewWindow(
+@@ -4679,6 +4679,7 @@ void RenderFrameHostImpl::CreateNewWindow(
            last_committed_origin_, params->window_container_type,
            params->target_url, params->referrer.To<Referrer>(),
            params->frame_name, params->disposition, *params->features,
@@ -21,10 +21,10 @@ index 026d72790073641c62a1d8a816d49ceef386d513..799d5c785aebb52db45861939b7f7101
            &no_javascript_access);
  
 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index f239aef371253e56c3f06d84e5fe1aef5e6c6976..ec2539f1256eaba4335505e2eaa068449dbd8aff 100644
+index 3378de15224fbf9438c4b00bf342f3c4d63d6cb4..ffc75af10134776aa3ecad331ee9c6a228101e1a 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -3090,9 +3090,9 @@ RenderFrameHostDelegate* WebContentsImpl::CreateNewWindow(
+@@ -3076,9 +3076,9 @@ RenderFrameHostDelegate* WebContentsImpl::CreateNewWindow(
    }
  
    if (delegate_) {
@@ -38,10 +38,10 @@ index f239aef371253e56c3f06d84e5fe1aef5e6c6976..ec2539f1256eaba4335505e2eaa06844
  
    for (auto& observer : observers_) {
 diff --git a/content/common/frame.mojom b/content/common/frame.mojom
-index 3081409cd29a3e42847c4ed18f7bf7b2d095f503..02e615a569db5fe9535c6e3b470699f841679d05 100644
+index d9817d5667f2f28fca3bef442bccb829596c5cfc..5a5e289f64283813ab4370b72b2c0748141a8c40 100644
 --- a/content/common/frame.mojom
 +++ b/content/common/frame.mojom
-@@ -277,6 +277,10 @@ struct CreateNewWindowParams {
+@@ -282,6 +282,10 @@ struct CreateNewWindowParams {
  
    // The window features to use for the new window.
    blink.mojom.WindowFeatures features;

+ 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 b291ae0c0a785e6905d2b9188a3d7adc92b82d18..afcb79039dafde05096cc94973a7169cbc28e0fd 100644
+index 0dc4dd31216fa8f1c1bbe993796043cc261cf3be..1d8072fb11da85c27c68b8c526e0d7c4c6eef6cc 100644
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -5545,6 +5545,7 @@ static_library("browser") {
+@@ -5552,6 +5552,7 @@ static_library("browser") {
      deps += [
        "//components/spellcheck/browser",
        "//components/spellcheck/common",

+ 1 - 1
patches/chromium/dcheck.patch

@@ -17,7 +17,7 @@ only one or two specific checks fail. Then it's better to simply comment out the
 failing checks and allow the rest of the target to have them enabled.
 
 diff --git a/content/browser/frame_host/navigation_controller_impl.cc b/content/browser/frame_host/navigation_controller_impl.cc
-index 5342160256f5ab36330974368dad970c3943b9eb..63b4583fe7993a7c6c2400f8d4ff100d13f0afd2 100644
+index 954d5401b71bb090c1c533783398298f28eeefbd..dd9051afe099cb1ef3aebb825cf05c347b4abbf4 100644
 --- a/content/browser/frame_host/navigation_controller_impl.cc
 +++ b/content/browser/frame_host/navigation_controller_impl.cc
 @@ -1271,8 +1271,10 @@ NavigationType NavigationControllerImpl::ClassifyNavigation(

+ 19 - 19
patches/chromium/disable_color_correct_rendering.patch

@@ -20,7 +20,7 @@ to deal with color spaces. That is being tracked at
 https://crbug.com/634542 and https://crbug.com/711107.
 
 diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
-index 9811ffee3f5e0a134e488c1267d662adde33e18b..1742be389a1a5d6b2cee3f17a251fbf58668f0d2 100644
+index b2c0baa4659ffca5ef49723fe908d8f1e4919239..fbe00464174000e3d852f38141e2951842830627 100644
 --- a/cc/trees/layer_tree_host_impl.cc
 +++ b/cc/trees/layer_tree_host_impl.cc
 @@ -1857,6 +1857,10 @@ void LayerTreeHostImpl::SetIsLikelyToRequireADraw(
@@ -35,7 +35,7 @@ index 9811ffee3f5e0a134e488c1267d662adde33e18b..1742be389a1a5d6b2cee3f17a251fbf5
  
    if (settings_.prefer_raster_in_srgb &&
 diff --git a/cc/trees/layer_tree_settings.h b/cc/trees/layer_tree_settings.h
-index 4bb6d8a0364098a2c2634c78eadd701a78ddb91b..68ffba79e39198242a5ff3cc963944affe035679 100644
+index eaff59cabf659c0d3ffe46c394c51b6d30c05806..899be4f3d9cdb82e03d34ee940f26af89235dd31 100644
 --- a/cc/trees/layer_tree_settings.h
 +++ b/cc/trees/layer_tree_settings.h
 @@ -99,6 +99,8 @@ class CC_EXPORT LayerTreeSettings {
@@ -48,7 +48,7 @@ index 4bb6d8a0364098a2c2634c78eadd701a78ddb91b..68ffba79e39198242a5ff3cc963944af
    // Image Decode Service and raster tiles without images until the decode is
    // ready.
 diff --git a/components/viz/common/display/renderer_settings.h b/components/viz/common/display/renderer_settings.h
-index 773a1c9fe580d406fe841087b79ecda5a67e1951..33935b240adc265457649d46073e2ddd4f626e32 100644
+index 758390280505913d1562dd84e6333924ded0d68f..32856ca4132c205bc142bf033e4f6d5d84f74329 100644
 --- a/components/viz/common/display/renderer_settings.h
 +++ b/components/viz/common/display/renderer_settings.h
 @@ -23,6 +23,7 @@ class VIZ_COMMON_EXPORT RendererSettings {
@@ -60,7 +60,7 @@ index 773a1c9fe580d406fe841087b79ecda5a67e1951..33935b240adc265457649d46073e2ddd
    bool force_antialiasing = false;
    bool force_blending_with_shaders = false;
 diff --git a/components/viz/host/renderer_settings_creation.cc b/components/viz/host/renderer_settings_creation.cc
-index 263e8d9ad8dba0c690645d412567586246a38b9d..8f2f53867b15bc895aa105ed7ec59586abfa8c2f 100644
+index 02a2c735ff694c4890b5fb6a148724b3650c7346..817a7e1a6a5c244d744c56baa1062946f16c15d8 100644
 --- a/components/viz/host/renderer_settings_creation.cc
 +++ b/components/viz/host/renderer_settings_creation.cc
 @@ -14,6 +14,7 @@
@@ -81,7 +81,7 @@ index 263e8d9ad8dba0c690645d412567586246a38b9d..8f2f53867b15bc895aa105ed7ec59586
        !command_line->HasSwitch(switches::kUIDisablePartialSwap);
  #if defined(OS_MACOSX)
 diff --git a/components/viz/service/display/gl_renderer.cc b/components/viz/service/display/gl_renderer.cc
-index ff4ccbbc0e24ea624f421e1a6e7d5b817106a292..269a4ac2f580f9d8858db84fe7d91c79d2cd4c50 100644
+index 296f9b9c33b8b32dea6eaaa76a254b0da99fcf52..7b9018cb8cc76f0e6c187059d29f064257063bc2 100644
 --- a/components/viz/service/display/gl_renderer.cc
 +++ b/components/viz/service/display/gl_renderer.cc
 @@ -89,6 +89,9 @@
@@ -94,7 +94,7 @@ index ff4ccbbc0e24ea624f421e1a6e7d5b817106a292..269a4ac2f580f9d8858db84fe7d91c79
  namespace viz {
  namespace {
  
-@@ -587,8 +590,9 @@ void GLRenderer::DoDrawQuad(const DrawQuad* quad,
+@@ -589,8 +592,9 @@ void GLRenderer::DoDrawQuad(const DrawQuad* quad,
  void GLRenderer::DrawDebugBorderQuad(const DebugBorderDrawQuad* quad) {
    SetBlendEnabled(quad->ShouldDrawWithBlending());
  
@@ -106,7 +106,7 @@ index ff4ccbbc0e24ea624f421e1a6e7d5b817106a292..269a4ac2f580f9d8858db84fe7d91c79
  
    // Use the full quad_rect for debug quads to not move the edges based on
    // partial swaps.
-@@ -1558,7 +1562,8 @@ void GLRenderer::ChooseRPDQProgram(DrawRenderPassDrawQuadParams* params,
+@@ -1560,7 +1564,8 @@ void GLRenderer::ChooseRPDQProgram(DrawRenderPassDrawQuadParams* params,
            params->use_color_matrix, tint_gl_composited_content_,
            params->apply_shader_based_rounded_corner &&
                ShouldApplyRoundedCorner(params->quad)),
@@ -116,7 +116,7 @@ index ff4ccbbc0e24ea624f421e1a6e7d5b817106a292..269a4ac2f580f9d8858db84fe7d91c79
  }
  
  void GLRenderer::UpdateRPDQUniforms(DrawRenderPassDrawQuadParams* params) {
-@@ -2029,7 +2034,8 @@ void GLRenderer::DrawSolidColorQuad(const SolidColorDrawQuad* quad,
+@@ -2031,7 +2036,8 @@ void GLRenderer::DrawSolidColorQuad(const SolidColorDrawQuad* quad,
    SetUseProgram(ProgramKey::SolidColor(use_aa ? USE_AA : NO_AA,
                                         tint_gl_composited_content_,
                                         ShouldApplyRoundedCorner(quad)),
@@ -126,7 +126,7 @@ index ff4ccbbc0e24ea624f421e1a6e7d5b817106a292..269a4ac2f580f9d8858db84fe7d91c79
    SetShaderColor(color, opacity);
    if (current_program_->rounded_corner_rect_location() != -1) {
      SetShaderRoundedCorner(
-@@ -2184,7 +2190,8 @@ void GLRenderer::DrawContentQuadAA(const ContentDrawQuadBase* quad,
+@@ -2186,7 +2192,8 @@ void GLRenderer::DrawContentQuadAA(const ContentDrawQuadBase* quad,
                                                : NON_PREMULTIPLIED_ALPHA,
                         false, false, tint_gl_composited_content_,
                         ShouldApplyRoundedCorner(quad)),
@@ -136,7 +136,7 @@ index ff4ccbbc0e24ea624f421e1a6e7d5b817106a292..269a4ac2f580f9d8858db84fe7d91c79
  
    if (current_program_->tint_color_matrix_location() != -1) {
      auto matrix = cc::DebugColors::TintCompositedContentColorTransformMatrix();
-@@ -2280,7 +2287,8 @@ void GLRenderer::DrawContentQuadNoAA(const ContentDrawQuadBase* quad,
+@@ -2282,7 +2289,8 @@ void GLRenderer::DrawContentQuadNoAA(const ContentDrawQuadBase* quad,
                         !quad->ShouldDrawWithBlending(), has_tex_clamp_rect,
                         tint_gl_composited_content_,
                         ShouldApplyRoundedCorner(quad)),
@@ -146,7 +146,7 @@ index ff4ccbbc0e24ea624f421e1a6e7d5b817106a292..269a4ac2f580f9d8858db84fe7d91c79
  
    if (current_program_->tint_color_matrix_location() != -1) {
      auto matrix = cc::DebugColors::TintCompositedContentColorTransformMatrix();
-@@ -2382,7 +2390,8 @@ void GLRenderer::DrawYUVVideoQuad(const YUVVideoDrawQuad* quad,
+@@ -2384,7 +2392,8 @@ void GLRenderer::DrawYUVVideoQuad(const YUVVideoDrawQuad* quad,
    // The source color space should never be RGB.
    DCHECK_NE(src_color_space, src_color_space.GetAsFullRangeRGB());
  
@@ -156,7 +156,7 @@ index ff4ccbbc0e24ea624f421e1a6e7d5b817106a292..269a4ac2f580f9d8858db84fe7d91c79
  
  #if defined(OS_WIN)
    // Force sRGB output on Windows for overlay candidate video quads to match
-@@ -2546,7 +2555,8 @@ void GLRenderer::DrawStreamVideoQuad(const StreamVideoDrawQuad* quad,
+@@ -2548,7 +2557,8 @@ void GLRenderer::DrawStreamVideoQuad(const StreamVideoDrawQuad* quad,
  
    SetUseProgram(ProgramKey::VideoStream(tex_coord_precision,
                                          ShouldApplyRoundedCorner(quad)),
@@ -166,7 +166,7 @@ index ff4ccbbc0e24ea624f421e1a6e7d5b817106a292..269a4ac2f580f9d8858db84fe7d91c79
  
    DCHECK_EQ(GL_TEXTURE0, GetActiveTextureUnit(gl_));
    gl_->BindTexture(GL_TEXTURE_EXTERNAL_OES, lock.texture_id());
-@@ -2611,8 +2621,8 @@ void GLRenderer::FlushTextureQuadCache(BoundGeometry flush_binding) {
+@@ -2613,8 +2623,8 @@ void GLRenderer::FlushTextureQuadCache(BoundGeometry flush_binding) {
        draw_cache_.nearest_neighbor ? GL_NEAREST : GL_LINEAR);
  
    // Bind the program to the GL state.
@@ -177,7 +177,7 @@ index ff4ccbbc0e24ea624f421e1a6e7d5b817106a292..269a4ac2f580f9d8858db84fe7d91c79
  
    if (current_program_->rounded_corner_rect_location() != -1) {
      SetShaderRoundedCorner(
-@@ -3357,7 +3367,9 @@ void GLRenderer::PrepareGeometry(BoundGeometry binding) {
+@@ -3359,7 +3369,9 @@ void GLRenderer::PrepareGeometry(BoundGeometry binding) {
  void GLRenderer::SetUseProgram(const ProgramKey& program_key_no_color,
                                 const gfx::ColorSpace& src_color_space,
                                 const gfx::ColorSpace& dst_color_space) {
@@ -188,7 +188,7 @@ index ff4ccbbc0e24ea624f421e1a6e7d5b817106a292..269a4ac2f580f9d8858db84fe7d91c79
  
    // If the input color space is PQ, and it did not specify a white level,
    // override it with the frame's white level.
-@@ -3739,9 +3751,9 @@ void GLRenderer::CopyRenderPassDrawQuadToOverlayResource(
+@@ -3741,9 +3753,9 @@ void GLRenderer::CopyRenderPassDrawQuadToOverlayResource(
          cc::MathUtil::CheckedRoundUp(iosurface_height, iosurface_multiple);
    }
  
@@ -201,7 +201,7 @@ index ff4ccbbc0e24ea624f421e1a6e7d5b817106a292..269a4ac2f580f9d8858db84fe7d91c79
    *new_bounds = gfx::RectF(updated_dst_rect.origin(),
                             gfx::SizeF((*overlay_texture)->texture.size()));
  
-@@ -3960,8 +3972,8 @@ void GLRenderer::FlushOverdrawFeedback(const gfx::Rect& output_rect) {
+@@ -3962,8 +3974,8 @@ void GLRenderer::FlushOverdrawFeedback(const gfx::Rect& output_rect) {
  
    PrepareGeometry(SHARED_BINDING);
  
@@ -212,7 +212,7 @@ index ff4ccbbc0e24ea624f421e1a6e7d5b817106a292..269a4ac2f580f9d8858db84fe7d91c79
  
    gfx::Transform render_matrix;
    render_matrix.Translate(0.5 * output_rect.width() + output_rect.x(),
-@@ -4079,3 +4091,5 @@ gfx::Size GLRenderer::GetRenderPassBackingPixelSize(
+@@ -4082,3 +4094,5 @@ gfx::Size GLRenderer::GetRenderPassBackingPixelSize(
  }
  
  }  // namespace viz
@@ -295,7 +295,7 @@ index 3dc0fb19b33daf14cbf8550cbb58e3e146830f26..da34be87f36c6e50286d0ef24cade531
  }
  
 diff --git a/third_party/blink/renderer/platform/widget/compositing/layer_tree_settings.cc b/third_party/blink/renderer/platform/widget/compositing/layer_tree_settings.cc
-index 41430c3f85c0335066d51dfbb08465083adf92ab..6eec040e661258bb37ea0c4edacf1c4239706084 100644
+index 309cd8b300ba9eb3c85a324475aba35b9eb28068..8c53d6ebdeae529854982075bb3ecec47169d606 100644
 --- a/third_party/blink/renderer/platform/widget/compositing/layer_tree_settings.cc
 +++ b/third_party/blink/renderer/platform/widget/compositing/layer_tree_settings.cc
 @@ -23,6 +23,7 @@
@@ -306,7 +306,7 @@ index 41430c3f85c0335066d51dfbb08465083adf92ab..6eec040e661258bb37ea0c4edacf1c42
  #include "ui/native_theme/native_theme_features.h"
  #include "ui/native_theme/overlay_scrollbar_constants_aura.h"
  
-@@ -176,6 +177,9 @@ cc::LayerTreeSettings GenerateLayerTreeSettings(
+@@ -178,6 +179,9 @@ cc::LayerTreeSettings GenerateLayerTreeSettings(
    settings.main_frame_before_activation_enabled =
        cmd.HasSwitch(cc::switches::kEnableMainFrameBeforeActivation);
  

+ 3 - 3
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 b4a91a68db21b516bd702c1a478351b310436bd3..c110e85b75c3e871015694686b94fde6921e8c82 100644
+index 0dd89a1467902c3585a4fb0ed20d83c3ec596630..1bb34b1700fe89053f78bcecd35af898938620b8 100644
 --- a/content/browser/renderer_host/render_widget_host_impl.cc
 +++ b/content/browser/renderer_host/render_widget_host_impl.cc
-@@ -667,6 +667,9 @@ void RenderWidgetHostImpl::WasHidden() {
+@@ -723,6 +723,9 @@ void RenderWidgetHostImpl::WasHidden() {
    if (is_hidden_)
      return;
  
@@ -20,7 +20,7 @@ index b4a91a68db21b516bd702c1a478351b310436bd3..c110e85b75c3e871015694686b94fde6
        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 c662e2463ce34734af7488dd65306a6180e4a34d..86eef6f279986cd5830a3ab50d19ff898961d478 100644
+index a65560df4f1a71cf9b14e876a4422ac91ab802e5..77965b5131e255a63212929d3484055904a68ecf 100644
 --- a/content/browser/renderer_host/render_widget_host_impl.h
 +++ b/content/browser/renderer_host/render_widget_host_impl.h
 @@ -176,6 +176,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl

+ 0 - 39
patches/chromium/disable_unnecessary_ischromefirstrun_check.patch

@@ -1,39 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Deepak Mohan <[email protected]>
-Date: Fri, 22 May 2020 17:40:47 -0700
-Subject: Disable unnecessary IsChromeFirstRun check
-
-Patch can be removed once https://bugs.chromium.org/p/chromium/issues/detail?id=1090030 is fixed.
-
-diff --git a/chrome/browser/spellchecker/spellcheck_service.cc b/chrome/browser/spellchecker/spellcheck_service.cc
-index 717d9c4da5ff4550b1e769bbe5347247ca596006..b7ee91bbd849da29590f00efaafc5ce0357d485d 100644
---- a/chrome/browser/spellchecker/spellcheck_service.cc
-+++ b/chrome/browser/spellchecker/spellcheck_service.cc
-@@ -18,7 +18,9 @@
- #include "base/synchronization/waitable_event.h"
- #include "base/values.h"
- #include "build/build_config.h"
-+#if 0
- #include "chrome/browser/first_run/first_run.h"
-+#endif
- #include "chrome/browser/spellchecker/spellcheck_factory.h"
- #include "chrome/browser/spellchecker/spellcheck_hunspell_dictionary.h"
- #include "components/language/core/browser/pref_names.h"
-@@ -610,7 +612,7 @@ void SpellcheckService::InitWindowsDictionaryLanguages(
-                 .empty());
-   });
- 
--  if (first_run::IsChromeFirstRun()) {
-+  //if (first_run::IsChromeFirstRun()) {
-     // Ensure that spellcheck is enabled for the first dialect of the
-     // accepted languages if there is a Windows dictionary installed for
-     // that dialect.
-@@ -650,7 +652,7 @@ void SpellcheckService::InitWindowsDictionaryLanguages(
-                                base::Value(first_user_language));
-       prefs->Set(spellcheck::prefs::kSpellCheckDictionaries, user_dictionaries);
-     }
--  }
-+  //}
- 
-   // No need to call LoadDictionaries() as when the ListPrefUpdate
-   // object goes out of scope, the preference change handler will do this.

+ 6 - 6
patches/chromium/feat_allow_embedders_to_add_observers_on_created_hunspell.patch

@@ -5,10 +5,10 @@ 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 69a1dd21df96a5e4a727d568bde91e80d6eb1ee0..717d9c4da5ff4550b1e769bbe5347247ca596006 100644
+index d3dfa5e970db93ab71d701f72079194a5499fdfd..eab3b7bafa0f3571df8ca7f7ff561a0f46de8f59 100644
 --- a/chrome/browser/spellchecker/spellcheck_service.cc
 +++ b/chrome/browser/spellchecker/spellcheck_service.cc
-@@ -426,6 +426,9 @@ void SpellcheckService::LoadDictionaries() {
+@@ -482,6 +482,9 @@ void SpellcheckService::LoadDictionaries() {
          std::make_unique<SpellcheckHunspellDictionary>(
              dictionary, platform_spellcheck_language, context_, this));
      hunspell_dictionaries_.back()->AddObserver(this);
@@ -18,7 +18,7 @@ index 69a1dd21df96a5e4a727d568bde91e80d6eb1ee0..717d9c4da5ff4550b1e769bbe5347247
      hunspell_dictionaries_.back()->Load();
    }
  
-@@ -458,6 +461,20 @@ SpellcheckService::GetHunspellDictionaries() {
+@@ -514,6 +517,20 @@ SpellcheckService::GetHunspellDictionaries() {
    return hunspell_dictionaries_;
  }
  
@@ -40,10 +40,10 @@ index 69a1dd21df96a5e4a727d568bde91e80d6eb1ee0..717d9c4da5ff4550b1e769bbe5347247
                                                 std::string locale,
                                                 std::string path,
 diff --git a/chrome/browser/spellchecker/spellcheck_service.h b/chrome/browser/spellchecker/spellcheck_service.h
-index 4c3d45d9ce6a14093126fbeb353d73124c7dff31..e3aabdc075b23ea38124de2e9b7cd80834d75b41 100644
+index bc7a644062d62f9483bc5971723239f9814a282b..05aa35ef3d960aa2f823c308ffe51086308dd9d2 100644
 --- a/chrome/browser/spellchecker/spellcheck_service.h
 +++ b/chrome/browser/spellchecker/spellcheck_service.h
-@@ -126,6 +126,8 @@ class SpellcheckService : public KeyedService,
+@@ -134,6 +134,8 @@ class SpellcheckService : public KeyedService,
    const std::vector<std::unique_ptr<SpellcheckHunspellDictionary>>&
    GetHunspellDictionaries();
  
@@ -52,7 +52,7 @@ index 4c3d45d9ce6a14093126fbeb353d73124c7dff31..e3aabdc075b23ea38124de2e9b7cd808
    // Load a dictionary from a given path. Format specifies how the dictionary
    // is stored. Return value is true if successful.
    bool LoadExternalDictionary(std::string language,
-@@ -298,6 +300,8 @@ class SpellcheckService : public KeyedService,
+@@ -306,6 +308,8 @@ class SpellcheckService : public KeyedService,
    // A pointer to the BrowserContext which this service refers to.
    content::BrowserContext* context_;
  

+ 4 - 4
patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch

@@ -107,7 +107,7 @@ index 31edc0dfc191b82b8f1bff5fcfd95c9cec5ea2b1..d59e0c156c5e02ac37d6aa233cf4cac8
      "display_embedder/software_output_surface.h",
      "display_embedder/viz_process_context_provider.cc",
 diff --git a/components/viz/service/display_embedder/output_surface_provider_impl.cc b/components/viz/service/display_embedder/output_surface_provider_impl.cc
-index 08dc8bd190b1506b9ec1c8ae39bf3ee56a1203e2..5361890756fa39b825da4698725ce221e0ca2a26 100644
+index 0b2971f1d77d00c37894230c6ae487b0f88a397e..09de8f413d8b03f0f5da3182bbf7753867776d24 100644
 --- a/components/viz/service/display_embedder/output_surface_provider_impl.cc
 +++ b/components/viz/service/display_embedder/output_surface_provider_impl.cc
 @@ -22,6 +22,7 @@
@@ -126,7 +126,7 @@ index 08dc8bd190b1506b9ec1c8ae39bf3ee56a1203e2..5361890756fa39b825da4698725ce221
  #include "ui/base/ui_base_switches.h"
  #include "ui/gl/gl_context.h"
  #include "ui/gl/init/gl_factory.h"
-@@ -224,6 +226,22 @@ OutputSurfaceProviderImpl::CreateSoftwareOutputDeviceForPlatform(
+@@ -225,6 +227,22 @@ OutputSurfaceProviderImpl::CreateSoftwareOutputDeviceForPlatform(
    if (headless_)
      return std::make_unique<SoftwareOutputDevice>();
  
@@ -455,10 +455,10 @@ index 2bb30e5318b6b48c2e6d4b1f64a6a36c68f963d1..9e805f27a9d7d1c0aa68cdf9f48895c0
    waiting_on_draw_ack_ = true;
  
 diff --git a/content/browser/compositor/viz_process_transport_factory.cc b/content/browser/compositor/viz_process_transport_factory.cc
-index 641a63e8c18e3e81acacb67a59b285dac44abbb1..72b74ec00402ff7b5b4853c08365eb2f69d62713 100644
+index 858d6f4a7428a081cb0f47a1d49b70e489d2d834..dedb7d158cef10f76a38fdb4df9a379997d7c3c3 100644
 --- a/content/browser/compositor/viz_process_transport_factory.cc
 +++ b/content/browser/compositor/viz_process_transport_factory.cc
-@@ -403,8 +403,13 @@ void VizProcessTransportFactory::OnEstablishedGpuChannel(
+@@ -407,8 +407,13 @@ void VizProcessTransportFactory::OnEstablishedGpuChannel(
    compositor_data.display_private.reset();
    root_params->display_private =
        compositor_data.display_private.BindNewEndpointAndPassReceiver();

+ 2 - 2
patches/chromium/fix_route_mouse_event_navigations_through_the_web_contents_delegate.patch

@@ -13,10 +13,10 @@ 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 ec2539f1256eaba4335505e2eaa068449dbd8aff..1328f3e90dacf7e9425175151f43f33e39ecf673 100644
+index ffc75af10134776aa3ecad331ee9c6a228101e1a..e555eddccb83b91754ba95f9a2545019e6b66e1c 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -2500,11 +2500,13 @@ bool WebContentsImpl::HandleMouseEvent(const blink::WebMouseEvent& event) {
+@@ -2486,11 +2486,13 @@ bool WebContentsImpl::HandleMouseEvent(const blink::WebMouseEvent& event) {
      WebContentsImpl* outermost = GetOutermostWebContents();
      if (event.button == blink::WebPointerProperties::Button::kBack &&
          outermost->controller_.CanGoBack()) {

+ 5 - 5
patches/chromium/frame_host_manager.patch

@@ -42,10 +42,10 @@ index 6b03c07316eaab83a50afc123fc9f17b1c1dfa3b..e821571731e4e1a93f873477c7410de7
    // 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 c21435fa113d8e4e77704464862291e8d567b974..074caeee4c500a68e6005272e39585bc4323a953 100644
+index 390809306283bee79445b812a132c71263af1942..2013298a3a8f133c24912fc11254cd78d425eece 100644
 --- a/content/browser/frame_host/navigation_request.cc
 +++ b/content/browser/frame_host/navigation_request.cc
-@@ -1455,6 +1455,21 @@ void NavigationRequest::BeginNavigation() {
+@@ -1446,6 +1446,21 @@ void NavigationRequest::BeginNavigation() {
      // it immediately.
      EnterChildTraceEvent("ResponseStarted", this);
  
@@ -67,7 +67,7 @@ index c21435fa113d8e4e77704464862291e8d567b974..074caeee4c500a68e6005272e39585bc
      // Select an appropriate RenderFrameHost.
      render_frame_host_ =
          frame_tree_node_->render_manager()->GetFrameHostForNavigation(this);
-@@ -4895,6 +4910,7 @@ void NavigationRequest::CheckStateTransition(NavigationState state) const {
+@@ -4892,6 +4907,7 @@ void NavigationRequest::CheckStateTransition(NavigationState state) const {
            {WILL_START_REQUEST, {
                WILL_REDIRECT_REQUEST,
                WILL_PROCESS_RESPONSE,
@@ -75,7 +75,7 @@ index c21435fa113d8e4e77704464862291e8d567b974..074caeee4c500a68e6005272e39585bc
                READY_TO_COMMIT,
                DID_COMMIT,
                CANCELING,
-@@ -4908,10 +4924,14 @@ void NavigationRequest::CheckStateTransition(NavigationState state) const {
+@@ -4905,10 +4921,14 @@ void NavigationRequest::CheckStateTransition(NavigationState state) const {
                WILL_FAIL_REQUEST,
            }},
            {WILL_PROCESS_RESPONSE, {
@@ -91,7 +91,7 @@ index c21435fa113d8e4e77704464862291e8d567b974..074caeee4c500a68e6005272e39585bc
                NOT_STARTED,
                DID_COMMIT,
 diff --git a/content/browser/frame_host/navigation_request.h b/content/browser/frame_host/navigation_request.h
-index 746e5a1b3fcb9b4ca954626bbf686b07a6776033..a5138a5760a11e35383ce42205645c7a54a1a28c 100644
+index ccaa4324303df603bb7bc24077f58920420e0dae..8af5643e2105c8e307b7b736b72807e5aa9085b9 100644
 --- a/content/browser/frame_host/navigation_request.h
 +++ b/content/browser/frame_host/navigation_request.h
 @@ -142,6 +142,10 @@ class CONTENT_EXPORT NavigationRequest

+ 2 - 2
patches/chromium/gpu_notify_when_dxdiag_request_fails.patch

@@ -40,10 +40,10 @@ index 8af48d23b020779c1714fc7ca70966e8d33f7252..5dfa29db15467f8fc55f86a2a225380c
    // Update the GPU feature info. This updates the blacklist and enabled status
    // of GPU rasterization. In the future this will be used for more features.
 diff --git a/content/browser/gpu/gpu_data_manager_impl_private.cc b/content/browser/gpu/gpu_data_manager_impl_private.cc
-index 169f1722764a49d31e06f39f7275ba80bd56df79..343561e72ad5c0f07c08a790707b51c6e2e1067a 100644
+index c4c5c35fc44f388b620301ec285eb759533f575e..be57761abd556fe1fa087c0062e0bbd58224cd9b 100644
 --- a/content/browser/gpu/gpu_data_manager_impl_private.cc
 +++ b/content/browser/gpu/gpu_data_manager_impl_private.cc
-@@ -1063,6 +1063,11 @@ void GpuDataManagerImplPrivate::TerminateInfoCollectionGpuProcess() {
+@@ -1055,6 +1055,11 @@ void GpuDataManagerImplPrivate::TerminateInfoCollectionGpuProcess() {
      host->ForceShutdown();
  }
  

+ 1 - 1
patches/chromium/mas_no_private_api.patch

@@ -400,7 +400,7 @@ index 28ca1646af0b0cce40d27baec71cbe65adc334fa..bae65c1f485bc02eb9ef2ebf7018af4a
  
  }  // namespace
 diff --git a/device/bluetooth/bluetooth_adapter_mac.mm b/device/bluetooth/bluetooth_adapter_mac.mm
-index 05bf0aab2ceef177ca9e2233407946efba971b8e..fdfd84d856ddbbe95d9f4e0f6e790546d5aa8e08 100644
+index 3aec8bc1fe1a619f2c4ec42ef438ae49fe0f5812..76dc23dfa26beb3b92bd87eb60fe3868ed0a703f 100644
 --- a/device/bluetooth/bluetooth_adapter_mac.mm
 +++ b/device/bluetooth/bluetooth_adapter_mac.mm
 @@ -36,6 +36,7 @@

+ 6 - 6
patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch

@@ -30,10 +30,10 @@ index 1feca3a3d2d13278a8c11038177caa661cbab22c..1ca75dc4b5228077f6658919b36004bc
    // RenderWidgetHost on the main frame, and false otherwise.
    virtual bool IsWidgetForMainFrame(RenderWidgetHostImpl*);
 diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
-index c110e85b75c3e871015694686b94fde6921e8c82..001e077e378052cae7f067aafae6684a2bc43f26 100644
+index 1bb34b1700fe89053f78bcecd35af898938620b8..bf651c33e255c9f7eb7df1f96d21232e7033c37c 100644
 --- a/content/browser/renderer_host/render_widget_host_impl.cc
 +++ b/content/browser/renderer_host/render_widget_host_impl.cc
-@@ -1634,6 +1634,8 @@ void RenderWidgetHostImpl::SetCursor(const WebCursor& cursor) {
+@@ -1690,6 +1690,8 @@ void RenderWidgetHostImpl::SetCursor(const WebCursor& cursor) {
    if (!view_)
      return;
    view_->UpdateCursor(cursor);
@@ -43,10 +43,10 @@ index c110e85b75c3e871015694686b94fde6921e8c82..001e077e378052cae7f067aafae6684a
  
  void RenderWidgetHostImpl::OnCursorVisibilityStateChanged(bool is_visible) {
 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index 56d2bb4cf5735f5e13e856c420a187e12ab7a666..7c673dbf59cc54245fa71b854c8b062f0c3a161e 100644
+index 9d7b90476a680d44fdb903a15c1ebea0e23053c7..ac667785814e3966c8a65a96f2456846fd956366 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -3594,6 +3594,11 @@ bool WebContentsImpl::OnUpdateDragCursor() {
+@@ -3580,6 +3580,11 @@ bool WebContentsImpl::OnUpdateDragCursor() {
           browser_plugin_embedder_->OnUpdateDragCursor();
  }
  
@@ -59,10 +59,10 @@ index 56d2bb4cf5735f5e13e856c420a187e12ab7a666..7c673dbf59cc54245fa71b854c8b062f
      RenderWidgetHostImpl* render_widget_host) {
    return render_widget_host == GetMainFrame()->GetRenderWidgetHost();
 diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
-index ddbf57ac6185a83e6c43fb495079fad74ee2913a..3566f0b5533543e169e1d24a95e918e20312f1ba 100644
+index bb70f5e65f3dc30846d13ff2c31eb22666ef7500..72046a84e4f307acf25752f498893391508a0b96 100644
 --- a/content/browser/web_contents/web_contents_impl.h
 +++ b/content/browser/web_contents/web_contents_impl.h
-@@ -924,6 +924,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents,
+@@ -925,6 +925,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents,
    void SendScreenRects() override;
    TextInputManager* GetTextInputManager() override;
    bool OnUpdateDragCursor() override;

+ 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 29b14b39a2fd9d31e0da38f5b634beccada7f227..f7c55be027678600341547d7159f32e3108c32ba 100644
+index 5eb707b31f976cf4e17fbe3f51062819f1cc7a07..7c18c7c05d7f43a0017001be76377390c4920f2e 100644
 --- a/chrome/BUILD.gn
 +++ b/chrome/BUILD.gn
-@@ -1398,7 +1398,7 @@ if (is_chrome_branded && !is_android) {
+@@ -1399,7 +1399,7 @@ if (is_chrome_branded && !is_android) {
    }
  }
  
@@ -64,7 +64,7 @@ index 29b14b39a2fd9d31e0da38f5b634beccada7f227..f7c55be027678600341547d7159f32e3
    chrome_paks("packed_resources") {
      if (is_mac) {
        output_dir = "$root_gen_dir/repack"
-@@ -1418,6 +1418,12 @@ if (!is_android) {
+@@ -1419,6 +1419,12 @@ if (!is_android) {
    }
  }
  

+ 3 - 3
patches/chromium/revert_remove_contentrendererclient_shouldfork.patch

@@ -9,7 +9,7 @@ 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 e21bb23491f1261788b77fb8fa33e8afa0f60d3f..310ba0f4c7407bb1bdead4d451c5a53e85e6c440 100644
+index 018bffa3424c8a7312eeec18dc1b4ed144519413..955d105f6729654878b6a905ca202fb6522d0101 100644
 --- a/chrome/renderer/chrome_content_renderer_client.cc
 +++ b/chrome/renderer/chrome_content_renderer_client.cc
 @@ -1312,6 +1312,25 @@ bool ChromeContentRendererClient::AllowPopup() {
@@ -92,10 +92,10 @@ index cc6101c82e659bbc5a8568c166d5a56fae0c8d64..8309bb7f3f284b0930c13a7e75a7f9de
    // |url|. If the function returns a valid |new_url|, the request must be
    // 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 1df3376ca5a8fefc926634c197a8bf043a4f3897..ad6c4fcca39d020fd2043c712a65b36346e06c82 100644
+index f7d78b305bccfdb69c20261010824bae6758b5c3..4ece705b8085d1da1f066e7cb988ded642e3a437 100644
 --- a/content/renderer/render_frame_impl.cc
 +++ b/content/renderer/render_frame_impl.cc
-@@ -5539,6 +5539,23 @@ void RenderFrameImpl::BeginNavigation(
+@@ -5523,6 +5523,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);

+ 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 1328f3e90dacf7e9425175151f43f33e39ecf673..56d2bb4cf5735f5e13e856c420a187e12ab7a666 100644
+index e555eddccb83b91754ba95f9a2545019e6b66e1c..9d7b90476a680d44fdb903a15c1ebea0e23053c7 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -2233,6 +2233,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
+@@ -2219,6 +2219,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
    std::string unique_name;
    frame_tree_.root()->SetFrameName(params.main_frame_name, unique_name);
  
@@ -25,7 +25,7 @@ index 1328f3e90dacf7e9425175151f43f33e39ecf673..56d2bb4cf5735f5e13e856c420a187e1
    WebContentsViewDelegate* delegate =
        GetContentClient()->browser()->GetWebContentsViewDelegate(this);
  
-@@ -2243,6 +2249,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
+@@ -2229,6 +2235,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
      view_.reset(CreateWebContentsView(this, delegate,
                                        &render_view_host_delegate_view_));
    }

+ 2 - 2
patches/chromium/worker_context_will_destroy.patch

@@ -26,10 +26,10 @@ index 5b0784c844bd9dd448c4e660d85902f930851b72..cc6101c82e659bbc5a8568c166d5a56f
    // An empty URL is returned if the URL is not overriden.
    virtual GURL OverrideFlashEmbedWithHTML(const GURL& url);
 diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc
-index 72ab6440ef56017e4aca765644c33c1fa7a48e22..f257401cfd97372d3bdc0a7bb5863627a2d88c0c 100644
+index f74d5d12e449bf1c816743fb5fda29abb780b7ff..202490a1304f5b5356b010920a9d142564f82cc4 100644
 --- a/content/renderer/renderer_blink_platform_impl.cc
 +++ b/content/renderer/renderer_blink_platform_impl.cc
-@@ -867,6 +867,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() {
+@@ -864,6 +864,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() {
    WorkerThreadRegistry::Instance()->WillStopCurrentWorkerThread();
  }
  

+ 2 - 2
patches/v8/add_realloc.patch

@@ -30,10 +30,10 @@ index ce0be64bd55112382903a2565e67ecd2a1d9c0b6..1273dc87d98a22bb9d1e824f101f3a21
       * 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 9a0a271d3c323f20da7ad70f929907c3c8906b3e..a39c4e3f10d5079406f469b76a1ea96c8b2831d8 100644
+index 4e104ab2b661e3d69df3acd689bc9b36261a80f0..8948794fbac1095f34cdeccc00ec67eedc4458eb 100644
 --- a/src/api/api.cc
 +++ b/src/api/api.cc
-@@ -533,6 +533,10 @@ void V8::SetSnapshotDataBlob(StartupData* snapshot_blob) {
+@@ -534,6 +534,10 @@ void V8::SetSnapshotDataBlob(StartupData* snapshot_blob) {
    i::V8::SetSnapshotBlob(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 71049f4e9772f91e6b650a7cc0543df4e4f1f393..b01b37b9b709c29b1d837c1d937c5c76db38ad44 100644
+index 5c775837bb131572b23f839fd87a65b00ea8d640..f1e1283d1a7c4a072616acb21de5d6f3f75afd5b 100644
 --- a/BUILD.gn
 +++ b/BUILD.gn
 @@ -368,7 +368,7 @@ config("internal_config") {
@@ -21,7 +21,7 @@ index 71049f4e9772f91e6b650a7cc0543df4e4f1f393..b01b37b9b709c29b1d837c1d937c5c76
      defines += [ "BUILDING_V8_SHARED" ]
    }
  }
-@@ -4343,7 +4343,7 @@ if (current_toolchain == v8_generator_toolchain) {
+@@ -4349,7 +4349,7 @@ if (current_toolchain == v8_generator_toolchain) {
        "src/interpreter/bytecodes.h",
      ]
  
@@ -30,7 +30,7 @@ index 71049f4e9772f91e6b650a7cc0543df4e4f1f393..b01b37b9b709c29b1d837c1d937c5c76
  
      deps = [
        ":v8_libbase",
-@@ -4376,6 +4376,8 @@ if (current_toolchain == v8_snapshot_toolchain) {
+@@ -4382,6 +4382,8 @@ if (current_toolchain == v8_snapshot_toolchain) {
  
      configs = [ ":internal_config" ]
  

+ 2 - 2
patches/v8/dcheck.patch

@@ -6,10 +6,10 @@ Subject: dcheck.patch
 https://github.com/auchenberg/volkswagen
 
 diff --git a/src/api/api.cc b/src/api/api.cc
-index a39c4e3f10d5079406f469b76a1ea96c8b2831d8..10693ab15c5e21b40144978b37f3aa994b06e02f 100644
+index 8948794fbac1095f34cdeccc00ec67eedc4458eb..13de6c814685482bf499fb15ac380c2d5e052b67 100644
 --- a/src/api/api.cc
 +++ b/src/api/api.cc
-@@ -8656,7 +8656,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) {
+@@ -8683,7 +8683,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) {
  }
  
  void Isolate::PerformMicrotaskCheckpoint() {

+ 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 831002b8b783dd945198d2a43217452d71a0d6e5..1bf65866d5ad3357c7c196d849a5621aed389758 100644
+index 18ea3b3d7f81e69137ac71b5273885fb0a75ad2b..44b36b3ac0a0cca6444499acc5b6fb46ea565e67 100644
 --- a/BUILD.gn
 +++ b/BUILD.gn
 @@ -368,6 +368,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 b01b37b9b709c29b1d837c1d937c5c76db38ad44..831002b8b783dd945198d2a43217452d71a0d6e5 100644
+index f1e1283d1a7c4a072616acb21de5d6f3f75afd5b..18ea3b3d7f81e69137ac71b5273885fb0a75ad2b 100644
 --- a/BUILD.gn
 +++ b/BUILD.gn
-@@ -4354,7 +4354,6 @@ if (current_toolchain == v8_generator_toolchain) {
+@@ -4360,7 +4360,6 @@ if (current_toolchain == v8_generator_toolchain) {
  
  if (current_toolchain == v8_snapshot_toolchain) {
    v8_executable("mksnapshot") {

+ 2 - 1
shell/browser/native_window_views.cc

@@ -55,9 +55,10 @@
 #include "shell/browser/ui/x/window_state_watcher.h"
 #include "shell/browser/ui/x/x_window_utils.h"
 #include "ui/base/x/x11_util.h"
+#include "ui/gfx/x/shape.h"
 #include "ui/gfx/x/x11_atom_cache.h"
 #include "ui/gfx/x/x11_types.h"
-#include "ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h"
+#include "ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h"
 #include "ui/views/window/native_frame_view.h"
 #elif defined(OS_WIN)
 #include "shell/browser/ui/views/win_frame_view.h"