Browse Source

chore: bump chromium to cbeb16cf544f79c1990f1eae4d4fe (master) (#19610)

Co-authored-by: Erick Zhao <[email protected]>
Co-authored-by: Shelley Vohr <[email protected]>
Co-authored-by Micha Hanselmann <[email protected]>
Electron Bot 5 years ago
parent
commit
db21391156
71 changed files with 348 additions and 355 deletions
  1. 2 5
      BUILD.gn
  2. 1 1
      DEPS
  3. 2 0
      chromium_src/BUILD.gn
  4. 1 1
      patches/chromium/.patches
  5. 2 2
      patches/chromium/add_contentgpuclient_precreatemessageloop_callback.patch
  6. 2 2
      patches/chromium/add_realloc.patch
  7. 1 1
      patches/chromium/blink-worker-enable-csp-in-file-scheme.patch
  8. 3 3
      patches/chromium/blink_local_frame.patch
  9. 5 5
      patches/chromium/blink_world_context.patch
  10. 1 1
      patches/chromium/browser_compositor_mac.patch
  11. 1 1
      patches/chromium/build_add_electron_tracing_category.patch
  12. 1 1
      patches/chromium/build_gn.patch
  13. 1 1
      patches/chromium/build_win_disable_zc_twophase.patch
  14. 15 15
      patches/chromium/can_create_window.patch
  15. 2 2
      patches/chromium/content_browser_main_loop.patch
  16. 1 1
      patches/chromium/dcheck.patch
  17. 1 1
      patches/chromium/desktop_media_list.patch
  18. 4 4
      patches/chromium/disable-redraw-lock.patch
  19. 19 19
      patches/chromium/disable_color_correct_rendering.patch
  20. 4 4
      patches/chromium/disable_hidden.patch
  21. 2 2
      patches/chromium/disable_user_gesture_requirement_for_beforeunload_dialogs.patch
  22. 2 2
      patches/chromium/exclude-a-few-test-files-from-build.patch
  23. 2 2
      patches/chromium/feat_offscreen_rendering_with_viz_compositor.patch
  24. 1 1
      patches/chromium/fix_disable_usage_of_setapplicationisdaemon_and.patch
  25. 0 76
      patches/chromium/fix_use_weakptr_to_detect_deletion.patch
  26. 35 0
      patches/chromium/fix_vc_incompatible_inline_calls.patch
  27. 11 11
      patches/chromium/frame_host_manager.patch
  28. 1 1
      patches/chromium/gritsettings_resource_ids.patch
  29. 2 2
      patches/chromium/ignore_rc_check.patch
  30. 6 6
      patches/chromium/libgtkui_export.patch
  31. 24 20
      patches/chromium/mas_no_private_api.patch
  32. 9 9
      patches/chromium/network_service_allow_remote_certificate_verification_logic.patch
  33. 5 5
      patches/chromium/notification_provenance.patch
  34. 1 1
      patches/chromium/out_of_process_instance.patch
  35. 9 9
      patches/chromium/pepper_flash.patch
  36. 32 32
      patches/chromium/printing.patch
  37. 12 12
      patches/chromium/put_back_deleted_colors_for_autofill.patch
  38. 3 3
      patches/chromium/resource_file_conflict.patch
  39. 2 2
      patches/chromium/scroll_bounce_flag.patch
  40. 35 6
      patches/chromium/ssl_security_state_tab_helper.patch
  41. 2 2
      patches/chromium/support_mixed_sandbox_with_zygote.patch
  42. 4 4
      patches/chromium/sysroot.patch
  43. 1 1
      patches/chromium/tts.patch
  44. 2 2
      patches/chromium/unsandboxed_ppapi_processes_skip_zygote.patch
  45. 4 4
      patches/chromium/web_contents.patch
  46. 2 2
      patches/chromium/webview_cross_drag.patch
  47. 10 10
      patches/chromium/worker_context_will_destroy.patch
  48. 1 0
      script/node-disabled-tests.json
  49. 0 4
      shell/app/atom_content_client.cc
  50. 0 1
      shell/app/atom_content_client.h
  51. 0 7
      shell/app/manifests.cc
  52. 0 1
      shell/browser/api/atom_api_app.cc
  53. 0 1
      shell/browser/api/atom_api_app.h
  54. 1 1
      shell/browser/api/atom_api_system_preferences.cc
  55. 1 1
      shell/browser/api/atom_api_system_preferences_mac.mm
  56. 5 7
      shell/browser/atom_browser_client.cc
  57. 1 4
      shell/browser/atom_browser_client.h
  58. 0 5
      shell/browser/browser_process_impl.cc
  59. 0 1
      shell/browser/browser_process_impl.h
  60. 9 4
      shell/browser/login_handler.cc
  61. 2 3
      shell/browser/login_handler.h
  62. 1 1
      shell/browser/native_window_mac.mm
  63. 1 1
      shell/browser/native_window_views.cc
  64. 5 2
      shell/browser/osr/osr_render_widget_host_view.cc
  65. 2 1
      shell/browser/ui/views/autofill_popup_view.cc
  66. 3 1
      shell/browser/ui/views/inspectable_web_contents_view_views.cc
  67. 5 4
      shell/browser/ui/win/atom_desktop_native_widget_aura.cc
  68. 1 1
      shell/browser/ui/win/atom_desktop_native_widget_aura.h
  69. 3 1
      shell/browser/ui/win/notify_icon.cc
  70. 18 6
      shell/utility/atom_content_utility_client.cc
  71. 1 0
      shell/utility/atom_content_utility_client.h

+ 2 - 5
BUILD.gn

@@ -304,10 +304,6 @@ source_set("manifests") {
   if (enable_basic_printing) {
     deps += [ "//components/services/pdf_compositor/public/cpp:manifest" ]
   }
-
-  if (enable_print_preview) {
-    deps += [ "//chrome/services/printing/public/cpp:manifest" ]
-  }
 }
 
 npm_action("electron_version_args") {
@@ -354,6 +350,7 @@ source_set("electron_lib") {
     "//base:base_static",
     "//base/allocator:buildflags",
     "//chrome/app/resources:platform_locale_settings",
+    "//chrome/services/printing/public/mojom",
     "//components/certificate_transparency",
     "//components/net_log",
     "//components/network_session_configurator/common",
@@ -371,7 +368,7 @@ source_set("electron_lib") {
     "//device/bluetooth/public/cpp",
     "//gin",
     "//media/capture/mojom:video_capture",
-    "//media/mojo/interfaces",
+    "//media/mojo/mojom",
     "//net:extras",
     "//net:net_resources",
     "//net:net_with_v8",

+ 1 - 1
DEPS

@@ -10,7 +10,7 @@ gclient_gn_args = [
 
 vars = {
   'chromium_version':
-    '0b543daaf04d9b3f4e4f485738a304e742b2ee7d',
+    '956a430350ccbeb16cf544f79c1990f1eae4d4fe',
   'node_version':
     'v12.8.0',
   'nan_version':

+ 2 - 0
chromium_src/BUILD.gn

@@ -37,6 +37,8 @@ static_library("chrome") {
     "//chrome/browser/net/proxy_config_monitor.h",
     "//chrome/browser/net/proxy_service_factory.cc",
     "//chrome/browser/net/proxy_service_factory.h",
+    "//chrome/browser/printing/printing_service.cc",
+    "//chrome/browser/printing/printing_service.h",
     "//chrome/browser/ssl/security_state_tab_helper.cc",
     "//chrome/browser/ssl/security_state_tab_helper.h",
     "//chrome/browser/ui/autofill/popup_view_common.cc",

+ 1 - 1
patches/chromium/.patches

@@ -73,4 +73,4 @@ put_back_deleted_colors_for_autofill.patch
 build_win_disable_zc_twophase.patch
 disable_color_correct_rendering.patch
 add_contentgpuclient_precreatemessageloop_callback.patch
-fix_use_weakptr_to_detect_deletion.patch
+fix_vc_incompatible_inline_calls.patch

+ 2 - 2
patches/chromium/add_contentgpuclient_precreatemessageloop_callback.patch

@@ -32,10 +32,10 @@ index 46d92835eadd6429ea0c6a53c5a39ff04f1c2634..1b99a1e601f4226280cdf1382af555b4
      client->PostIOThreadCreated(gpu_process.io_task_runner());
  
 diff --git a/content/public/gpu/content_gpu_client.h b/content/public/gpu/content_gpu_client.h
-index 20e31e1bd96395cb4350aa6ae84cc16c4ca2116b..d89af81ef9426c197a62027b514011afd10ea3ce 100644
+index 830d5e89af7bd3ddb409ac7bf9d8eb3109830d41..7d544536ec846c294deb6626f51d5de7846fc5c2 100644
 --- a/content/public/gpu/content_gpu_client.h
 +++ b/content/public/gpu/content_gpu_client.h
-@@ -35,6 +35,10 @@ class CONTENT_EXPORT ContentGpuClient {
+@@ -39,6 +39,10 @@ class CONTENT_EXPORT ContentGpuClient {
   public:
    virtual ~ContentGpuClient() {}
  

+ 2 - 2
patches/chromium/add_realloc.patch

@@ -54,7 +54,7 @@ index e44b0d054d61914b43f4a3c36fa2578f452e1797..8b46714d15db976968ad084e7941ab50
      WTF::ArrayBufferContents::FreeMemory(data);
    }
 diff --git a/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_contents.cc b/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_contents.cc
-index 0031242152ce5190b0dfc77b53af2d984e5fad82..a6370ec793ce6c38eb7dab189583ea11cca51c1f 100644
+index ac76d127b96b80c8260a7e2cda0b669cd98787ad..dcab64586700a8740262aede8dba2755f652d8e8 100644
 --- a/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_contents.cc
 +++ b/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_contents.cc
 @@ -130,6 +130,11 @@ void* ArrayBufferContents::AllocateMemoryOrNull(size_t size,
@@ -70,7 +70,7 @@ index 0031242152ce5190b0dfc77b53af2d984e5fad82..a6370ec793ce6c38eb7dab189583ea11
    Partitions::ArrayBufferPartition()->Free(data);
  }
 diff --git a/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_contents.h b/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_contents.h
-index 601046eca671613693d3fc083cf48a0d530c8fd3..a94b7ea29bbd6d5e6cc6fb3a850be7e1ef00c5ad 100644
+index 929468d9d4885953576b777785609e9b54d5ebd0..ee35b4782b9797278209280c2a031e5f3d5ce6c6 100644
 --- a/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_contents.h
 +++ b/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_contents.h
 @@ -135,6 +135,7 @@ class WTF_EXPORT ArrayBufferContents {

+ 1 - 1
patches/chromium/blink-worker-enable-csp-in-file-scheme.patch

@@ -5,7 +5,7 @@ Subject: blink-worker-enable-csp-in-file-scheme.patch
 
 
 diff --git a/third_party/blink/renderer/core/workers/worker_classic_script_loader.cc b/third_party/blink/renderer/core/workers/worker_classic_script_loader.cc
-index 873bf34f0f6fff5ee955f84a5019ddf9c6aefc9c..8fca091c4a430f7109aa59400e1ffbea533938d9 100644
+index b1b9f451951bb7b11eefe6453a71a6b44be838a5..0f62ba09ef99538a5b0b306f601d10c44a7a7abf 100644
 --- a/third_party/blink/renderer/core/workers/worker_classic_script_loader.cc
 +++ b/third_party/blink/renderer/core/workers/worker_classic_script_loader.cc
 @@ -308,7 +308,6 @@ void WorkerClassicScriptLoader::ProcessContentSecurityPolicy(

+ 3 - 3
patches/chromium/blink_local_frame.patch

@@ -14,10 +14,10 @@ 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 e207fc64130db0a912bd25466d14f73e79ba09ce..a03ba7fa815ba4e79641e96e9cd820cc58725e61 100644
+index f4e7059fa98be4470cf20c26fd7260a442b25585..8eefe09f6ebbc02e3bca3d111c3b47d509a7a2a4 100644
 --- a/third_party/blink/renderer/core/frame/local_frame.cc
 +++ b/third_party/blink/renderer/core/frame/local_frame.cc
-@@ -332,10 +332,6 @@ void LocalFrame::DetachImpl(FrameDetachType type) {
+@@ -334,10 +334,6 @@ void LocalFrame::DetachImpl(FrameDetachType type) {
    }
    CHECK(!view_ || !view_->IsAttached());
  
@@ -28,7 +28,7 @@ index e207fc64130db0a912bd25466d14f73e79ba09ce..a03ba7fa815ba4e79641e96e9cd820cc
    if (!Client())
      return;
  
-@@ -353,6 +349,10 @@ void LocalFrame::DetachImpl(FrameDetachType type) {
+@@ -355,6 +351,10 @@ void LocalFrame::DetachImpl(FrameDetachType type) {
    // Notify ScriptController that the frame is closing, since its cleanup ends
    // up calling back to LocalFrameClient via WindowProxy.
    GetScriptController().ClearForClose();

+ 5 - 5
patches/chromium/blink_world_context.patch

@@ -5,10 +5,10 @@ Subject: blink_world_context.patch
 
 
 diff --git a/third_party/blink/public/web/web_local_frame.h b/third_party/blink/public/web/web_local_frame.h
-index f62985f20f9e89ec663141d09ccae7113f11124e..911e5601a3800e94720dcdc8c91cfeb0d7d72443 100644
+index a781a44399a31f048419311d2317229c912752c2..131c0dcb125b00215e3ad469c11c4b47d7cb126b 100644
 --- a/third_party/blink/public/web/web_local_frame.h
 +++ b/third_party/blink/public/web/web_local_frame.h
-@@ -357,6 +357,9 @@ class WebLocalFrame : public WebFrame {
+@@ -356,6 +356,9 @@ class WebLocalFrame : public WebFrame {
    // be calling this API.
    virtual v8::Local<v8::Context> MainWorldScriptContext() const = 0;
  
@@ -19,7 +19,7 @@ index f62985f20f9e89ec663141d09ccae7113f11124e..911e5601a3800e94720dcdc8c91cfeb0
    // 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 48d73a37562595ca7f97d839c25df9c58f8efe32..b724c55007baa3c8e791bc7a4816d20861d26e65 100644
+index 050494ce5d2389b81fab27506f8ff2204126eb6b..93632d57953a69be01ae5b6b9777d8a6b417b3f3 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
 @@ -866,6 +866,13 @@ v8::Local<v8::Object> WebLocalFrameImpl::GlobalProxy() const {
@@ -37,10 +37,10 @@ index 48d73a37562595ca7f97d839c25df9c58f8efe32..b724c55007baa3c8e791bc7a4816d208
    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 bad60721541dc8b8f2552f3ba3ef720949eb2baa..b37439a62fd56baa56ca69394000976a3fbb8674 100644
+index 9fbb94efc829928a1b1e284d529dd5562619dc20..0a0904ab66d55753252ccf484c03c07c8dac002b 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
-@@ -149,6 +149,8 @@ class CORE_EXPORT WebLocalFrameImpl final
+@@ -150,6 +150,8 @@ class CORE_EXPORT WebLocalFrameImpl final
        int argc,
        v8::Local<v8::Value> argv[]) override;
    v8::Local<v8::Context> MainWorldScriptContext() const override;

+ 1 - 1
patches/chromium/browser_compositor_mac.patch

@@ -26,7 +26,7 @@ index de89d291e5cbc0981cf06170ed35502a1239136d..656f6c38d55d9f9af569bc772254ca13
        viz::mojom::CompositorFrameSinkClient* renderer_compositor_frame_sink);
    void OnDidNotProduceFrame(const viz::BeginFrameAck& ack);
 diff --git a/content/browser/renderer_host/browser_compositor_view_mac.mm b/content/browser/renderer_host/browser_compositor_view_mac.mm
-index 4b3f3c7e97e73ad6d0166ad114f4168d9ed00e11..59e58d693c971742951434f6582140d9179235f2 100644
+index 8ddd790decc43af9820c97121a3b359e7cbb49ee..18019d5794f688ca07b35a665cc9800bb1d3047a 100644
 --- a/content/browser/renderer_host/browser_compositor_view_mac.mm
 +++ b/content/browser/renderer_host/browser_compositor_view_mac.mm
 @@ -80,6 +80,12 @@

+ 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.
 
 diff --git a/base/trace_event/builtin_categories.h b/base/trace_event/builtin_categories.h
-index 7c0723ffd4934300fed249e2d3c98532e9382885..b0e5e3f30c2235e4bbe0bd3dc324e99d7f505e79 100644
+index b50d4123e44ddee34af0b07bfe5d067c4ccc5809..3e2c639a067fb76848783f35ec112a380da2353e 100644
 --- a/base/trace_event/builtin_categories.h
 +++ b/base/trace_event/builtin_categories.h
 @@ -61,6 +61,7 @@

+ 1 - 1
patches/chromium/build_gn.patch

@@ -5,7 +5,7 @@ Subject: build_gn.patch
 
 
 diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn
-index f9d5a2e5c06f6e2a1d50754a5771b8abaa3a146f..90d1b98b18585d3e628d0bf8adcaa69403e24888 100644
+index 59ab7810e71916e8f0f2d69f06e3c2c3ebc99030..b144e800c94956429ca85fc0aefe6539a6246e4b 100644
 --- a/build/config/BUILDCONFIG.gn
 +++ b/build/config/BUILDCONFIG.gn
 @@ -123,6 +123,9 @@ if (current_os == "") {

+ 1 - 1
patches/chromium/build_win_disable_zc_twophase.patch

@@ -8,7 +8,7 @@ This is to workaround the bug in crbug.com/969698#c10
 until fixes have landed in upstream.
 
 diff --git a/build/config/win/BUILD.gn b/build/config/win/BUILD.gn
-index 781aeaaf46b6de0f98f26df4ddcbd13cac527d62..254ede050920993d6b283ffb67f13d2eea633113 100644
+index 8406c060c4e61282433ad40a52744fd7ea80366b..0bb1b871be97fe8275e17669ed0bcd77d9645f9b 100644
 --- a/build/config/win/BUILD.gn
 +++ b/build/config/win/BUILD.gn
 @@ -2,6 +2,7 @@

+ 15 - 15
patches/chromium/can_create_window.patch

@@ -5,10 +5,10 @@ Subject: can_create_window.patch
 
 
 diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc
-index 111039f17535c7a6fec84a5d157e174044a30028..fe573789d280f0545d4ac5725789f3054a9fd492 100644
+index 269bffc6ebfcf926718aed78f0c1d65e0c21b8b4..98069a4d2e2ab2cf1d880392ece8578c5317a6ef 100644
 --- a/content/browser/frame_host/render_frame_host_impl.cc
 +++ b/content/browser/frame_host/render_frame_host_impl.cc
-@@ -3805,6 +3805,7 @@ void RenderFrameHostImpl::CreateNewWindow(
+@@ -3871,6 +3871,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,
@@ -17,10 +17,10 @@ index 111039f17535c7a6fec84a5d157e174044a30028..fe573789d280f0545d4ac5725789f305
            &no_javascript_access);
  
 diff --git a/content/common/frame.mojom b/content/common/frame.mojom
-index c9cb924bef70b9d186b5f622033f7f9206f890dd..0f7da5d076a3e89f4ea45e1e1d57ff2d8c681c41 100644
+index 380029a373ce17816824c18803ed68380276eaa1..3a846621febecab61a26b31753fdd1d63958ec47 100644
 --- a/content/common/frame.mojom
 +++ b/content/common/frame.mojom
-@@ -307,6 +307,10 @@ struct CreateNewWindowParams {
+@@ -303,6 +303,10 @@ struct CreateNewWindowParams {
  
    // The window features to use for the new window.
    blink.mojom.WindowFeatures features;
@@ -32,10 +32,10 @@ index c9cb924bef70b9d186b5f622033f7f9206f890dd..0f7da5d076a3e89f4ea45e1e1d57ff2d
  
  // 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 4aef09d612532f7c71656c24bca13e9b5887be8e..746f5893f95b940ac68610d9655aa46a3b85430a 100644
+index d9f7d1d1aed10c7cd8e7c2938d1fb824b2dce96d..4d4710e8c5382ac9391bb693dc1fd42258efd181 100644
 --- a/content/public/browser/content_browser_client.cc
 +++ b/content/public/browser/content_browser_client.cc
-@@ -493,6 +493,8 @@ bool ContentBrowserClient::CanCreateWindow(
+@@ -475,6 +475,8 @@ bool ContentBrowserClient::CanCreateWindow(
      const std::string& frame_name,
      WindowOpenDisposition disposition,
      const blink::mojom::WindowFeatures& features,
@@ -45,10 +45,10 @@ index 4aef09d612532f7c71656c24bca13e9b5887be8e..746f5893f95b940ac68610d9655aa46a
      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 da6420d62ef701c141d62d58c20a821b265cbe1d..3946cdec768f9f26a6710967f664b411012ef260 100644
+index 02a0dbcbc2df521079519ecd5464ecd251fdcaec..897c2c1435a8c1a495aa84c928c360d74218bfa7 100644
 --- a/content/public/browser/content_browser_client.h
 +++ b/content/public/browser/content_browser_client.h
-@@ -176,6 +176,7 @@ class RenderFrameHost;
+@@ -177,6 +177,7 @@ class RenderFrameHost;
  class RenderProcessHost;
  class RenderViewHost;
  class ResourceContext;
@@ -56,7 +56,7 @@ index da6420d62ef701c141d62d58c20a821b265cbe1d..3946cdec768f9f26a6710967f664b411
  class SerialDelegate;
  class SiteInstance;
  class SpeechRecognitionManagerDelegate;
-@@ -778,6 +779,8 @@ class CONTENT_EXPORT ContentBrowserClient {
+@@ -759,6 +760,8 @@ class CONTENT_EXPORT ContentBrowserClient {
        const std::string& frame_name,
        WindowOpenDisposition disposition,
        const blink::mojom::WindowFeatures& features,
@@ -66,7 +66,7 @@ index da6420d62ef701c141d62d58c20a821b265cbe1d..3946cdec768f9f26a6710967f664b411
        bool opener_suppressed,
        bool* no_javascript_access);
 diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
-index 0335070be844765bc685eed2899fba19093f6e49..227436a1954818ded4dd4b38047ed07ffc0b939d 100644
+index 31790be7369a450dec9c2c9a53d0b1a80ee4c41e..e7f22166a777b05f28a78e51934bfc1eb5ea99c8 100644
 --- a/content/renderer/render_view_impl.cc
 +++ b/content/renderer/render_view_impl.cc
 @@ -75,6 +75,7 @@
@@ -77,7 +77,7 @@ index 0335070be844765bc685eed2899fba19093f6e49..227436a1954818ded4dd4b38047ed07f
  #include "content/renderer/media/audio/audio_device_factory.h"
  #include "content/renderer/media/webrtc/peer_connection_dependency_factory.h"
  #include "content/renderer/media/webrtc/rtc_peer_connection_handler.h"
-@@ -1368,6 +1369,8 @@ WebView* RenderViewImpl::CreateView(
+@@ -1358,6 +1359,8 @@ WebView* RenderViewImpl::CreateView(
    }
    params->features = ConvertWebWindowFeaturesToMojoWindowFeatures(features);
  
@@ -87,10 +87,10 @@ index 0335070be844765bc685eed2899fba19093f6e49..227436a1954818ded4dd4b38047ed07f
    // moved on send.
    bool is_background_tab =
 diff --git a/content/shell/browser/web_test/web_test_content_browser_client.cc b/content/shell/browser/web_test/web_test_content_browser_client.cc
-index 14c8b66a426372c371c3aa4eb376dc2ed898b072..ab4d79b2b4bcdd42dbc9c44634155adf3334f2cf 100644
+index 4c639ff453f778bee39726231c920fa6e0b65134..3367f6982e047dcc3654ed20e21b74dbb90dc9cc 100644
 --- a/content/shell/browser/web_test/web_test_content_browser_client.cc
 +++ b/content/shell/browser/web_test/web_test_content_browser_client.cc
-@@ -307,6 +307,8 @@ bool WebTestContentBrowserClient::CanCreateWindow(
+@@ -305,6 +305,8 @@ bool WebTestContentBrowserClient::CanCreateWindow(
      const std::string& frame_name,
      WindowOpenDisposition disposition,
      const blink::mojom::WindowFeatures& features,
@@ -100,10 +100,10 @@ index 14c8b66a426372c371c3aa4eb376dc2ed898b072..ab4d79b2b4bcdd42dbc9c44634155adf
      bool opener_suppressed,
      bool* no_javascript_access) {
 diff --git a/content/shell/browser/web_test/web_test_content_browser_client.h b/content/shell/browser/web_test/web_test_content_browser_client.h
-index 4f00217da5a4f6f3d7410b82352fcb94e7f4a8fd..33e30d6a816e87dade0a26710a8f71fc6f630f34 100644
+index 8fe2e1d0b24f42ba7b2c7e40db78a3ed1d6f8341..7e6459e68ad3611b128d7f7f7604b77a66c40435 100644
 --- a/content/shell/browser/web_test/web_test_content_browser_client.h
 +++ b/content/shell/browser/web_test/web_test_content_browser_client.h
-@@ -69,6 +69,8 @@ class WebTestContentBrowserClient : public ShellContentBrowserClient {
+@@ -67,6 +67,8 @@ class WebTestContentBrowserClient : public ShellContentBrowserClient {
                         const std::string& frame_name,
                         WindowOpenDisposition disposition,
                         const blink::mojom::WindowFeatures& features,

+ 2 - 2
patches/chromium/content_browser_main_loop.patch

@@ -8,10 +8,10 @@ run before shutdown. This is required to cleanup WebContents asynchronously
 in atom::CommonWebContentsDelegate::ResetManageWebContents.
 
 diff --git a/content/browser/browser_main_loop.cc b/content/browser/browser_main_loop.cc
-index 4858db38ad34b30601effa34aebe8bf4300f7271..c65550e35bf600aba4c9c091f8aef2b30bb736bd 100644
+index 5acff0fbb0babb3fd46d6ec716910f3c97bc73dc..561a5dcb6bbca381875f4765b52fc0df2d5f6d4b 100644
 --- a/content/browser/browser_main_loop.cc
 +++ b/content/browser/browser_main_loop.cc
-@@ -1478,7 +1478,7 @@ void BrowserMainLoop::MainMessageLoopRun() {
+@@ -1492,7 +1492,7 @@ void BrowserMainLoop::MainMessageLoopRun() {
    NOTREACHED();
  #else
    base::RunLoop run_loop;

+ 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 2b7c0c1a7b1c17cfd507ce65794a56a5849765e6..cc59e2b49ab0ecc9e917ff61cca99b6ec7c6f041 100644
+index 4bc8bd4c68015dd684702a6afbce74b36160e5a1..55dc200a73ef09b17c0e52d622f86956ba6a7bb7 100644
 --- a/content/browser/frame_host/navigation_controller_impl.cc
 +++ b/content/browser/frame_host/navigation_controller_impl.cc
 @@ -1210,8 +1210,10 @@ NavigationType NavigationControllerImpl::ClassifyNavigation(

+ 1 - 1
patches/chromium/desktop_media_list.patch

@@ -133,7 +133,7 @@ index 47401abc984e6fe26c7f4c5399aa565c687060b0..ca6a527ffac877c27aac94337ec5a7b5
   protected:
    virtual ~DesktopMediaListObserver() {}
 diff --git a/chrome/browser/media/webrtc/native_desktop_media_list.cc b/chrome/browser/media/webrtc/native_desktop_media_list.cc
-index d284c0e67cbf302671514b23a64ecafedf2c9e02..b61fa02a75b4e65ab324b43f74bffcf4b9349fad 100644
+index dca0ffdfb9fda6ecf45b428cb253e10f8799a6c3..8d09e13073c580ca89e76976a8acc65f4b421868 100644
 --- a/chrome/browser/media/webrtc/native_desktop_media_list.cc
 +++ b/chrome/browser/media/webrtc/native_desktop_media_list.cc
 @@ -8,14 +8,15 @@

+ 4 - 4
patches/chromium/disable-redraw-lock.patch

@@ -15,7 +15,7 @@ the redraw locking mechanism, which fixes these issues. The electron issue
 can be found at https://github.com/electron/electron/issues/1821
 
 diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
-index f6209967f11a0aa8b9c8cca5814462d83365c2d0..e0d736f9bceee25a09533782d10f3bc1325d68b9 100644
+index c578a96ba41f1a75d8a1ab80321b48fa72ad84ab..7f9405b7f484ef05d222581d222d104f20aa1de1 100644
 --- a/ui/views/win/hwnd_message_handler.cc
 +++ b/ui/views/win/hwnd_message_handler.cc
 @@ -331,6 +331,10 @@ constexpr int kSynthesizedMouseMessagesTimeDifference = 500;
@@ -37,7 +37,7 @@ index f6209967f11a0aa8b9c8cca5814462d83365c2d0..e0d736f9bceee25a09533782d10f3bc1
                       (!(GetWindowLong(hwnd_, GWL_STYLE) & WS_CAPTION) ||
                        !ui::win::IsAeroGlassEnabled())) {
      if (should_lock_)
-@@ -989,6 +994,10 @@ bool HWNDMessageHandler::HasChildRenderingWindow() {
+@@ -993,6 +998,10 @@ bool HWNDMessageHandler::HasChildRenderingWindow() {
        hwnd());
  }
  
@@ -49,10 +49,10 @@ index f6209967f11a0aa8b9c8cca5814462d83365c2d0..e0d736f9bceee25a09533782d10f3bc1
  // HWNDMessageHandler, gfx::WindowImpl overrides:
  
 diff --git a/ui/views/win/hwnd_message_handler.h b/ui/views/win/hwnd_message_handler.h
-index 6c4c93ed7f1ef41be152dad007c639bb84e8ae2c..f5af5cc6e8ec19562c2415c8e26d1148b93b49c7 100644
+index 3bccc5ccdcfecd4a407fab48d70b8fccd0072f60..d726e974e83eee02489fc0669ef31f00ee75a572 100644
 --- a/ui/views/win/hwnd_message_handler.h
 +++ b/ui/views/win/hwnd_message_handler.h
-@@ -193,6 +193,8 @@ class VIEWS_EXPORT HWNDMessageHandler : public gfx::WindowImpl,
+@@ -194,6 +194,8 @@ class VIEWS_EXPORT HWNDMessageHandler : public gfx::WindowImpl,
    using TouchIDs = std::set<DWORD>;
    enum class DwmFrameState { OFF, ON };
  

+ 19 - 19
patches/chromium/disable_color_correct_rendering.patch

@@ -32,7 +32,7 @@ index d62c52b53268b4ffab702a0dac3652edc472ccb9..f1ed520f123802469d94c98c418b9f5c
    // 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 116a777d691deb61d58037aabfdc7a35e58cc17b..5a452b0dcf31be2a9d165b6d3b36ae87dee88a42 100644
+index 389f2ed29bd85c35b38df92346a8d6c76ce22fd6..02cf492fa4068d10c4b8b2addee8102b35aac3e0 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 {
@@ -44,7 +44,7 @@ index 116a777d691deb61d58037aabfdc7a35e58cc17b..5a452b0dcf31be2a9d165b6d3b36ae87
    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 642eaa528b061860b1dabf13fac63808284b5274..73a719b193e3e9bfec8113c005020822f81e0048 100644
+index f17aa1fa451f1b99d7f083e07edd49b11f7639e4..09f7c5d6a92d89c199b296771a8ff60c89a07083 100644
 --- a/components/viz/host/renderer_settings_creation.cc
 +++ b/components/viz/host/renderer_settings_creation.cc
 @@ -13,6 +13,7 @@
@@ -65,7 +65,7 @@ index 642eaa528b061860b1dabf13fac63808284b5274..73a719b193e3e9bfec8113c005020822
        !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 e2c5be9ed5bad3649770c1f0049e01de6494b4eb..303c41757bcc80d3fb21feae6a5a71a4366de0c7 100644
+index bc58f3ea501540cbbba465cd8b751b99df45ab3a..e0ee85b9319938c285eb7f19f1b010b408019081 100644
 --- a/components/viz/service/display/gl_renderer.cc
 +++ b/components/viz/service/display/gl_renderer.cc
 @@ -81,6 +81,9 @@
@@ -90,7 +90,7 @@ index e2c5be9ed5bad3649770c1f0049e01de6494b4eb..303c41757bcc80d3fb21feae6a5a71a4
  
    // Use the full quad_rect for debug quads to not move the edges based on
    // partial swaps.
-@@ -1406,7 +1410,8 @@ void GLRenderer::ChooseRPDQProgram(DrawRenderPassDrawQuadParams* params,
+@@ -1448,7 +1452,8 @@ void GLRenderer::ChooseRPDQProgram(DrawRenderPassDrawQuadParams* params,
            params->use_color_matrix, tint_gl_composited_content_,
            params->apply_shader_based_rounded_corner &&
                ShouldApplyRoundedCorner(params->quad)),
@@ -100,7 +100,7 @@ index e2c5be9ed5bad3649770c1f0049e01de6494b4eb..303c41757bcc80d3fb21feae6a5a71a4
  }
  
  void GLRenderer::UpdateRPDQUniforms(DrawRenderPassDrawQuadParams* params) {
-@@ -1877,8 +1882,8 @@ void GLRenderer::DrawSolidColorQuad(const SolidColorDrawQuad* quad,
+@@ -1919,8 +1924,8 @@ void GLRenderer::DrawSolidColorQuad(const SolidColorDrawQuad* quad,
    SetUseProgram(ProgramKey::SolidColor(use_aa ? USE_AA : NO_AA,
                                         tint_gl_composited_content_,
                                         ShouldApplyRoundedCorner(quad)),
@@ -111,7 +111,7 @@ index e2c5be9ed5bad3649770c1f0049e01de6494b4eb..303c41757bcc80d3fb21feae6a5a71a4
    SetShaderColor(color, opacity);
    if (current_program_->rounded_corner_rect_location() != -1) {
      SetShaderRoundedCorner(
-@@ -2033,8 +2038,8 @@ void GLRenderer::DrawContentQuadAA(const ContentDrawQuadBase* quad,
+@@ -2075,8 +2080,8 @@ void GLRenderer::DrawContentQuadAA(const ContentDrawQuadBase* quad,
                                                : NON_PREMULTIPLIED_ALPHA,
                         false, false, tint_gl_composited_content_,
                         ShouldApplyRoundedCorner(quad)),
@@ -122,7 +122,7 @@ index e2c5be9ed5bad3649770c1f0049e01de6494b4eb..303c41757bcc80d3fb21feae6a5a71a4
  
    if (current_program_->tint_color_matrix_location() != -1) {
      auto matrix = cc::DebugColors::TintCompositedContentColorTransformMatrix();
-@@ -2130,8 +2135,8 @@ void GLRenderer::DrawContentQuadNoAA(const ContentDrawQuadBase* quad,
+@@ -2172,8 +2177,8 @@ void GLRenderer::DrawContentQuadNoAA(const ContentDrawQuadBase* quad,
                         !quad->ShouldDrawWithBlending(), has_tex_clamp_rect,
                         tint_gl_composited_content_,
                         ShouldApplyRoundedCorner(quad)),
@@ -133,7 +133,7 @@ index e2c5be9ed5bad3649770c1f0049e01de6494b4eb..303c41757bcc80d3fb21feae6a5a71a4
  
    if (current_program_->tint_color_matrix_location() != -1) {
      auto matrix = cc::DebugColors::TintCompositedContentColorTransformMatrix();
-@@ -2234,7 +2239,7 @@ void GLRenderer::DrawYUVVideoQuad(const YUVVideoDrawQuad* quad,
+@@ -2276,7 +2281,7 @@ void GLRenderer::DrawYUVVideoQuad(const YUVVideoDrawQuad* quad,
    DCHECK_NE(src_color_space, src_color_space.GetAsFullRangeRGB());
  
    gfx::ColorSpace dst_color_space =
@@ -142,7 +142,7 @@ index e2c5be9ed5bad3649770c1f0049e01de6494b4eb..303c41757bcc80d3fb21feae6a5a71a4
    // Force sRGB output on Windows for overlay candidate video quads to match
    // DirectComposition behavior in case these switch between overlays and
    // compositing. See https://crbug.com/811118 for details.
-@@ -2390,8 +2395,8 @@ void GLRenderer::DrawStreamVideoQuad(const StreamVideoDrawQuad* quad,
+@@ -2432,8 +2437,8 @@ void GLRenderer::DrawStreamVideoQuad(const StreamVideoDrawQuad* quad,
  
    SetUseProgram(ProgramKey::VideoStream(tex_coord_precision,
                                          ShouldApplyRoundedCorner(quad)),
@@ -153,7 +153,7 @@ index e2c5be9ed5bad3649770c1f0049e01de6494b4eb..303c41757bcc80d3fb21feae6a5a71a4
  
    DCHECK_EQ(GL_TEXTURE0, GetActiveTextureUnit(gl_));
    gl_->BindTexture(GL_TEXTURE_EXTERNAL_OES, lock.texture_id());
-@@ -2448,8 +2453,8 @@ void GLRenderer::FlushTextureQuadCache(BoundGeometry flush_binding) {
+@@ -2490,8 +2495,8 @@ void GLRenderer::FlushTextureQuadCache(BoundGeometry flush_binding) {
        draw_cache_.nearest_neighbor ? GL_NEAREST : GL_LINEAR);
  
    // Bind the program to the GL state.
@@ -164,7 +164,7 @@ index e2c5be9ed5bad3649770c1f0049e01de6494b4eb..303c41757bcc80d3fb21feae6a5a71a4
  
    if (current_program_->rounded_corner_rect_location() != -1) {
      SetShaderRoundedCorner(
-@@ -3142,7 +3147,9 @@ void GLRenderer::PrepareGeometry(BoundGeometry binding) {
+@@ -3184,7 +3189,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) {
@@ -175,7 +175,7 @@ index e2c5be9ed5bad3649770c1f0049e01de6494b4eb..303c41757bcc80d3fb21feae6a5a71a4
  
    gfx::ColorSpace adjusted_color_space = src_color_space;
    float sdr_white_level = current_frame()->sdr_white_level;
-@@ -3511,7 +3518,7 @@ void GLRenderer::CopyRenderPassDrawQuadToOverlayResource(
+@@ -3553,7 +3560,7 @@ void GLRenderer::CopyRenderPassDrawQuadToOverlayResource(
  
    *overlay_texture = FindOrCreateOverlayTexture(
        params.quad->render_pass_id, iosurface_width, iosurface_height,
@@ -184,7 +184,7 @@ index e2c5be9ed5bad3649770c1f0049e01de6494b4eb..303c41757bcc80d3fb21feae6a5a71a4
    *new_bounds = gfx::RectF(updated_dst_rect.origin(),
                             gfx::SizeF((*overlay_texture)->texture.size()));
  
-@@ -3729,8 +3736,8 @@ void GLRenderer::FlushOverdrawFeedback(const gfx::Rect& output_rect) {
+@@ -3771,8 +3778,8 @@ void GLRenderer::FlushOverdrawFeedback(const gfx::Rect& output_rect) {
  
    PrepareGeometry(SHARED_BINDING);
  
@@ -195,14 +195,14 @@ index e2c5be9ed5bad3649770c1f0049e01de6494b4eb..303c41757bcc80d3fb21feae6a5a71a4
  
    gfx::Transform render_matrix;
    render_matrix.Translate(0.5 * output_rect.width() + output_rect.x(),
-@@ -3890,3 +3897,5 @@ gfx::Size GLRenderer::GetRenderPassBackingPixelSize(
+@@ -3932,3 +3939,5 @@ gfx::Size GLRenderer::GetRenderPassBackingPixelSize(
  }
  
  }  // namespace viz
 +
 +#undef PATCH_CS
 diff --git a/content/browser/gpu/gpu_process_host.cc b/content/browser/gpu/gpu_process_host.cc
-index 4e949d20e9e914ddf8866cc7ad331562f2893971..40ff4c86e15383bc273a1d79cbe5cc6285e3be21 100644
+index 157fbbc34a2217f58f3e5931e1d56d6db3b876cd..68bd4a84e6fe68a4741fcedc50fb47230b11ba37 100644
 --- a/content/browser/gpu/gpu_process_host.cc
 +++ b/content/browser/gpu/gpu_process_host.cc
 @@ -192,6 +192,7 @@ GpuTerminationStatus ConvertToGpuTerminationStatus(
@@ -214,7 +214,7 @@ index 4e949d20e9e914ddf8866cc7ad331562f2893971..40ff4c86e15383bc273a1d79cbe5cc62
      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 6e568d750c8b1520ad5e4e8ac2f39feeba992dc2..9b6b58f6b53c912635bcfefa5fbe6fd711851ee7 100644
+index 44ebf7ec0549dadd9621339260c92cbc424b096c..235d382c88327b7a09679b745c28622d78ce12b6 100644
 --- a/content/browser/renderer_host/render_process_host_impl.cc
 +++ b/content/browser/renderer_host/render_process_host_impl.cc
 @@ -216,6 +216,7 @@
@@ -225,7 +225,7 @@ index 6e568d750c8b1520ad5e4e8ac2f39feeba992dc2..9b6b58f6b53c912635bcfefa5fbe6fd7
  #include "ui/gl/gl_switches.h"
  #include "ui/native_theme/native_theme_features.h"
  #include "url/url_constants.h"
-@@ -2883,6 +2884,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
+@@ -2894,6 +2895,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[] = {
@@ -234,10 +234,10 @@ index 6e568d750c8b1520ad5e4e8ac2f39feeba992dc2..9b6b58f6b53c912635bcfefa5fbe6fd7
      network::switches::kExplicitlyAllowedPorts,
      service_manager::switches::kDisableInProcessStackTraces,
 diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc
-index 2c96d679729d6ceac7d2b5077b8bbf2b6d951fa5..61ef919b51a1712fb2c0d8eecee8f5b953532b32 100644
+index 91428916eaf20743f54d33df3b7930f52d24e709..879a48448ea9a0c62a1e2e070531be90e49e19ac 100644
 --- a/content/renderer/render_widget.cc
 +++ b/content/renderer/render_widget.cc
-@@ -2854,6 +2854,9 @@ cc::LayerTreeSettings RenderWidget::GenerateLayerTreeSettings(
+@@ -2840,6 +2840,9 @@ cc::LayerTreeSettings RenderWidget::GenerateLayerTreeSettings(
    settings.main_frame_before_activation_enabled =
        cmd.HasSwitch(cc::switches::kEnableMainFrameBeforeActivation);
  

+ 4 - 4
patches/chromium/disable_hidden.patch

@@ -5,10 +5,10 @@ Subject: disable_hidden.patch
 
 
 diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
-index 0ccc622fd1891f921bee7ec1f162226081cccc4e..1fcbec659652d572bccd0ea03992f566846d65ac 100644
+index f9d900c686f6e265c029d281ab04bc37c803fcc5..4e115c09f034cfb6913c97c719b855126ab78624 100644
 --- a/content/browser/renderer_host/render_widget_host_impl.cc
 +++ b/content/browser/renderer_host/render_widget_host_impl.cc
-@@ -670,6 +670,9 @@ void RenderWidgetHostImpl::WasHidden() {
+@@ -676,6 +676,9 @@ void RenderWidgetHostImpl::WasHidden() {
    if (is_hidden_)
      return;
  
@@ -19,10 +19,10 @@ index 0ccc622fd1891f921bee7ec1f162226081cccc4e..1fcbec659652d572bccd0ea03992f566
  
    TRACE_EVENT0("renderer_host", "RenderWidgetHostImpl::WasHidden");
 diff --git a/content/browser/renderer_host/render_widget_host_impl.h b/content/browser/renderer_host/render_widget_host_impl.h
-index cf54a5f5ead088055d83f32eba03a09cf6c530df..d22480ae0196d46ae7c5c60e153435bb7e0989fd 100644
+index e81662ef6b24eb03656a6f1b11b619906edda505..de56061588bb5a26b3ced56a56f56e56900fe10d 100644
 --- a/content/browser/renderer_host/render_widget_host_impl.h
 +++ b/content/browser/renderer_host/render_widget_host_impl.h
-@@ -155,6 +155,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl
+@@ -183,6 +183,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl
    // RenderWidgetHostImpl.
    static RenderWidgetHostImpl* From(RenderWidgetHost* rwh);
  

+ 2 - 2
patches/chromium/disable_user_gesture_requirement_for_beforeunload_dialogs.patch

@@ -6,10 +6,10 @@ Subject: disable_user_gesture_requirement_for_beforeunload_dialogs.patch
 See https://github.com/electron/electron/issues/10754
 
 diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
-index f0578a74894466a2a40ac250402874a0216e76a1..192b218cb35ac038889d8fbcf73c83644ae72b19 100644
+index b6d4e4d4f642e5043f07bd48435b8c22c52c3a75..b83f0fc7c90f64cc4ce5fce99f2741d736d7ddb7 100644
 --- a/third_party/blink/renderer/core/dom/document.cc
 +++ b/third_party/blink/renderer/core/dom/document.cc
-@@ -4084,7 +4084,9 @@ bool Document::DispatchBeforeUnloadEvent(ChromeClient* chrome_client,
+@@ -4090,7 +4090,9 @@ bool Document::DispatchBeforeUnloadEvent(ChromeClient* chrome_client,
          "frame that never had a user gesture since its load. "
          "https://www.chromestatus.com/feature/5082396709879808";
      Intervention::GenerateReport(frame_, "BeforeUnloadNoGesture", message);

+ 2 - 2
patches/chromium/exclude-a-few-test-files-from-build.patch

@@ -7,10 +7,10 @@ Compilation of those files fails with the Chromium 68.
 Remove the patch during the Chromium 69 upgrade.
 
 diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
-index aaaa915ca862378c8e90e25a5a7bd656666dafc7..ec6fa54e08d4e7cf31310bf2a1ee481677a21604 100644
+index f985824f021e14c7bb6a0996afd796bc53820f86..4c7c61676602a825cc604324779fa7c51f7f0826 100644
 --- a/third_party/blink/renderer/platform/BUILD.gn
 +++ b/third_party/blink/renderer/platform/BUILD.gn
-@@ -1727,7 +1727,7 @@ jumbo_source_set("blink_platform_unittests_sources") {
+@@ -1722,7 +1722,7 @@ jumbo_source_set("blink_platform_unittests_sources") {
      "graphics/paint/drawing_display_item_test.cc",
      "graphics/paint/drawing_recorder_test.cc",
      "graphics/paint/float_clip_rect_test.cc",

+ 2 - 2
patches/chromium/feat_offscreen_rendering_with_viz_compositor.patch

@@ -98,10 +98,10 @@ index ced30727ab67e557265c3a61f7c213763da973ce..f422786fe6cd9cab47494fe6028f3c3b
   private:
    const HWND hwnd_;
 diff --git a/components/viz/service/BUILD.gn b/components/viz/service/BUILD.gn
-index 892e89b990297f663fbf142c5d4b8c9b59cbc9ae..c83135ace35448876e130d949533dc600f201901 100644
+index ce7ceb3e82e95e49442d77a61d6bf765e8e86e4e..90db4660e0184daa773c9fbd1314cd64132ebd2e 100644
 --- a/components/viz/service/BUILD.gn
 +++ b/components/viz/service/BUILD.gn
-@@ -119,6 +119,8 @@ viz_component("service") {
+@@ -118,6 +118,8 @@ viz_component("service") {
      "display_embedder/output_surface_provider_impl.h",
      "display_embedder/server_shared_bitmap_manager.cc",
      "display_embedder/server_shared_bitmap_manager.h",

+ 1 - 1
patches/chromium/fix_disable_usage_of_setapplicationisdaemon_and.patch

@@ -5,7 +5,7 @@ Subject: fix: disable usage of SetApplicationIsDaemon and
  _LSSetApplicationLaunchServicesServerConnectionStatus in MAS builds
 
 diff --git a/content/utility/utility_service_factory.cc b/content/utility/utility_service_factory.cc
-index a16d93d6d9508776819b0912f45b86753b6a187b..3ce36a6ec4cfd4bbec79c2c9e8e29f2a1aa49ef3 100644
+index 9b0759ab820ddb0e2a9e609b88bbc1673607c4e3..2392fd01736550f404304df324da9d81dfb3d446 100644
 --- a/content/utility/utility_service_factory.cc
 +++ b/content/utility/utility_service_factory.cc
 @@ -196,7 +196,7 @@ void UtilityServiceFactory::RunService(

+ 0 - 76
patches/chromium/fix_use_weakptr_to_detect_deletion.patch

@@ -1,76 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: John Kleinschmidt <[email protected]>
-Date: Wed, 31 Jul 2019 14:36:27 -0400
-Subject: fix: use WeakPtr to detect deletion
-
-
-diff --git a/ui/compositor/callback_layer_animation_observer.cc b/ui/compositor/callback_layer_animation_observer.cc
-index 639caf4d1411b867a31ce29e6c6ec4ae846359a8..6296afa55e38494cf0232f8bcd05811bfd4ebe38 100644
---- a/ui/compositor/callback_layer_animation_observer.cc
-+++ b/ui/compositor/callback_layer_animation_observer.cc
-@@ -38,22 +38,18 @@ CallbackLayerAnimationObserver::CallbackLayerAnimationObserver(
-           &CallbackLayerAnimationObserver::DummyAnimationStartedCallback)),
-       animation_ended_callback_(animation_ended_callback) {}
- 
--CallbackLayerAnimationObserver::~CallbackLayerAnimationObserver() {
--  if (destroyed_)
--    *destroyed_ = true;
--}
-+CallbackLayerAnimationObserver::~CallbackLayerAnimationObserver() {}
- 
- void CallbackLayerAnimationObserver::SetActive() {
-   active_ = true;
- 
--  bool destroyed = false;
--  destroyed_ = &destroyed;
-+  base::WeakPtr<CallbackLayerAnimationObserver> weak_this =
-+      weak_factory_.GetWeakPtr();
- 
-   CheckAllSequencesStarted();
- 
--  if (destroyed)
-+  if (!weak_this)
-     return;
--  destroyed_ = nullptr;
- 
-   CheckAllSequencesCompleted();
- }
-@@ -110,19 +106,17 @@ void CallbackLayerAnimationObserver::CheckAllSequencesStarted() {
- void CallbackLayerAnimationObserver::CheckAllSequencesCompleted() {
-   if (active_ && GetNumSequencesCompleted() == attached_sequence_count_) {
-     active_ = false;
--    bool destroyed = false;
--    destroyed_ = &destroyed;
--
-+    base::WeakPtr<CallbackLayerAnimationObserver> weak_this =
-+        weak_factory_.GetWeakPtr();
-     bool should_delete = animation_ended_callback_.Run(*this);
- 
--    if (destroyed) {
-+    if (!weak_this) {
-       if (should_delete)
-         LOG(WARNING) << "CallbackLayerAnimationObserver was explicitly "
-                         "destroyed AND was requested to be destroyed via the "
-                         "AnimationEndedCallback's return value.";
-       return;
-     }
--    destroyed_ = nullptr;
- 
-     if (should_delete)
-       delete this;
-diff --git a/ui/compositor/callback_layer_animation_observer.h b/ui/compositor/callback_layer_animation_observer.h
-index fc631cc21ccc83a74955cd1af8bf43b879b6bc80..9b3448eecbc6a9bc75719c8df08586fe8870fa96 100644
---- a/ui/compositor/callback_layer_animation_observer.h
-+++ b/ui/compositor/callback_layer_animation_observer.h
-@@ -167,9 +167,8 @@ class COMPOSITOR_EXPORT CallbackLayerAnimationObserver
-   // The callback to invoke once all the animation sequences have finished.
-   AnimationEndedCallback animation_ended_callback_;
- 
--  // Set to true in the destructor (if non-NULL). Used to detect deletion while
--  // calling out.
--  bool* destroyed_ = nullptr;
-+  // Used to detect deletion while calling out.
-+  base::WeakPtrFactory<CallbackLayerAnimationObserver> weak_factory_{this};
- 
-   DISALLOW_COPY_AND_ASSIGN(CallbackLayerAnimationObserver);
- };

+ 35 - 0
patches/chromium/fix_vc_incompatible_inline_calls.patch

@@ -0,0 +1,35 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Shelley Vohr <[email protected]>
+Date: Wed, 14 Aug 2019 15:36:05 -0700
+Subject: fix: vc++ incompatible inline calls
+
+Using const container elements like
+const std::vector<const std::string> a = {"a"};
+will fail when building without libc++ on: 'The C++ Standard
+forbids containers of const elements because
+allocator<const T> is ill-formed."
+
+This fixes the issue by changing the container elements to non-const.
+
+diff --git a/chrome/test/chromedriver/webauthn_commands.cc b/chrome/test/chromedriver/webauthn_commands.cc
+index b0d4d62bc5003682523382600f8f6c815fdf089c..1f36721b50dc9a5e5fe85e044fc921bb1d0c6666 100644
+--- a/chrome/test/chromedriver/webauthn_commands.cc
++++ b/chrome/test/chromedriver/webauthn_commands.cc
+@@ -36,7 +36,7 @@ base::DictionaryValue MapParams(
+ // Converts the string |keys| in |params| from base64url to base64. Returns a
+ // status error if conversion of one of the keys failed.
+ Status ConvertBase64UrlToBase64(base::Value* params,
+-                                const std::vector<const std::string> keys) {
++                                const std::vector<std::string> keys) {
+   for (const std::string key : keys) {
+     base::Value* maybe_value = params->FindKey(key);
+     if (!maybe_value)
+@@ -60,7 +60,7 @@ Status ConvertBase64UrlToBase64(base::Value* params,
+ 
+ // Converts the string |keys| in |params| from base64 to base64url.
+ void ConvertBase64ToBase64Url(base::Value* params,
+-                              const std::vector<const std::string> keys) {
++                              const std::vector<std::string> keys) {
+   for (const std::string key : keys) {
+     std::string* maybe_value = params->FindStringKey(key);
+     if (!maybe_value)

+ 11 - 11
patches/chromium/frame_host_manager.patch

@@ -42,10 +42,10 @@ index 906a1ee4ac58b0744a32153bbaafeac4322a60e4..c90f4aead36cbf3767dc5094728963c2
    // another SiteInstance for the same site.
    void RegisterSiteInstance(SiteInstanceImpl* site_instance);
 diff --git a/content/browser/frame_host/render_frame_host_manager.cc b/content/browser/frame_host/render_frame_host_manager.cc
-index 37593f39cecfe34fcbb7f0e9911175facdd87ea8..2702cab24f86d850829709bbc664695432bb9c0e 100644
+index b95ab6369324c29763d4320dcc4b16820a0e5e95..a0179277fe51d336cbcb19d76e28d2111926184a 100644
 --- a/content/browser/frame_host/render_frame_host_manager.cc
 +++ b/content/browser/frame_host/render_frame_host_manager.cc
-@@ -2180,6 +2180,21 @@ bool RenderFrameHostManager::InitRenderView(
+@@ -2228,6 +2228,21 @@ bool RenderFrameHostManager::InitRenderView(
  scoped_refptr<SiteInstance>
  RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
      const NavigationRequest& request) {
@@ -67,7 +67,7 @@ index 37593f39cecfe34fcbb7f0e9911175facdd87ea8..2702cab24f86d850829709bbc6646954
    SiteInstance* current_site_instance = render_frame_host_->GetSiteInstance();
  
    // All children of MHTML documents must be MHTML documents. They all live in
-@@ -2217,6 +2232,59 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
+@@ -2265,6 +2280,59 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
                                                request.common_params().url);
      no_renderer_swap_allowed |=
          request.from_begin_navigation() && !can_renderer_initiate_transfer;
@@ -127,7 +127,7 @@ index 37593f39cecfe34fcbb7f0e9911175facdd87ea8..2702cab24f86d850829709bbc6646954
    } else {
      // Subframe navigations will use the current renderer, unless specifically
      // allowed to swap processes.
-@@ -2228,23 +2296,28 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
+@@ -2276,23 +2344,28 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
    if (no_renderer_swap_allowed && !should_swap_for_error_isolation)
      return scoped_refptr<SiteInstance>(current_site_instance);
  
@@ -159,7 +159,7 @@ index 37593f39cecfe34fcbb7f0e9911175facdd87ea8..2702cab24f86d850829709bbc6646954
  }
  
 diff --git a/content/browser/site_instance_impl.cc b/content/browser/site_instance_impl.cc
-index a805b110c378d0584a361f3a499be57c7826a63a..00c1f807033a76390c12335e5a647a6f951372c2 100644
+index 47067d774c0490e3f0daf1f0d7ee60e4f51fc110..54aab183e80538173045c68d539c197af8b8d063 100644
 --- a/content/browser/site_instance_impl.cc
 +++ b/content/browser/site_instance_impl.cc
 @@ -367,6 +367,10 @@ bool SiteInstanceImpl::HasRelatedSiteInstance(const GURL& url) {
@@ -186,12 +186,12 @@ index 1edb9fd6b0c383f291735dd1a952fcb7b17cc87f..23967f040eb346be265faa2a92562e1f
    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 746f5893f95b940ac68610d9655aa46a3b85430a..d4b6e0d48697990c2bcf3cb992661e8253683911 100644
+index 4d4710e8c5382ac9391bb693dc1fd42258efd181..45cf6657ea2055c45ff14669a0e09efc84efd133 100644
 --- a/content/public/browser/content_browser_client.cc
 +++ b/content/public/browser/content_browser_client.cc
-@@ -51,6 +51,21 @@ void OverrideOnBindInterface(const service_manager::BindSourceInfo& remote_info,
-                                                          handle);
- }
+@@ -44,6 +44,21 @@
+ 
+ namespace content {
  
 +bool ContentBrowserClient::CanUseCustomSiteInstance() {
 +  return false;
@@ -212,10 +212,10 @@ index 746f5893f95b940ac68610d9655aa46a3b85430a..d4b6e0d48697990c2bcf3cb992661e82
      const MainFunctionParams& parameters) {
    return nullptr;
 diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
-index 3946cdec768f9f26a6710967f664b411012ef260..328580ad4a205878ee81b8da2c44c79fd42559c5 100644
+index 897c2c1435a8c1a495aa84c928c360d74218bfa7..8b2b21f2ca7306751e123ed31198a2c5c38a4b5c 100644
 --- a/content/public/browser/content_browser_client.h
 +++ b/content/public/browser/content_browser_client.h
-@@ -208,8 +208,45 @@ CONTENT_EXPORT void OverrideOnBindInterface(
+@@ -204,8 +204,45 @@ struct WebPreferences;
  // the observer interfaces.)
  class CONTENT_EXPORT ContentBrowserClient {
   public:

+ 1 - 1
patches/chromium/gritsettings_resource_ids.patch

@@ -6,7 +6,7 @@ Subject: gritsettings_resource_ids.patch
 Add electron resources file to the list of resource ids generation.
 
 diff --git a/tools/gritsettings/resource_ids b/tools/gritsettings/resource_ids
-index def08e61708768b9ae2ddc12fb9fcf849a0c389f..b8324ee78876c920a931257bf6f9ee48c93a2bdf 100644
+index a4c39b1f6b141056b35ff8b7d9283863d057d0a2..b3a6bb5c948d7ebe6d9746e9210d97344c8a5c9e 100644
 --- a/tools/gritsettings/resource_ids
 +++ b/tools/gritsettings/resource_ids
 @@ -465,6 +465,11 @@

+ 2 - 2
patches/chromium/ignore_rc_check.patch

@@ -7,10 +7,10 @@ Dont compare RC.exe and RC.py output.
 FIXME: It has to be reverted once the script is fixed.
 
 diff --git a/build/toolchain/win/tool_wrapper.py b/build/toolchain/win/tool_wrapper.py
-index 926086670dac3ccf85f4085b513740aec1ebe9e5..cbb32f1143420d47af23f1ad92ee8656543a93e0 100644
+index 1ad37129bb5663b547a1f1c32d09b9427d9d4434..6516ab892aa7032722fbe6af5991fc076314013c 100644
 --- a/build/toolchain/win/tool_wrapper.py
 +++ b/build/toolchain/win/tool_wrapper.py
-@@ -224,7 +224,11 @@ class WinTool(object):
+@@ -241,7 +241,11 @@ class WinTool(object):
        if rc_exe_exit_code == 0:
          import filecmp
          # Strip "/fo" prefix.

+ 6 - 6
patches/chromium/libgtkui_export.patch

@@ -6,7 +6,7 @@ Subject: libgtkui_export.patch
 Export libgtkui symbols for the GN component build.
 
 diff --git a/chrome/browser/ui/libgtkui/gtk_util.h b/chrome/browser/ui/libgtkui/gtk_util.h
-index adea4a859d96e219acc92c9178574f089a57944c..df615a91c00d22cabafffebe151728010fe9c1c4 100644
+index d75427b5d5a0aca237cacc9654a8298e26285a81..8608d083a3eb6fe6b22e059cd68834ec4ded0458 100644
 --- a/chrome/browser/ui/libgtkui/gtk_util.h
 +++ b/chrome/browser/ui/libgtkui/gtk_util.h
 @@ -11,6 +11,7 @@
@@ -28,9 +28,9 @@ index adea4a859d96e219acc92c9178574f089a57944c..df615a91c00d22cabafffebe15172801
 -std::string GetDesktopName(base::Environment* env);
 +LIBGTKUI_EXPORT std::string GetDesktopName(base::Environment* env);
  
- guint GetGdkKeyCodeForAccelerator(const ui::Accelerator& accelerator);
- 
-@@ -51,7 +52,7 @@ void TurnButtonBlue(GtkWidget* button);
+ GdkModifierType GetGdkModifierForAccelerator(
+     const ui::Accelerator& accelerator);
+@@ -49,7 +50,7 @@ void TurnButtonBlue(GtkWidget* button);
  
  // Sets |dialog| as transient for |parent|, which will keep it on top and center
  // it above |parent|. Do nothing if |parent| is nullptr.
@@ -39,7 +39,7 @@ index adea4a859d96e219acc92c9178574f089a57944c..df615a91c00d22cabafffebe15172801
  
  // Gets the transient parent aura window for |dialog|.
  aura::Window* GetAuraTransientParent(GtkWidget* dialog);
-@@ -157,7 +158,7 @@ void ApplyCssToContext(GtkStyleContext* context, const std::string& css);
+@@ -155,7 +156,7 @@ void ApplyCssToContext(GtkStyleContext* context, const std::string& css);
  
  // Get the 'color' property from the style context created by
  // GetStyleContextFromCss(|css_selector|).
@@ -48,7 +48,7 @@ index adea4a859d96e219acc92c9178574f089a57944c..df615a91c00d22cabafffebe15172801
  
  ScopedCssProvider GetCssProvider(const std::string& css);
  
-@@ -170,7 +171,7 @@ void RenderBackground(const gfx::Size& size,
+@@ -168,7 +169,7 @@ void RenderBackground(const gfx::Size& size,
  // Renders a background from the style context created by
  // GetStyleContextFromCss(|css_selector|) into a 24x24 bitmap and
  // returns the average color.

+ 24 - 20
patches/chromium/mas_no_private_api.patch

@@ -38,10 +38,10 @@ index 743d1364bcd13e24ecbe5ced730161d15b8c3e93..a7e81072194c00baa0aa3159a6bfe374
  // is concerned.
  @property(nonatomic, readonly) NSString* subrole;
 diff --git a/content/browser/accessibility/browser_accessibility_cocoa.mm b/content/browser/accessibility/browser_accessibility_cocoa.mm
-index 39663b5451f5a8069e7a4d0b99236fdb9c0b8cc1..c56d38e4231401b7ebdb59a3bf4c68a5c041a21b 100644
+index 241f5a41afce70835e12b16fb64192663b0d8580..5e026cb0627970620f5994dc783e1fa989401ed3 100644
 --- a/content/browser/accessibility/browser_accessibility_cocoa.mm
 +++ b/content/browser/accessibility/browser_accessibility_cocoa.mm
-@@ -141,6 +141,7 @@
+@@ -219,6 +219,7 @@
  // VoiceOver uses -1 to mean "no limit" for AXResultsLimit.
  const int kAXResultsLimitNoLimit = -1;
  
@@ -49,7 +49,7 @@ index 39663b5451f5a8069e7a4d0b99236fdb9c0b8cc1..c56d38e4231401b7ebdb59a3bf4c68a5
  extern "C" {
  
  // The following are private accessibility APIs required for cursor navigation
-@@ -342,6 +343,7 @@ void AddMisspelledTextAttributes(const AXPlatformRange& ax_range,
+@@ -420,6 +421,7 @@ void AddMisspelledTextAttributes(const AXPlatformRange& ax_range,
    AddMisspelledTextAttributes(ax_range, attributed_text);
    return attributed_text;
  }
@@ -57,7 +57,7 @@ index 39663b5451f5a8069e7a4d0b99236fdb9c0b8cc1..c56d38e4231401b7ebdb59a3bf4c68a5
  
  // Returns an autoreleased copy of the AXNodeData's attribute.
  NSString* NSStringForStringAttribute(BrowserAccessibility* browserAccessibility,
-@@ -609,7 +611,9 @@ + (void)initialize {
+@@ -687,7 +689,9 @@ + (void)initialize {
        {NSAccessibilityEditableAncestorAttribute, @"editableAncestor"},
        {NSAccessibilityElementBusyAttribute, @"elementBusy"},
        {NSAccessibilityEnabledAttribute, @"enabled"},
@@ -67,7 +67,7 @@ index 39663b5451f5a8069e7a4d0b99236fdb9c0b8cc1..c56d38e4231401b7ebdb59a3bf4c68a5
        {NSAccessibilityExpandedAttribute, @"expanded"},
        {NSAccessibilityFocusableAncestorAttribute, @"focusableAncestor"},
        {NSAccessibilityFocusedAttribute, @"focused"},
-@@ -644,13 +648,17 @@ + (void)initialize {
+@@ -722,13 +726,17 @@ + (void)initialize {
        {NSAccessibilityRowsAttribute, @"rows"},
        // TODO(aboxhall): expose
        // NSAccessibilityServesAsTitleForUIElementsAttribute
@@ -85,7 +85,7 @@ index 39663b5451f5a8069e7a4d0b99236fdb9c0b8cc1..c56d38e4231401b7ebdb59a3bf4c68a5
        {NSAccessibilitySizeAttribute, @"size"},
        {NSAccessibilitySortDirectionAttribute, @"sortDirection"},
        {NSAccessibilitySubroleAttribute, @"subrole"},
-@@ -1148,6 +1156,7 @@ - (NSNumber*)enabled {
+@@ -1226,6 +1234,7 @@ - (NSNumber*)enabled {
                                    ax::mojom::Restriction::kDisabled];
  }
  
@@ -93,7 +93,7 @@ index 39663b5451f5a8069e7a4d0b99236fdb9c0b8cc1..c56d38e4231401b7ebdb59a3bf4c68a5
  // Returns a text marker that points to the last character in the document that
  // can be selected with VoiceOver.
  - (id)endTextMarker {
-@@ -1158,6 +1167,7 @@ - (id)endTextMarker {
+@@ -1236,6 +1245,7 @@ - (id)endTextMarker {
    BrowserAccessibilityPositionInstance position = root->CreatePositionAt(0);
    return CreateTextMarker(position->CreatePositionAtEndOfAnchor());
  }
@@ -101,7 +101,7 @@ index 39663b5451f5a8069e7a4d0b99236fdb9c0b8cc1..c56d38e4231401b7ebdb59a3bf4c68a5
  
  - (NSNumber*)expanded {
    if (![self instanceActive])
-@@ -2029,6 +2039,7 @@ - (NSValue*)selectedTextRange {
+@@ -2107,6 +2117,7 @@ - (NSValue*)selectedTextRange {
    return [NSValue valueWithRange:NSMakeRange(selStart, selLength)];
  }
  
@@ -109,7 +109,7 @@ index 39663b5451f5a8069e7a4d0b99236fdb9c0b8cc1..c56d38e4231401b7ebdb59a3bf4c68a5
  - (id)selectedTextMarkerRange {
    if (![self instanceActive])
      return nil;
-@@ -2064,6 +2075,7 @@ - (id)selectedTextMarkerRange {
+@@ -2142,6 +2153,7 @@ - (id)selectedTextMarkerRange {
        CreateAXPlatformRange(*anchorObject, anchorOffset, anchorAffinity,
                              *focusObject, focusOffset, focusAffinity));
  }
@@ -117,7 +117,7 @@ index 39663b5451f5a8069e7a4d0b99236fdb9c0b8cc1..c56d38e4231401b7ebdb59a3bf4c68a5
  
  - (NSValue*)size {
    if (![self instanceActive])
-@@ -2096,6 +2108,7 @@ - (NSString*)sortDirection {
+@@ -2174,6 +2186,7 @@ - (NSString*)sortDirection {
    return nil;
  }
  
@@ -125,7 +125,7 @@ index 39663b5451f5a8069e7a4d0b99236fdb9c0b8cc1..c56d38e4231401b7ebdb59a3bf4c68a5
  // Returns a text marker that points to the first character in the document that
  // can be selected with VoiceOver.
  - (id)startTextMarker {
-@@ -2106,6 +2119,7 @@ - (id)startTextMarker {
+@@ -2184,6 +2197,7 @@ - (id)startTextMarker {
    BrowserAccessibilityPositionInstance position = root->CreatePositionAt(0);
    return CreateTextMarker(position->CreatePositionAtStartOfAnchor());
  }
@@ -133,7 +133,7 @@ index 39663b5451f5a8069e7a4d0b99236fdb9c0b8cc1..c56d38e4231401b7ebdb59a3bf4c68a5
  
  // Returns a subrole based upon the role.
  - (NSString*)subrole {
-@@ -2409,11 +2423,13 @@ - (NSAttributedString*)attributedValueForRange:(NSRange)range {
+@@ -2475,11 +2489,13 @@ - (NSAttributedString*)attributedValueForRange:(NSRange)range {
    NSMutableAttributedString* attributedValue =
        [[[NSMutableAttributedString alloc] initWithString:value] autorelease];
  
@@ -147,23 +147,27 @@ index 39663b5451f5a8069e7a4d0b99236fdb9c0b8cc1..c56d38e4231401b7ebdb59a3bf4c68a5
  
    return [attributedValue attributedSubstringFromRange:range];
  }
-@@ -2496,6 +2512,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute
+@@ -2562,9 +2578,8 @@ - (id)accessibilityAttributeValue:(NSString*)attribute
        return ToBrowserAccessibilityCocoa(cell);
    }
  
+-  if ([attribute
+-          isEqualToString:
+-              NSAccessibilityUIElementForTextMarkerParameterizedAttribute]) {
 +#ifndef MAS_BUILD
-   if ([attribute isEqualToString:@"AXUIElementForTextMarker"]) {
++  if ([attribute isEqualToString:NSAccessibilityUIElementForTextMarkerParameterizedAttribute]) {
      BrowserAccessibilityPositionInstance position =
          CreatePositionFromTextMarker(parameter);
-@@ -2673,6 +2690,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute
-     NSString* text = GetTextForTextMarkerRange(parameter);
-     return [NSNumber numberWithInt:[text length]];
+     if (!position->IsNullPosition())
+@@ -2855,6 +2870,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute
+ 
+     return CreateTextMarker(root->CreatePositionAt(index));
    }
 +#endif
  
    if ([attribute isEqualToString:
                       NSAccessibilityBoundsForRangeParameterizedAttribute]) {
-@@ -2706,6 +2724,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute
+@@ -2888,6 +2904,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute
      return nil;
    }
  
@@ -171,7 +175,7 @@ index 39663b5451f5a8069e7a4d0b99236fdb9c0b8cc1..c56d38e4231401b7ebdb59a3bf4c68a5
    if ([attribute
            isEqualToString:
                NSAccessibilityLineTextMarkerRangeForTextMarkerParameterizedAttribute]) {
-@@ -2786,6 +2805,7 @@ AXPlatformRange range(position->CreatePreviousLineStartPosition(
+@@ -2968,6 +2985,7 @@ AXPlatformRange range(position->CreatePreviousLineStartPosition(
  
      return @(child->GetIndexInParent());
    }
@@ -180,7 +184,7 @@ index 39663b5451f5a8069e7a4d0b99236fdb9c0b8cc1..c56d38e4231401b7ebdb59a3bf4c68a5
    return nil;
  }
 diff --git a/content/browser/accessibility/browser_accessibility_manager_mac.mm b/content/browser/accessibility/browser_accessibility_manager_mac.mm
-index cd447453b5a8877a9b1da7eab28130a795e3015b..9ef9a7aa5733b8591ed96511e9cdbc8f51875d04 100644
+index 790b79d9f67fae56ae1b30307f72a4022f35c854..ba99f5d222735cec8be17426e3ac3553ae656f77 100644
 --- a/content/browser/accessibility/browser_accessibility_manager_mac.mm
 +++ b/content/browser/accessibility/browser_accessibility_manager_mac.mm
 @@ -493,6 +493,7 @@ void PostAnnouncementNotification(NSString* announcement) {

+ 9 - 9
patches/chromium/network_service_allow_remote_certificate_verification_logic.patch

@@ -5,10 +5,10 @@ Subject: network service: allow remote certificate verification logic
 
 
 diff --git a/services/network/network_context.cc b/services/network/network_context.cc
-index d550c0eb5035f1ab2907579cd6355653a066c4ce..cc9d4b920eb70cb0410e3d1669661d8d03a68bb7 100644
+index 05f062d5d98195571aca579f4451f25ff6da15bf..9c8bd7affcf4e2017c0f661e22155825398b50c7 100644
 --- a/services/network/network_context.cc
 +++ b/services/network/network_context.cc
-@@ -91,6 +91,11 @@
+@@ -90,6 +90,11 @@
  #include "services/network/url_loader.h"
  #include "services/network/url_request_context_builder_mojo.h"
  
@@ -20,7 +20,7 @@ index d550c0eb5035f1ab2907579cd6355653a066c4ce..cc9d4b920eb70cb0410e3d1669661d8d
  #if BUILDFLAG(IS_CT_SUPPORTED)
  #include "components/certificate_transparency/chrome_ct_policy_enforcer.h"
  #include "components/certificate_transparency/chrome_require_ct_delegate.h"
-@@ -319,6 +324,75 @@ std::string HashesToBase64String(const net::HashValueVector& hashes) {
+@@ -318,6 +323,75 @@ std::string HashesToBase64String(const net::HashValueVector& hashes) {
  
  }  // namespace
  
@@ -96,7 +96,7 @@ index d550c0eb5035f1ab2907579cd6355653a066c4ce..cc9d4b920eb70cb0410e3d1669661d8d
  constexpr uint32_t NetworkContext::kMaxOutstandingRequestsPerProcess;
  constexpr bool NetworkContext::enable_resource_scheduler_;
  
-@@ -676,6 +750,12 @@ void NetworkContext::SetClient(mojom::NetworkContextClientPtr client) {
+@@ -645,6 +719,12 @@ void NetworkContext::SetClient(mojom::NetworkContextClientPtr client) {
    client_ = std::move(client);
  }
  
@@ -109,7 +109,7 @@ index d550c0eb5035f1ab2907579cd6355653a066c4ce..cc9d4b920eb70cb0410e3d1669661d8d
  void NetworkContext::CreateURLLoaderFactory(
      mojom::URLLoaderFactoryRequest request,
      mojom::URLLoaderFactoryParamsPtr params) {
-@@ -2151,12 +2231,19 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext() {
+@@ -1720,12 +1800,19 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext() {
                    cert_net_fetcher_, /*system_trust_store_provider=*/nullptr)));
      }
  #endif
@@ -134,7 +134,7 @@ index d550c0eb5035f1ab2907579cd6355653a066c4ce..cc9d4b920eb70cb0410e3d1669661d8d
    std::unique_ptr<net::NetworkDelegate> network_delegate =
        std::make_unique<NetworkServiceNetworkDelegate>(this);
 diff --git a/services/network/network_context.h b/services/network/network_context.h
-index 297289317efc82b61379c7800e1039eaaf49dc6b..40ba50148d10f16afd9f386917966a6f797b1d92 100644
+index bae29f0850644a63668fb9a5a99b619239635af1..cffd9a9869beb6fa5ab258cc063ecb9233fc90f5 100644
 --- a/services/network/network_context.h
 +++ b/services/network/network_context.h
 @@ -80,6 +80,7 @@ class DomainReliabilityMonitor;
@@ -145,7 +145,7 @@ index 297289317efc82b61379c7800e1039eaaf49dc6b..40ba50148d10f16afd9f386917966a6f
  class CookieManager;
  class ExpectCTReporter;
  class HostResolver;
-@@ -182,6 +183,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
+@@ -165,6 +166,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
  
    // mojom::NetworkContext implementation:
    void SetClient(mojom::NetworkContextClientPtr client) override;
@@ -153,7 +153,7 @@ index 297289317efc82b61379c7800e1039eaaf49dc6b..40ba50148d10f16afd9f386917966a6f
    void CreateURLLoaderFactory(mojom::URLLoaderFactoryRequest request,
                                mojom::URLLoaderFactoryParamsPtr params) override;
    void ResetURLLoaderFactories() override;
-@@ -576,6 +578,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
+@@ -553,6 +555,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
    std::unique_ptr<network::NSSTempCertsCacheChromeOS> nss_temp_certs_cache_;
  #endif
  
@@ -163,7 +163,7 @@ index 297289317efc82b61379c7800e1039eaaf49dc6b..40ba50148d10f16afd9f386917966a6f
    // CertNetFetcher is not used by the current platform.
    scoped_refptr<net::CertNetFetcherImpl> cert_net_fetcher_;
 diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
-index 58b18e0c3c2beea5f22af3c0b2ad206798ad33a9..4dcb94d32a9928d70f061dbc12dc7b7e672025b8 100644
+index 39e583e4481af613f0af97c7a06a0a43f1dd1cfc..bdf12bbbdd7ea7d9dd041f460f79d4ed20062e13 100644
 --- a/services/network/public/mojom/network_context.mojom
 +++ b/services/network/public/mojom/network_context.mojom
 @@ -161,6 +161,17 @@ interface TrustedURLLoaderHeaderClient {

+ 5 - 5
patches/chromium/notification_provenance.patch

@@ -67,7 +67,7 @@ index f64eb733ede38501c34b2af89f42255189abd982..3c2dfad7ac9ba64b0b49ebef41a303ed
          notification_service_remote_.BindNewPipeAndPassReceiver());
  
 diff --git a/content/browser/notifications/platform_notification_context_impl.cc b/content/browser/notifications/platform_notification_context_impl.cc
-index 564d4fdb4d414bdb49d74dc8066dd3de86339dda..32d0ab7f8049dc13e83deac925ef9d10fc1554c1 100644
+index 93ae69a720d4d24b5fd11508a9f6ec3c17f559d5..93768924cf442ef4cb36addfe279852b9c0dd444 100644
 --- a/content/browser/notifications/platform_notification_context_impl.cc
 +++ b/content/browser/notifications/platform_notification_context_impl.cc
 @@ -207,12 +207,13 @@ void PlatformNotificationContextImpl::Shutdown() {
@@ -87,7 +87,7 @@ index 564d4fdb4d414bdb49d74dc8066dd3de86339dda..32d0ab7f8049dc13e83deac925ef9d10
  
  void PlatformNotificationContextImpl::RemoveService(
 diff --git a/content/browser/notifications/platform_notification_context_impl.h b/content/browser/notifications/platform_notification_context_impl.h
-index 83d7c93482bf68ca98ee58de537711dad5844699..edd488efa643e80659cceab476cf53e12f10a1fb 100644
+index 4bf25bf1fa69f7d3869369172d375e2e489e62a1..f80ef2cecc8b111dc54e109646573a5978d8ea9c 100644
 --- a/content/browser/notifications/platform_notification_context_impl.h
 +++ b/content/browser/notifications/platform_notification_context_impl.h
 @@ -24,6 +24,7 @@
@@ -107,10 +107,10 @@ index 83d7c93482bf68ca98ee58de537711dad5844699..edd488efa643e80659cceab476cf53e1
        mojo::PendingReceiver<blink::mojom::NotificationService> receiver);
  
 diff --git a/content/browser/renderer_interface_binders.cc b/content/browser/renderer_interface_binders.cc
-index cfdfae7e861ca6d5025f9478363e063afae326ef..b5dacb158e01091228aa97bb85db1efb24ceb6f7 100644
+index 95bed38ac589bd55550704d16fa817610aead6f9..664b7dca4e9c2a09680855e9bc3864c8bd8ac4d5 100644
 --- a/content/browser/renderer_interface_binders.cc
 +++ b/content/browser/renderer_interface_binders.cc
-@@ -196,7 +196,7 @@ void RendererInterfaceBinders::InitializeParameterizedBinderRegistry() {
+@@ -201,7 +201,7 @@ void RendererInterfaceBinders::InitializeParameterizedBinderRegistry() {
           RenderProcessHost* host, const url::Origin& origin) {
          static_cast<StoragePartitionImpl*>(host->GetStoragePartition())
              ->GetPlatformNotificationContext()
@@ -141,7 +141,7 @@ index ca61088079c4150fcf389504ddcf26bcf6bf69cd..d9c034c39890eef1fe3d95c6d7c0ae68
        const GURL& origin,
        const blink::PlatformNotificationData& notification_data,
 diff --git a/content/test/mock_platform_notification_service.cc b/content/test/mock_platform_notification_service.cc
-index faa8e541d9cb530f9212420a4dfd0318069320db..0a244000e60daf8e6bd8e783b41124528a117026 100644
+index ba5982883a3821b42c47c80187af2e4d1b3f0ffb..720965aa1df6b415e12a85dd2b2e4475facab019 100644
 --- a/content/test/mock_platform_notification_service.cc
 +++ b/content/test/mock_platform_notification_service.cc
 @@ -29,6 +29,7 @@ MockPlatformNotificationService::MockPlatformNotificationService(

+ 1 - 1
patches/chromium/out_of_process_instance.patch

@@ -5,7 +5,7 @@ Subject: out_of_process_instance.patch
 
 
 diff --git a/pdf/out_of_process_instance.cc b/pdf/out_of_process_instance.cc
-index fa1ad2c48fac29d2f5ca93c83943878b3fc1a33f..1e97399067dcb8da735f70b1351ea1d08fb2e0e0 100644
+index d4dc099ca7f49d9541b2891f0efdf069d3cebf19..dab9401485cca4f1d58ad4d511e5ce697890a625 100644
 --- a/pdf/out_of_process_instance.cc
 +++ b/pdf/out_of_process_instance.cc
 @@ -466,7 +466,9 @@ bool OutOfProcessInstance::Init(uint32_t argc,

+ 9 - 9
patches/chromium/pepper_flash.patch

@@ -28,7 +28,7 @@ index 735da93c3cabb8c6139971295740ba14a30d1b69..533f53fbc42397608e3762e370cc935c
    // Non-owning pointer to the filter must outlive this class.
    explicit ChromeBrowserPepperHostFactory(content::BrowserPpapiHost* host);
 diff --git a/chrome/browser/renderer_host/pepper/pepper_broker_message_filter.cc b/chrome/browser/renderer_host/pepper/pepper_broker_message_filter.cc
-index 83cedb4c9e1323259afd041e571240cd971e1241..3686ae2fab5f400cf119a54aea547a72655c2b0a 100644
+index 37245c48cacbc5db164c61e4499f34ee83e0fce7..0fef12892e965e319e45f5dd1a9c5c9fc606aa9a 100644
 --- a/chrome/browser/renderer_host/pepper/pepper_broker_message_filter.cc
 +++ b/chrome/browser/renderer_host/pepper/pepper_broker_message_filter.cc
 @@ -7,10 +7,12 @@
@@ -61,7 +61,7 @@ index 83cedb4c9e1323259afd041e571240cd971e1241..3686ae2fab5f400cf119a54aea547a72
 +  return PP_OK;
  }
 diff --git a/chrome/browser/renderer_host/pepper/pepper_flash_browser_host.cc b/chrome/browser/renderer_host/pepper/pepper_flash_browser_host.cc
-index 9d28e920676edd065f735b8939854468321e99ca..6c086a792e343cf537e46f2c97c21b6257d7268e 100644
+index c6c2ac11fd5551fe03978b947d2dda4c016e59ae..2dc392a6eab17b048df730e294398a3a0fb2eb8d 100644
 --- a/chrome/browser/renderer_host/pepper/pepper_flash_browser_host.cc
 +++ b/chrome/browser/renderer_host/pepper/pepper_flash_browser_host.cc
 @@ -8,9 +8,11 @@
@@ -179,7 +179,7 @@ index f2f40b636a41649199a38c663f03e6182df82520..41d11d1f1f9921d4b4deaaf4b2d8ab4b
  
    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 0a727e8c438462a293db629da07d5aef2b25a9ee..b49303e2c19329715f72d8926cb765289224d000 100644
+index 2e51425cb66f25f240ad7f4a052bcf6eb76f2062..240fa299b1160ebb2f9b20c7361405c9b84d5d2f 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 @@
@@ -258,7 +258,7 @@ index b9d2ce7f7f6837ee7b304daac82d21a3147c6faf..4d4b023d62d12b4d119acbfdee64f415
  
    base::WeakPtrFactory<PepperFlashDRMHost> weak_factory_{this};
 diff --git a/chrome/browser/renderer_host/pepper/pepper_isolated_file_system_message_filter.cc b/chrome/browser/renderer_host/pepper/pepper_isolated_file_system_message_filter.cc
-index 0d083bb09ff17a691c6399d2a5746b44e3196873..2023dc0240220362a1b503da07aa9fab4cb4b434 100644
+index 00db4e2fa2ac89d89ecd31174e192dcb17f3e912..df5a53c162059270ad673fffebbd432f6df0d212 100644
 --- a/chrome/browser/renderer_host/pepper/pepper_isolated_file_system_message_filter.cc
 +++ b/chrome/browser/renderer_host/pepper/pepper_isolated_file_system_message_filter.cc
 @@ -8,17 +8,21 @@
@@ -316,7 +316,7 @@ index 0d083bb09ff17a691c6399d2a5746b44e3196873..2023dc0240220362a1b503da07aa9fab
  }
  
  PepperIsolatedFileSystemMessageFilter::
-@@ -96,6 +102,7 @@ int32_t PepperIsolatedFileSystemMessageFilter::OnResourceMessageReceived(
+@@ -95,6 +101,7 @@ int32_t PepperIsolatedFileSystemMessageFilter::OnResourceMessageReceived(
    return PP_ERROR_FAILED;
  }
  
@@ -324,7 +324,7 @@ index 0d083bb09ff17a691c6399d2a5746b44e3196873..2023dc0240220362a1b503da07aa9fab
  Profile* PepperIsolatedFileSystemMessageFilter::GetProfile() {
    DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
    ProfileManager* profile_manager = g_browser_process->profile_manager();
-@@ -122,6 +129,7 @@ PepperIsolatedFileSystemMessageFilter::CreateCrxFileSystem(Profile* profile) {
+@@ -121,6 +128,7 @@ PepperIsolatedFileSystemMessageFilter::CreateCrxFileSystem(Profile* profile) {
    return storage::IsolatedContext::ScopedFSHandle();
  #endif
  }
@@ -332,7 +332,7 @@ index 0d083bb09ff17a691c6399d2a5746b44e3196873..2023dc0240220362a1b503da07aa9fab
  
  int32_t PepperIsolatedFileSystemMessageFilter::OnOpenFileSystem(
      ppapi::host::HostMessageContext* context,
-@@ -130,7 +138,7 @@ int32_t PepperIsolatedFileSystemMessageFilter::OnOpenFileSystem(
+@@ -129,7 +137,7 @@ int32_t PepperIsolatedFileSystemMessageFilter::OnOpenFileSystem(
      case PP_ISOLATEDFILESYSTEMTYPE_PRIVATE_INVALID:
        break;
      case PP_ISOLATEDFILESYSTEMTYPE_PRIVATE_CRX:
@@ -341,7 +341,7 @@ index 0d083bb09ff17a691c6399d2a5746b44e3196873..2023dc0240220362a1b503da07aa9fab
      case PP_ISOLATEDFILESYSTEMTYPE_PRIVATE_PLUGINPRIVATE:
        return OpenPluginPrivateFileSystem(context);
    }
-@@ -140,6 +148,7 @@ int32_t PepperIsolatedFileSystemMessageFilter::OnOpenFileSystem(
+@@ -139,6 +147,7 @@ int32_t PepperIsolatedFileSystemMessageFilter::OnOpenFileSystem(
    return PP_ERROR_FAILED;
  }
  
@@ -349,7 +349,7 @@ index 0d083bb09ff17a691c6399d2a5746b44e3196873..2023dc0240220362a1b503da07aa9fab
  int32_t PepperIsolatedFileSystemMessageFilter::OpenCrxFileSystem(
      ppapi::host::HostMessageContext* context) {
  #if BUILDFLAG(ENABLE_EXTENSIONS)
-@@ -180,6 +189,7 @@ int32_t PepperIsolatedFileSystemMessageFilter::OpenCrxFileSystem(
+@@ -179,6 +188,7 @@ int32_t PepperIsolatedFileSystemMessageFilter::OpenCrxFileSystem(
    return PP_ERROR_NOTSUPPORTED;
  #endif
  }

+ 32 - 32
patches/chromium/printing.patch

@@ -11,7 +11,7 @@ majority of changes originally come from these PRs:
 This patch also fixes callback for manual user cancellation and success.
 
 diff --git a/chrome/browser/printing/print_job_worker.cc b/chrome/browser/printing/print_job_worker.cc
-index 63f432b58371cfa0f8079fa78a51c8865a00c183..d20d803f55ca67fb6993facc69c3431767786053 100644
+index 72a0c8cd0f1be0f7713c01ce28323619f09fcc20..b78da10cb607f0f7ce0e97a620908b55f0901c0c 100644
 --- a/chrome/browser/printing/print_job_worker.cc
 +++ b/chrome/browser/printing/print_job_worker.cc
 @@ -21,12 +21,12 @@
@@ -28,7 +28,7 @@ index 63f432b58371cfa0f8079fa78a51c8865a00c183..d20d803f55ca67fb6993facc69c34317
  #include "printing/print_job_constants.h"
  #include "printing/printed_document.h"
  #include "printing/printing_utils.h"
-@@ -206,9 +206,14 @@ void PrintJobWorker::SetSettingsFromPOD(
+@@ -203,9 +203,14 @@ void PrintJobWorker::SetSettingsFromPOD(
  void PrintJobWorker::UpdatePrintSettings(base::Value new_settings,
                                           SettingsCallback callback) {
    DCHECK_CURRENTLY_ON(BrowserThread::UI);
@@ -46,7 +46,7 @@ index 63f432b58371cfa0f8079fa78a51c8865a00c183..d20d803f55ca67fb6993facc69c34317
  }
  
  #if defined(OS_CHROMEOS)
-@@ -224,6 +229,13 @@ void PrintJobWorker::UpdatePrintSettingsFromPOD(
+@@ -221,6 +226,13 @@ void PrintJobWorker::UpdatePrintSettingsFromPOD(
  
  void PrintJobWorker::GetSettingsDone(SettingsCallback callback,
                                       PrintingContext::Result result) {
@@ -61,7 +61,7 @@ index 63f432b58371cfa0f8079fa78a51c8865a00c183..d20d803f55ca67fb6993facc69c34317
  }
  
 diff --git a/chrome/browser/printing/print_view_manager_base.cc b/chrome/browser/printing/print_view_manager_base.cc
-index c4e0992f6265b34659514ef5f15eb8d78645161c..1aca2f88da5d8e96a0f16a667a8a86a7873dfdf9 100644
+index 046cb140b10187e8c2850d990afc4c7a77283ae4..ada5a3d237cd64127412e4ec775a63e807d266e2 100644
 --- a/chrome/browser/printing/print_view_manager_base.cc
 +++ b/chrome/browser/printing/print_view_manager_base.cc
 @@ -27,10 +27,7 @@
@@ -133,7 +133,7 @@ index c4e0992f6265b34659514ef5f15eb8d78645161c..1aca2f88da5d8e96a0f16a667a8a86a7
  }
  
  #if BUILDFLAG(ENABLE_PRINT_PREVIEW)
-@@ -244,9 +249,9 @@ void PrintViewManagerBase::StartLocalPrintJob(
+@@ -242,9 +247,9 @@ void PrintViewManagerBase::StartLocalPrintJob(
  void PrintViewManagerBase::UpdatePrintingEnabled() {
    DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
    // The Unretained() is safe because ForEachFrame() is synchronous.
@@ -146,7 +146,7 @@ index c4e0992f6265b34659514ef5f15eb8d78645161c..1aca2f88da5d8e96a0f16a667a8a86a7
  }
  
  void PrintViewManagerBase::NavigationStopped() {
-@@ -338,7 +343,7 @@ void PrintViewManagerBase::OnPrintingFailed(int cookie) {
+@@ -342,7 +347,7 @@ void PrintViewManagerBase::OnPrintingFailed(int cookie) {
    PrintManager::OnPrintingFailed(cookie);
  
  #if BUILDFLAG(ENABLE_PRINT_PREVIEW)
@@ -155,7 +155,7 @@ index c4e0992f6265b34659514ef5f15eb8d78645161c..1aca2f88da5d8e96a0f16a667a8a86a7
  #endif
  
    ReleasePrinterQuery();
-@@ -438,9 +443,13 @@ void PrintViewManagerBase::OnNotifyPrintJobEvent(
+@@ -440,9 +445,13 @@ void PrintViewManagerBase::OnNotifyPrintJobEvent(
            content::NotificationService::NoDetails());
        break;
      }
@@ -171,7 +171,7 @@ index c4e0992f6265b34659514ef5f15eb8d78645161c..1aca2f88da5d8e96a0f16a667a8a86a7
        NOTREACHED();
        break;
      }
-@@ -535,8 +544,6 @@ bool PrintViewManagerBase::CreateNewPrintJob(
+@@ -537,8 +546,6 @@ bool PrintViewManagerBase::CreateNewPrintJob(
    DCHECK(!quit_inner_loop_);
    DCHECK(query);
  
@@ -180,7 +180,7 @@ index c4e0992f6265b34659514ef5f15eb8d78645161c..1aca2f88da5d8e96a0f16a667a8a86a7
  
    // We can't print if there is no renderer.
    if (!web_contents()->GetRenderViewHost() ||
-@@ -547,8 +554,6 @@ bool PrintViewManagerBase::CreateNewPrintJob(
+@@ -549,8 +556,6 @@ bool PrintViewManagerBase::CreateNewPrintJob(
    DCHECK(!print_job_);
    print_job_ = base::MakeRefCounted<PrintJob>();
    print_job_->Initialize(std::move(query), RenderSourceName(), number_pages_);
@@ -189,7 +189,7 @@ index c4e0992f6265b34659514ef5f15eb8d78645161c..1aca2f88da5d8e96a0f16a667a8a86a7
    printing_succeeded_ = false;
    return true;
  }
-@@ -597,6 +602,13 @@ void PrintViewManagerBase::ReleasePrintJob() {
+@@ -599,6 +604,13 @@ void PrintViewManagerBase::ReleasePrintJob() {
    content::RenderFrameHost* rfh = printing_rfh_;
    printing_rfh_ = nullptr;
  
@@ -203,7 +203,7 @@ index c4e0992f6265b34659514ef5f15eb8d78645161c..1aca2f88da5d8e96a0f16a667a8a86a7
    if (!print_job_)
      return;
  
-@@ -606,8 +618,9 @@ void PrintViewManagerBase::ReleasePrintJob() {
+@@ -608,8 +620,9 @@ void PrintViewManagerBase::ReleasePrintJob() {
      rfh->Send(msg.release());
    }
  
@@ -215,7 +215,7 @@ index c4e0992f6265b34659514ef5f15eb8d78645161c..1aca2f88da5d8e96a0f16a667a8a86a7
    // Don't close the worker thread.
    print_job_ = nullptr;
  }
-@@ -677,6 +690,9 @@ bool PrintViewManagerBase::PrintNowInternal(
+@@ -679,6 +692,9 @@ bool PrintViewManagerBase::PrintNowInternal(
    // Don't print / print preview interstitials or crashed tabs.
    if (web_contents()->ShowingInterstitialPage() || web_contents()->IsCrashed())
      return false;
@@ -226,10 +226,10 @@ index c4e0992f6265b34659514ef5f15eb8d78645161c..1aca2f88da5d8e96a0f16a667a8a86a7
  }
  
 diff --git a/chrome/browser/printing/print_view_manager_base.h b/chrome/browser/printing/print_view_manager_base.h
-index 925736d379c34ac7ddc07032305d24e1ae65e4b3..a8b2b31ec8bcb04d83df368b12d124dcdbb8b55d 100644
+index dd12f557535feea98991d6563e6c7e82b58d6498..5fa7cc4d82f55058f33ca05e687b062c45578f62 100644
 --- a/chrome/browser/printing/print_view_manager_base.h
 +++ b/chrome/browser/printing/print_view_manager_base.h
-@@ -39,6 +39,8 @@ class PrintJob;
+@@ -33,6 +33,8 @@ class PrintJob;
  class PrintQueriesQueue;
  class PrinterQuery;
  
@@ -238,7 +238,7 @@ index 925736d379c34ac7ddc07032305d24e1ae65e4b3..a8b2b31ec8bcb04d83df368b12d124dc
  // Base class for managing the print commands for a WebContents.
  class PrintViewManagerBase : public content::NotificationObserver,
                               public PrintManager {
-@@ -48,7 +50,9 @@ class PrintViewManagerBase : public content::NotificationObserver,
+@@ -42,7 +44,9 @@ class PrintViewManagerBase : public content::NotificationObserver,
    // Prints the current document immediately. Since the rendering is
    // asynchronous, the actual printing will not be completed on the return of
    // this function. Returns false if printing is impossible at the moment.
@@ -249,7 +249,7 @@ index 925736d379c34ac7ddc07032305d24e1ae65e4b3..a8b2b31ec8bcb04d83df368b12d124dc
  
  #if BUILDFLAG(ENABLE_PRINT_PREVIEW)
    // Prints the document in |print_data| with settings specified in
-@@ -195,9 +199,15 @@ class PrintViewManagerBase : public content::NotificationObserver,
+@@ -196,9 +200,15 @@ class PrintViewManagerBase : public content::NotificationObserver,
    // The current RFH that is printing with a system printing dialog.
    content::RenderFrameHost* printing_rfh_;
  
@@ -266,7 +266,7 @@ index 925736d379c34ac7ddc07032305d24e1ae65e4b3..a8b2b31ec8bcb04d83df368b12d124dc
    // This means we are _blocking_ until all the necessary pages have been
    // rendered or the print settings are being loaded.
 diff --git a/chrome/browser/printing/printing_message_filter.cc b/chrome/browser/printing/printing_message_filter.cc
-index 706617b7924cfbf25e4f3a04a40d9ee977e6fd69..92b46562ef36bbfe874d39d706ab589d98f37cda 100644
+index 355324f069bcccead875cc591c20e456d20a6f5b..fe889df2a0acf271b667813ef430a3bae1c84c31 100644
 --- a/chrome/browser/printing/printing_message_filter.cc
 +++ b/chrome/browser/printing/printing_message_filter.cc
 @@ -21,6 +21,7 @@
@@ -299,7 +299,7 @@ index 706617b7924cfbf25e4f3a04a40d9ee977e6fd69..92b46562ef36bbfe874d39d706ab589d
 +  #if 0
    is_printing_enabled_.Init(prefs::kPrintingEnabled, profile->GetPrefs());
    is_printing_enabled_.MoveToSequence(
-       base::CreateSingleThreadTaskRunnerWithTraits({BrowserThread::IO}));
+       base::CreateSingleThreadTaskRunner({BrowserThread::IO}));
 +  #endif
  }
  
@@ -393,7 +393,7 @@ index 1802034a6e15a6ad8b0d9591cfb79ba5873dc982..331ac71d925c056d3b7577123251514c
  // Like PrintMsg_PrintPages, but using the print preview document's frame/node.
  IPC_MESSAGE_ROUTED0(PrintMsg_PrintForSystemDialog)
 diff --git a/components/printing/renderer/print_render_frame_helper.cc b/components/printing/renderer/print_render_frame_helper.cc
-index ef580254bd8feba84ac02924b77b9b4feaf14d96..3cdaf40b6e5aeee7193a49a31f824c914d07648e 100644
+index 1a65567cb5c5f98b60d05679700c5eb91d49a229..612766fe63166b047e4f0385f219f6615023fcb6 100644
 --- a/components/printing/renderer/print_render_frame_helper.cc
 +++ b/components/printing/renderer/print_render_frame_helper.cc
 @@ -37,6 +37,7 @@
@@ -404,7 +404,7 @@ index ef580254bd8feba84ac02924b77b9b4feaf14d96..3cdaf40b6e5aeee7193a49a31f824c91
  #include "printing/units.h"
  #include "third_party/blink/public/common/frame/frame_owner_element_type.h"
  #include "third_party/blink/public/common/frame/sandbox_flags.h"
-@@ -1116,7 +1117,8 @@ void PrintRenderFrameHelper::ScriptedPrint(bool user_initiated) {
+@@ -1117,7 +1118,8 @@ void PrintRenderFrameHelper::ScriptedPrint(bool user_initiated) {
      web_frame->DispatchBeforePrintEvent();
      if (!weak_this)
        return;
@@ -414,7 +414,7 @@ index ef580254bd8feba84ac02924b77b9b4feaf14d96..3cdaf40b6e5aeee7193a49a31f824c91
      if (weak_this)
        web_frame->DispatchAfterPrintEvent();
    }
-@@ -1164,7 +1166,9 @@ void PrintRenderFrameHelper::OnDestruct() {
+@@ -1165,7 +1167,9 @@ void PrintRenderFrameHelper::OnDestruct() {
    delete this;
  }
  
@@ -425,7 +425,7 @@ index ef580254bd8feba84ac02924b77b9b4feaf14d96..3cdaf40b6e5aeee7193a49a31f824c91
    if (ipc_nesting_level_ > 1)
      return;
  
-@@ -1177,7 +1181,8 @@ void PrintRenderFrameHelper::OnPrintPages() {
+@@ -1178,7 +1182,8 @@ void PrintRenderFrameHelper::OnPrintPages() {
    // If we are printing a PDF extension frame, find the plugin node and print
    // that instead.
    auto plugin = delegate_->GetPdfElement(frame);
@@ -435,7 +435,7 @@ index ef580254bd8feba84ac02924b77b9b4feaf14d96..3cdaf40b6e5aeee7193a49a31f824c91
    if (weak_this)
      frame->DispatchAfterPrintEvent();
    // WARNING: |this| may be gone at this point. Do not do any more work here and
-@@ -1194,7 +1199,7 @@ void PrintRenderFrameHelper::OnPrintForSystemDialog() {
+@@ -1195,7 +1200,7 @@ void PrintRenderFrameHelper::OnPrintForSystemDialog() {
    }
    auto weak_this = weak_ptr_factory_.GetWeakPtr();
    Print(frame, print_preview_context_.source_node(),
@@ -444,7 +444,7 @@ index ef580254bd8feba84ac02924b77b9b4feaf14d96..3cdaf40b6e5aeee7193a49a31f824c91
    if (weak_this)
      frame->DispatchAfterPrintEvent();
    // WARNING: |this| may be gone at this point. Do not do any more work here and
-@@ -1230,6 +1235,8 @@ void PrintRenderFrameHelper::OnPrintPreview(
+@@ -1231,6 +1236,8 @@ void PrintRenderFrameHelper::OnPrintPreview(
    if (ipc_nesting_level_ > 1)
      return;
  
@@ -453,7 +453,7 @@ index ef580254bd8feba84ac02924b77b9b4feaf14d96..3cdaf40b6e5aeee7193a49a31f824c91
    print_preview_context_.OnPrintPreview();
  
    UMA_HISTOGRAM_ENUMERATION("PrintPreview.PreviewEvent",
-@@ -1622,7 +1629,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
+@@ -1623,7 +1630,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
  
      auto self = weak_ptr_factory_.GetWeakPtr();
      Print(duplicate_node.GetDocument().GetFrame(), duplicate_node,
@@ -464,7 +464,7 @@ index ef580254bd8feba84ac02924b77b9b4feaf14d96..3cdaf40b6e5aeee7193a49a31f824c91
      // Check if |this| is still valid.
      if (!self)
        return;
-@@ -1633,7 +1642,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
+@@ -1634,7 +1643,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
  
  void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
                                     const blink::WebNode& node,
@@ -475,7 +475,7 @@ index ef580254bd8feba84ac02924b77b9b4feaf14d96..3cdaf40b6e5aeee7193a49a31f824c91
    // If still not finished with earlier print request simply ignore.
    if (prep_frame_view_)
      return;
-@@ -1641,7 +1652,7 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
+@@ -1642,7 +1653,7 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
    FrameReference frame_ref(frame);
  
    int expected_page_count = 0;
@@ -484,7 +484,7 @@ index ef580254bd8feba84ac02924b77b9b4feaf14d96..3cdaf40b6e5aeee7193a49a31f824c91
      DidFinishPrinting(FAIL_PRINT_INIT);
      return;  // Failed to init print page settings.
    }
-@@ -1661,8 +1672,11 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
+@@ -1662,8 +1673,11 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
  
      PrintMsg_PrintPages_Params print_settings;
      auto self = weak_ptr_factory_.GetWeakPtr();
@@ -498,7 +498,7 @@ index ef580254bd8feba84ac02924b77b9b4feaf14d96..3cdaf40b6e5aeee7193a49a31f824c91
      // Check if |this| is still valid.
      if (!self)
        return;
-@@ -1867,10 +1881,23 @@ std::vector<int> PrintRenderFrameHelper::GetPrintedPages(
+@@ -1868,10 +1882,23 @@ std::vector<int> PrintRenderFrameHelper::GetPrintedPages(
    return printed_pages;
  }
  
@@ -525,7 +525,7 @@ index ef580254bd8feba84ac02924b77b9b4feaf14d96..3cdaf40b6e5aeee7193a49a31f824c91
    // 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.
-@@ -1890,12 +1917,14 @@ bool PrintRenderFrameHelper::InitPrintSettings(bool fit_to_paper_size) {
+@@ -1891,12 +1918,14 @@ bool PrintRenderFrameHelper::InitPrintSettings(bool fit_to_paper_size) {
    return result;
  }
  
@@ -587,10 +587,10 @@ index 71c0c15217b62cd7a6087c6d9ae50481f9041d5f..18d853d7f808aaf816de86e8c5b82317
  #if BUILDFLAG(ENABLE_PRINT_PREVIEW)
    // Set options for print preset from source PDF document.
 diff --git a/printing/print_settings_conversion.cc b/printing/print_settings_conversion.cc
-index 2563ae6a87b2354ff2f2b45c17f61d2f44910efa..a7c61e5286659c51579c6b50cf5cc52c10433062 100644
+index 17c363ff9aa2e2262cacd0c9baea3820334bf67b..5b02461c2e9afe254405ddacd904e4bdbddd0b8b 100644
 --- a/printing/print_settings_conversion.cc
 +++ b/printing/print_settings_conversion.cc
-@@ -190,11 +190,12 @@ bool PrintSettingsFromJobSettings(const base::Value& job_settings,
+@@ -184,11 +184,12 @@ bool PrintSettingsFromJobSettings(const base::Value& job_settings,
  
    settings->set_dpi_xy(dpi_horizontal.value(), dpi_vertical.value());
  #endif

+ 12 - 12
patches/chromium/put_back_deleted_colors_for_autofill.patch

@@ -8,7 +8,7 @@ needed in chromium but our autofill implementation uses them.  This patch can be
 our autofill implementation to work like chromium.
 
 diff --git a/chrome/browser/ui/libgtkui/native_theme_gtk.cc b/chrome/browser/ui/libgtkui/native_theme_gtk.cc
-index 0929cd7a73fe9665dec64026f593c99783f6fc38..fd2ee1e103a2ae07c8cd1ecb75062399de1745a7 100644
+index 4edc178d601f764721b8c13b639f6ed073417c43..15c1375b193d71a2ab195d09b22b0969b738395b 100644
 --- a/chrome/browser/ui/libgtkui/native_theme_gtk.cc
 +++ b/chrome/browser/ui/libgtkui/native_theme_gtk.cc
 @@ -280,6 +280,27 @@ SkColor SkColorFromColorId(ui::NativeTheme::ColorId color_id) {
@@ -78,10 +78,10 @@ index 8bd17ec4a9340881694c1aded2c19769d0867edb..bc02c137279dbb672984a59f0a3b546c
      case NativeTheme::kColorId_ThrobberSpinningColor:
        return gfx::kGoogleBlue600;
 diff --git a/ui/native_theme/native_theme.h b/ui/native_theme/native_theme.h
-index 66d67f8bf62ce05717bf6aa74f39be29ec232395..e9d6b91edd8ed46215bcad36bf621dd048f03d5a 100644
+index d12315d778468333b41308e664d78f0b1ad0391e..8ecad2a7560c124f2a5b412a6d7ed9e60616aa34 100644
 --- a/ui/native_theme/native_theme.h
 +++ b/ui/native_theme/native_theme.h
-@@ -384,6 +384,11 @@ class NATIVE_THEME_EXPORT NativeTheme {
+@@ -387,6 +387,11 @@ class NATIVE_THEME_EXPORT NativeTheme {
      kColorId_TableHeaderText,
      kColorId_TableHeaderBackground,
      kColorId_TableHeaderSeparator,
@@ -94,24 +94,24 @@ index 66d67f8bf62ce05717bf6aa74f39be29ec232395..e9d6b91edd8ed46215bcad36bf621dd0
      kColorId_ThrobberSpinningColor,
      kColorId_ThrobberWaitingColor,
 diff --git a/ui/native_theme/native_theme_win.cc b/ui/native_theme/native_theme_win.cc
-index 7f662b0baf976bc6b37722f55986fb5c0e8260e8..61a1411931903827b0ef303e6c5a63c8ddb08fc7 100644
+index 257206023976b889590bc225f6542881e8a5d463..3003643bfb78cec2f5e84fc9e1471e1ef54aae41 100644
 --- a/ui/native_theme/native_theme_win.cc
 +++ b/ui/native_theme/native_theme_win.cc
-@@ -558,6 +558,17 @@ SkColor NativeThemeWin::GetSystemColor(ColorId color_id,
+@@ -559,6 +559,17 @@ SkColor NativeThemeWin::GetSystemColor(ColorId color_id,
      case kColorId_TableGroupingIndicatorColor:
-       return system_colors_[COLOR_GRAYTEXT];
+       return system_colors_[SystemThemeColor::kGrayText];
  
 +    // Results Tables
 +    case kColorId_ResultsTableNormalBackground:
-+      return system_colors_[COLOR_WINDOW];
++      return system_colors_[SystemThemeColor::kWindow];
 +    case kColorId_ResultsTableHoveredBackground:
-+      return color_utils::AlphaBlend(system_colors_[COLOR_HIGHLIGHT],
-+                                     system_colors_[COLOR_WINDOW], 0.25f);
++      return color_utils::AlphaBlend(system_colors_[SystemThemeColor::kWindowText],
++                                     system_colors_[SystemThemeColor::kWindow], 0.25f);
 +    case kColorId_ResultsTableNormalText:
-+      return system_colors_[COLOR_WINDOWTEXT];
++      return system_colors_[SystemThemeColor::kWindowText];
 +    case kColorId_ResultsTableDimmedText:
-+      return color_utils::AlphaBlend(system_colors_[COLOR_WINDOWTEXT],
-+                                     system_colors_[COLOR_WINDOW], 0.5f);
++      return color_utils::AlphaBlend(system_colors_[SystemThemeColor::kWindowText],
++                                     system_colors_[SystemThemeColor::kWindow], 0.5f);
      default:
        break;
    }

+ 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 ab1b4a53afdc07b75b3aa5cab670c561f01e9f97..9697e53703a6cb5e7cde27f3e9643dca060bc943 100644
+index cc6c2943fb92226341276071cbe15bfb9a6f13bc..8547a9208814eedb9cb94de3f16f233e2c8ed0bc 100644
 --- a/chrome/BUILD.gn
 +++ b/chrome/BUILD.gn
-@@ -1719,7 +1719,7 @@ if (is_chrome_branded && !is_android) {
+@@ -1626,7 +1626,7 @@ if (is_chrome_branded && !is_android) {
    }
  }
  
@@ -64,7 +64,7 @@ index ab1b4a53afdc07b75b3aa5cab670c561f01e9f97..9697e53703a6cb5e7cde27f3e9643dca
    chrome_paks("packed_resources") {
      if (is_mac) {
        output_dir = "$root_gen_dir/repack"
-@@ -1743,6 +1743,12 @@ if (!is_android) {
+@@ -1650,6 +1650,12 @@ if (!is_android) {
    }
  }
  

+ 2 - 2
patches/chromium/scroll_bounce_flag.patch

@@ -6,10 +6,10 @@ Subject: scroll_bounce_flag.patch
 Patch to make scrollBounce option work.
 
 diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
-index 707e580113a29d87dbc70b53025714e2fe772361..3d5701ff7f0524005d6d410e539ed00a660a1582 100644
+index 5cb02a6e1375542aab3ad1d9593cd0c8c9371f0e..975c11860584ba094b2bf49cb726011627ddf006 100644
 --- a/content/renderer/render_thread_impl.cc
 +++ b/content/renderer/render_thread_impl.cc
-@@ -1507,7 +1507,7 @@ bool RenderThreadImpl::IsGpuMemoryBufferCompositorResourcesEnabled() {
+@@ -1510,7 +1510,7 @@ bool RenderThreadImpl::IsGpuMemoryBufferCompositorResourcesEnabled() {
  }
  
  bool RenderThreadImpl::IsElasticOverscrollEnabled() {

+ 35 - 6
patches/chromium/ssl_security_state_tab_helper.patch

@@ -6,15 +6,16 @@ Subject: ssl_security_state_tab_helper.patch
 Allows populating security tab info for devtools in Electron.
 
 diff --git a/chrome/browser/ssl/security_state_tab_helper.cc b/chrome/browser/ssl/security_state_tab_helper.cc
-index f271b01fad91c169afb06795d9b8aa7207744139..9fa6773a8591686a4bf3d934080389b4af1b527f 100644
+index 76036ce8f4e09e99141940bb72c0424bce556c43..7e63568010a6646df62aab2f418d659f9ec9eee3 100644
 --- a/chrome/browser/ssl/security_state_tab_helper.cc
 +++ b/chrome/browser/ssl/security_state_tab_helper.cc
-@@ -13,15 +13,19 @@
+@@ -13,16 +13,20 @@
  #include "base/strings/pattern.h"
  #include "base/strings/string_util.h"
  #include "build/build_config.h"
 +#if 0
  #include "chrome/browser/browser_process.h"
+ #include "chrome/browser/lookalikes/safety_tips/reputation_web_contents_observer.h"
  #include "chrome/browser/profiles/profile.h"
  #include "chrome/browser/safe_browsing/safe_browsing_service.h"
  #include "chrome/browser/safe_browsing/ui_manager.h"
@@ -29,7 +30,7 @@ index f271b01fad91c169afb06795d9b8aa7207744139..9fa6773a8591686a4bf3d934080389b4
  #include "components/security_state/content/content_utils.h"
  #include "content/public/browser/browser_context.h"
  #include "content/public/browser/navigation_entry.h"
-@@ -43,7 +47,7 @@
+@@ -44,7 +48,7 @@
  #include "chrome/browser/chromeos/policy/policy_cert_service_factory.h"
  #endif  // defined(OS_CHROMEOS)
  
@@ -38,7 +39,19 @@ index f271b01fad91c169afb06795d9b8aa7207744139..9fa6773a8591686a4bf3d934080389b4
  #include "chrome/browser/safe_browsing/chrome_password_protection_service.h"
  #endif
  
-@@ -65,8 +69,9 @@ void RecordSecurityLevel(
+@@ -64,6 +68,7 @@ void RecordSecurityLevel(
+   }
+ }
+ 
++#if 0
+ security_state::SafetyTipStatus GetSecurityStateSafetyTipType(
+     safety_tips::SafetyTipType type) {
+   switch (type) {
+@@ -76,11 +81,13 @@ security_state::SafetyTipStatus GetSecurityStateSafetyTipType(
+       return security_state::SafetyTipStatus::SAFETY_TIP_STATUS_NONE;
+   }
+ }
++#endif
  
  }  // namespace
  
@@ -49,7 +62,23 @@ index f271b01fad91c169afb06795d9b8aa7207744139..9fa6773a8591686a4bf3d934080389b4
  
  SecurityStateTabHelper::SecurityStateTabHelper(
      content::WebContents* web_contents)
-@@ -154,6 +159,7 @@ SecurityStateTabHelper::GetMaliciousContentStatus() const {
+@@ -102,6 +109,7 @@ SecurityStateTabHelper::GetVisibleSecurityState() const {
+   // information is still being initialized, thus no need to check for that.
+   state->malicious_content_status = GetMaliciousContentStatus();
+ 
++#if 0
+   safety_tips::ReputationWebContentsObserver* reputation_web_contents_observer =
+       safety_tips::ReputationWebContentsObserver::FromWebContents(
+           web_contents());
+@@ -110,6 +118,7 @@ SecurityStateTabHelper::GetVisibleSecurityState() const {
+           ? GetSecurityStateSafetyTipType(
+                 reputation_web_contents_observer->last_shown_safety_tip_type())
+           : security_state::SafetyTipStatus::SAFETY_TIP_STATUS_NONE;
++#endif
+   return state;
+ }
+ 
+@@ -176,6 +185,7 @@ SecurityStateTabHelper::GetMaliciousContentStatus() const {
        web_contents()->GetController().GetVisibleEntry();
    if (!entry)
      return security_state::MALICIOUS_CONTENT_STATUS_NONE;
@@ -57,7 +86,7 @@ index f271b01fad91c169afb06795d9b8aa7207744139..9fa6773a8591686a4bf3d934080389b4
    safe_browsing::SafeBrowsingService* sb_service =
        g_browser_process->safe_browsing_service();
    if (!sb_service)
-@@ -220,6 +226,7 @@ SecurityStateTabHelper::GetMaliciousContentStatus() const {
+@@ -242,6 +252,7 @@ SecurityStateTabHelper::GetMaliciousContentStatus() const {
          break;
      }
    }

+ 2 - 2
patches/chromium/support_mixed_sandbox_with_zygote.patch

@@ -22,7 +22,7 @@ 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 44b360508bff35646564ee6a74d605a96727aef0..6e568d750c8b1520ad5e4e8ac2f39feeba992dc2 100644
+index c91eb3b8daec0684b09ab5026b54a315a0032fc6..44ebf7ec0549dadd9621339260c92cbc424b096c 100644
 --- a/content/browser/renderer_host/render_process_host_impl.cc
 +++ b/content/browser/renderer_host/render_process_host_impl.cc
 @@ -372,6 +372,10 @@ class RendererSandboxedProcessLauncherDelegate
@@ -58,7 +58,7 @@ index 44b360508bff35646564ee6a74d605a96727aef0..6e568d750c8b1520ad5e4e8ac2f39fee
  };
  
  const char kSessionStorageHolderKey[] = "kSessionStorageHolderKey";
-@@ -1718,11 +1730,18 @@ bool RenderProcessHostImpl::Init() {
+@@ -1732,11 +1744,18 @@ bool RenderProcessHostImpl::Init() {
        cmd_line->PrependWrapper(renderer_prefix);
      AppendRendererCommandLine(cmd_line.get());
  

+ 4 - 4
patches/chromium/sysroot.patch

@@ -7,11 +7,11 @@ Make chrome's install-sysroot scripts point to our custom sysroot builds,
 which include extra deps that Electron needs (e.g. libnotify)
 
 diff --git a/build/linux/sysroot_scripts/install-sysroot.py b/build/linux/sysroot_scripts/install-sysroot.py
-index 858589ae0a6774d6c34a51e1db1ef852f40ad68d..c4a0ac5c9e16a217634602233bd709af6943470e 100755
+index 2e756f75d243c558c03c720a1a9c90911f2bb121..5b8cc02c3cb9b257bbe9c93cf7ce329272403607 100755
 --- a/build/linux/sysroot_scripts/install-sysroot.py
 +++ b/build/linux/sysroot_scripts/install-sysroot.py
-@@ -32,9 +32,11 @@ import sys
- import urllib2
+@@ -37,9 +37,11 @@ except ImportError:
+     from urllib2 import urlopen
  
  SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
 +SRC_DIR = os.path.dirname(os.path.dirname(os.path.dirname(SCRIPT_DIR)))
@@ -24,7 +24,7 @@ index 858589ae0a6774d6c34a51e1db1ef852f40ad68d..c4a0ac5c9e16a217634602233bd709af
  
  VALID_ARCHS = ('arm', 'arm64', 'i386', 'amd64', 'mips', 'mips64el')
  
-@@ -98,7 +100,7 @@ def GetSysrootDict(target_platform, target_arch):
+@@ -103,7 +105,7 @@ def GetSysrootDict(target_platform, target_arch):
    if target_arch not in VALID_ARCHS:
      raise Error('Unknown architecture: %s' % target_arch)
  

+ 1 - 1
patches/chromium/tts.patch

@@ -30,7 +30,7 @@ index e96b0cef21bec8925d4adf1e8692dc00f5ec6f5f..7ec07534aa3628873c9fe784fa0235f3
  }
  
 diff --git a/chrome/browser/speech/tts_message_filter.cc b/chrome/browser/speech/tts_message_filter.cc
-index a7df91b0f6568215313899b577600feaa8c7ba31..8bccd503bb1648ef1ba07b7ff0fded6caaff8a65 100644
+index cf0841622b99ad6637314284bcdbd83060a404cc..779b51992c180a76ed8a2c492297416aa557d214 100644
 --- a/chrome/browser/speech/tts_message_filter.cc
 +++ b/chrome/browser/speech/tts_message_filter.cc
 @@ -10,8 +10,11 @@

+ 2 - 2
patches/chromium/unsandboxed_ppapi_processes_skip_zygote.patch

@@ -5,10 +5,10 @@ Subject: unsandboxed ppapi processes skip zygote
 
 
 diff --git a/content/browser/ppapi_plugin_process_host.cc b/content/browser/ppapi_plugin_process_host.cc
-index 68a9f8568d242fafd104c47ad67a7fb1d0b593e7..fa6492acd3d4c12fbebbef94540c675aeda99cdc 100644
+index 9510a7f9aafeb5b5b73967bcfd760dbc6d5ff5c7..a15dd6087aa92d019e34ec456735111a71c6fb57 100644
 --- a/content/browser/ppapi_plugin_process_host.cc
 +++ b/content/browser/ppapi_plugin_process_host.cc
-@@ -121,6 +121,9 @@ class PpapiPluginSandboxedProcessLauncherDelegate
+@@ -123,6 +123,9 @@ class PpapiPluginSandboxedProcessLauncherDelegate
    service_manager::ZygoteHandle GetZygote() override {
      const base::CommandLine& browser_command_line =
          *base::CommandLine::ForCurrentProcess();

+ 4 - 4
patches/chromium/web_contents.patch

@@ -5,10 +5,10 @@ Subject: web_contents.patch
 
 
 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index a1f88f77a6b9a6e879d5c6bed7968b7cd7ed2e33..c517c89bff1ba0cdc8ade44cf3b62bbe61e75a12 100644
+index 9cc3c1e1d9ef317a41b404ba96d23e669a855d85..112dfea30665ffa28c3b5f35bdad5d8a925b5656 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -2103,6 +2103,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
+@@ -2136,6 +2136,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
    std::string unique_name;
    frame_tree_.root()->SetFrameName(params.main_frame_name, unique_name);
  
@@ -21,7 +21,7 @@ index a1f88f77a6b9a6e879d5c6bed7968b7cd7ed2e33..c517c89bff1ba0cdc8ade44cf3b62bbe
    WebContentsViewDelegate* delegate =
        GetContentClient()->browser()->GetWebContentsViewDelegate(this);
  
-@@ -2118,6 +2124,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
+@@ -2151,6 +2157,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
            &render_view_host_delegate_view_);
      }
    }
@@ -92,7 +92,7 @@ index ecaf30bcb7b916a92a69641dd7b96a3633d407c0..0af625928ca6227a21cd4263a14a42b7
  
  RenderWidgetHostViewBase* WebContentsViewGuest::CreateViewForChildWidget(
 diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h
-index 8a094771e3165a317334ea0f7b89888d44a447de..df71770122e126046afa03c7e2e117c972c53676 100644
+index 0bdb9e8b3339ee39d2904bec2a03d30b212e7dbf..958e8a80edcf9465166bc64d11d3517bc8a23ad1 100644
 --- a/content/public/browser/web_contents.h
 +++ b/content/public/browser/web_contents.h
 @@ -76,9 +76,12 @@ class BrowserPluginGuestDelegate;

+ 2 - 2
patches/chromium/webview_cross_drag.patch

@@ -5,10 +5,10 @@ Subject: webview_cross_drag.patch
 
 
 diff --git a/content/browser/web_contents/web_contents_view_aura.cc b/content/browser/web_contents/web_contents_view_aura.cc
-index ab27502c3509d0827b09bcb84c7921b432749dce..515ef47bcfc22b74e9f05c9db885e92f773ec84c 100644
+index dda92e4006db1d9a1b68459644d252a3e1dfa4a2..3ed0b3ec3badc9f558f78adbdb31c680ff2631f4 100644
 --- a/content/browser/web_contents/web_contents_view_aura.cc
 +++ b/content/browser/web_contents/web_contents_view_aura.cc
-@@ -776,6 +776,7 @@ gfx::NativeView WebContentsViewAura::GetRenderWidgetHostViewParent() const {
+@@ -777,6 +777,7 @@ gfx::NativeView WebContentsViewAura::GetRenderWidgetHostViewParent() const {
  
  bool WebContentsViewAura::IsValidDragTarget(
      RenderWidgetHostImpl* target_rwh) const {

+ 10 - 10
patches/chromium/worker_context_will_destroy.patch

@@ -5,10 +5,10 @@ Subject: worker_context_will_destroy.patch
 
 
 diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h
-index bfc62d1766686981ded5e62ad7da466d3afb9bab..5fa60ba975561626ae3ccecd9968278c547710a0 100644
+index 76d775b20307a3c9a779489e754c6849a0f21d64..533a1621e82461d8611ba1d8f2ed2fc527085a03 100644
 --- a/content/public/renderer/content_renderer_client.h
 +++ b/content/public/renderer/content_renderer_client.h
-@@ -385,6 +385,11 @@ class CONTENT_EXPORT ContentRendererClient {
+@@ -384,6 +384,11 @@ class CONTENT_EXPORT ContentRendererClient {
    virtual void DidInitializeWorkerContextOnWorkerThread(
        v8::Local<v8::Context> context) {}
  
@@ -21,10 +21,10 @@ index bfc62d1766686981ded5e62ad7da466d3afb9bab..5fa60ba975561626ae3ccecd9968278c
    // 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 8b6182ea88da712e803f42fa2639bee8b6d1e4c4..9243f149915cad703adda00992172ee5f4e8a200 100644
+index fd7f9057d03c36b26391c7bac7af951283b8c2bf..6fe8dbb4b0ea8791a8640ed42148546aab3d5a96 100644
 --- a/content/renderer/renderer_blink_platform_impl.cc
 +++ b/content/renderer/renderer_blink_platform_impl.cc
-@@ -944,6 +944,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() {
+@@ -919,6 +919,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() {
    WorkerThreadRegistry::Instance()->WillStopCurrentWorkerThread();
  }
  
@@ -38,10 +38,10 @@ index 8b6182ea88da712e803f42fa2639bee8b6d1e4c4..9243f149915cad703adda00992172ee5
      const v8::Local<v8::Context>& worker) {
    GetContentClient()->renderer()->DidInitializeWorkerContextOnWorkerThread(
 diff --git a/content/renderer/renderer_blink_platform_impl.h b/content/renderer/renderer_blink_platform_impl.h
-index f8c415ed291f5a6f00a7dee6742965a0b9702ca0..c2cba6bb24655cbad4396dc5a56621441c062f7e 100644
+index fb807df3f015c6d9a3a18608301b2781596415de..a08e9fb3a30bf401b204c206ef9f2aa289890b39 100644
 --- a/content/renderer/renderer_blink_platform_impl.h
 +++ b/content/renderer/renderer_blink_platform_impl.h
-@@ -191,6 +191,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
+@@ -190,6 +190,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
    void DidStartWorkerThread() override;
    void WillStopWorkerThread() override;
    void WorkerContextCreated(const v8::Local<v8::Context>& worker) override;
@@ -50,10 +50,10 @@ index f8c415ed291f5a6f00a7dee6742965a0b9702ca0..c2cba6bb24655cbad4396dc5a5662144
        const blink::WebString& header_name) override;
  
 diff --git a/third_party/blink/public/platform/platform.h b/third_party/blink/public/platform/platform.h
-index 697364569441c43952b58275e0370a6373ac4884..2bc873ddecdde9fd55925e1d650f0978e8e223fd 100644
+index 14cc7b5a6a7c0af10529139fe56dc0991a459a03..afcefc79e0dc261472497fb6a965de3196113eb6 100644
 --- a/third_party/blink/public/platform/platform.h
 +++ b/third_party/blink/public/platform/platform.h
-@@ -667,6 +667,7 @@ class BLINK_PLATFORM_EXPORT Platform {
+@@ -660,6 +660,7 @@ class BLINK_PLATFORM_EXPORT Platform {
    virtual void DidStartWorkerThread() {}
    virtual void WillStopWorkerThread() {}
    virtual void WorkerContextCreated(const v8::Local<v8::Context>& worker) {}
@@ -62,10 +62,10 @@ index 697364569441c43952b58275e0370a6373ac4884..2bc873ddecdde9fd55925e1d650f0978
        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 ea864c08bdef41c38ee7f166c2781edba75b5c11..d678022d216f4981c984d9be7e500d9cfbdd6c3c 100644
+index 21ecd0a151fddddab129ed21f4c6b5dae0c843cf..2cf6f0110824b76933d616f3747c4bf51ac34cde 100644
 --- a/third_party/blink/renderer/core/workers/worker_thread.cc
 +++ b/third_party/blink/renderer/core/workers/worker_thread.cc
-@@ -647,6 +647,12 @@ void WorkerThread::PrepareForShutdownOnWorkerThread() {
+@@ -651,6 +651,12 @@ void WorkerThread::PrepareForShutdownOnWorkerThread() {
      nested_runner_->QuitNow();
    }
  

+ 1 - 0
script/node-disabled-tests.json

@@ -1,4 +1,5 @@
 [
+  "parallel/test-assert",
   "parallel/test-async-hooks-close-during-destroy",
   "parallel/test-async-hooks-promise",
   "parallel/test-async-hooks-promise-triggerid",

+ 0 - 4
shell/app/atom_content_client.cc

@@ -268,8 +268,4 @@ void AtomContentClient::AddContentDecryptionModules(
   }
 }
 
-bool AtomContentClient::IsDataResourceGzipped(int resource_id) {
-  return ui::ResourceBundle::GetSharedInstance().IsGzipped(resource_id);
-}
-
 }  // namespace electron

+ 0 - 1
shell/app/atom_content_client.h

@@ -30,7 +30,6 @@ class AtomContentClient : public content::ContentClient {
   void AddContentDecryptionModules(
       std::vector<content::CdmInfo>* cdms,
       std::vector<media::CdmHostFilePath>* cdm_host_file_paths) override;
-  bool IsDataResourceGzipped(int resource_id) override;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(AtomContentClient);

+ 0 - 7
shell/app/manifests.cc

@@ -13,10 +13,6 @@
 #include "components/services/pdf_compositor/public/cpp/manifest.h"
 #endif
 
-#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
-#include "chrome/services/printing/public/cpp/manifest.h"
-#endif
-
 namespace {
 
 // TODO(https://crbug.com/781334): Remove these helpers and just update the
@@ -53,9 +49,6 @@ GetElectronBuiltinServiceManifests() {
   static base::NoDestructor<std::vector<service_manager::Manifest>> manifests{{
 #if BUILDFLAG(ENABLE_PRINTING)
       MakeOutOfProcess(printing::GetPdfCompositorManifest()),
-#endif
-#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
-      MakeOutOfProcess(GetChromePrintingManifest()),
 #endif
   }};
   return *manifests;

+ 0 - 1
shell/browser/api/atom_api_app.cc

@@ -723,7 +723,6 @@ void App::AllowCertificateError(
     const GURL& request_url,
     bool is_main_frame_request,
     bool strict_enforcement,
-    bool expired_previous_decision,
     const base::RepeatingCallback<void(content::CertificateRequestResultType)>&
         callback) {
   v8::Locker locker(isolate());

+ 0 - 1
shell/browser/api/atom_api_app.h

@@ -120,7 +120,6 @@ class App : public AtomBrowserClient::Delegate,
       const GURL& request_url,
       bool is_main_frame_request,
       bool strict_enforcement,
-      bool expired_previous_decision,
       const base::RepeatingCallback<
           void(content::CertificateRequestResultType)>& callback) override;
   base::OnceClosure SelectClientCertificate(

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

@@ -31,7 +31,7 @@ SystemPreferences::~SystemPreferences() {
 
 #if !defined(OS_MACOSX)
 bool SystemPreferences::IsDarkMode() {
-  return ui::NativeTheme::GetInstanceForNativeUi()->SystemDarkModeEnabled();
+  return ui::NativeTheme::GetInstanceForNativeUi()->ShouldUseDarkColors();
 }
 #endif
 

+ 1 - 1
shell/browser/api/atom_api_system_preferences_mac.mm

@@ -637,7 +637,7 @@ void SystemPreferences::RemoveUserDefault(const std::string& name) {
 
 bool SystemPreferences::IsDarkMode() {
   if (@available(macOS 10.14, *)) {
-    return ui::NativeTheme::GetInstanceForNativeUi()->SystemDarkModeEnabled();
+    return ui::NativeTheme::GetInstanceForNativeUi()->ShouldUseDarkColors();
   }
   NSString* mode = [[NSUserDefaults standardUserDefaults]
       stringForKey:@"AppleInterfaceStyle"];

+ 5 - 7
shell/browser/atom_browser_client.cc

@@ -337,8 +337,7 @@ bool AtomBrowserClient::IsRendererSubFrame(int process_id) const {
 }
 
 void AtomBrowserClient::RenderProcessWillLaunch(
-    content::RenderProcessHost* host,
-    service_manager::mojom::ServiceRequest* service_request) {
+    content::RenderProcessHost* host) {
   // When a render process is crashed, it might be reused.
   int process_id = host->GetID();
   if (IsProcessObserved(process_id))
@@ -403,7 +402,7 @@ void AtomBrowserClient::OverrideWebkitPrefs(content::RenderViewHost* host,
   prefs->navigate_on_drag_drop = false;
 
   ui::NativeTheme* native_theme = ui::NativeTheme::GetInstanceForNativeUi();
-  prefs->preferred_color_scheme = native_theme->SystemDarkModeEnabled()
+  prefs->preferred_color_scheme = native_theme->ShouldUseDarkColors()
                                       ? blink::PreferredColorScheme::kDark
                                       : blink::PreferredColorScheme::kLight;
 
@@ -619,13 +618,12 @@ void AtomBrowserClient::AllowCertificateError(
     const GURL& request_url,
     bool is_main_frame_request,
     bool strict_enforcement,
-    bool expired_previous_decision,
     const base::RepeatingCallback<void(content::CertificateRequestResultType)>&
         callback) {
   if (delegate_) {
-    delegate_->AllowCertificateError(
-        web_contents, cert_error, ssl_info, request_url, is_main_frame_request,
-        strict_enforcement, expired_previous_decision, callback);
+    delegate_->AllowCertificateError(web_contents, cert_error, ssl_info,
+                                     request_url, is_main_frame_request,
+                                     strict_enforcement, callback);
   }
 }
 

+ 1 - 4
shell/browser/atom_browser_client.h

@@ -70,9 +70,7 @@ class AtomBrowserClient : public content::ContentBrowserClient,
   bool CanUseCustomSiteInstance() override;
 
  protected:
-  void RenderProcessWillLaunch(
-      content::RenderProcessHost* host,
-      service_manager::mojom::ServiceRequest* service_request) override;
+  void RenderProcessWillLaunch(content::RenderProcessHost* host) override;
   content::SpeechRecognitionManagerDelegate*
   CreateSpeechRecognitionManagerDelegate() override;
   content::TtsControllerDelegate* GetTtsControllerDelegate() override;
@@ -107,7 +105,6 @@ class AtomBrowserClient : public content::ContentBrowserClient,
       const GURL& request_url,
       bool is_main_frame_request,
       bool strict_enforcement,
-      bool expired_previous_decision,
       const base::Callback<void(content::CertificateRequestResultType)>&
           callback) override;
   base::OnceClosure SelectClientCertificate(

+ 0 - 5
shell/browser/browser_process_impl.cc

@@ -271,11 +271,6 @@ BrowserProcessImpl::CachedDefaultWebClientState() {
   return shell_integration::UNKNOWN_DEFAULT;
 }
 
-prefs::InProcessPrefServiceFactory* BrowserProcessImpl::pref_service_factory()
-    const {
-  return nullptr;
-}
-
 void BrowserProcessImpl::SetApplicationLocale(const std::string& locale) {
   locale_ = locale;
 }

+ 0 - 1
shell/browser/browser_process_impl.h

@@ -92,7 +92,6 @@ class BrowserProcessImpl : public BrowserProcess {
   resource_coordinator::TabManager* GetTabManager() override;
   shell_integration::DefaultWebClientState CachedDefaultWebClientState()
       override;
-  prefs::InProcessPrefServiceFactory* pref_service_factory() const override;
   void CreateDevToolsProtocolHandler() override {}
   void CreateDevToolsAutoOpener() override {}
   void set_background_mode_manager_for_test(

+ 9 - 4
shell/browser/login_handler.cc

@@ -23,8 +23,7 @@ namespace electron {
 LoginHandler::LoginHandler(net::URLRequest* request,
                            const net::AuthChallengeInfo& auth_info,
                            net::NetworkDelegate::AuthCallback callback,
-                           net::AuthCredentials* credentials,
-                           content::ResourceRequestInfo* resource_request_info)
+                           net::AuthCredentials* credentials)
     : credentials_(credentials),
       auth_info_(std::make_unique<net::AuthChallengeInfo>(auth_info)),
       auth_callback_(std::move(callback)),
@@ -35,8 +34,11 @@ LoginHandler::LoginHandler(net::URLRequest* request,
       new base::DictionaryValue);
   FillRequestDetails(request_details.get(), request);
 
-  web_contents_getter_ =
-      resource_request_info->GetWebContentsGetterForRequest();
+  // TODO(deepak1556): fix with network service
+  // tracking issue: #19602
+  CHECK(false) << "fix with network service";
+  // web_contents_getter_ =
+  //     resource_request_info->GetWebContentsGetterForRequest();
 
   base::PostTaskWithTraits(
       FROM_HERE, {BrowserThread::UI},
@@ -72,6 +74,9 @@ void LoginHandler::NotifyRequestDestroyed() {
 
 content::WebContents* LoginHandler::GetWebContents() const {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
+  // TODO(deepak1556): fix with network service
+  // tracking issue: #19602
+  CHECK(false) << "fix with network service";
   return web_contents_getter_.Run();
 }
 

+ 2 - 3
shell/browser/login_handler.h

@@ -12,7 +12,7 @@
 #include "base/memory/weak_ptr.h"
 #include "base/sequenced_task_runner_helpers.h"
 #include "base/strings/string16.h"
-#include "content/public/browser/resource_request_info.h"
+#include "content/public/browser/web_contents.h"
 #include "net/base/network_delegate.h"
 
 namespace content {
@@ -27,8 +27,7 @@ class LoginHandler : public base::RefCountedThreadSafe<LoginHandler> {
   LoginHandler(net::URLRequest* request,
                const net::AuthChallengeInfo& auth_info,
                net::NetworkDelegate::AuthCallback callback,
-               net::AuthCredentials* credentials,
-               content::ResourceRequestInfo* resource_request_info);
+               net::AuthCredentials* credentials);
 
   // The auth is cancelled, must be called on UI thread.
   void CancelAuth();

+ 1 - 1
shell/browser/native_window_mac.mm

@@ -335,7 +335,7 @@ NativeWindowMac::NativeWindowMac(const mate::Dictionary& options,
   params.delegate = this;
   params.type = views::Widget::InitParams::TYPE_WINDOW;
   params.native_widget = new AtomNativeWidgetMac(this, styleMask, widget());
-  widget()->Init(params);
+  widget()->Init(std::move(params));
   window_ = static_cast<AtomNSWindow*>(
       widget()->GetNativeWindow().GetNativeNSWindow());
 

+ 1 - 1
shell/browser/native_window_views.cc

@@ -199,7 +199,7 @@ NativeWindowViews::NativeWindowViews(const mate::Dictionary& options,
   params.wm_class_class = name;
 #endif
 
-  widget()->Init(params);
+  widget()->Init(std::move(params));
 
   bool fullscreen = false;
   options.Get(options::kFullscreen, &fullscreen);

+ 5 - 2
shell/browser/osr/osr_render_widget_host_view.cc

@@ -276,7 +276,8 @@ OffScreenRenderWidgetHostView::~OffScreenRenderWidgetHostView() {
   // Marking the DelegatedFrameHost as removed from the window hierarchy is
   // necessary to remove all connections to its old ui::Compositor.
   if (is_showing_)
-    delegated_frame_host_->WasHidden();
+    delegated_frame_host_->WasHidden(
+        content::DelegatedFrameHost::HiddenCause::kOther);
   delegated_frame_host_->DetachFromCompositor();
 
   delegated_frame_host_.reset(NULL);
@@ -397,7 +398,9 @@ void OffScreenRenderWidgetHostView::Hide() {
   if (render_widget_host_)
     render_widget_host_->WasHidden();
 
-  GetDelegatedFrameHost()->WasHidden();
+  // TODO(deermichel): correct or kOther?
+  GetDelegatedFrameHost()->WasHidden(
+      content::DelegatedFrameHost::HiddenCause::kOccluded);
   GetDelegatedFrameHost()->DetachFromCompositor();
 
   is_showing_ = false;

+ 2 - 1
shell/browser/ui/views/autofill_popup_view.cc

@@ -5,6 +5,7 @@
 #include "shell/browser/ui/views/autofill_popup_view.h"
 
 #include <memory>
+#include <utility>
 
 #include "base/bind.h"
 #include "base/i18n/rtl.h"
@@ -75,7 +76,7 @@ void AutofillPopupView::Show() {
     params.delegate = this;
     params.parent = parent_widget_->GetNativeView();
     params.z_order = ui::ZOrderLevel::kFloatingUIElement;
-    widget->Init(params);
+    widget->Init(std::move(params));
 
     // No animation for popup appearance (too distracting).
     widget->SetVisibilityAnimationTransition(views::Widget::ANIMATE_HIDE);

+ 3 - 1
shell/browser/ui/views/inspectable_web_contents_view_views.cc

@@ -4,6 +4,8 @@
 
 #include "shell/browser/ui/views/inspectable_web_contents_view_views.h"
 
+#include <utility>
+
 #include "base/strings/utf_string_conversions.h"
 #include "shell/browser/ui/inspectable_web_contents_delegate.h"
 #include "shell/browser/ui/inspectable_web_contents_impl.h"
@@ -191,7 +193,7 @@ void InspectableWebContentsViewViews::SetIsDocked(bool docked, bool activate) {
                                               &params.wm_class_class);
 #endif
 
-    devtools_window_->Init(params);
+    devtools_window_->Init(std::move(params));
     devtools_window_->UpdateWindowIcon();
   }
 

+ 5 - 4
shell/browser/ui/win/atom_desktop_native_widget_aura.cc

@@ -4,6 +4,8 @@
 
 #include "shell/browser/ui/win/atom_desktop_native_widget_aura.h"
 
+#include <utility>
+
 #include "shell/browser/ui/win/atom_desktop_window_tree_host_win.h"
 #include "ui/views/corewm/tooltip_controller.h"
 #include "ui/wm/public/tooltip_client.h"
@@ -20,13 +22,12 @@ AtomDesktopNativeWidgetAura::AtomDesktopNativeWidgetAura(
 }
 
 void AtomDesktopNativeWidgetAura::InitNativeWidget(
-    const views::Widget::InitParams& params) {
-  views::Widget::InitParams modified_params = params;
+    views::Widget::InitParams params) {
   desktop_window_tree_host_ = new AtomDesktopWindowTreeHostWin(
       native_window_view_,
       static_cast<views::DesktopNativeWidgetAura*>(params.native_widget));
-  modified_params.desktop_window_tree_host = desktop_window_tree_host_;
-  views::DesktopNativeWidgetAura::InitNativeWidget(modified_params);
+  params.desktop_window_tree_host = desktop_window_tree_host_;
+  views::DesktopNativeWidgetAura::InitNativeWidget(std::move(params));
 }
 
 void AtomDesktopNativeWidgetAura::Activate() {

+ 1 - 1
shell/browser/ui/win/atom_desktop_native_widget_aura.h

@@ -19,7 +19,7 @@ class AtomDesktopNativeWidgetAura : public views::DesktopNativeWidgetAura {
   explicit AtomDesktopNativeWidgetAura(NativeWindowViews* native_window_view);
 
   // views::DesktopNativeWidgetAura:
-  void InitNativeWidget(const views::Widget::InitParams& params) override;
+  void InitNativeWidget(views::Widget::InitParams params) override;
 
   // internal::NativeWidgetPrivate:
   void Activate() override;

+ 3 - 1
shell/browser/ui/win/notify_icon.cc

@@ -4,6 +4,8 @@
 
 #include "shell/browser/ui/win/notify_icon.h"
 
+#include <utility>
+
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/win/windows_version.h"
@@ -215,7 +217,7 @@ void NotifyIcon::PopUpContextMenu(const gfx::Point& pos,
   params.force_software_compositing = true;
   params.z_order = ui::ZOrderLevel::kFloatingUIElement;
 
-  widget_->Init(params);
+  widget_->Init(std::move(params));
 
   widget_->Show();
   widget_->Activate();

+ 18 - 6
shell/utility/atom_content_utility_client.cc

@@ -20,13 +20,13 @@
 #include "services/service_manager/sandbox/switches.h"
 
 #if BUILDFLAG(ENABLE_PRINTING)
-#include "chrome/services/printing/printing_service.h"
-#include "chrome/services/printing/public/mojom/constants.mojom.h"
 #include "components/services/pdf_compositor/public/cpp/pdf_compositor_service_factory.h"
 #include "components/services/pdf_compositor/public/mojom/pdf_compositor.mojom.h"
 
 #if defined(OS_WIN)
 #include "chrome/services/printing/pdf_to_emf_converter_factory.h"
+#include "chrome/services/printing/printing_service.h"
+#include "chrome/services/printing/public/mojom/printing_service.mojom.h"
 #include "chrome/utility/printing_handler.h"
 #endif  // defined(OS_WIN)
 
@@ -43,6 +43,13 @@ void RunServiceAsyncThenTerminateProcess(
       base::BindOnce([] { content::UtilityThread::Get()->ReleaseProcess(); }));
 }
 
+#if BUILDFLAG(ENABLE_PRINTING) && defined(OS_WIN)
+auto RunPrintingService(
+    mojo::PendingReceiver<printing::mojom::PrintingService> receiver) {
+  return std::make_unique<printing::PrintingService>(std::move(receiver));
+}
+#endif
+
 auto RunProxyResolver(
     mojo::PendingReceiver<proxy_resolver::mojom::ProxyResolverFactory>
         receiver) {
@@ -119,6 +126,15 @@ bool AtomContentUtilityClient::HandleServiceRequest(
   return false;
 }
 
+mojo::ServiceFactory* AtomContentUtilityClient::GetMainThreadServiceFactory() {
+  static base::NoDestructor<mojo::ServiceFactory> factory {
+#if BUILDFLAG(ENABLE_PRINTING) && defined(OS_WIN)
+    RunPrintingService
+#endif
+  };
+  return factory.get();
+}
+
 mojo::ServiceFactory* AtomContentUtilityClient::GetIOThreadServiceFactory() {
   static base::NoDestructor<mojo::ServiceFactory> factory{RunProxyResolver};
   return factory.get();
@@ -132,10 +148,6 @@ AtomContentUtilityClient::MaybeCreateMainThreadService(
   if (service_name == printing::mojom::kServiceName) {
     return printing::CreatePdfCompositorService(std::move(request));
   }
-
-  if (service_name == printing::mojom::kChromePrintingServiceName) {
-    return std::make_unique<printing::PrintingService>(std::move(request));
-  }
 #endif
 
   return nullptr;

+ 1 - 0
shell/utility/atom_content_utility_client.h

@@ -29,6 +29,7 @@ class AtomContentUtilityClient : public content::ContentUtilityClient {
   bool HandleServiceRequest(
       const std::string& service_name,
       service_manager::mojom::ServiceRequest request) override;
+  mojo::ServiceFactory* GetMainThreadServiceFactory() override;
   mojo::ServiceFactory* GetIOThreadServiceFactory() override;
 
  private: