Browse Source

chore: bump chromium to 1e9f9a24aa12 (master) (#17880)

* chore: bump chromium in DEPS to 1e9f9a24aa12bea9cf194a82a7e249bd1242ec4f

* chore: update patches

* Make WebContents' theme color a base::Optional<SkColor>

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

* update autofill patch for incorrect header includes

* Move Shell messages to web_test and rename to BlinkTest.

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

* Make PlatformNotificationServiceImpl a KeyedService.

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

* Move MediaPlayerId to its own file.

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

* Remove net/base/completion_callback.h, which is no longer used

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

* AW NS: support file scheme cookies

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

* Remove SecurityInfo and adapt remaining consumers

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

* Remove deprecated type-specific number to string conversion functions

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

* DevTools: Adding new performance histograms for launch of top 4 tools

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

* Update include paths for //base/hash/hash.h

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

* build: Disable ensure_gn_version gclient hook for mac CI checkout

* update patches

* use maybe version of v8::String::NewFromTwoByte

* bump appveyor image version

* fix mac ci hopefully

* Convert enum to enum class for MenuAnchorPosition

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

* use maybe version of ToObject

* RenderViewHost::GetProcess is no longer const

* Unrefcount AuthChallengeInfo

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

* MenuButtonController takes Button rather than MenuButton

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

* add //ui/views_bridge_mac to deps to fix link error

* forward declare views::Button in atom::MenuDelegate

* more v8 patches

* base/{=> hash}/md5.h

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

* gfx::{PlatformFontWin => win}::*

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

* fix v8 patches

* [base] Rename TaskScheduler to ThreadPool

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

* use internal_config_base for bytecode_builtins_list_generator

avoids windows link errors

* FIXME: temporarily disable v8/breakpad integration

* FIXME: temporarily disable prevent-will-redirect test

* FIXME: disable neon on aarch64 pending crbug.com/953815

* update to account for WebCursor refactor

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

* enable stack dumping on appveyor

* Revert "FIXME: disable neon on aarch64 pending crbug.com/953815"

This reverts commit 57f082026be3d83069f2a2814684abf4dc9e7b53.

* fix: remove const qualifiers to match upstream

* fix: remove const qualifiers to match upstream in cc files as well

* don't throw an error when testing if an object is an object

* use non-deprecated Buffer constructor

* Remove net::CookieSameSite::DEFAULT_MODE enum value

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

* depend on modded dbus-native to work around buffer deprecation

https://github.com/sidorares/dbus-native/pull/262

* revert clang roll to fix arm build on linux

* fixup! depend on modded dbus-native to work around buffer deprecation

need more coffee

* update coffee-script

* robustify verify-mksnapshot w.r.t. command-line parameters

* Revert "robustify verify-mksnapshot w.r.t. command-line parameters"

This reverts commit a49af01411f684f6025528d604895c3696e0bc57.

* fix mksnapshot by matching args

* update patches

* TMP: enable rdp on appveyor

* Changed ContentBrowserClient::CreateQuotaPermissionContext() to return scoped_refptr.

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

* Make content::ResourceType an enum class.

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

* fixup! Make content::ResourceType an enum class.

* turn off rdp

* use net::CompletionRepeatingCallback instead of base::Callback<void(int)>

* remove disable_ensure_gn_version_gclient_hook.patch

* copy repeating callback instead of std::move

* fix lint

* add completion_repeating_callback.h include
Electron Bot 6 years ago
parent
commit
716cb28430
100 changed files with 474 additions and 446 deletions
  1. 1 0
      BUILD.gn
  2. 1 1
      DEPS
  3. 8 3
      appveyor.yml
  4. 5 5
      atom/app/node_main.cc
  5. 5 5
      atom/browser/api/atom_api_app.cc
  6. 4 3
      atom/browser/api/atom_api_app.h
  7. 1 1
      atom/browser/api/atom_api_cookies.cc
  8. 2 2
      atom/browser/api/atom_api_desktop_capturer.cc
  9. 1 1
      atom/browser/api/atom_api_menu_views.cc
  10. 5 3
      atom/browser/api/atom_api_session.cc
  11. 0 1
      atom/browser/api/atom_api_session.h
  12. 4 3
      atom/browser/api/atom_api_top_level_window.cc
  13. 2 2
      atom/browser/api/atom_api_url_request.cc
  14. 1 2
      atom/browser/api/atom_api_url_request.h
  15. 9 9
      atom/browser/api/atom_api_web_contents.cc
  16. 3 3
      atom/browser/api/atom_api_web_contents.h
  17. 3 2
      atom/browser/atom_browser_client.cc
  18. 4 3
      atom/browser/atom_browser_client.h
  19. 4 4
      atom/browser/atom_browser_main_parts.cc
  20. 1 1
      atom/browser/browser_mac.mm
  21. 2 3
      atom/browser/common_web_contents_delegate.cc
  22. 1 1
      atom/browser/io_thread.cc
  23. 1 1
      atom/browser/javascript_environment.cc
  24. 1 1
      atom/browser/login_handler.cc
  25. 3 1
      atom/browser/login_handler.h
  26. 7 7
      atom/browser/net/atom_network_delegate.cc
  27. 3 3
      atom/browser/net/atom_url_request.cc
  28. 2 2
      atom/browser/net/atom_url_request.h
  29. 1 1
      atom/browser/net/url_request_buffer_job.cc
  30. 1 1
      atom/browser/net/url_request_context_getter.cc
  31. 1 1
      atom/browser/net/url_request_stream_job.cc
  32. 3 13
      atom/browser/notifications/platform_notification_service.cc
  33. 5 15
      atom/browser/notifications/platform_notification_service.h
  34. 1 1
      atom/browser/notifications/win/notification_presenter_win.cc
  35. 8 10
      atom/browser/osr/osr_render_widget_host_view.cc
  36. 8 8
      atom/browser/osr/osr_render_widget_host_view.h
  37. 2 0
      atom/browser/ui/inspectable_web_contents_impl.h
  38. 1 1
      atom/browser/ui/views/menu_bar.cc
  39. 3 2
      atom/browser/ui/views/menu_bar.h
  40. 4 3
      atom/browser/ui/views/menu_delegate.cc
  41. 3 2
      atom/browser/ui/views/menu_delegate.h
  42. 2 1
      atom/browser/ui/win/notify_icon.cc
  43. 2 2
      atom/browser/web_contents_preferences.cc
  44. 1 1
      atom/common/api/api_messages.h
  45. 1 1
      atom/common/api/atom_api_v8_util.cc
  46. 5 2
      atom/common/crash_reporter/crash_reporter_win.cc
  47. 1 1
      atom/common/crash_reporter/win/crash_service.cc
  48. 7 7
      atom/common/native_mate_converters/net_converter.cc
  49. 2 2
      atom/common/native_mate_converters/net_converter.h
  50. 3 2
      atom/common/native_mate_converters/string16_converter.h
  51. 10 6
      atom/renderer/atom_sandboxed_renderer_client.cc
  52. 6 4
      atom/renderer/electron_api_service_impl.cc
  53. 3 0
      build/args/all.gn
  54. 3 2
      patches/common/chromium/.patches
  55. 4 4
      patches/common/chromium/accelerator.patch
  56. 2 2
      patches/common/chromium/add_realloc.patch
  57. 2 2
      patches/common/chromium/allow_webview_file_url.patch
  58. 14 2
      patches/common/chromium/autofill_size_calculation.patch
  59. 3 3
      patches/common/chromium/blink-worker-enable-csp-in-file-scheme.patch
  60. 4 4
      patches/common/chromium/blink_file_path.patch
  61. 2 2
      patches/common/chromium/blink_initialization_order.patch
  62. 3 3
      patches/common/chromium/blink_local_frame.patch
  63. 6 6
      patches/common/chromium/blink_world_context.patch
  64. 1 1
      patches/common/chromium/boringssl_build_gn.patch
  65. 2 2
      patches/common/chromium/browser_compositor_mac.patch
  66. 2 2
      patches/common/chromium/build_gn.patch
  67. 17 17
      patches/common/chromium/can_create_window.patch
  68. 2 2
      patches/common/chromium/command-ismediakey.patch
  69. 2 2
      patches/common/chromium/content_allow_embedder_to_prevent_locking_scheme_registry.patch
  70. 2 2
      patches/common/chromium/content_browser_main_loop.patch
  71. 5 5
      patches/common/chromium/cross_site_document_resource_handler.patch
  72. 3 3
      patches/common/chromium/dcheck.patch
  73. 2 2
      patches/common/chromium/desktop_media_list.patch
  74. 3 3
      patches/common/chromium/disable-redraw-lock.patch
  75. 46 46
      patches/common/chromium/disable_color_correct_rendering.patch
  76. 0 20
      patches/common/chromium/disable_custom_libcxx_on_windows.patch
  77. 1 1
      patches/common/chromium/disable_detach_webview_frame.patch
  78. 3 3
      patches/common/chromium/disable_hidden.patch
  79. 2 2
      patches/common/chromium/disable_network_services_by_default.patch
  80. 2 2
      patches/common/chromium/disable_user_gesture_requirement_for_beforeunload_dialogs.patch
  81. 2 2
      patches/common/chromium/dom_storage_limits.patch
  82. 2 2
      patches/common/chromium/exclude-a-few-test-files-from-build.patch
  83. 2 2
      patches/common/chromium/fix_disable_usage_of_setapplicationisdaemon_and.patch
  84. 0 25
      patches/common/chromium/fix_retain_compatibility_with_msvc.patch
  85. 7 7
      patches/common/chromium/frame_host_manager.patch
  86. 2 2
      patches/common/chromium/gin_enable_disable_v8_platform.patch
  87. 2 2
      patches/common/chromium/gritsettings_resource_ids.patch
  88. 1 1
      patches/common/chromium/ignore_rc_check.patch
  89. 23 0
      patches/common/chromium/ipc_message_start.patch
  90. 1 1
      patches/common/chromium/isolate_holder.patch
  91. 5 5
      patches/common/chromium/mas_blink_no_private_api.patch
  92. 19 19
      patches/common/chromium/mas_no_private_api.patch
  93. 5 5
      patches/common/chromium/no_cache_storage_check.patch
  94. 32 28
      patches/common/chromium/notification_provenance.patch
  95. 2 2
      patches/common/chromium/out_of_process_instance.patch
  96. 25 0
      patches/common/chromium/patch_the_ensure_gn_version_py_script_to_work_on_mac_ci.patch
  97. 24 24
      patches/common/chromium/printing.patch
  98. 6 6
      patches/common/chromium/render_widget_host_view_base.patch
  99. 5 5
      patches/common/chromium/render_widget_host_view_mac.patch
  100. 3 3
      patches/common/chromium/resource_file_conflict.patch

+ 1 - 0
BUILD.gn

@@ -547,6 +547,7 @@ static_library("electron_lib") {
     deps += [
       "//third_party/crashpad/crashpad/client",
       "//ui/accelerated_widget_mac",
+      "//ui/views_bridge_mac",
     ]
     sources += [
       "atom/browser/ui/views/autofill_popup_view.cc",

+ 1 - 1
DEPS

@@ -10,7 +10,7 @@ gclient_gn_args = [
 
 vars = {
   'chromium_version':
-    '75.0.3740.3',
+    '1e9f9a24aa12bea9cf194a82a7e249bd1242ec4f',
   'node_version':
     '2dc0f8811b2b295c08d797b8a11b030234c98502',
 

+ 8 - 3
appveyor.yml

@@ -23,13 +23,18 @@
 # https://www.appveyor.com/docs/build-configuration/#secure-variables
 # https://www.appveyor.com/docs/build-configuration/#custom-environment-variables
 
+# Uncomment these lines to enable RDP
+#on_finish:
+#  - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
+
 version: 1.0.{build}
 build_cloud: libcc-20
-image: libcc-20-vs2017-15.7.4
+image: libcc-20-vs2017-15.9
 environment:
   GIT_CACHE_PATH: C:\Users\electron\libcc_cache
   DISABLE_CRASH_REPORTER_TESTS: true
   ELECTRON_OUT_DIR: Default
+  ELECTRON_ENABLE_STACK_DUMPING: 1
 build_script:
   - ps: >-
       if(($env:APPVEYOR_PULL_REQUEST_HEAD_REPO_NAME -split "/")[0] -eq ($env:APPVEYOR_REPO_NAME -split "/")[0]) {
@@ -38,7 +43,7 @@ build_script:
   - echo "Building $env:GN_CONFIG build"
   - git config --global core.longpaths true
   - cd ..
-  - md src
+  - ps: if (Test-Path src\electron) { Remove-Item src\electron -Recurse }
   - ps: Move-Item $env:APPVEYOR_BUILD_FOLDER -Destination src\electron
   - ps: $env:CHROMIUM_BUILDTOOLS_PATH="$pwd\src\buildtools"
   - ps: $env:SCCACHE_PATH="$pwd\src\electron\external_binaries\sccache.exe"
@@ -52,7 +57,7 @@ build_script:
       --unmanaged
       %GCLIENT_EXTRA_ARGS%
       "https://github.com/electron/electron"
-  - gclient sync --with_branch_heads --with_tags
+  - gclient sync --with_branch_heads --with_tags --reset
   - cd src
   - ps: $env:BUILD_CONFIG_PATH="//electron/build/args/%GN_CONFIG%.gn"
   - gn gen out/Default "--args=import(\"%BUILD_CONFIG_PATH%\") %GN_EXTRA_ARGS%"

+ 5 - 5
atom/app/node_main.cc

@@ -18,7 +18,7 @@
 #include "atom/common/node_includes.h"
 #include "base/command_line.h"
 #include "base/feature_list.h"
-#include "base/task/task_scheduler/task_scheduler.h"
+#include "base/task/thread_pool/thread_pool.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "gin/array_buffer.h"
 #include "gin/public/isolate_holder.h"
@@ -48,7 +48,7 @@ int NodeMain(int argc, char* argv[]) {
     gin::V8Initializer::LoadV8Natives();
 
     // V8 requires a task scheduler apparently
-    base::TaskScheduler::CreateAndStartWithDefaultParams("Electron");
+    base::ThreadPool::CreateAndStartWithDefaultParams("Electron");
 
     // Initialize gin::IsolateHolder.
     JavascriptEnvironment gin_env(loop);
@@ -112,10 +112,10 @@ int NodeMain(int argc, char* argv[]) {
 
   // According to "src/gin/shell/gin_main.cc":
   //
-  // gin::IsolateHolder waits for tasks running in TaskScheduler in its
-  // destructor and thus must be destroyed before TaskScheduler starts skipping
+  // gin::IsolateHolder waits for tasks running in ThreadPool in its
+  // destructor and thus must be destroyed before ThreadPool starts skipping
   // CONTINUE_ON_SHUTDOWN tasks.
-  base::TaskScheduler::GetInstance()->Shutdown();
+  base::ThreadPool::GetInstance()->Shutdown();
 
   v8::V8::Dispose();
 

+ 5 - 5
atom/browser/api/atom_api_app.cc

@@ -672,7 +672,7 @@ void App::OnLogin(scoped_refptr<LoginHandler> login_handler,
   if (web_contents) {
     prevent_default = Emit(
         "login", WebContents::FromOrCreate(isolate(), web_contents),
-        request_details, login_handler->auth_info(),
+        request_details, *login_handler->auth_info(),
         base::Bind(&PassLoginInformation, base::RetainedRef(login_handler)));
   }
 
@@ -1056,7 +1056,7 @@ Browser::LoginItemSettings App::GetLoginItemSettings(mate::Arguments* args) {
 
 #if defined(USE_NSS_CERTS)
 void App::ImportCertificate(const base::DictionaryValue& options,
-                            const net::CompletionCallback& callback) {
+                            net::CompletionRepeatingCallback callback) {
   auto browser_context = AtomBrowserContext::From("", false);
   if (!certificate_manager_model_) {
     auto copy = base::DictionaryValue::From(
@@ -1069,17 +1069,17 @@ void App::ImportCertificate(const base::DictionaryValue& options,
   }
 
   int rv = ImportIntoCertStore(certificate_manager_model_.get(), options);
-  callback.Run(rv);
+  std::move(callback).Run(rv);
 }
 
 void App::OnCertificateManagerModelCreated(
     std::unique_ptr<base::DictionaryValue> options,
-    const net::CompletionCallback& callback,
+    net::CompletionOnceCallback callback,
     std::unique_ptr<CertificateManagerModel> model) {
   certificate_manager_model_ = std::move(model);
   int rv =
       ImportIntoCertStore(certificate_manager_model_.get(), *(options.get()));
-  callback.Run(rv);
+  std::move(callback).Run(rv);
 }
 #endif
 

+ 4 - 3
atom/browser/api/atom_api_app.h

@@ -27,7 +27,8 @@
 #include "content/public/browser/render_process_host.h"
 #include "native_mate/dictionary.h"
 #include "native_mate/handle.h"
-#include "net/base/completion_callback.h"
+#include "net/base/completion_once_callback.h"
+#include "net/base/completion_repeating_callback.h"
 #include "net/ssl/client_cert_identity.h"
 
 #if defined(USE_NSS_CERTS)
@@ -78,7 +79,7 @@ class App : public AtomBrowserClient::Delegate,
 #if defined(USE_NSS_CERTS)
   void OnCertificateManagerModelCreated(
       std::unique_ptr<base::DictionaryValue> options,
-      const net::CompletionCallback& callback,
+      net::CompletionOnceCallback callback,
       std::unique_ptr<CertificateManagerModel> model);
 #endif
 
@@ -199,7 +200,7 @@ class App : public AtomBrowserClient::Delegate,
   Browser::LoginItemSettings GetLoginItemSettings(mate::Arguments* args);
 #if defined(USE_NSS_CERTS)
   void ImportCertificate(const base::DictionaryValue& options,
-                         const net::CompletionCallback& callback);
+                         net::CompletionRepeatingCallback callback);
 #endif
   v8::Local<v8::Promise> GetFileIcon(const base::FilePath& path,
                                      mate::Arguments* args);

+ 1 - 1
atom/browser/api/atom_api_cookies.cc

@@ -283,7 +283,7 @@ void SetCookieOnIO(scoped_refptr<net::URLRequestContextGetter> getter,
       net::CanonicalCookie::CreateSanitizedCookie(
           url, name, value, domain, path, creation_time, expiration_time,
           last_access_time, secure, http_only,
-          net::CookieSameSite::DEFAULT_MODE, net::COOKIE_PRIORITY_DEFAULT));
+          net::CookieSameSite::NO_RESTRICTION, net::COOKIE_PRIORITY_DEFAULT));
   auto completion_callback = base::BindOnce(OnSetCookie, std::move(promise));
   if (!canonical_cookie || !canonical_cookie->IsCanonical()) {
     std::move(completion_callback)

+ 2 - 2
atom/browser/api/atom_api_desktop_capturer.cc

@@ -176,13 +176,13 @@ void DesktopCapturer::UpdateSourcesList(DesktopMediaList* list) {
         const int64_t device_id =
             display::win::DisplayInfo::DeviceIdFromDeviceName(
                 wide_device_name.c_str());
-        source.display_id = base::Int64ToString(device_id);
+        source.display_id = base::NumberToString(device_id);
       }
     }
 #elif defined(OS_MACOSX)
     // On Mac, the IDs across the APIs match.
     for (auto& source : screen_sources) {
-      source.display_id = base::Int64ToString(source.media_list_source.id.id);
+      source.display_id = base::NumberToString(source.media_list_source.id.id);
     }
 #endif  // defined(OS_WIN)
     // TODO(ajmacd): Add Linux support. The IDs across APIs differ but Chrome

+ 1 - 1
atom/browser/api/atom_api_menu_views.cc

@@ -52,7 +52,7 @@ void MenuViews::PopupAt(TopLevelWindow* window,
       std::make_unique<MenuRunner>(model(), flags, close_callback);
   menu_runners_[window_id]->RunMenuAt(
       native_window->widget(), NULL, gfx::Rect(location, gfx::Size()),
-      views::MENU_ANCHOR_TOPLEFT, ui::MENU_SOURCE_MOUSE);
+      views::MenuAnchorPosition::kTopLeft, ui::MENU_SOURCE_MOUSE);
 }
 
 void MenuViews::ClosePopupAt(int32_t window_id) {

+ 5 - 3
atom/browser/api/atom_api_session.cc

@@ -48,6 +48,7 @@
 #include "content/public/browser/storage_partition.h"
 #include "native_mate/dictionary.h"
 #include "native_mate/object_template_builder.h"
+#include "net/base/completion_repeating_callback.h"
 #include "net/base/load_flags.h"
 #include "net/disk_cache/disk_cache.h"
 #include "net/dns/host_cache.h"  // nogncheck
@@ -268,7 +269,7 @@ void DoCacheActionInIO(
   // Call GetBackend and make the backend's ptr accessable in OnGetBackend.
   using BackendPtr = disk_cache::Backend*;
   auto** backend_ptr = new BackendPtr(nullptr);
-  net::CompletionCallback on_get_backend =
+  net::CompletionRepeatingCallback on_get_backend =
       base::Bind(&OnGetBackend, base::Owned(backend_ptr), action,
                  util::CopyablePromise(promise));
   int rv = http_cache->GetBackend(backend_ptr, on_get_backend);
@@ -365,8 +366,9 @@ void DestroyGlobalHandle(v8::Isolate* isolate,
   v8::HandleScope handle_scope(isolate);
   if (!global_handle.IsEmpty()) {
     v8::Local<v8::Value> local_handle = global_handle.Get(isolate);
-    if (local_handle->IsObject()) {
-      v8::Local<v8::Object> object = local_handle->ToObject(isolate);
+    v8::Local<v8::Object> object;
+    if (local_handle->IsObject() &&
+        local_handle->ToObject(isolate->GetCurrentContext()).ToLocal(&object)) {
       void* ptr = object->GetAlignedPointerFromInternalField(0);
       if (!ptr)
         return;

+ 0 - 1
atom/browser/api/atom_api_session.h

@@ -15,7 +15,6 @@
 #include "base/values.h"
 #include "content/public/browser/download_manager.h"
 #include "native_mate/handle.h"
-#include "net/base/completion_callback.h"
 
 class GURL;
 

+ 4 - 3
atom/browser/api/atom_api_top_level_window.cc

@@ -648,10 +648,11 @@ void TopLevelWindow::SetFocusable(bool focusable) {
 }
 
 void TopLevelWindow::SetMenu(v8::Isolate* isolate, v8::Local<v8::Value> value) {
+  auto context = isolate->GetCurrentContext();
   mate::Handle<Menu> menu;
-  if (value->IsObject() &&
-      gin::V8ToString(
-          isolate, value->ToObject(isolate)->GetConstructorName()) == "Menu" &&
+  v8::Local<v8::Object> object;
+  if (value->IsObject() && value->ToObject(context).ToLocal(&object) &&
+      gin::V8ToString(isolate, object->GetConstructorName()) == "Menu" &&
       mate::ConvertFromV8(isolate, value, &menu) && !menu.IsEmpty()) {
     menu_.Reset(isolate, menu.ToV8());
     window_->SetMenu(menu->model());

+ 2 - 2
atom/browser/api/atom_api_url_request.cc

@@ -354,7 +354,7 @@ void URLRequest::OnReceivedRedirect(
 }
 
 void URLRequest::OnAuthenticationRequired(
-    scoped_refptr<const net::AuthChallengeInfo> auth_info) {
+    const net::AuthChallengeInfo& auth_info) {
   if (request_state_.Canceled() || request_state_.Closed()) {
     return;
   }
@@ -364,7 +364,7 @@ void URLRequest::OnAuthenticationRequired(
     return;
   }
 
-  Emit("login", auth_info.get(),
+  Emit("login", auth_info,
        base::Bind(&AtomURLRequest::PassLoginInformation, atom_request_));
 }
 

+ 1 - 2
atom/browser/api/atom_api_url_request.h

@@ -105,8 +105,7 @@ class URLRequest : public mate::EventEmitter<URLRequest> {
       const std::string& method,
       const GURL& url,
       scoped_refptr<net::HttpResponseHeaders> response_headers);
-  void OnAuthenticationRequired(
-      scoped_refptr<const net::AuthChallengeInfo> auth_info);
+  void OnAuthenticationRequired(const net::AuthChallengeInfo& auth_info);
   void OnResponseStarted(
       scoped_refptr<net::HttpResponseHeaders> response_headers);
   void OnResponseData(scoped_refptr<const net::IOBufferWithSize> data);

+ 9 - 9
atom/browser/api/atom_api_web_contents.cc

@@ -86,6 +86,7 @@
 #include "net/url_request/url_request_context.h"
 #include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h"
 #include "third_party/blink/public/mojom/frame/find_in_page.mojom.h"
+#include "third_party/blink/public/platform/web_cursor_info.h"
 #include "third_party/blink/public/platform/web_input_event.h"
 #include "ui/display/screen.h"
 #include "ui/events/base_event_utils.h"
@@ -807,20 +808,20 @@ void WebContents::PluginCrashed(const base::FilePath& plugin_path,
 }
 
 void WebContents::MediaStartedPlaying(const MediaPlayerInfo& video_type,
-                                      const MediaPlayerId& id) {
+                                      const content::MediaPlayerId& id) {
   Emit("media-started-playing");
 }
 
 void WebContents::MediaStoppedPlaying(
     const MediaPlayerInfo& video_type,
-    const MediaPlayerId& id,
+    const content::MediaPlayerId& id,
     content::WebContentsObserver::MediaStoppedReason reason) {
   Emit("media-paused");
 }
 
-void WebContents::DidChangeThemeColor(SkColor theme_color) {
-  if (theme_color != SK_ColorTRANSPARENT) {
-    Emit("did-change-theme-color", atom::ToRGBHex(theme_color));
+void WebContents::DidChangeThemeColor(base::Optional<SkColor> theme_color) {
+  if (theme_color) {
+    Emit("did-change-theme-color", atom::ToRGBHex(theme_color.value()));
   } else {
     Emit("did-change-theme-color", nullptr);
   }
@@ -1192,7 +1193,7 @@ void WebContents::SetBackgroundThrottling(bool allowed) {
     return;
   }
 
-  const auto* render_view_host = contents->GetRenderViewHost();
+  auto* render_view_host = contents->GetRenderViewHost();
   if (!render_view_host) {
     return;
   }
@@ -1915,10 +1916,9 @@ v8::Local<v8::Promise> WebContents::CapturePage(mate::Arguments* args) {
 }
 
 void WebContents::OnCursorChange(const content::WebCursor& cursor) {
-  content::CursorInfo info;
-  cursor.GetCursorInfo(&info);
+  const content::CursorInfo& info = cursor.info();
 
-  if (cursor.IsCustom()) {
+  if (info.type == blink::WebCursorInfo::kTypeCustom) {
     Emit("cursor-changed", CursorTypeToString(info),
          gfx::Image::CreateFrom1xBitmap(info.custom_image),
          info.image_scale_factor,

+ 3 - 3
atom/browser/api/atom_api_web_contents.h

@@ -445,12 +445,12 @@ class WebContents : public mate::TrackableObject<WebContents>,
   void PluginCrashed(const base::FilePath& plugin_path,
                      base::ProcessId plugin_pid) override;
   void MediaStartedPlaying(const MediaPlayerInfo& video_type,
-                           const MediaPlayerId& id) override;
+                           const content::MediaPlayerId& id) override;
   void MediaStoppedPlaying(
       const MediaPlayerInfo& video_type,
-      const MediaPlayerId& id,
+      const content::MediaPlayerId& id,
       content::WebContentsObserver::MediaStoppedReason reason) override;
-  void DidChangeThemeColor(SkColor theme_color) override;
+  void DidChangeThemeColor(base::Optional<SkColor> theme_color) override;
   void OnInterfaceRequestFromFrame(
       content::RenderFrameHost* render_frame_host,
       const std::string& interface_name,

+ 3 - 2
atom/browser/atom_browser_client.cc

@@ -534,7 +534,7 @@ std::string AtomBrowserClient::GetGeolocationApiKey() {
   return api_key;
 }
 
-content::QuotaPermissionContext*
+scoped_refptr<content::QuotaPermissionContext>
 AtomBrowserClient::CreateQuotaPermissionContext() {
   return new AtomQuotaPermissionContext;
 }
@@ -867,7 +867,8 @@ NotificationPresenter* AtomBrowserClient::GetNotificationPresenter() {
 }
 
 content::PlatformNotificationService*
-AtomBrowserClient::GetPlatformNotificationService() {
+AtomBrowserClient::GetPlatformNotificationService(
+    content::BrowserContext* browser_context) {
   if (!notification_service_) {
     notification_service_.reset(new PlatformNotificationService(this));
   }

+ 4 - 3
atom/browser/atom_browser_client.h

@@ -90,7 +90,8 @@ class AtomBrowserClient : public content::ContentBrowserClient,
       base::CommandLine* command_line) override;
   void DidCreatePpapiPlugin(content::BrowserPpapiHost* browser_host) override;
   std::string GetGeolocationApiKey() override;
-  content::QuotaPermissionContext* CreateQuotaPermissionContext() override;
+  scoped_refptr<content::QuotaPermissionContext> CreateQuotaPermissionContext()
+      override;
   content::GeneratedCodeCacheSettings GetGeneratedCodeCacheSettings(
       content::BrowserContext* context) override;
   void AllowCertificateError(
@@ -144,8 +145,8 @@ class AtomBrowserClient : public content::ContentBrowserClient,
   net::NetLog* GetNetLog() override;
   content::MediaObserver* GetMediaObserver() override;
   content::DevToolsManagerDelegate* GetDevToolsManagerDelegate() override;
-  content::PlatformNotificationService* GetPlatformNotificationService()
-      override;
+  content::PlatformNotificationService* GetPlatformNotificationService(
+      content::BrowserContext* browser_context) override;
   content::BrowserMainParts* CreateBrowserMainParts(
       const content::MainFunctionParams&) override;
   base::FilePath GetDefaultDownloadDirectory() override;

+ 4 - 4
atom/browser/atom_browser_main_parts.cc

@@ -76,7 +76,7 @@
 #include "ui/base/l10n/l10n_util.h"
 #include "ui/base/l10n/l10n_util_win.h"
 #include "ui/display/win/dpi.h"
-#include "ui/gfx/platform_font_win.h"
+#include "ui/gfx/system_fonts_win.h"
 #include "ui/strings/grit/app_locale_settings.h"
 #endif
 
@@ -102,7 +102,7 @@ void Erase(T* container, typename T::iterator iter) {
 
 #if defined(OS_WIN)
 // gfx::Font callbacks
-void AdjustUIFont(gfx::PlatformFontWin::FontAdjustment* font_adjustment) {
+void AdjustUIFont(gfx::win::FontAdjustment* font_adjustment) {
   l10n_util::NeedOverrideDefaultUIFont(&font_adjustment->font_family_override,
                                        &font_adjustment->font_scale);
   font_adjustment->font_scale *= display::win::GetAccessibilityFontScale();
@@ -380,8 +380,8 @@ void AtomBrowserMainParts::ToolkitInitialized() {
 #endif
 
 #if defined(OS_WIN)
-  gfx::PlatformFontWin::SetAdjustFontCallback(&AdjustUIFont);
-  gfx::PlatformFontWin::SetGetMinimumFontSizeCallback(&GetMinimumFontSize);
+  gfx::win::SetAdjustFontCallback(&AdjustUIFont);
+  gfx::win::SetGetMinimumFontSizeCallback(&GetMinimumFontSize);
 
   wchar_t module_name[MAX_PATH] = {0};
   if (GetModuleFileName(NULL, module_name, MAX_PATH))

+ 1 - 1
atom/browser/browser_mac.mm

@@ -131,7 +131,7 @@ bool Browser::IsDefaultProtocolClient(const std::string& protocol,
 void Browser::SetAppUserModelID(const base::string16& name) {}
 
 bool Browser::SetBadgeCount(int count) {
-  DockSetBadgeText(count != 0 ? base::IntToString(count) : "");
+  DockSetBadgeText(count != 0 ? base::NumberToString(count) : "");
   badge_count_ = count;
   return true;
 }

+ 2 - 3
atom/browser/common_web_contents_delegate.cc

@@ -352,9 +352,8 @@ blink::WebSecurityStyle CommonWebContentsDelegate::GetSecurityStyle(
   SecurityStateTabHelper* helper =
       SecurityStateTabHelper::FromWebContents(web_contents);
   DCHECK(helper);
-  security_state::SecurityInfo security_info;
-  helper->GetSecurityInfo(&security_info);
-  return security_state::GetSecurityStyle(security_info,
+  return security_state::GetSecurityStyle(helper->GetSecurityLevel(),
+                                          *helper->GetVisibleSecurityState(),
                                           security_style_explanations);
 }
 

+ 1 - 1
atom/browser/io_thread.cc

@@ -70,5 +70,5 @@ void IOThread::CleanUp() {
     system_request_context_->proxy_resolution_service()->OnShutdown();
 
   if (net_log_)
-    net_log_->ShutDownBeforeTaskScheduler();
+    net_log_->ShutDownBeforeThreadPool();
 }

+ 1 - 1
atom/browser/javascript_environment.cc

@@ -10,7 +10,7 @@
 #include "atom/common/node_includes.h"
 #include "base/command_line.h"
 #include "base/message_loop/message_loop.h"
-#include "base/task/task_scheduler/initialization_util.h"
+#include "base/task/thread_pool/initialization_util.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "content/public/common/content_switches.h"
 #include "gin/array_buffer.h"

+ 1 - 1
atom/browser/login_handler.cc

@@ -26,7 +26,7 @@ LoginHandler::LoginHandler(net::URLRequest* request,
                            net::AuthCredentials* credentials,
                            content::ResourceRequestInfo* resource_request_info)
     : credentials_(credentials),
-      auth_info_(&auth_info),
+      auth_info_(std::make_unique<net::AuthChallengeInfo>(auth_info)),
       auth_callback_(std::move(callback)),
       weak_factory_(this) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);

+ 3 - 1
atom/browser/login_handler.h

@@ -5,6 +5,8 @@
 #ifndef ATOM_BROWSER_LOGIN_HANDLER_H_
 #define ATOM_BROWSER_LOGIN_HANDLER_H_
 
+#include <memory>
+
 #include "base/callback.h"
 #include "base/memory/ref_counted.h"
 #include "base/memory/weak_ptr.h"
@@ -57,7 +59,7 @@ class LoginHandler : public base::RefCountedThreadSafe<LoginHandler> {
   net::AuthCredentials* credentials_;
 
   // Who/where/what asked for the authentication.
-  scoped_refptr<const net::AuthChallengeInfo> auth_info_;
+  std::unique_ptr<const net::AuthChallengeInfo> auth_info_;
 
   // WebContents associated with the login request.
   content::ResourceRequestInfo::WebContentsGetter web_contents_getter_;

+ 7 - 7
atom/browser/net/atom_network_delegate.cc

@@ -29,19 +29,19 @@ namespace atom {
 
 const char* ResourceTypeToString(content::ResourceType type) {
   switch (type) {
-    case content::RESOURCE_TYPE_MAIN_FRAME:
+    case content::ResourceType::kMainFrame:
       return "mainFrame";
-    case content::RESOURCE_TYPE_SUB_FRAME:
+    case content::ResourceType::kSubFrame:
       return "subFrame";
-    case content::RESOURCE_TYPE_STYLESHEET:
+    case content::ResourceType::kStylesheet:
       return "stylesheet";
-    case content::RESOURCE_TYPE_SCRIPT:
+    case content::ResourceType::kScript:
       return "script";
-    case content::RESOURCE_TYPE_IMAGE:
+    case content::ResourceType::kImage:
       return "image";
-    case content::RESOURCE_TYPE_OBJECT:
+    case content::ResourceType::kObject:
       return "object";
-    case content::RESOURCE_TYPE_XHR:
+    case content::ResourceType::kXhr:
       return "xhr";
     default:
       return "other";

+ 3 - 3
atom/browser/net/atom_url_request.cc

@@ -347,13 +347,13 @@ void AtomURLRequest::OnReceivedRedirect(net::URLRequest* request,
 }
 
 void AtomURLRequest::OnAuthRequired(net::URLRequest* request,
-                                    net::AuthChallengeInfo* auth_info) {
+                                    const net::AuthChallengeInfo& auth_info) {
   DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
 
   base::PostTaskWithTraits(
       FROM_HERE, {content::BrowserThread::UI},
       base::BindOnce(&AtomURLRequest::InformDelegateAuthenticationRequired,
-                     this, scoped_refptr<net::AuthChallengeInfo>(auth_info)));
+                     this, auth_info));
 }
 
 void AtomURLRequest::OnResponseStarted(net::URLRequest* request,
@@ -468,7 +468,7 @@ void AtomURLRequest::InformDelegateReceivedRedirect(
 }
 
 void AtomURLRequest::InformDelegateAuthenticationRequired(
-    scoped_refptr<net::AuthChallengeInfo> auth_info) const {
+    const net::AuthChallengeInfo& auth_info) const {
   DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
   if (delegate_)
     delegate_->OnAuthenticationRequired(auth_info);

+ 2 - 2
atom/browser/net/atom_url_request.h

@@ -53,7 +53,7 @@ class AtomURLRequest : public base::RefCountedThreadSafe<AtomURLRequest>,
                           const net::RedirectInfo& info,
                           bool* defer_redirect) override;
   void OnAuthRequired(net::URLRequest* request,
-                      net::AuthChallengeInfo* auth_info) override;
+                      const net::AuthChallengeInfo& auth_info) override;
   void OnResponseStarted(net::URLRequest* request, int net_error) override;
   void OnReadCompleted(net::URLRequest* request, int bytes_read) override;
 
@@ -93,7 +93,7 @@ class AtomURLRequest : public base::RefCountedThreadSafe<AtomURLRequest>,
       const GURL& url,
       scoped_refptr<net::HttpResponseHeaders> response_headers) const;
   void InformDelegateAuthenticationRequired(
-      scoped_refptr<net::AuthChallengeInfo> auth_info) const;
+      const net::AuthChallengeInfo& auth_info) const;
   void InformDelegateResponseStarted(
       scoped_refptr<net::HttpResponseHeaders>) const;
   void InformDelegateResponseData(

+ 1 - 1
atom/browser/net/url_request_buffer_job.cc

@@ -122,7 +122,7 @@ void URLRequestBufferJob::Kill() {
 
 void URLRequestBufferJob::GetResponseInfo(net::HttpResponseInfo* info) {
   std::string status("HTTP/1.1 ");
-  status.append(base::IntToString(status_code_));
+  status.append(base::NumberToString(status_code_));
   status.append(" ");
   status.append(net::GetHttpReasonPhrase(status_code_));
   status.append("\0\0", 2);

+ 1 - 1
atom/browser/net/url_request_context_getter.cc

@@ -296,7 +296,7 @@ net::URLRequestContext* URLRequestContextGetter::GetURLRequestContext() {
     const auto& custom_standard_schemes = atom::api::GetStandardSchemes();
     cookie_schemes.insert(cookie_schemes.end(), custom_standard_schemes.begin(),
                           custom_standard_schemes.end());
-    cookie_monster->SetCookieableSchemes(cookie_schemes);
+    cookie_monster->SetCookieableSchemes(cookie_schemes, base::NullCallback());
 
     // Setup handlers for custom job factory.
     top_job_factory_.reset(new AtomURLRequestJobFactory);

+ 1 - 1
atom/browser/net/url_request_stream_job.cc

@@ -48,7 +48,7 @@ void BeforeStartInUI(base::WeakPtr<URLRequestStreamJob> job,
     status_code = 200;
   }
   std::string status("HTTP/1.1 ");
-  status.append(base::IntToString(status_code));
+  status.append(base::NumberToString(status_code));
   status.append(" ");
   status.append(
       net::GetHttpReasonPhrase(static_cast<net::HttpStatusCode>(status_code)));

+ 3 - 13
atom/browser/notifications/platform_notification_service.cc

@@ -79,7 +79,6 @@ PlatformNotificationService::~PlatformNotificationService() {}
 
 void PlatformNotificationService::DisplayNotification(
     content::RenderProcessHost* render_process_host,
-    content::BrowserContext* browser_context,
     const std::string& notification_id,
     const GURL& origin,
     const blink::PlatformNotificationData& notification_data,
@@ -100,7 +99,6 @@ void PlatformNotificationService::DisplayNotification(
 }
 
 void PlatformNotificationService::DisplayPersistentNotification(
-    content::BrowserContext* browser_context,
     const std::string& notification_id,
     const GURL& service_worker_scope,
     const GURL& origin,
@@ -108,11 +106,9 @@ void PlatformNotificationService::DisplayPersistentNotification(
     const blink::NotificationResources& notification_resources) {}
 
 void PlatformNotificationService::ClosePersistentNotification(
-    content::BrowserContext* browser_context,
     const std::string& notification_id) {}
 
 void PlatformNotificationService::CloseNotification(
-    content::BrowserContext* browser_context,
     const std::string& notification_id) {
   auto* presenter = browser_client_->GetNotificationPresenter();
   if (!presenter)
@@ -121,25 +117,19 @@ void PlatformNotificationService::CloseNotification(
 }
 
 void PlatformNotificationService::GetDisplayedNotifications(
-    content::BrowserContext* browser_context,
     DisplayedNotificationsCallback callback) {}
 
-int64_t PlatformNotificationService::ReadNextPersistentNotificationId(
-    content::BrowserContext* browser_context) {
+int64_t PlatformNotificationService::ReadNextPersistentNotificationId() {
   // Electron doesn't support persistent notifications.
   return 0;
 }
 
 void PlatformNotificationService::RecordNotificationUkmEvent(
-    content::BrowserContext* browser_context,
     const content::NotificationDatabaseData& data) {}
 
-void PlatformNotificationService::ScheduleTrigger(
-    content::BrowserContext* browser_context,
-    base::Time timestamp) {}
+void PlatformNotificationService::ScheduleTrigger(base::Time timestamp) {}
 
-base::Time PlatformNotificationService::ReadNextTriggerTimestamp(
-    content::BrowserContext* browser_context) {
+base::Time PlatformNotificationService::ReadNextTriggerTimestamp() {
   return base::Time::Max();
 }
 

+ 5 - 15
atom/browser/notifications/platform_notification_service.h

@@ -8,7 +8,6 @@
 #include <set>
 #include <string>
 
-#include "content/public/browser/browser_context.h"
 #include "content/public/browser/platform_notification_service.h"
 
 namespace atom {
@@ -25,34 +24,25 @@ class PlatformNotificationService
   // content::PlatformNotificationService:
   void DisplayNotification(
       content::RenderProcessHost* render_process_host,
-      content::BrowserContext* browser_context,
       const std::string& notification_id,
       const GURL& origin,
       const blink::PlatformNotificationData& notification_data,
       const blink::NotificationResources& notification_resources) override;
   void DisplayPersistentNotification(
-      content::BrowserContext* browser_context,
       const std::string& notification_id,
       const GURL& service_worker_scope,
       const GURL& origin,
       const blink::PlatformNotificationData& notification_data,
       const blink::NotificationResources& notification_resources) override;
-  void ClosePersistentNotification(content::BrowserContext* browser_context,
-                                   const std::string& notification_id) override;
-  void CloseNotification(content::BrowserContext* browser_context,
-                         const std::string& notification_id) override;
+  void ClosePersistentNotification(const std::string& notification_id) override;
+  void CloseNotification(const std::string& notification_id) override;
   void GetDisplayedNotifications(
-      content::BrowserContext* browser_context,
       DisplayedNotificationsCallback callback) override;
-  int64_t ReadNextPersistentNotificationId(
-      content::BrowserContext* browser_context) override;
+  int64_t ReadNextPersistentNotificationId() override;
   void RecordNotificationUkmEvent(
-      content::BrowserContext* browser_context,
       const content::NotificationDatabaseData& data) override;
-  void ScheduleTrigger(content::BrowserContext* browser_context,
-                       base::Time timestamp) override;
-  base::Time ReadNextTriggerTimestamp(
-      content::BrowserContext* browser_context) override;
+  void ScheduleTrigger(base::Time timestamp) override;
+  base::Time ReadNextTriggerTimestamp() override;
 
  private:
   AtomBrowserClient* browser_client_;

+ 1 - 1
atom/browser/notifications/win/notification_presenter_win.cc

@@ -14,7 +14,7 @@
 #include "atom/browser/notifications/win/windows_toast_notification.h"
 #include "base/environment.h"
 #include "base/files/file_util.h"
-#include "base/md5.h"
+#include "base/hash/md5.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/threading/thread_restrictions.h"
 #include "base/time/time.h"

+ 8 - 10
atom/browser/osr/osr_render_widget_host_view.cc

@@ -351,7 +351,7 @@ void OffScreenRenderWidgetHostView::SetBounds(const gfx::Rect& new_bounds) {
   SetSize(new_bounds.size());
 }
 
-gfx::NativeView OffScreenRenderWidgetHostView::GetNativeView() const {
+gfx::NativeView OffScreenRenderWidgetHostView::GetNativeView() {
   return gfx::NativeView();
 }
 
@@ -366,11 +366,11 @@ ui::TextInputClient* OffScreenRenderWidgetHostView::GetTextInputClient() {
 
 void OffScreenRenderWidgetHostView::Focus() {}
 
-bool OffScreenRenderWidgetHostView::HasFocus() const {
+bool OffScreenRenderWidgetHostView::HasFocus() {
   return false;
 }
 
-bool OffScreenRenderWidgetHostView::IsSurfaceAvailableForCopy() const {
+bool OffScreenRenderWidgetHostView::IsSurfaceAvailableForCopy() {
   return GetDelegatedFrameHost()->CanCopyFromCompositingSurface();
 }
 
@@ -411,7 +411,7 @@ void OffScreenRenderWidgetHostView::EnsureSurfaceSynchronizedForWebTest() {
   SynchronizeVisualProperties();
 }
 
-gfx::Rect OffScreenRenderWidgetHostView::GetViewBounds() const {
+gfx::Rect OffScreenRenderWidgetHostView::GetViewBounds() {
   if (IsPopupWidget())
     return popup_position_;
 
@@ -429,8 +429,7 @@ void OffScreenRenderWidgetHostView::SetBackgroundColor(SkColor color) {
   }
 }
 
-base::Optional<SkColor> OffScreenRenderWidgetHostView::GetBackgroundColor()
-    const {
+base::Optional<SkColor> OffScreenRenderWidgetHostView::GetBackgroundColor() {
   return background_color_;
 }
 
@@ -438,7 +437,7 @@ void OffScreenRenderWidgetHostView::UpdateBackgroundColor() {
   NOTREACHED();
 }
 
-gfx::Size OffScreenRenderWidgetHostView::GetVisibleViewportSize() const {
+gfx::Size OffScreenRenderWidgetHostView::GetVisibleViewportSize() {
   return size_;
 }
 
@@ -580,7 +579,7 @@ void OffScreenRenderWidgetHostView::CopyFromSurface(
 }
 
 void OffScreenRenderWidgetHostView::GetScreenInfo(
-    content::ScreenInfo* screen_info) const {
+    content::ScreenInfo* screen_info) {
   screen_info->depth = 24;
   screen_info->depth_per_component = 8;
   screen_info->orientation_angle = 0;
@@ -621,8 +620,7 @@ void OffScreenRenderWidgetHostView::ImeCompositionRangeChanged(
     const gfx::Range&,
     const std::vector<gfx::Rect>&) {}
 
-gfx::Size OffScreenRenderWidgetHostView::GetCompositorViewportPixelSize()
-    const {
+gfx::Size OffScreenRenderWidgetHostView::GetCompositorViewportPixelSize() {
   return gfx::ScaleToCeiledSize(GetRequestedRendererSize(),
                                 current_device_scale_factor_);
 }

+ 8 - 8
atom/browser/osr/osr_render_widget_host_view.h

@@ -84,22 +84,22 @@ class OffScreenRenderWidgetHostView : public content::RenderWidgetHostViewBase,
   void InitAsChild(gfx::NativeView) override;
   void SetSize(const gfx::Size&) override;
   void SetBounds(const gfx::Rect&) override;
-  gfx::NativeView GetNativeView(void) const override;
+  gfx::NativeView GetNativeView(void) override;
   gfx::NativeViewAccessible GetNativeViewAccessible(void) override;
   ui::TextInputClient* GetTextInputClient() override;
   void Focus(void) override;
-  bool HasFocus(void) const override;
+  bool HasFocus(void) override;
   uint32_t GetCaptureSequenceNumber() const override;
-  bool IsSurfaceAvailableForCopy(void) const override;
+  bool IsSurfaceAvailableForCopy(void) override;
   void Show(void) override;
   void Hide(void) override;
   bool IsShowing(void) override;
   void EnsureSurfaceSynchronizedForWebTest() override;
-  gfx::Rect GetViewBounds(void) const override;
-  gfx::Size GetVisibleViewportSize() const override;
+  gfx::Rect GetViewBounds(void) override;
+  gfx::Size GetVisibleViewportSize() override;
   void SetInsets(const gfx::Insets&) override;
   void SetBackgroundColor(SkColor color) override;
-  base::Optional<SkColor> GetBackgroundColor() const override;
+  base::Optional<SkColor> GetBackgroundColor() override;
   void UpdateBackgroundColor() override;
   bool LockMouse(void) override;
   void UnlockMouse(void) override;
@@ -139,7 +139,7 @@ class OffScreenRenderWidgetHostView : public content::RenderWidgetHostViewBase,
       const gfx::Rect& src_rect,
       const gfx::Size& output_size,
       base::OnceCallback<void(const SkBitmap&)> callback) override;
-  void GetScreenInfo(content::ScreenInfo* results) const override;
+  void GetScreenInfo(content::ScreenInfo* results) override;
   void InitAsGuest(content::RenderWidgetHostView*,
                    content::RenderWidgetHostViewGuest*) override;
   void TransformPointToRootSurface(gfx::PointF* point) override;
@@ -149,7 +149,7 @@ class OffScreenRenderWidgetHostView : public content::RenderWidgetHostViewBase,
   CreateSyntheticGestureTarget() override;
   void ImeCompositionRangeChanged(const gfx::Range&,
                                   const std::vector<gfx::Rect>&) override;
-  gfx::Size GetCompositorViewportPixelSize() const override;
+  gfx::Size GetCompositorViewportPixelSize() override;
 
   content::RenderWidgetHostViewBase* CreateViewForWidget(
       content::RenderWidgetHost*,

+ 2 - 0
atom/browser/ui/inspectable_web_contents_impl.h

@@ -143,6 +143,8 @@ class InspectableWebContentsImpl
                                  int boundary_value) override {}
   void ReadyForTest() override {}
   void SetOpenNewWindowForPopups(bool value) override {}
+  void RecordPerformanceHistogram(const std::string& name,
+                                  double duration) override {}
 
   // content::DevToolsFrontendHostDelegate:
   void HandleMessageFromDevToolsFrontend(const std::string& message);

+ 1 - 1
atom/browser/ui/views/menu_bar.cc

@@ -255,7 +255,7 @@ const char* MenuBar::GetClassName() const {
   return kViewClassName;
 }
 
-void MenuBar::OnMenuButtonClicked(views::MenuButton* source,
+void MenuBar::OnMenuButtonClicked(views::Button* source,
                                   const gfx::Point& point,
                                   const ui::Event* event) {
   // Hide the accelerator when a submenu is activated.

+ 3 - 2
atom/browser/ui/views/menu_bar.h

@@ -16,8 +16,9 @@
 #include "ui/views/view.h"
 
 namespace views {
+class Button;
 class MenuButton;
-}
+}  // namespace views
 
 namespace atom {
 
@@ -78,7 +79,7 @@ class MenuBar : public views::AccessiblePaneView,
   const char* GetClassName() const override;
 
   // views::MenuButtonListener:
-  void OnMenuButtonClicked(views::MenuButton* source,
+  void OnMenuButtonClicked(views::Button* source,
                            const gfx::Point& point,
                            const ui::Event* event) override;
   void OnNativeThemeChanged(const ui::NativeTheme* theme) override;

+ 4 - 3
atom/browser/ui/views/menu_delegate.cc

@@ -22,7 +22,7 @@ MenuDelegate::MenuDelegate(MenuBar* menu_bar)
 MenuDelegate::~MenuDelegate() {}
 
 void MenuDelegate::RunMenu(AtomMenuModel* model,
-                           views::MenuButton* button,
+                           views::Button* button,
                            ui::MenuSourceType source_type) {
   gfx::Point screen_loc;
   views::View::ConvertPointToScreen(button, &screen_loc);
@@ -43,8 +43,9 @@ void MenuDelegate::RunMenu(AtomMenuModel* model,
   menu_runner_.reset(new views::MenuRunner(
       item,
       views::MenuRunner::CONTEXT_MENU | views::MenuRunner::HAS_MNEMONICS));
-  menu_runner_->RunMenuAt(button->GetWidget()->GetTopLevelWidget(), button,
-                          bounds, views::MENU_ANCHOR_TOPRIGHT, source_type);
+  menu_runner_->RunMenuAt(button->GetWidget()->GetTopLevelWidget(),
+                          static_cast<views::MenuButton*>(button), bounds,
+                          views::MenuAnchorPosition::kTopRight, source_type);
 }
 
 void MenuDelegate::ExecuteCommand(int id) {

+ 3 - 2
atom/browser/ui/views/menu_delegate.h

@@ -13,7 +13,8 @@
 
 namespace views {
 class MenuRunner;
-}
+class Button;
+}  // namespace views
 
 namespace atom {
 
@@ -25,7 +26,7 @@ class MenuDelegate : public views::MenuDelegate {
   ~MenuDelegate() override;
 
   void RunMenu(AtomMenuModel* model,
-               views::MenuButton* button,
+               views::Button* button,
                ui::MenuSourceType source_type);
 
   class Observer {

+ 2 - 1
atom/browser/ui/win/notify_icon.cc

@@ -169,7 +169,8 @@ void NotifyIcon::PopUpContextMenu(const gfx::Point& pos,
       views::MenuRunner::CONTEXT_MENU | views::MenuRunner::HAS_MNEMONICS,
       base::Bind(&NotifyIcon::OnContextMenuClosed,
                  weak_factory_.GetWeakPtr())));
-  menu_runner_->RunMenuAt(widget_.get(), NULL, rect, views::MENU_ANCHOR_TOPLEFT,
+  menu_runner_->RunMenuAt(widget_.get(), NULL, rect,
+                          views::MenuAnchorPosition::kTopLeft,
                           ui::MENU_SOURCE_MOUSE);
 }
 

+ 2 - 2
atom/browser/web_contents_preferences.cc

@@ -335,13 +335,13 @@ void WebContentsPreferences::AppendCommandLineSwitches(
   int guest_instance_id = 0;
   if (GetAsInteger(&preference_, options::kGuestInstanceID, &guest_instance_id))
     command_line->AppendSwitchASCII(switches::kGuestInstanceID,
-                                    base::IntToString(guest_instance_id));
+                                    base::NumberToString(guest_instance_id));
 
   // Pass the opener's window id.
   int opener_id;
   if (GetAsInteger(&preference_, options::kOpenerID, &opener_id))
     command_line->AppendSwitchASCII(switches::kOpenerID,
-                                    base::IntToString(opener_id));
+                                    base::NumberToString(opener_id));
 
 #if defined(OS_MACOSX)
   // Enable scroll bounce.

+ 1 - 1
atom/common/api/api_messages.h

@@ -18,7 +18,7 @@
 // The message starter should be declared in ipc/ipc_message_start.h. Since
 // we don't want to patch Chromium, we just pretend to be Content Shell.
 
-#define IPC_MESSAGE_START ShellMsgStart
+#define IPC_MESSAGE_START ElectronMsgStart
 
 IPC_STRUCT_TRAITS_BEGIN(atom::DraggableRegion)
   IPC_STRUCT_TRAITS_MEMBER(draggable)

+ 1 - 1
atom/common/api/atom_api_v8_util.cc

@@ -11,7 +11,7 @@
 #include "atom/common/native_mate_converters/content_converter.h"
 #include "atom/common/native_mate_converters/gurl_converter.h"
 #include "atom/common/node_includes.h"
-#include "base/hash.h"
+#include "base/hash/hash.h"
 #include "native_mate/dictionary.h"
 #include "url/origin.h"
 #include "v8/include/v8-profiler.h"

+ 5 - 2
atom/common/crash_reporter/crash_reporter_win.cc

@@ -133,12 +133,14 @@ bool RegisterNonABICompliantCodeRange(void* start, size_t size_in_bytes) {
                              reinterpret_cast<DWORD64>(start));
 }
 
+/*
 void UnregisterNonABICompliantCodeRange(void* start) {
   ExceptionHandlerRecord* record =
       reinterpret_cast<ExceptionHandlerRecord*>(start);
 
   RtlDeleteFunctionTable(&record->runtime_function);
 }
+*/
 #endif  // _WIN64
 
 }  // namespace
@@ -193,8 +195,9 @@ void CrashReporterWin::InitBreakpad(const std::string& product_name,
     v8::Isolate::GetCurrent()->GetCodeRange(&code_range, &size);
     if (code_range && size &&
         RegisterNonABICompliantCodeRange(code_range, size)) {
-      gin::Debug::SetCodeRangeDeletedCallback(
-          UnregisterNonABICompliantCodeRange);
+      // FIXME(nornagon): This broke with https://crrev.com/c/1474703
+      // gin::Debug::SetCodeRangeDeletedCallback(
+      //    UnregisterNonABICompliantCodeRange);
     }
   }
 #endif

+ 1 - 1
atom/common/crash_reporter/win/crash_service.cc

@@ -92,7 +92,7 @@ bool WriteReportIDToFile(const std::wstring& dump_path,
 
   int64_t seconds_since_epoch =
       (base::Time::Now() - base::Time::UnixEpoch()).InSeconds();
-  std::wstring line = base::Int64ToString16(seconds_since_epoch);
+  std::wstring line = base::NumberToString16(seconds_since_epoch);
   line += L',';
   line += report_id;
   line += L'\n';

+ 7 - 7
atom/common/native_mate_converters/net_converter.cc

@@ -50,15 +50,15 @@ bool CertFromData(const std::string& data,
 }  // namespace
 
 // static
-v8::Local<v8::Value> Converter<const net::AuthChallengeInfo*>::ToV8(
+v8::Local<v8::Value> Converter<net::AuthChallengeInfo>::ToV8(
     v8::Isolate* isolate,
-    const net::AuthChallengeInfo* val) {
+    const net::AuthChallengeInfo& val) {
   mate::Dictionary dict = mate::Dictionary::CreateEmpty(isolate);
-  dict.Set("isProxy", val->is_proxy);
-  dict.Set("scheme", val->scheme);
-  dict.Set("host", val->challenger.host());
-  dict.Set("port", static_cast<uint32_t>(val->challenger.port()));
-  dict.Set("realm", val->realm);
+  dict.Set("isProxy", val.is_proxy);
+  dict.Set("scheme", val.scheme);
+  dict.Set("host", val.challenger.host());
+  dict.Set("port", static_cast<uint32_t>(val.challenger.port()));
+  dict.Set("realm", val.realm);
   return mate::ConvertToV8(isolate, dict);
 }
 

+ 2 - 2
atom/common/native_mate_converters/net_converter.h

@@ -24,9 +24,9 @@ struct CertPrincipal;
 namespace mate {
 
 template <>
-struct Converter<const net::AuthChallengeInfo*> {
+struct Converter<net::AuthChallengeInfo> {
   static v8::Local<v8::Value> ToV8(v8::Isolate* isolate,
-                                   const net::AuthChallengeInfo* val);
+                                   const net::AuthChallengeInfo& val);
 };
 
 template <>

+ 3 - 2
atom/common/native_mate_converters/string16_converter.h

@@ -15,8 +15,9 @@ struct Converter<base::string16> {
   static v8::Local<v8::Value> ToV8(v8::Isolate* isolate,
                                    const base::string16& val) {
     return v8::String::NewFromTwoByte(
-        isolate, reinterpret_cast<const uint16_t*>(val.data()),
-        v8::String::kNormalString, val.size());
+               isolate, reinterpret_cast<const uint16_t*>(val.data()),
+               v8::NewStringType::kNormal, val.size())
+        .ToLocalChecked();
   }
   static bool FromV8(v8::Isolate* isolate,
                      v8::Local<v8::Value> val,

+ 10 - 6
atom/renderer/atom_sandboxed_renderer_client.cc

@@ -44,7 +44,8 @@ bool IsDevToolsExtension(content::RenderFrame* render_frame) {
 }
 
 v8::Local<v8::Object> GetModuleCache(v8::Isolate* isolate) {
-  mate::Dictionary global(isolate, isolate->GetCurrentContext()->Global());
+  auto context = isolate->GetCurrentContext();
+  mate::Dictionary global(isolate, context->Global());
   v8::Local<v8::Value> cache;
 
   if (!global.GetHidden(kModuleCacheKey, &cache)) {
@@ -52,7 +53,7 @@ v8::Local<v8::Object> GetModuleCache(v8::Isolate* isolate) {
     global.SetHidden(kModuleCacheKey, cache);
   }
 
-  return cache->ToObject(isolate);
+  return cache->ToObject(context).ToLocalChecked();
 }
 
 // adapted from node.cc
@@ -95,7 +96,9 @@ void InvokeHiddenCallback(v8::Handle<v8::Context> context,
                           const std::string& hidden_key,
                           const std::string& callback_name) {
   auto* isolate = context->GetIsolate();
-  auto binding_key = mate::ConvertToV8(isolate, hidden_key)->ToString(isolate);
+  auto binding_key = mate::ConvertToV8(isolate, hidden_key)
+                         ->ToString(context)
+                         .ToLocalChecked();
   auto private_binding_key = v8::Private::ForApi(isolate, binding_key);
   auto global_object = context->Global();
   v8::Local<v8::Value> value;
@@ -103,9 +106,10 @@ void InvokeHiddenCallback(v8::Handle<v8::Context> context,
     return;
   if (value.IsEmpty() || !value->IsObject())
     return;
-  auto binding = value->ToObject(isolate);
-  auto callback_key =
-      mate::ConvertToV8(isolate, callback_name)->ToString(isolate);
+  auto binding = value->ToObject(context).ToLocalChecked();
+  auto callback_key = mate::ConvertToV8(isolate, callback_name)
+                          ->ToString(context)
+                          .ToLocalChecked();
   auto callback_value = binding->Get(callback_key);
   DCHECK(callback_value->IsFunction());  // set by sandboxed_renderer/init.js
   auto callback = v8::Handle<v8::Function>::Cast(callback_value);

+ 6 - 4
atom/renderer/electron_api_service_impl.cc

@@ -31,13 +31,14 @@ const char kIpcKey[] = "ipcNative";
 // Gets the private object under kIpcKey
 v8::Local<v8::Object> GetIpcObject(v8::Local<v8::Context> context) {
   auto* isolate = context->GetIsolate();
-  auto binding_key = mate::ConvertToV8(isolate, kIpcKey)->ToString(isolate);
+  auto binding_key =
+      mate::ConvertToV8(isolate, kIpcKey)->ToString(context).ToLocalChecked();
   auto private_binding_key = v8::Private::ForApi(isolate, binding_key);
   auto global_object = context->Global();
   auto value =
       global_object->GetPrivate(context, private_binding_key).ToLocalChecked();
   DCHECK(!value.IsEmpty() && value->IsObject());
-  return value->ToObject(isolate);
+  return value->ToObject(context).ToLocalChecked();
 }
 
 void InvokeIpcCallback(v8::Local<v8::Context> context,
@@ -56,8 +57,9 @@ void InvokeIpcCallback(v8::Local<v8::Context> context,
     callback_scope.reset(new node::CallbackScope(isolate, ipcNative, {0, 0}));
   }
 
-  auto callback_key =
-      mate::ConvertToV8(isolate, callback_name)->ToString(isolate);
+  auto callback_key = mate::ConvertToV8(isolate, callback_name)
+                          ->ToString(context)
+                          .ToLocalChecked();
   auto callback_value = ipcNative->Get(callback_key);
   DCHECK(callback_value->IsFunction());  // set by init.ts
   auto callback = v8::Local<v8::Function>::Cast(callback_value);

+ 3 - 0
build/args/all.gn

@@ -6,6 +6,9 @@ v8_promise_internal_field_count = 1
 v8_typed_array_max_size_in_heap = 0
 v8_embedder_string = "-electron.0"
 
+# TODO: this breaks mksnapshot
+v8_enable_snapshot_native_code_counters = false
+
 enable_cdm_host_verification = false
 proprietary_codecs = true
 ffmpeg_branding = "Chrome"

+ 3 - 2
patches/common/chromium/.patches

@@ -69,8 +69,9 @@ revert_build_swiftshader_for_arm32.patch
 fix_disable_usage_of_abort_report_np_in_mas_builds.patch
 fix_disable_usage_of_pthread_fchdir_np_and_pthread_chdir_np_in_mas.patch
 fix_disable_usage_of_setapplicationisdaemon_and.patch
-disable_custom_libcxx_on_windows.patch
-fix_retain_compatibility_with_msvc.patch
+ipc_message_start.patch
 disable_network_services_by_default.patch
 unsandboxed_ppapi_processes_skip_zygote.patch
 viz_osr.patch
+patch_the_ensure_gn_version_py_script_to_work_on_mac_ci.patch
+revert_roll_clang_356356_357569.patch

+ 4 - 4
patches/common/chromium/accelerator.patch

@@ -10,7 +10,7 @@ This patch makes three changes to Accelerator::GetShortcutText to improve shortc
 3. Ctrl-Shift-= should show as Ctrl-+
 
 diff --git a/ui/base/accelerators/accelerator.cc b/ui/base/accelerators/accelerator.cc
-index a59d08c79b315ad30dea3ce4fb67b59bba07fae7..7f245b1e8b9b3c5dc6666be4d74b69c86e80a351 100644
+index dadc140e9429c166ecd4c653c9ef5d0d4c4db2a4..bc93a9ecb28ff6973fc4d15f67a17d545c169a89 100644
 --- a/ui/base/accelerators/accelerator.cc
 +++ b/ui/base/accelerators/accelerator.cc
 @@ -11,6 +11,7 @@
@@ -31,7 +31,7 @@ index a59d08c79b315ad30dea3ce4fb67b59bba07fae7..7f245b1e8b9b3c5dc6666be4d74b69c8
  
  namespace ui {
  
-@@ -148,7 +147,15 @@ base::string16 Accelerator::GetShortcutText() const {
+@@ -150,7 +149,15 @@ base::string16 Accelerator::GetShortcutText() const {
    shortcut = KeyCodeToName(key_code_);
  #endif
  
@@ -47,7 +47,7 @@ index a59d08c79b315ad30dea3ce4fb67b59bba07fae7..7f245b1e8b9b3c5dc6666be4d74b69c8
  #if defined(OS_WIN)
      // Our fallback is to try translate the key code to a regular character
      // unless it is one of digits (VK_0 to VK_9). Some keyboard
-@@ -157,21 +164,14 @@ base::string16 Accelerator::GetShortcutText() const {
+@@ -159,21 +166,14 @@ base::string16 Accelerator::GetShortcutText() const {
      // accent' for '0'). For display in the menu (e.g. Ctrl-0 for the
      // default zoom level), we leave VK_[0-9] alone without translation.
      wchar_t key;
@@ -75,7 +75,7 @@ index a59d08c79b315ad30dea3ce4fb67b59bba07fae7..7f245b1e8b9b3c5dc6666be4d74b69c8
    }
  
    // Checking whether the character used for the accelerator is alphanumeric.
-@@ -235,7 +235,7 @@ base::string16 Accelerator::ApplyLongFormModifiers(
+@@ -237,7 +237,7 @@ base::string16 Accelerator::ApplyLongFormModifiers(
    // more information.
    if (IsCtrlDown())
      shortcut = ApplyModifierToAcceleratorString(shortcut, IDS_APP_CTRL_KEY);

+ 2 - 2
patches/common/chromium/add_realloc.patch

@@ -39,10 +39,10 @@ index 2aef366ac8194aa261cbca6abc051f7da8a988d3..3c7d66c81032636abcca4f1538ce9b7f
  
    GIN_EXPORT static ArrayBufferAllocator* SharedInstance();
 diff --git a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
-index 0fdf8ba729f7fabcc2779299bc591ee2dd1fa9ba..611b44c5b70166665b132cfde79d0b2f0ea5ddad 100644
+index 1df2ce89d245c5965fe957c3b48a977ab2b19ee3..9efa1d3a330b08826e2ec3bde75ac5b228c7f9cf 100644
 --- a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
 +++ b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
-@@ -650,6 +650,10 @@ class ArrayBufferAllocator : public v8::ArrayBuffer::Allocator {
+@@ -553,6 +553,10 @@ class ArrayBufferAllocator : public v8::ArrayBuffer::Allocator {
          size, WTF::ArrayBufferContents::kDontInitialize);
    }
  

+ 2 - 2
patches/common/chromium/allow_webview_file_url.patch

@@ -6,10 +6,10 @@ Subject: allow_webview_file_url.patch
 Allow webview to load non-web URLs.
 
 diff --git a/content/browser/loader/resource_dispatcher_host_impl.cc b/content/browser/loader/resource_dispatcher_host_impl.cc
-index e06d2a5e9da5bd0218102636b5e8a0e981db31bc..af8db86dde165c087302d8bc5802e3dafde6a577 100644
+index 86b891fafe246644bdfc11b8e102143dde667134..33390464e1c7e1a7e484284f0f9994d4313106c5 100644
 --- a/content/browser/loader/resource_dispatcher_host_impl.cc
 +++ b/content/browser/loader/resource_dispatcher_host_impl.cc
-@@ -1522,6 +1522,8 @@ void ResourceDispatcherHostImpl::BeginNavigationRequest(
+@@ -1496,6 +1496,8 @@ void ResourceDispatcherHostImpl::BeginNavigationRequest(
        !policy->IsWebSafeScheme(info.common_params.url.scheme()) &&
        !is_external_protocol;
  

+ 14 - 2
patches/common/chromium/autofill_size_calculation.patch

@@ -9,10 +9,22 @@ then some methods call into the original. Let's just return an empty
 gfx::Rect and do the actual job in the subclass.
 
 diff --git a/chrome/browser/ui/autofill/popup_view_common.cc b/chrome/browser/ui/autofill/popup_view_common.cc
-index 004e9cb86bee7c10f6a68cdf6ceb60bf39627e1d..c6da9a8f5c14615bf22192f540b6fd95fa1ccb0e 100644
+index 004e9cb86bee7c10f6a68cdf6ceb60bf39627e1d..a78dc65c413ce72d31a364e1b36dbe067cf579d7 100644
 --- a/chrome/browser/ui/autofill/popup_view_common.cc
 +++ b/chrome/browser/ui/autofill/popup_view_common.cc
-@@ -176,14 +176,14 @@ gfx::Rect PopupViewCommon::GetWindowBounds(gfx::NativeView container_view) {
+@@ -8,9 +8,11 @@
+ #include <utility>
+ 
+ #include "build/build_config.h"
++#if 0
+ #include "chrome/browser/platform_util.h"
+ #include "chrome/browser/ui/browser_finder.h"
+ #include "chrome/browser/ui/browser_window.h"
++#endif
+ #include "ui/gfx/geometry/vector2d.h"
+ 
+ #if defined(OS_ANDROID)
+@@ -176,14 +178,14 @@ gfx::Rect PopupViewCommon::GetWindowBounds(gfx::NativeView container_view) {
        views::Widget::GetTopLevelWidgetForNativeView(container_view);
    if (widget)
      return widget->GetWindowBoundsInScreen();

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

@@ -5,14 +5,14 @@ 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 6e5842541701f0d094164914e5a53e60d7526d1e..9696f24f0f3edfbe9d9f78376956f0602e3a12aa 100644
+index e2134f58fe7c59a17a24e428a4ba27d1f8db838e..174386d0768123c290094e6cf7e9a2ba95bc887c 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
-@@ -307,7 +307,6 @@ void WorkerClassicScriptLoader::ProcessContentSecurityPolicy(
+@@ -308,7 +308,6 @@ void WorkerClassicScriptLoader::ProcessContentSecurityPolicy(
    // document (which is implemented in WorkerMessagingProxy, and
    // m_contentSecurityPolicy should be left as nullptr to inherit the policy).
    if (!response.CurrentRequestUrl().ProtocolIs("blob") &&
 -      !response.CurrentRequestUrl().ProtocolIs("file") &&
        !response.CurrentRequestUrl().ProtocolIs("filesystem")) {
-     content_security_policy_ = ContentSecurityPolicy::Create();
+     content_security_policy_ = MakeGarbageCollected<ContentSecurityPolicy>();
      content_security_policy_->SetOverrideURLForSelf(

+ 4 - 4
patches/common/chromium/blink_file_path.patch

@@ -7,10 +7,10 @@ This is used by editors to obtain the filesystem path from a dragged file. See
 documentation at https://electronjs.org/docs/api/file-object
 
 diff --git a/third_party/blink/renderer/core/fileapi/file.h b/third_party/blink/renderer/core/fileapi/file.h
-index 3abff1a1e4de7978e01587cc1bf2b3deb4318161..5213d1c46dcc25de84c4b882454b1f7d079f237f 100644
+index 05e05fb1631851009897f3789d3e770475ce1363..e2ad5fef884532847d035430c14c25e042e2ab24 100644
 --- a/third_party/blink/renderer/core/fileapi/file.h
 +++ b/third_party/blink/renderer/core/fileapi/file.h
-@@ -202,6 +202,9 @@ class CORE_EXPORT File final : public Blob {
+@@ -201,6 +201,9 @@ class CORE_EXPORT File final : public Blob {
    }
    const String& name() const { return name_; }
  
@@ -21,10 +21,10 @@ index 3abff1a1e4de7978e01587cc1bf2b3deb4318161..5213d1c46dcc25de84c4b882454b1f7d
    // http://dev.w3.org/2006/webapi/FileAPI/#file-attrs
    int64_t lastModified() const;
 diff --git a/third_party/blink/renderer/core/fileapi/file.idl b/third_party/blink/renderer/core/fileapi/file.idl
-index 940f8e62ce228beaf71f5a4be88539a431415ab1..0cf315636afe0e5e1533b3372cdfe2c09ec581e1 100644
+index 41b8183e858b6d955bacbb72281a08e750b6b29f..0db894ecfae63795724335d914f9f992c0755fd1 100644
 --- a/third_party/blink/renderer/core/fileapi/file.idl
 +++ b/third_party/blink/renderer/core/fileapi/file.idl
-@@ -33,6 +33,7 @@
+@@ -32,6 +32,7 @@
      Serializable
  ] interface File : Blob {
      readonly attribute DOMString name;

+ 2 - 2
patches/common/chromium/blink_initialization_order.patch

@@ -10,10 +10,10 @@ to fix electron/electron#13787.  The backport landed in Chromium 67 but the
 DidCreateScriptContext re-ordering needs to be upstreamed or kept indefinitely
 
 diff --git a/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc b/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc
-index a56856c704ec7fa65d560a8604d7303be707a1ac..127a4e2dbf5984bb3512e426350d648e1d4837ab 100644
+index 02d087e9ed5a91280bc00c75d70fc460b53cda1d..27c72802bc474610c8bc9083a7a41845223ed5cf 100644
 --- a/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc
 +++ b/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc
-@@ -200,11 +200,10 @@ void LocalWindowProxy::Initialize() {
+@@ -190,11 +190,10 @@ void LocalWindowProxy::Initialize() {
                   GetFrame()->IsMainFrame());
      MainThreadDebugger::Instance()->ContextCreated(script_state_, GetFrame(),
                                                     origin);

+ 3 - 3
patches/common/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 7bb3906762dbfe73e3c57d7c416168a2df8c99e4..64ef55ab3aa93c71fd58816ef2983e797f8dd75c 100644
+index dd0e2f0df7b59ff0899473b96eac6ed3fb2f4122..6a8258a68d1e026ab5ad0c28d6d47883032a2a66 100644
 --- a/third_party/blink/renderer/core/frame/local_frame.cc
 +++ b/third_party/blink/renderer/core/frame/local_frame.cc
-@@ -409,10 +409,6 @@ void LocalFrame::DetachImpl(FrameDetachType type) {
+@@ -413,10 +413,6 @@ void LocalFrame::DetachImpl(FrameDetachType type) {
    }
    CHECK(!view_ || !view_->IsAttached());
  
@@ -28,7 +28,7 @@ index 7bb3906762dbfe73e3c57d7c416168a2df8c99e4..64ef55ab3aa93c71fd58816ef2983e79
    if (!Client())
      return;
  
-@@ -430,6 +426,10 @@ void LocalFrame::DetachImpl(FrameDetachType type) {
+@@ -434,6 +430,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();

+ 6 - 6
patches/common/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 611a2f6443a954f984e11c4cf84991c60f1ea08a..60afd4d8805da3d9fcb9f2a0fc0b857b550615eb 100644
+index 6b1777713b03ee58d875377226d9827589388d79..5871096511969db7f029148679195bb7cdc7839f 100644
 --- a/third_party/blink/public/web/web_local_frame.h
 +++ b/third_party/blink/public/web/web_local_frame.h
-@@ -350,6 +350,9 @@ class WebLocalFrame : public WebFrame {
+@@ -355,6 +355,9 @@ class WebLocalFrame : public WebFrame {
    // be calling this API.
    virtual v8::Local<v8::Context> MainWorldScriptContext() const = 0;
  
@@ -19,10 +19,10 @@ index 611a2f6443a954f984e11c4cf84991c60f1ea08a..60afd4d8805da3d9fcb9f2a0fc0b857b
    // 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 3ae069323d53af44a8c061ee3dd0efe558e20692..818f91e2744f1d8c7c02c665d17136c6cf992f89 100644
+index 481c9b9bdebef21fa7a78698a95be7fa6901673b..165406a76deedf1c4f34d451eb43be2977431481 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
-@@ -865,6 +865,13 @@ v8::Local<v8::Object> WebLocalFrameImpl::GlobalProxy() const {
+@@ -867,6 +867,13 @@ v8::Local<v8::Object> WebLocalFrameImpl::GlobalProxy() const {
    return MainWorldScriptContext()->Global();
  }
  
@@ -37,10 +37,10 @@ index 3ae069323d53af44a8c061ee3dd0efe558e20692..818f91e2744f1d8c7c02c665d17136c6
    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 84d256cad315d93a434a5878805c7114175df3a7..165ba0f0081755a3ece4aa6fdcfb653508bd6df4 100644
+index 04874b65153227a208a114736a036c34507a3148..67a894cb7327fee07f70cd5749f445f708d35503 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
-@@ -148,6 +148,8 @@ class CORE_EXPORT WebLocalFrameImpl final
+@@ -147,6 +147,8 @@ class CORE_EXPORT WebLocalFrameImpl final
        int argc,
        v8::Local<v8::Value> argv[]) override;
    v8::Local<v8::Context> MainWorldScriptContext() const override;

+ 1 - 1
patches/common/chromium/boringssl_build_gn.patch

@@ -6,7 +6,7 @@ Subject: boringssl BUILD.gn
 Build BoringSSL with some extra functions that nodejs needs.
 
 diff --git a/third_party/boringssl/BUILD.gn b/third_party/boringssl/BUILD.gn
-index e50f30a4763ee834564a2f91e0b6b0543138d6e5..5262a59d413fc9944e164a7e269fee431361b5bd 100644
+index 051b3ed07fa7d4ec2e5f9200dab6843176e55d56..edf567e79c88fbe66acf4aabd3952cb8adcab4af 100644
 --- a/third_party/boringssl/BUILD.gn
 +++ b/third_party/boringssl/BUILD.gn
 @@ -45,6 +45,19 @@ config("no_asm_config") {

+ 2 - 2
patches/common/chromium/browser_compositor_mac.patch

@@ -5,7 +5,7 @@ Subject: browser_compositor_mac.patch
 
 
 diff --git a/content/browser/renderer_host/browser_compositor_view_mac.h b/content/browser/renderer_host/browser_compositor_view_mac.h
-index 454c4cfd5a73bda737ec4570101517718518e1d8..9fa3b7ca2eb07f470ba5595f5da6013956b14491 100644
+index de89d291e5cbc0981cf06170ed35502a1239136d..656f6c38d55d9f9af569bc772254ca13c279eeab 100644
 --- a/content/browser/renderer_host/browser_compositor_view_mac.h
 +++ b/content/browser/renderer_host/browser_compositor_view_mac.h
 @@ -60,6 +60,8 @@ class CONTENT_EXPORT BrowserCompositorMac : public DelegatedFrameHostClient,
@@ -26,7 +26,7 @@ index 454c4cfd5a73bda737ec4570101517718518e1d8..9fa3b7ca2eb07f470ba5595f5da60139
        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 0817b4eca4f4e6f7f5d250589c1e4dbcc068237c..dcc2340e59771e8d73de7e97fa2371d8bec7b149 100644
+index 625566d5ad2510679cd3ed4c306c1cd3715f4c94..342c85daba1812461b4d9c0f9255220b26aca770 100644
 --- a/content/browser/renderer_host/browser_compositor_view_mac.mm
 +++ b/content/browser/renderer_host/browser_compositor_view_mac.mm
 @@ -79,6 +79,12 @@

+ 2 - 2
patches/common/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 9e843f3c30d28a529c22e21b7fe4ba7439978156..1bace3eb626b86c7a47c3dccaf5442c86a14a6b8 100644
+index 7175865b31ceefb592bfdfb55b00a1aaab14ef15..a96c2429dacac65489da0cd6fa5a642222f4b518 100644
 --- a/build/config/BUILDCONFIG.gn
 +++ b/build/config/BUILDCONFIG.gn
 @@ -123,6 +123,9 @@ if (current_os == "") {
@@ -18,7 +18,7 @@ index 9e843f3c30d28a529c22e21b7fe4ba7439978156..1bace3eb626b86c7a47c3dccaf5442c8
    # Set to enable the official build level of optimization. This has nothing
    # to do with branding, but enables an additional level of optimization above
    # release (!is_debug). This might be better expressed as a tri-state
-@@ -441,6 +444,7 @@ default_compiler_configs = [
+@@ -438,6 +441,7 @@ default_compiler_configs = [
    "//build/config/compiler:thin_archive",
    "//build/config/coverage:default_coverage",
    "//build/config/sanitizers:default_sanitizer_flags",

+ 17 - 17
patches/common/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 f1ee6aab83bfa5557ff27bca07d69e9a3544ded6..3421d787abf08f3854a5cf21ec62b880fcbba518 100644
+index a3651be4e397f85350bdf13179ca826c18b44cb5..6f3b476f027d768140813654033e44cd121365db 100644
 --- a/content/browser/frame_host/render_frame_host_impl.cc
 +++ b/content/browser/frame_host/render_frame_host_impl.cc
-@@ -3646,6 +3646,7 @@ void RenderFrameHostImpl::CreateNewWindow(
+@@ -3669,6 +3669,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 f1ee6aab83bfa5557ff27bca07d69e9a3544ded6..3421d787abf08f3854a5cf21ec62b880
            &no_javascript_access);
  
 diff --git a/content/common/frame.mojom b/content/common/frame.mojom
-index 8406b096d6f1e3e3c4b82a02ff4efa0d97ced63e..69424cdd76d458d632e0e2ed902858a7a607b43a 100644
+index 7deab3ea78fc85815a7c713dc7718723f9302975..cf352ff127ea9aee0dcf5eff3915b21def76f0bb 100644
 --- a/content/common/frame.mojom
 +++ b/content/common/frame.mojom
-@@ -275,6 +275,10 @@ struct CreateNewWindowParams {
+@@ -288,6 +288,10 @@ struct CreateNewWindowParams {
  
    // The window features to use for the new window.
    blink.mojom.WindowFeatures features;
@@ -32,10 +32,10 @@ index 8406b096d6f1e3e3c4b82a02ff4efa0d97ced63e..69424cdd76d458d632e0e2ed902858a7
  
  // 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 6a952d2c52082a0a0fe1a256babfb49014d22e0b..04c766ffe55d6c24b7aaa19e70236a7a93fb015c 100644
+index 445e1febebe62b014d995a2bfb8ceefedc1e5e6a..03999fb7f9bfc1bb21cda1bfe15e95fb3bc9b678 100644
 --- a/content/public/browser/content_browser_client.cc
 +++ b/content/public/browser/content_browser_client.cc
-@@ -513,6 +513,8 @@ bool ContentBrowserClient::CanCreateWindow(
+@@ -519,6 +519,8 @@ bool ContentBrowserClient::CanCreateWindow(
      const std::string& frame_name,
      WindowOpenDisposition disposition,
      const blink::mojom::WindowFeatures& features,
@@ -45,10 +45,10 @@ index 6a952d2c52082a0a0fe1a256babfb49014d22e0b..04c766ffe55d6c24b7aaa19e70236a7a
      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 42b673aea33b2831308244eb12e2670156e8f615..3f9739aa7b3a29106bc267ee9ba67dd7ebdd3099 100644
+index 0a1bf5d0b4d1fddcef30d2da697dc77b5b7f8c79..424bdb1dde40cc4003e022908de702a9d9e488d4 100644
 --- a/content/public/browser/content_browser_client.h
 +++ b/content/public/browser/content_browser_client.h
-@@ -175,6 +175,7 @@ class RenderFrameHost;
+@@ -178,6 +178,7 @@ class RenderFrameHost;
  class RenderProcessHost;
  class RenderViewHost;
  class ResourceContext;
@@ -56,7 +56,7 @@ index 42b673aea33b2831308244eb12e2670156e8f615..3f9739aa7b3a29106bc267ee9ba67dd7
  class SerialDelegate;
  class ServiceManagerConnection;
  class SiteInstance;
-@@ -786,6 +787,8 @@ class CONTENT_EXPORT ContentBrowserClient {
+@@ -798,6 +799,8 @@ class CONTENT_EXPORT ContentBrowserClient {
        const std::string& frame_name,
        WindowOpenDisposition disposition,
        const blink::mojom::WindowFeatures& features,
@@ -66,18 +66,18 @@ index 42b673aea33b2831308244eb12e2670156e8f615..3f9739aa7b3a29106bc267ee9ba67dd7
        bool opener_suppressed,
        bool* no_javascript_access);
 diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
-index 2002ea3db55b47c8792ad4e2fca54b08585e89ea..07126db61d6985e42628ea2e518eeda9457f0e71 100644
+index 3e328daa58275e05b30b7a3fabb03f69db2fd7d2..d207e3760d8b48c1283085da132ee03eddb4c17c 100644
 --- a/content/renderer/render_view_impl.cc
 +++ b/content/renderer/render_view_impl.cc
-@@ -76,6 +76,7 @@
+@@ -77,6 +77,7 @@
  #include "content/renderer/ime_event_guard.h"
  #include "content/renderer/internal_document_state_data.h"
  #include "content/renderer/loader/request_extra_data.h"
 +#include "content/renderer/loader/web_url_request_util.h"
  #include "content/renderer/media/audio/audio_device_factory.h"
  #include "content/renderer/media/stream/media_stream_device_observer.h"
- #include "content/renderer/media/video_capture_impl_manager.h"
-@@ -1360,6 +1361,8 @@ WebView* RenderViewImpl::CreateView(
+ #include "content/renderer/media/video_capture/video_capture_impl_manager.h"
+@@ -1370,6 +1371,8 @@ WebView* RenderViewImpl::CreateView(
    }
    params->features = ConvertWebWindowFeaturesToMojoWindowFeatures(features);
  
@@ -87,10 +87,10 @@ index 2002ea3db55b47c8792ad4e2fca54b08585e89ea..07126db61d6985e42628ea2e518eeda9
    // 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 9e738f90c516cfec18816a183f1a2ab615827307..7e04c82967e3458be32345e683af33b9abc5289e 100644
+index a303b169acb638a0c4bbec1349a028c8d89762bd..c95dcedefc74e5ad9883d16448bb36fcb5a088a6 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
-@@ -299,6 +299,8 @@ bool WebTestContentBrowserClient::CanCreateWindow(
+@@ -298,6 +298,8 @@ bool WebTestContentBrowserClient::CanCreateWindow(
      const std::string& frame_name,
      WindowOpenDisposition disposition,
      const blink::mojom::WindowFeatures& features,
@@ -100,10 +100,10 @@ index 9e738f90c516cfec18816a183f1a2ab615827307..7e04c82967e3458be32345e683af33b9
      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 1eeb9dafd62e163c7458352de31c62dbd1293f32..0d46e75cdf0a1ef573e733432a4613da850d6f4d 100644
+index 6413e5f117d7dfd4a61779d4c971c28a14a86082..a02e232249cf99c55ec5b07a94b29f0a6d4a38bf 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
-@@ -67,6 +67,8 @@ class WebTestContentBrowserClient : public ShellContentBrowserClient {
+@@ -68,6 +68,8 @@ class WebTestContentBrowserClient : public ShellContentBrowserClient {
                         const std::string& frame_name,
                         WindowOpenDisposition disposition,
                         const blink::mojom::WindowFeatures& features,

+ 2 - 2
patches/common/chromium/command-ismediakey.patch

@@ -46,7 +46,7 @@ index befe726af9c10b1563a7fc0bb77cc55f65943d5c..46c6fe08bab8471007f78d3ef227e519
  GlobalShortcutListener* GlobalShortcutListener::GetInstance() {
    CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
 diff --git a/chrome/browser/extensions/global_shortcut_listener_win.cc b/chrome/browser/extensions/global_shortcut_listener_win.cc
-index f5d0ac4ba826ee4f023224ce90c6d8b6614c2912..380682029d20cab485bb8b52bd5c7d9cdc424c7d 100644
+index c5125495b4d178ffb18be4d2d9670f7556412cbd..cddb321abb938c667a4a2089f87eab999510e9b1 100644
 --- a/chrome/browser/extensions/global_shortcut_listener_win.cc
 +++ b/chrome/browser/extensions/global_shortcut_listener_win.cc
 @@ -62,6 +62,8 @@ void GlobalShortcutListenerWin::OnWndProc(HWND hwnd,
@@ -58,7 +58,7 @@ index f5d0ac4ba826ee4f023224ce90c6d8b6614c2912..380682029d20cab485bb8b52bd5c7d9c
    ui::Accelerator accelerator(
        ui::KeyboardCodeForWindowsKeyCode(key_code), modifiers);
  
-@@ -98,6 +100,7 @@ bool GlobalShortcutListenerWin::RegisterAcceleratorImpl(
+@@ -92,6 +94,7 @@ bool GlobalShortcutListenerWin::RegisterAcceleratorImpl(
    modifiers |= accelerator.IsShiftDown() ? MOD_SHIFT : 0;
    modifiers |= accelerator.IsCtrlDown() ? MOD_CONTROL : 0;
    modifiers |= accelerator.IsAltDown() ? MOD_ALT : 0;

+ 2 - 2
patches/common/chromium/content_allow_embedder_to_prevent_locking_scheme_registry.patch

@@ -12,7 +12,7 @@ Without this patch, calling `registerStandardSchemes` during initialization
 when in debug mode will cause a DCHECK to fire.
 
 diff --git a/content/app/content_main_runner_impl.cc b/content/app/content_main_runner_impl.cc
-index 010ecd6f98489d0945f0998bed2a3c6ff1ff7137..793004d877394bb89447db275cc8d0d8660d263a 100644
+index 4dc87d822f1290475d756d1b12237ac31a8a7581..62997d683a83be4fd399a1474a5598aee28d379a 100644
 --- a/content/app/content_main_runner_impl.cc
 +++ b/content/app/content_main_runner_impl.cc
 @@ -757,7 +757,7 @@ int ContentMainRunnerImpl::Initialize(const ContentMainParams& params) {
@@ -40,7 +40,7 @@ index 456df421598153bde006ad0ecb0f1031360bb543..af06d78b91fa30e5daf993ad2c65c2c5
    return service_manager::ProcessType::kDefault;
  }
 diff --git a/content/public/app/content_main_delegate.h b/content/public/app/content_main_delegate.h
-index f836a17fa0568aa33e204725f96233aac236aac5..af1d5ef18fb414a681bee48d36c3f94ed789c077 100644
+index f498906f693ea6047add85fcf59ed34457120053..9864dbdd240b3c55eec53a1ab46e409c3d463293 100644
 --- a/content/public/app/content_main_delegate.h
 +++ b/content/public/app/content_main_delegate.h
 @@ -88,6 +88,9 @@ class CONTENT_EXPORT ContentMainDelegate {

+ 2 - 2
patches/common/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 f79b1a629779af2b991a1c95ad4e0d4a8ec6d217..28f2aaf4ef55e505e278719956277f1aefe0146a 100644
+index 6e3dfde1019beee050e542934470beebd7a0c43e..76dd73f3ccfb43d0e74016a5a84afd4a2db22ca4 100644
 --- a/content/browser/browser_main_loop.cc
 +++ b/content/browser/browser_main_loop.cc
-@@ -1548,7 +1548,7 @@ void BrowserMainLoop::MainMessageLoopRun() {
+@@ -1564,7 +1564,7 @@ void BrowserMainLoop::MainMessageLoopRun() {
    }
  
    base::RunLoop run_loop;

+ 5 - 5
patches/common/chromium/cross_site_document_resource_handler.patch

@@ -8,10 +8,10 @@ this patch can be removed once we switch to network service,
 where the embedders have a chance to design their URLLoaders.
 
 diff --git a/content/browser/loader/cross_site_document_resource_handler.cc b/content/browser/loader/cross_site_document_resource_handler.cc
-index f86a9167ac1ec5e7b082e474eb4b5f217d06df92..47df32ecb078a8f18e474f5c38faf2c7bdab30a1 100644
+index 9e65e50de1d45d8435145b56bf7108a8c0272065..3103e4caa2adf853277774092cbd645fd8ece952 100644
 --- a/content/browser/loader/cross_site_document_resource_handler.cc
 +++ b/content/browser/loader/cross_site_document_resource_handler.cc
-@@ -673,6 +673,9 @@ bool CrossSiteDocumentResourceHandler::ShouldBlockBasedOnHeaders(
+@@ -666,6 +666,9 @@ bool CrossSiteDocumentResourceHandler::ShouldBlockBasedOnHeaders(
      return false;
    }
  
@@ -22,7 +22,7 @@ index f86a9167ac1ec5e7b082e474eb4b5f217d06df92..47df32ecb078a8f18e474f5c38faf2c7
  }
  
 diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
-index b41997165352e06cd6179e1d0dd3c18e4ab819a2..bab2e97e836c81ccce6f7ba874ecfcafc3a05de0 100644
+index 7e15121545795d39ec3326856919e6582b239506..0c2798cdae8166d792a4bf4ef94fa00cc4b8afa0 100644
 --- a/content/public/browser/content_browser_client.cc
 +++ b/content/public/browser/content_browser_client.cc
 @@ -61,6 +61,10 @@ ContentBrowserClient::SiteInstanceForNavigationType ContentBrowserClient::Should
@@ -37,10 +37,10 @@ index b41997165352e06cd6179e1d0dd3c18e4ab819a2..bab2e97e836c81ccce6f7ba874ecfcaf
      const MainFunctionParams& parameters) {
    return nullptr;
 diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
-index 406cca4538b978a8de41845b02f4c0d15b393cde..a5e64cf1f90b3a184e0b5ce69f5a9baedcf1a27c 100644
+index e89f60b3c6297a90e95058c19fc953c82af043e9..e1585d687026cc5d0528dd99ae9e36ffb6699dfc 100644
 --- a/content/public/browser/content_browser_client.h
 +++ b/content/public/browser/content_browser_client.h
-@@ -241,6 +241,9 @@ class CONTENT_EXPORT ContentBrowserClient {
+@@ -244,6 +244,9 @@ class CONTENT_EXPORT ContentBrowserClient {
        content::RenderFrameHost* rfh,
        content::SiteInstance* pending_site_instance) {}
  

+ 3 - 3
patches/common/chromium/dcheck.patch

@@ -17,10 +17,10 @@ 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 922b03f6e0e529adde410a7b90a549613d47136e..a7845665caf99292b8179bb9ea6440710a9abe2d 100644
+index d47e3fba4fb3f9048598dd4d56f156ab740fb56c..45656de4dc59038458128882a80e2508c81acb8d 100644
 --- a/content/browser/frame_host/navigation_controller_impl.cc
 +++ b/content/browser/frame_host/navigation_controller_impl.cc
-@@ -1201,8 +1201,10 @@ NavigationType NavigationControllerImpl::ClassifyNavigation(
+@@ -1242,8 +1242,10 @@ NavigationType NavigationControllerImpl::ClassifyNavigation(
      return NAVIGATION_TYPE_NEW_SUBFRAME;
    }
  
@@ -33,7 +33,7 @@ index 922b03f6e0e529adde410a7b90a549613d47136e..a7845665caf99292b8179bb9ea644071
  
    if (rfh->GetParent()) {
      // All manual subframes would be did_create_new_entry and handled above, so
-@@ -1445,7 +1447,10 @@ void NavigationControllerImpl::RendererDidNavigateToNewPage(
+@@ -1486,7 +1488,10 @@ void NavigationControllerImpl::RendererDidNavigateToNewPage(
      new_entry->GetFavicon() = GetLastCommittedEntry()->GetFavicon();
    }
  

+ 2 - 2
patches/common/chromium/desktop_media_list.patch

@@ -133,12 +133,12 @@ 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 2338d6daa5c5808aea07ce6883478266a599a9d0..d8adaeecfb6eac0d87cce2cc5e7ac78ab15fee67 100644
+index b060eb31d194e44c6c89e2cbf990323802c1aa5f..514325c3d6cb11b69b0d43e72d851c49f0ef6824 100644
 --- a/chrome/browser/media/webrtc/native_desktop_media_list.cc
 +++ b/chrome/browser/media/webrtc/native_desktop_media_list.cc
 @@ -7,14 +7,15 @@
  #include "base/bind.h"
- #include "base/hash.h"
+ #include "base/hash/hash.h"
  #include "base/single_thread_task_runner.h"
 +#include "base/strings/string_number_conversions.h"
  #include "base/strings/utf_string_conversions.h"

+ 3 - 3
patches/common/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 3046987d5e26d38f3098a21af48e3b115bdadaf7..b484e4b4c1a7872e0c9ae9622370d9a71c5d96c8 100644
+index fb8e820175ac06b5eb8adee5a106491cff03d77b..ec954beab8861f569f48242c52ca249635e89bf4 100644
 --- a/ui/views/win/hwnd_message_handler.cc
 +++ b/ui/views/win/hwnd_message_handler.cc
 @@ -284,6 +284,10 @@ constexpr int kSynthesizedMouseMessagesTimeDifference = 500;
@@ -49,10 +49,10 @@ index 3046987d5e26d38f3098a21af48e3b115bdadaf7..b484e4b4c1a7872e0c9ae9622370d9a7
  // HWNDMessageHandler, gfx::WindowImpl overrides:
  
 diff --git a/ui/views/win/hwnd_message_handler.h b/ui/views/win/hwnd_message_handler.h
-index 3f0c9e26627f9dcda04418a6551f4c815aeb4972..b66321d0e2d93dc436fe24d93e65fad00bf3f42a 100644
+index e51d2f358319108e1f5dd70898070caf655265bf..5efcdf139ef331f09f427f75a9a75ed270bcd433 100644
 --- a/ui/views/win/hwnd_message_handler.h
 +++ b/ui/views/win/hwnd_message_handler.h
-@@ -183,6 +183,8 @@ class VIEWS_EXPORT HWNDMessageHandler : public gfx::WindowImpl,
+@@ -189,6 +189,8 @@ class VIEWS_EXPORT HWNDMessageHandler : public gfx::WindowImpl,
    using TouchIDs = std::set<DWORD>;
    enum class DwmFrameState { OFF, ON };
  

+ 46 - 46
patches/common/chromium/disable_color_correct_rendering.patch

@@ -19,7 +19,7 @@ to deal with color spaces. That is being tracked at
 https://crbug.com/634542 and https://crbug.com/711107.
 
 diff --git a/cc/trees/layer_tree_settings.h b/cc/trees/layer_tree_settings.h
-index 04e48714a6f4fcf980f91d75e319667dc0ee18a4..0ec60a0bf9f903de67f69422f22b674bb3a49798 100644
+index 644305bc4259de680c0589d8d572e2145bf5318e..711efdc623ff3bbca9a9e21161d3385e1ed181eb 100644
 --- a/cc/trees/layer_tree_settings.h
 +++ b/cc/trees/layer_tree_settings.h
 @@ -99,6 +99,8 @@ class CC_EXPORT LayerTreeSettings {
@@ -32,7 +32,7 @@ index 04e48714a6f4fcf980f91d75e319667dc0ee18a4..0ec60a0bf9f903de67f69422f22b674b
    // 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 78041fcb9647f740c6a142ec65f2418712c6286c..04e75ac40c38a38bdec634d1aa645854cb1a80d6 100644
+index fc3bd4e31a24fa9135381959c8729a5e13368d48..5ab9b8c63128a5b964457eed2100316e777f542e 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 78041fcb9647f740c6a142ec65f2418712c6286c..04e75ac40c38a38bdec634d1aa645854
    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 5d06436069bc7ecc04f3794a873e6f7f22d55042..c5176776562d3506eef384e5e2c4d5a6e89aba63 100644
+index 78a6b5739caed8c3925f303c52ed107be8e4ccfe..ddbf660e594c1a991d4e758fa11b1b2ecf603b55 100644
 --- a/components/viz/host/renderer_settings_creation.cc
 +++ b/components/viz/host/renderer_settings_creation.cc
 @@ -12,6 +12,7 @@
@@ -55,7 +55,7 @@ index 5d06436069bc7ecc04f3794a873e6f7f22d55042..c5176776562d3506eef384e5e2c4d5a6
  
  #if defined(OS_MACOSX)
  #include "ui/base/cocoa/remote_layer_api.h"
-@@ -48,6 +49,8 @@ bool GetSwitchValueAsInt(const base::CommandLine* command_line,
+@@ -49,6 +50,8 @@ bool GetSwitchValueAsInt(const base::CommandLine* command_line,
  RendererSettings CreateRendererSettings() {
    RendererSettings renderer_settings;
    base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
@@ -65,7 +65,7 @@ index 5d06436069bc7ecc04f3794a873e6f7f22d55042..c5176776562d3506eef384e5e2c4d5a6
        !command_line->HasSwitch(switches::kUIDisablePartialSwap);
  #if defined(OS_WIN)
 diff --git a/components/viz/service/display/gl_renderer.cc b/components/viz/service/display/gl_renderer.cc
-index 9e0979a93d698665b08623ad7cbc11939d7f4ff8..93f99b09250ab1f515e13de3ac80cea1ab71a08f 100644
+index 336484b6fdf407aeba78fb94d28ad35cec8c39cc..2f7ca3493e4e1d8a6bcc7e3aa48b0512e21d4161 100644
 --- a/components/viz/service/display/gl_renderer.cc
 +++ b/components/viz/service/display/gl_renderer.cc
 @@ -79,6 +79,9 @@
@@ -78,7 +78,7 @@ index 9e0979a93d698665b08623ad7cbc11939d7f4ff8..93f99b09250ab1f515e13de3ac80cea1
  namespace viz {
  namespace {
  
-@@ -529,8 +532,9 @@ void GLRenderer::DoDrawQuad(const DrawQuad* quad,
+@@ -550,8 +553,9 @@ void GLRenderer::DoDrawQuad(const DrawQuad* quad,
  void GLRenderer::DrawDebugBorderQuad(const DebugBorderDrawQuad* quad) {
    SetBlendEnabled(quad->ShouldDrawWithBlending());
  
@@ -90,31 +90,31 @@ index 9e0979a93d698665b08623ad7cbc11939d7f4ff8..93f99b09250ab1f515e13de3ac80cea1
  
    // Use the full quad_rect for debug quads to not move the edges based on
    // partial swaps.
-@@ -1331,7 +1335,8 @@ void GLRenderer::ChooseRPDQProgram(DrawRenderPassDrawQuadParams* params,
-           tex_coord_precision, sampler_type, shader_blend_mode,
+@@ -1368,7 +1372,8 @@ void GLRenderer::ChooseRPDQProgram(DrawRenderPassDrawQuadParams* params,
            params->use_aa ? USE_AA : NO_AA, mask_mode, mask_for_background,
-           params->use_color_matrix, tint_gl_composited_content_),
+           params->use_color_matrix, tint_gl_composited_content_,
+           ShouldApplyRoundedCorner(params->quad)),
 -      params->contents_and_bypass_color_space, target_color_space);
 +      PATCH_CS(params->contents_and_bypass_color_space),
 +      PATCH_CS(target_color_space));
  }
  
  void GLRenderer::UpdateRPDQUniforms(DrawRenderPassDrawQuadParams* params) {
-@@ -1797,8 +1802,8 @@ void GLRenderer::DrawSolidColorQuad(const SolidColorDrawQuad* quad,
-   gfx::ColorSpace quad_color_space = gfx::ColorSpace::CreateSRGB();
+@@ -1840,8 +1845,8 @@ void GLRenderer::DrawSolidColorQuad(const SolidColorDrawQuad* quad,
    SetUseProgram(ProgramKey::SolidColor(use_aa ? USE_AA : NO_AA,
-                                        tint_gl_composited_content_),
+                                        tint_gl_composited_content_,
+                                        ShouldApplyRoundedCorner(quad)),
 -                quad_color_space,
 -                current_frame()->current_render_pass->color_space);
 +                PATCH_CS(quad_color_space),
 +                PATCH_CS(current_frame()->current_render_pass->color_space));
    SetShaderColor(color, opacity);
- 
-   if (current_program_->tint_color_matrix_location() != -1) {
-@@ -1948,8 +1953,8 @@ void GLRenderer::DrawContentQuadAA(const ContentDrawQuadBase* quad,
-                        quad->is_premultiplied ? PREMULTIPLIED_ALPHA
+   if (current_program_->rounded_corner_rect_location() != -1) {
+     SetShaderRoundedCorner(
+@@ -1997,8 +2002,8 @@ void GLRenderer::DrawContentQuadAA(const ContentDrawQuadBase* quad,
                                                : NON_PREMULTIPLIED_ALPHA,
-                        false, false, tint_gl_composited_content_),
+                        false, false, tint_gl_composited_content_,
+                        ShouldApplyRoundedCorner(quad)),
 -      quad_resource_lock.color_space(),
 -      current_frame()->current_render_pass->color_space);
 +      PATCH_CS(quad_resource_lock.color_space()),
@@ -122,10 +122,10 @@ index 9e0979a93d698665b08623ad7cbc11939d7f4ff8..93f99b09250ab1f515e13de3ac80cea1
  
    if (current_program_->tint_color_matrix_location() != -1) {
      auto matrix = cc::DebugColors::TintCompositedContentColorTransformMatrix();
-@@ -2040,8 +2045,8 @@ void GLRenderer::DrawContentQuadNoAA(const ContentDrawQuadBase* quad,
-                                               : NON_PREMULTIPLIED_ALPHA,
+@@ -2095,8 +2100,8 @@ void GLRenderer::DrawContentQuadNoAA(const ContentDrawQuadBase* quad,
                         !quad->ShouldDrawWithBlending(), has_tex_clamp_rect,
-                        tint_gl_composited_content_),
+                        tint_gl_composited_content_,
+                        ShouldApplyRoundedCorner(quad)),
 -      quad_resource_lock.color_space(),
 -      current_frame()->current_render_pass->color_space);
 +      PATCH_CS(quad_resource_lock.color_space()),
@@ -133,7 +133,7 @@ index 9e0979a93d698665b08623ad7cbc11939d7f4ff8..93f99b09250ab1f515e13de3ac80cea1
  
    if (current_program_->tint_color_matrix_location() != -1) {
      auto matrix = cc::DebugColors::TintCompositedContentColorTransformMatrix();
-@@ -2139,7 +2144,7 @@ void GLRenderer::DrawYUVVideoQuad(const YUVVideoDrawQuad* quad,
+@@ -2199,7 +2204,7 @@ void GLRenderer::DrawYUVVideoQuad(const YUVVideoDrawQuad* quad,
    DCHECK_NE(src_color_space, src_color_space.GetAsFullRangeRGB());
  
    gfx::ColorSpace dst_color_space =
@@ -142,10 +142,10 @@ index 9e0979a93d698665b08623ad7cbc11939d7f4ff8..93f99b09250ab1f515e13de3ac80cea1
    // 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.
-@@ -2287,8 +2292,8 @@ void GLRenderer::DrawStreamVideoQuad(const StreamVideoDrawQuad* quad,
-                                                  quad->resource_id());
+@@ -2355,8 +2360,8 @@ void GLRenderer::DrawStreamVideoQuad(const StreamVideoDrawQuad* quad,
  
-   SetUseProgram(ProgramKey::VideoStream(tex_coord_precision),
+   SetUseProgram(ProgramKey::VideoStream(tex_coord_precision,
+                                         ShouldApplyRoundedCorner(quad)),
 -                lock.color_space(),
 -                current_frame()->current_render_pass->color_space);
 +                PATCH_CS(lock.color_space()),
@@ -153,7 +153,7 @@ index 9e0979a93d698665b08623ad7cbc11939d7f4ff8..93f99b09250ab1f515e13de3ac80cea1
  
    DCHECK_EQ(GL_TEXTURE0, GetActiveTextureUnit(gl_));
    gl_->BindTexture(GL_TEXTURE_EXTERNAL_OES, lock.texture_id());
-@@ -2345,8 +2350,8 @@ void GLRenderer::FlushTextureQuadCache(BoundGeometry flush_binding) {
+@@ -2413,8 +2418,8 @@ void GLRenderer::FlushTextureQuadCache(BoundGeometry flush_binding) {
        draw_cache_.nearest_neighbor ? GL_NEAREST : GL_LINEAR);
  
    // Bind the program to the GL state.
@@ -162,9 +162,9 @@ index 9e0979a93d698665b08623ad7cbc11939d7f4ff8..93f99b09250ab1f515e13de3ac80cea1
 +  SetUseProgram(draw_cache_.program_key, PATCH_CS(locked_quad.color_space()),
 +                PATCH_CS(current_frame()->current_render_pass->color_space));
  
-   DCHECK_EQ(GL_TEXTURE0, GetActiveTextureUnit(gl_));
-   gl_->BindTexture(locked_quad.target(), locked_quad.texture_id());
-@@ -3001,7 +3006,9 @@ void GLRenderer::PrepareGeometry(BoundGeometry binding) {
+   if (current_program_->rounded_corner_rect_location() != -1) {
+     SetShaderRoundedCorner(
+@@ -3107,7 +3112,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 9e0979a93d698665b08623ad7cbc11939d7f4ff8..93f99b09250ab1f515e13de3ac80cea1
  
    ProgramKey program_key = program_key_no_color;
    const gfx::ColorTransform* color_transform =
-@@ -3355,7 +3362,7 @@ void GLRenderer::CopyRenderPassDrawQuadToOverlayResource(
+@@ -3461,7 +3468,7 @@ void GLRenderer::CopyRenderPassDrawQuadToOverlayResource(
  
    *overlay_texture = FindOrCreateOverlayTexture(
        params.quad->render_pass_id, iosurface_width, iosurface_height,
@@ -184,7 +184,7 @@ index 9e0979a93d698665b08623ad7cbc11939d7f4ff8..93f99b09250ab1f515e13de3ac80cea1
    *new_bounds = gfx::RectF(updated_dst_rect.origin(),
                             gfx::SizeF((*overlay_texture)->texture.size()));
  
-@@ -3559,8 +3566,9 @@ void GLRenderer::FlushOverdrawFeedback(const gfx::Rect& output_rect) {
+@@ -3665,8 +3672,9 @@ void GLRenderer::FlushOverdrawFeedback(const gfx::Rect& output_rect) {
  
    PrepareGeometry(SHARED_BINDING);
  
@@ -196,14 +196,14 @@ index 9e0979a93d698665b08623ad7cbc11939d7f4ff8..93f99b09250ab1f515e13de3ac80cea1
  
    gfx::Transform render_matrix;
    render_matrix.Translate(0.5 * output_rect.width() + output_rect.x(),
-@@ -3720,3 +3728,5 @@ gfx::Size GLRenderer::GetRenderPassBackingPixelSize(
+@@ -3826,3 +3834,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 6a288270e96b2288a1c7a53bba94f21ee41e0707..e7010b8cd6d3dc4c6479fbbabff131fb59a9d3c4 100644
+index 53fc82c1f2cc0cfb7a6ce909fea6c025dff26b43..ec00a673df6a8f1c372fc8dff7cf508502c3767b 100644
 --- a/content/browser/gpu/gpu_process_host.cc
 +++ b/content/browser/gpu/gpu_process_host.cc
 @@ -192,6 +192,7 @@ GpuTerminationStatus ConvertToGpuTerminationStatus(
@@ -215,10 +215,10 @@ index 6a288270e96b2288a1c7a53bba94f21ee41e0707..e7010b8cd6d3dc4c6479fbbabff131fb
      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 e600dd4b1599d7aa0e02c2bab2644c6ee8703140..6b188f8d94a6f372f59ef6a0f6438ef63dfd541f 100644
+index 721ea34bcd930dece08173366375ace0a16bc7d0..1c5d5acd48cfb42d6cd41d24f21fc025f25f6de7 100644
 --- a/content/browser/renderer_host/render_process_host_impl.cc
 +++ b/content/browser/renderer_host/render_process_host_impl.cc
-@@ -219,6 +219,7 @@
+@@ -220,6 +220,7 @@
  #include "ui/base/ui_base_switches.h"
  #include "ui/base/ui_base_switches_util.h"
  #include "ui/display/display_switches.h"
@@ -226,7 +226,7 @@ index e600dd4b1599d7aa0e02c2bab2644c6ee8703140..6b188f8d94a6f372f59ef6a0f6438ef6
  #include "ui/gl/gl_switches.h"
  #include "ui/native_theme/native_theme_features.h"
  
-@@ -2939,6 +2940,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
+@@ -2935,6 +2936,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[] = {
@@ -235,10 +235,10 @@ index e600dd4b1599d7aa0e02c2bab2644c6ee8703140..6b188f8d94a6f372f59ef6a0f6438ef6
      network::switches::kExplicitlyAllowedPorts,
      service_manager::switches::kDisableInProcessStackTraces,
 diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc
-index dd7a1cb4d0c303ac03e612b6702c8731882ca88d..22939ad3934b64ac8018663b56d788eeacde61f7 100644
+index 970bdf426edcb0ffbd89ccdee69cf35ad37d3d9f..989eab3f13938888c335a1ebbc2a033ee5ee5414 100644
 --- a/content/renderer/render_widget.cc
 +++ b/content/renderer/render_widget.cc
-@@ -2805,6 +2805,9 @@ cc::LayerTreeSettings RenderWidget::GenerateLayerTreeSettings(
+@@ -2818,6 +2818,9 @@ cc::LayerTreeSettings RenderWidget::GenerateLayerTreeSettings(
    settings.main_frame_before_activation_enabled =
        cmd.HasSwitch(cc::switches::kEnableMainFrameBeforeActivation);
  
@@ -249,7 +249,7 @@ index dd7a1cb4d0c303ac03e612b6702c8731882ca88d..22939ad3934b64ac8018663b56d788ee
    // is what the renderer uses if its not threaded.
    settings.enable_checker_imaging =
 diff --git a/ui/gfx/mac/io_surface.cc b/ui/gfx/mac/io_surface.cc
-index d12f8a42cb6af501dad92483b957dcf33d76a6c9..fbc0ab37aef36b46a54c7afc54945161ce973834 100644
+index 88ec94963569588ed2882193a28197879dcb1090..eae37577bc9b1872c0162f55de218553eed61587 100644
 --- a/ui/gfx/mac/io_surface.cc
 +++ b/ui/gfx/mac/io_surface.cc
 @@ -16,6 +16,7 @@
@@ -288,7 +288,7 @@ index d12f8a42cb6af501dad92483b957dcf33d76a6c9..fbc0ab37aef36b46a54c7afc54945161
    if (color_space == ColorSpace::CreateSRGB()) {
      base::ScopedCFTypeRef<CFDataRef> srgb_icc(
 diff --git a/ui/gfx/switches.cc b/ui/gfx/switches.cc
-index 26ac6442b4211e5fbe59193118e1eb8b713f6397..b3e2080fc3415303280613c57b4c351752eb3621 100644
+index 0ea5e08a40203cdd0fc0f9ea3ef49818bfd185d4..0368f2565686e367d1a95fb47306596797583663 100644
 --- a/ui/gfx/switches.cc
 +++ b/ui/gfx/switches.cc
 @@ -7,6 +7,8 @@
@@ -297,11 +297,11 @@ index 26ac6442b4211e5fbe59193118e1eb8b713f6397..b3e2080fc3415303280613c57b4c3517
  
 +const char kDisableColorCorrectRendering[] = "disable-color-correct-rendering";
 +
- #if defined(OS_WIN)
- // Disables DirectWrite font rendering for general UI elements.
- const char kDisableDirectWriteForUI[] = "disable-directwrite-for-ui";
+ // Force disables font subpixel positioning. This affects the character glyph
+ // sharpness, kerning, hinting and layout.
+ const char kDisableFontSubpixelPositioning[] =
 diff --git a/ui/gfx/switches.h b/ui/gfx/switches.h
-index 41382819ef50470dc6913e547b4569c0bb991877..298d555cded22b211ddcd6d7b3f7202138445307 100644
+index 91d10770c24107de723403c6ce47e1b00fff28ad..da35618e6e3c36ebf38ffc7c2b428bcf6671227e 100644
 --- a/ui/gfx/switches.h
 +++ b/ui/gfx/switches.h
 @@ -11,6 +11,8 @@
@@ -310,6 +310,6 @@ index 41382819ef50470dc6913e547b4569c0bb991877..298d555cded22b211ddcd6d7b3f72021
  
 +GFX_SWITCHES_EXPORT extern const char kDisableColorCorrectRendering[];
 +
- #if defined(OS_WIN)
- GFX_SWITCHES_EXPORT extern const char kDisableDirectWriteForUI[];
- #endif
+ GFX_SWITCHES_EXPORT extern const char kDisableFontSubpixelPositioning[];
+ 
+ GFX_SWITCHES_EXPORT extern const char kHeadless[];

+ 0 - 20
patches/common/chromium/disable_custom_libcxx_on_windows.patch

@@ -1,20 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Samuel Attard <[email protected]>
-Date: Fri, 29 Mar 2019 11:04:46 -0700
-Subject: disable custom libcxx on windows
-
-
-diff --git a/build/config/c++/c++.gni b/build/config/c++/c++.gni
-index 5d45ff18455275e2ab416030fb01b103c7a630cf..39774eb51b112e02a9aa9c5288e8b52e33fdcb17 100644
---- a/build/config/c++/c++.gni
-+++ b/build/config/c++/c++.gni
-@@ -13,7 +13,8 @@ declare_args() {
-   # TODO(https://crbug.com/942939): Re-enable libc++ on Windows with libfuzzer.
-   use_custom_libcxx =
-       is_fuchsia || is_android || is_mac ||
--      (is_win && is_clang && !use_libfuzzer) ||
-+      # Do not use custom libcxx on windows
-+      # (is_win && is_clang && !use_libfuzzer) ||
-       (is_linux &&
-        (!is_chromeos || default_toolchain != "//build/toolchain/cros:target"))
- 

+ 1 - 1
patches/common/chromium/disable_detach_webview_frame.patch

@@ -12,7 +12,7 @@ this patch was introduced in Chrome 66.
 Update(zcbenz): The bug is still in Chrome 72.
 
 diff --git a/content/browser/frame_host/render_frame_proxy_host.cc b/content/browser/frame_host/render_frame_proxy_host.cc
-index 3260ea62afa77c902580869dd6b7a652f8b69c34..152de4b65d9140f2d0ada72d2a22b2a7cfe97681 100644
+index f0ede24b7a723485996b9181d1521ffce87449de..6d4815276f6c2e44b16e7ad8bd0983788cd1fbcf 100644
 --- a/content/browser/frame_host/render_frame_proxy_host.cc
 +++ b/content/browser/frame_host/render_frame_proxy_host.cc
 @@ -270,6 +270,12 @@ void RenderFrameProxyHost::SetDestructionCallback(

+ 3 - 3
patches/common/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 a69f7599680cf91340429df922ab503e86be8adf..091a2a140f2f12dabbecad412a20e44f66829a2f 100644
+index 4ccf75d1c1f4f8a8375874c0adfc583639bc2e9d..8aa2889137a0f3a7ffaaa439a39475428fbcfc7c 100644
 --- a/content/browser/renderer_host/render_widget_host_impl.cc
 +++ b/content/browser/renderer_host/render_widget_host_impl.cc
-@@ -764,6 +764,9 @@ void RenderWidgetHostImpl::WasHidden() {
+@@ -736,6 +736,9 @@ void RenderWidgetHostImpl::WasHidden() {
    if (is_hidden_)
      return;
  
@@ -19,7 +19,7 @@ index a69f7599680cf91340429df922ab503e86be8adf..091a2a140f2f12dabbecad412a20e44f
  
    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 ce8bfd88b4956101a376c71623d392ca93b49caf..2ba6d13468468333e03afe3f0a50fdeeacf4972e 100644
+index f9a68845dc4a5ed1eb4f81f391c4a75c51a2e02e..8fc5af102d9650862d3bc697609954dff67982f2 100644
 --- a/content/browser/renderer_host/render_widget_host_impl.h
 +++ b/content/browser/renderer_host/render_widget_host_impl.h
 @@ -153,6 +153,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl

+ 2 - 2
patches/common/chromium/disable_network_services_by_default.patch

@@ -1,6 +1,6 @@
 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Cheng Zhao <[email protected]>
-Date: Tue, 9 April 2019 14:57:02 -0700
+Date: Tue, 9 Apr 2019 14:57:02 -0700
 Subject: disable_network_services_by_default.patch
 
 Disable NetworkService by default.
@@ -12,7 +12,7 @@ We should remove this patch after all Electron's code has been migrated to the
 NetworkService.
 
 diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc
-index 5276ed9798d9..9d4d6421c75a 100644
+index f7bf09f21ab1084128c21af90fe0bcb81066e894..ef2f5d880fd7ae839fff8bbd6bb33bf5aa244053 100644
 --- a/services/network/public/cpp/features.cc
 +++ b/services/network/public/cpp/features.cc
 @@ -21,7 +21,7 @@ const base::Feature kNetworkService {

+ 2 - 2
patches/common/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 faecf207e5ab8e40c4c8e72bab79c0d12cd6a4d3..ee6eb1aeaaee8b97e4c6a3e741e75c71ab931305 100644
+index 94a6fbd928290ebdfe0b60aee19b4a51d61a3514..a1ba9cb375203818be222ecae57486ad3c6daa3c 100644
 --- a/third_party/blink/renderer/core/dom/document.cc
 +++ b/third_party/blink/renderer/core/dom/document.cc
-@@ -3562,7 +3562,9 @@ bool Document::DispatchBeforeUnloadEvent(ChromeClient* chrome_client,
+@@ -3574,7 +3574,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/common/chromium/dom_storage_limits.patch

@@ -97,10 +97,10 @@ index c04e0e8bff1a7a41a1e18aca5403aed16a80aead..d63cec971f0a98f7b8ff30c1f6a0fa84
    EnsureLoaded();
    bool result = false;
 diff --git a/third_party/blink/renderer/modules/storage/cached_storage_area.cc b/third_party/blink/renderer/modules/storage/cached_storage_area.cc
-index 35a114eb8fc2ee6176c25377081df7f04f8b72f1..689df99ebd955e544bbc1e3048842801fb9c5367 100644
+index 9430717450759c77e8164bc1c496c4a8e4e9ddb6..8a8ff0816d8c015ea8a0456ba66b702b765a128a 100644
 --- a/third_party/blink/renderer/modules/storage/cached_storage_area.cc
 +++ b/third_party/blink/renderer/modules/storage/cached_storage_area.cc
-@@ -101,11 +101,13 @@ bool CachedStorageArea::SetItem(const String& key,
+@@ -106,11 +106,13 @@ bool CachedStorageArea::SetItem(const String& key,
                                  Source* source) {
    DCHECK(areas_->Contains(source));
  

+ 2 - 2
patches/common/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 256f726a20a030d2b4ab7b528270669b8952cd10..38c68c1a8db0ec6fe57f8a74f62b1c5bd0620f95 100644
+index eee1b8766987c0fec4061fef98d5816c1dd429a4..062a147b94ca6ecdd68417da61465ed295f0db6f 100644
 --- a/third_party/blink/renderer/platform/BUILD.gn
 +++ b/third_party/blink/renderer/platform/BUILD.gn
-@@ -1738,7 +1738,7 @@ jumbo_source_set("blink_platform_unittests_sources") {
+@@ -1745,7 +1745,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/common/chromium/fix_disable_usage_of_setapplicationisdaemon_and.patch

@@ -5,10 +5,10 @@ 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 a122c033798110b715c4c2b18d809ec360c06419..2d65f284d9e68f13e0ecb5bf5d9a3276e2a62686 100644
+index 3a4a72dbbfeb2ce480fd7ae3b3e5de018585c36c..87c0821d88b8092d8ba7e82b588a0a5eed1ef8a5 100644
 --- a/content/utility/utility_service_factory.cc
 +++ b/content/utility/utility_service_factory.cc
-@@ -205,7 +205,7 @@ void UtilityServiceFactory::RunNetworkServiceOnIOThread(
+@@ -207,7 +207,7 @@ void UtilityServiceFactory::RunService(
  std::unique_ptr<service_manager::Service>
  UtilityServiceFactory::CreateAudioService(
      service_manager::mojom::ServiceRequest request) {

+ 0 - 25
patches/common/chromium/fix_retain_compatibility_with_msvc.patch

@@ -1,25 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Samuel Attard <[email protected]>
-Date: Tue, 2 Apr 2019 14:38:43 -0700
-Subject: fix: retain compatibility with MSVC++
-
-The C++ standard has always forbidden containers of const elements such
-as std::set<const T>.  In order to retain compability with MSVC++ this
-code can not exist in Chromium.
-
-This should probably also be fixed in libc++ to prevent this occurring
-again but this fixes the build for now.
-
-diff --git a/components/language/core/browser/language_prefs.cc b/components/language/core/browser/language_prefs.cc
-index 317aa1d8298cd697c5388ddeb9680b39e562e9ab..df258ca62acfa8a198bcb7c4be31746a491d938b 100644
---- a/components/language/core/browser/language_prefs.cc
-+++ b/components/language/core/browser/language_prefs.cc
-@@ -85,7 +85,7 @@ void LanguagePrefs::ResetEmptyFluentLanguagesToDefault() {
- }
- 
- base::Value LanguagePrefs::GetDefaultFluentLanguages() {
--  std::set<const std::string> languages;
-+  std::set<std::string> languages;
- #if defined(OS_CHROMEOS)
-   // Preferred languages.
-   std::string language = language::kFallbackInputMethodLocale;

+ 7 - 7
patches/common/chromium/frame_host_manager.patch

@@ -7,10 +7,10 @@ Allows embedder to intercept site instances chosen by chromium
 and respond with custom instance.
 
 diff --git a/content/browser/frame_host/render_frame_host_manager.cc b/content/browser/frame_host/render_frame_host_manager.cc
-index 5116c5e77acb759b504e3c1dae027b868edb7013..cf10fdf5136d35961abf972603863ba8fa97dfb5 100644
+index 56aa5739aa3e364fb56c20e5cafe60302693d85d..725be2485879b1c9aebf67ee65dc86cf4b755496 100644
 --- a/content/browser/frame_host/render_frame_host_manager.cc
 +++ b/content/browser/frame_host/render_frame_host_manager.cc
-@@ -2008,6 +2008,16 @@ bool RenderFrameHostManager::InitRenderView(
+@@ -2102,6 +2102,16 @@ bool RenderFrameHostManager::InitRenderView(
  scoped_refptr<SiteInstance>
  RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
      const NavigationRequest& request) {
@@ -27,7 +27,7 @@ index 5116c5e77acb759b504e3c1dae027b868edb7013..cf10fdf5136d35961abf972603863ba8
    // First, check if the navigation can switch SiteInstances. If not, the
    // navigation should use the current SiteInstance.
    SiteInstance* current_site_instance = render_frame_host_->GetSiteInstance();
-@@ -2040,6 +2050,51 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
+@@ -2134,6 +2144,51 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
                                                request.common_params().url);
      no_renderer_swap_allowed |=
          request.from_begin_navigation() && !can_renderer_initiate_transfer;
@@ -79,7 +79,7 @@ index 5116c5e77acb759b504e3c1dae027b868edb7013..cf10fdf5136d35961abf972603863ba8
    } else {
      // Subframe navigations will use the current renderer, unless specifically
      // allowed to swap processes.
-@@ -2051,23 +2106,17 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
+@@ -2145,23 +2200,17 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
    if (no_renderer_swap_allowed && !should_swap_for_error_isolation)
      return scoped_refptr<SiteInstance>(current_site_instance);
  
@@ -108,7 +108,7 @@ index 5116c5e77acb759b504e3c1dae027b868edb7013..cf10fdf5136d35961abf972603863ba8
  }
  
 diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
-index 04c766ffe55d6c24b7aaa19e70236a7a93fb015c..b41997165352e06cd6179e1d0dd3c18e4ab819a2 100644
+index 03999fb7f9bfc1bb21cda1bfe15e95fb3bc9b678..7e15121545795d39ec3326856919e6582b239506 100644
 --- a/content/public/browser/content_browser_client.cc
 +++ b/content/public/browser/content_browser_client.cc
 @@ -51,6 +51,16 @@ void OverrideOnBindInterface(const service_manager::BindSourceInfo& remote_info,
@@ -129,10 +129,10 @@ index 04c766ffe55d6c24b7aaa19e70236a7a93fb015c..b41997165352e06cd6179e1d0dd3c18e
      const MainFunctionParams& parameters) {
    return nullptr;
 diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
-index 3f9739aa7b3a29106bc267ee9ba67dd7ebdd3099..406cca4538b978a8de41845b02f4c0d15b393cde 100644
+index 424bdb1dde40cc4003e022908de702a9d9e488d4..e89f60b3c6297a90e95058c19fc953c82af043e9 100644
 --- a/content/public/browser/content_browser_client.h
 +++ b/content/public/browser/content_browser_client.h
-@@ -210,8 +210,37 @@ CONTENT_EXPORT void OverrideOnBindInterface(
+@@ -213,8 +213,37 @@ CONTENT_EXPORT void OverrideOnBindInterface(
  // the observer interfaces.)
  class CONTENT_EXPORT ContentBrowserClient {
   public:

+ 2 - 2
patches/common/chromium/gin_enable_disable_v8_platform.patch

@@ -5,10 +5,10 @@ Subject: gin_enable_disable_v8_platform.patch
 
 
 diff --git a/gin/isolate_holder.cc b/gin/isolate_holder.cc
-index 5577bbbb4eb0a97fadf156a9233dc153d427e55e..c8d5b58d711012bf9761ce073af00f30f803081b 100644
+index 5f8aea7105a188846fd48d199bb4e0ca2017a0ab..2514f591208372d6654ff9c5be50a51a39a881cb 100644
 --- a/gin/isolate_holder.cc
 +++ b/gin/isolate_holder.cc
-@@ -120,9 +120,10 @@ IsolateHolder::~IsolateHolder() {
+@@ -98,9 +98,10 @@ IsolateHolder::~IsolateHolder() {
  // static
  void IsolateHolder::Initialize(ScriptMode mode,
                                 v8::ArrayBuffer::Allocator* allocator,

+ 2 - 2
patches/common/chromium/gritsettings_resource_ids.patch

@@ -6,10 +6,10 @@ Subject: gritsettings_resource_ids.patch
 Add electron resources file to the list of resource ids generation.
 
 diff --git a/tools/gritsettings/resource_ids b/tools/gritsettings/resource_ids
-index e271342ea2458afe618543a8ff475cf265fb1aca..8ef1d7c83a49ed6144898e045d8e195a0c658af4 100644
+index 33dc98925f5f6090daf2ee002dd53bd2454d774b..507fa685080d2a48b0974c5c9104eedecf3ad6d4 100644
 --- a/tools/gritsettings/resource_ids
 +++ b/tools/gritsettings/resource_ids
-@@ -427,6 +427,11 @@
+@@ -435,6 +435,11 @@
      "includes": [28880],
    },
  

+ 1 - 1
patches/common/chromium/ignore_rc_check.patch

@@ -7,7 +7,7 @@ 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 f173adb20333998e22c5b937a3e7ce1b62e7ef1e..1b884b7a4badf9096a92068261f3e132181785f9 100644
+index 926086670dac3ccf85f4085b513740aec1ebe9e5..cbb32f1143420d47af23f1ad92ee8656543a93e0 100644
 --- a/build/toolchain/win/tool_wrapper.py
 +++ b/build/toolchain/win/tool_wrapper.py
 @@ -224,7 +224,11 @@ class WinTool(object):

+ 23 - 0
patches/common/chromium/ipc_message_start.patch

@@ -0,0 +1,23 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: deepak1556 <[email protected]>
+Date: Fri, 5 Apr 2019 12:49:24 +0530
+Subject: Define ipc identifier for legacy Electron ipc messages
+
+Electron ipc messages used to piggy back on ShellMsgStart for ipc
+identifier. But its not available after
+https://chromium-review.googlesource.com/c/chromium/src/+/1525181.
+This patch can be removed once legacy ipc messages are no longer
+used.
+
+diff --git a/ipc/ipc_message_start.h b/ipc/ipc_message_start.h
+index 4d83cdf93aef66d3479c9a325e8241592d85359e..a03af8a4b9d370ae849d4fe61c805ecb525fe394 100644
+--- a/ipc/ipc_message_start.h
++++ b/ipc/ipc_message_start.h
+@@ -69,6 +69,7 @@ enum IPCMessageStart {
+   ExtensionWorkerMsgStart,
+   SubresourceFilterMsgStart,
+   ChromeAppsMsgStart,
++  ElectronMsgStart,
+   LastIPCMsgStart  // Must come last.
+ };
+ 

+ 1 - 1
patches/common/chromium/isolate_holder.patch

@@ -8,7 +8,7 @@ needs to register on an isolate so that it can be used later
 down in the initialization process of an isolate.
 
 diff --git a/gin/isolate_holder.cc b/gin/isolate_holder.cc
-index c8d5b58d711012bf9761ce073af00f30f803081b..ec61b873d4e2dcdca833c8503beabb88d0798f2d 100644
+index 2514f591208372d6654ff9c5be50a51a39a881cb..4dd48f6a871cccb374c58adacb8ad9a80da89a5a 100644
 --- a/gin/isolate_holder.cc
 +++ b/gin/isolate_holder.cc
 @@ -52,7 +52,8 @@ IsolateHolder::IsolateHolder(

+ 5 - 5
patches/common/chromium/mas_blink_no_private_api.patch

@@ -73,10 +73,10 @@ index 94afefcee81b87c05bf9b1199d90d3d4b5ea84a6..2ec7f04c71824b47de1ddbf1f0e8625d
  
  }  // namespace blink
 diff --git a/third_party/blink/renderer/core/paint/theme_painter_mac.mm b/third_party/blink/renderer/core/paint/theme_painter_mac.mm
-index 7a1260db0a139f9f3f8a823af2c220f36162812a..bf9cf7046e2fc9cdfee5b92f2a348185cc00b944 100644
+index e965faf9fd8d5ec3572d769421f149907d66c67f..b2d0bbd80994fdf9607009d9e27bf4c3629fe402 100644
 --- a/third_party/blink/renderer/core/paint/theme_painter_mac.mm
 +++ b/third_party/blink/renderer/core/paint/theme_painter_mac.mm
-@@ -42,6 +42,7 @@
+@@ -41,6 +41,7 @@
  
  // The methods in this file are specific to the Mac OS X platform.
  
@@ -84,7 +84,7 @@ index 7a1260db0a139f9f3f8a823af2c220f36162812a..bf9cf7046e2fc9cdfee5b92f2a348185
  // Forward declare Mac SPIs.
  extern "C" {
  void _NSDrawCarbonThemeBezel(NSRect frame, BOOL enabled, BOOL flipped);
-@@ -51,6 +52,7 @@ void _NSDrawCarbonThemeListBox(NSRect frame,
+@@ -50,6 +51,7 @@ void _NSDrawCarbonThemeListBox(NSRect frame,
                                 BOOL flipped,
                                 BOOL always_yes);
  }
@@ -92,7 +92,7 @@ index 7a1260db0a139f9f3f8a823af2c220f36162812a..bf9cf7046e2fc9cdfee5b92f2a348185
  
  namespace blink {
  
-@@ -73,10 +75,12 @@ void _NSDrawCarbonThemeListBox(NSRect frame,
+@@ -72,10 +74,12 @@ void _NSDrawCarbonThemeListBox(NSRect frame,
    // behavior change while remaining a fragile solution.
    // https://bugs.chromium.org/p/chromium/issues/detail?id=658085#c3
    if (!use_ns_text_field_cell) {
@@ -105,7 +105,7 @@ index 7a1260db0a139f9f3f8a823af2c220f36162812a..bf9cf7046e2fc9cdfee5b92f2a348185
      return false;
    }
  
-@@ -162,10 +166,12 @@ void _NSDrawCarbonThemeListBox(NSRect frame,
+@@ -161,10 +165,12 @@ void _NSDrawCarbonThemeListBox(NSRect frame,
                                      const PaintInfo& paint_info,
                                      const IntRect& r) {
    LocalCurrentGraphicsContext local_context(paint_info.context, r);

+ 19 - 19
patches/common/chromium/mas_no_private_api.patch

@@ -38,7 +38,7 @@ index d38fa48b8b890d90f2911995a2a51c249005c827..5fe68c71fe101a307ef565013a91b109
  // 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 17dc6271190c0687fb38c181d9fdb6b5d6addcd4..90cc1e5d47b52aeac38e8e3b638b1f76fa24075a 100644
+index 575957842225a102337a71fe2a4a10625505a647..01ee760aa0853517631add692e7e8279cada714c 100644
 --- a/content/browser/accessibility/browser_accessibility_cocoa.mm
 +++ b/content/browser/accessibility/browser_accessibility_cocoa.mm
 @@ -141,6 +141,7 @@
@@ -133,7 +133,7 @@ index 17dc6271190c0687fb38c181d9fdb6b5d6addcd4..90cc1e5d47b52aeac38e8e3b638b1f76
  
  // Returns a subrole based upon the role.
  - (NSString*)subrole {
-@@ -2406,12 +2420,14 @@ - (NSAttributedString*)attributedValueForRange:(NSRange)range {
+@@ -2401,12 +2415,14 @@ - (NSAttributedString*)attributedValueForRange:(NSRange)range {
    NSMutableAttributedString* attributedValue =
        [[[NSMutableAttributedString alloc] initWithString:value] autorelease];
  
@@ -148,7 +148,7 @@ index 17dc6271190c0687fb38c181d9fdb6b5d6addcd4..90cc1e5d47b52aeac38e8e3b638b1f76
  
    return [attributedValue attributedSubstringFromRange:range];
  }
-@@ -2496,6 +2512,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute
+@@ -2491,6 +2507,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute
        return ToBrowserAccessibilityCocoa(cell);
    }
  
@@ -156,7 +156,7 @@ index 17dc6271190c0687fb38c181d9fdb6b5d6addcd4..90cc1e5d47b52aeac38e8e3b638b1f76
    if ([attribute isEqualToString:@"AXUIElementForTextMarker"]) {
      BrowserAccessibilityPositionInstance position =
          CreatePositionFromTextMarker(parameter);
-@@ -2673,6 +2690,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute
+@@ -2668,6 +2685,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute
      NSString* text = GetTextForTextMarkerRange(parameter);
      return [NSNumber numberWithInt:[text length]];
    }
@@ -164,7 +164,7 @@ index 17dc6271190c0687fb38c181d9fdb6b5d6addcd4..90cc1e5d47b52aeac38e8e3b638b1f76
  
    if ([attribute isEqualToString:
                       NSAccessibilityBoundsForRangeParameterizedAttribute]) {
-@@ -2706,6 +2724,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute
+@@ -2701,6 +2719,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute
      return nil;
    }
  
@@ -172,7 +172,7 @@ index 17dc6271190c0687fb38c181d9fdb6b5d6addcd4..90cc1e5d47b52aeac38e8e3b638b1f76
    if ([attribute
            isEqualToString:
                NSAccessibilityLineTextMarkerRangeForTextMarkerParameterizedAttribute]) {
-@@ -2785,6 +2804,7 @@ AXPlatformRange range(position->CreatePreviousLineStartPosition(
+@@ -2780,6 +2799,7 @@ AXPlatformRange range(position->CreatePreviousLineStartPosition(
  
      return @(child->GetIndexInParent());
    }
@@ -181,10 +181,10 @@ index 17dc6271190c0687fb38c181d9fdb6b5d6addcd4..90cc1e5d47b52aeac38e8e3b638b1f76
    return nil;
  }
 diff --git a/content/browser/accessibility/browser_accessibility_manager_mac.mm b/content/browser/accessibility/browser_accessibility_manager_mac.mm
-index 47525323f56ca591ac5551c45dbdfed5208ac674..d559e05afb73c73e37d0c11ee5dc1597699ab562 100644
+index eb2f9c29b30b016eff979e06a432f804c4318503..a76f1aa4e24346dabb94089c77a260c9b6b19243 100644
 --- a/content/browser/accessibility/browser_accessibility_manager_mac.mm
 +++ b/content/browser/accessibility/browser_accessibility_manager_mac.mm
-@@ -461,6 +461,7 @@ void PostAnnouncementNotification(NSString* announcement) {
+@@ -484,6 +484,7 @@ void PostAnnouncementNotification(NSString* announcement) {
        [user_info setObject:native_focus_object
                      forKey:NSAccessibilityTextChangeElement];
  
@@ -192,7 +192,7 @@ index 47525323f56ca591ac5551c45dbdfed5208ac674..d559e05afb73c73e37d0c11ee5dc1597
        id selected_text = [native_focus_object selectedTextMarkerRange];
        if (selected_text) {
          NSString* const NSAccessibilitySelectedTextMarkerRangeAttribute =
-@@ -468,6 +469,7 @@ void PostAnnouncementNotification(NSString* announcement) {
+@@ -491,6 +492,7 @@ void PostAnnouncementNotification(NSString* announcement) {
          [user_info setObject:selected_text
                        forKey:NSAccessibilitySelectedTextMarkerRangeAttribute];
        }
@@ -201,12 +201,12 @@ index 47525323f56ca591ac5551c45dbdfed5208ac674..d559e05afb73c73e37d0c11ee5dc1597
    }
  
 diff --git a/content/renderer/renderer_main_platform_delegate_mac.mm b/content/renderer/renderer_main_platform_delegate_mac.mm
-index d6e9a7064687abfcf5fa874ee0a454806586db04..7c7db44d8d66ca1f9ad570abf552b6454cc0eac0 100644
+index e59ac93d0e1554a2df5d8c74db2beba25d090228..6657c48664bdec4964b382f80309d1bfd097a9e9 100644
 --- a/content/renderer/renderer_main_platform_delegate_mac.mm
 +++ b/content/renderer/renderer_main_platform_delegate_mac.mm
-@@ -23,9 +23,11 @@
+@@ -10,9 +10,11 @@
+ #include "sandbox/mac/seatbelt.h"
  #include "sandbox/mac/system_services.h"
- #include "services/service_manager/sandbox/mac/sandbox_mac.h"
  
 +#ifndef MAS_BUILD
  extern "C" {
@@ -216,7 +216,7 @@ index d6e9a7064687abfcf5fa874ee0a454806586db04..7c7db44d8d66ca1f9ad570abf552b645
  
  namespace content {
  
-@@ -35,6 +37,7 @@
+@@ -22,6 +24,7 @@
  // verifies there are no existing open connections), and then indicates that
  // Chrome should continue execution without access to launchservicesd.
  void DisableSystemServices() {
@@ -224,14 +224,14 @@ index d6e9a7064687abfcf5fa874ee0a454806586db04..7c7db44d8d66ca1f9ad570abf552b645
    // Tell the WindowServer that we don't want to make any future connections.
    // This will return Success as long as there are no open connections, which
    // is what we want.
-@@ -42,6 +45,7 @@ void DisableSystemServices() {
+@@ -29,6 +32,7 @@ void DisableSystemServices() {
    CHECK_EQ(result, kCGErrorSuccess);
  
    sandbox::DisableLaunchServices();
 +#endif
  }
  
- // You are about to read a pretty disgusting hack. In a static initializer,
+ }  // namespace
 diff --git a/device/bluetooth/bluetooth_adapter_mac.mm b/device/bluetooth/bluetooth_adapter_mac.mm
 index fe0b73b51492ca08cbebf3aec74ea0a7caf44aef..fb8b362097f18d947219af36f84b9bea7d4eccf1 100644
 --- a/device/bluetooth/bluetooth_adapter_mac.mm
@@ -277,7 +277,7 @@ index fe0b73b51492ca08cbebf3aec74ea0a7caf44aef..fb8b362097f18d947219af36f84b9bea
  
  void BluetoothAdapterMac::RemovePairingDelegateInternal(
 diff --git a/media/audio/BUILD.gn b/media/audio/BUILD.gn
-index dbc89abd64d5dae45b239482804ecdabbf7086f6..aba6eb679303fc7fb033ddf05fc941cf27ce8439 100644
+index cb7a5305c2d6cbe7b3aa13efdfe6dcc6dfd857e9..e3f3ee7fee0a8f9cf7b3c1b6bed7c2a6cf443954 100644
 --- a/media/audio/BUILD.gn
 +++ b/media/audio/BUILD.gn
 @@ -180,6 +180,12 @@ source_set("audio") {
@@ -294,10 +294,10 @@ index dbc89abd64d5dae45b239482804ecdabbf7086f6..aba6eb679303fc7fb033ddf05fc941cf
        "AudioToolbox.framework",
        "AudioUnit.framework",
 diff --git a/media/audio/mac/audio_manager_mac.cc b/media/audio/mac/audio_manager_mac.cc
-index a1091960873dad8bb1b0129d20a552bf8a51739f..50bb186d1474fd4c90723ac97ac93b1d271e7a3b 100644
+index 11cc3843f58174b8f234517359bab3c973ccf622..078e97d62f269777ec6b065de064de6dd081860b 100644
 --- a/media/audio/mac/audio_manager_mac.cc
 +++ b/media/audio/mac/audio_manager_mac.cc
-@@ -877,7 +877,7 @@ AudioParameters AudioManagerMac::GetPreferredOutputStreamParameters(
+@@ -882,7 +882,7 @@ AudioParameters AudioManagerMac::GetPreferredOutputStreamParameters(
  
  void AudioManagerMac::InitializeOnAudioThread() {
    DCHECK(GetTaskRunner()->BelongsToCurrentThread());
@@ -307,7 +307,7 @@ index a1091960873dad8bb1b0129d20a552bf8a51739f..50bb186d1474fd4c90723ac97ac93b1d
  }
  
 diff --git a/net/dns/dns_config_service_posix.cc b/net/dns/dns_config_service_posix.cc
-index 6e45b8031b6373b3979f2cc8dd89ae3c3b12f535..6e1a3c7c3ddd3e7c2d2cd2b38680479e50ee5340 100644
+index 48ee9253d64faba7c1b9a0e77deac05dc149b874..cebc6f40070ff720eaff7013c9c58767c88cdaff 100644
 --- a/net/dns/dns_config_service_posix.cc
 +++ b/net/dns/dns_config_service_posix.cc
 @@ -245,6 +245,7 @@ class DnsConfigServicePosix::Watcher {

+ 5 - 5
patches/common/chromium/no_cache_storage_check.patch

@@ -6,11 +6,11 @@ Subject: no_cache_storage_check.patch
 Do not check for unique origin in CacheStorage, in Electron we may have
 scripts running without an origin.
 
-diff --git a/content/browser/cache_storage/cache_storage.cc b/content/browser/cache_storage/cache_storage.cc
-index 8ccf3c92c3edd453e0ff3a314d344187056d818b..25e78ca803256ea0115e72c2a3f583c466e2b944 100644
---- a/content/browser/cache_storage/cache_storage.cc
-+++ b/content/browser/cache_storage/cache_storage.cc
-@@ -106,7 +106,7 @@ class CacheStorage::CacheLoader {
+diff --git a/content/browser/cache_storage/legacy/legacy_cache_storage.cc b/content/browser/cache_storage/legacy/legacy_cache_storage.cc
+index 73d521edb2c85ad4fac6b6d691e77af1ff91caee..8c4a96de9c23ff48d11c67170c54418c9b0f2998 100644
+--- a/content/browser/cache_storage/legacy/legacy_cache_storage.cc
++++ b/content/browser/cache_storage/legacy/legacy_cache_storage.cc
+@@ -104,7 +104,7 @@ class LegacyCacheStorage::CacheLoader {
          cache_storage_(cache_storage),
          origin_(origin),
          owner_(owner) {

+ 32 - 28
patches/common/chromium/notification_provenance.patch

@@ -6,10 +6,10 @@ Subject: pass RenderProcessHost through to PlatformNotificationService
 this is so Electron can identify which renderer a notification came from
 
 diff --git a/content/browser/notifications/blink_notification_service_impl.cc b/content/browser/notifications/blink_notification_service_impl.cc
-index f251139f5976d4ff52ac4d0f89a2c627c1809c8a..457890dcb49ca59c61326c633d74eabcf999ff08 100644
+index a30403295a8bb4d8333e538df5c6932f5a7bf9fb..06cca17194ce41c0b27c4e056831d769a5c3e7c6 100644
 --- a/content/browser/notifications/blink_notification_service_impl.cc
 +++ b/content/browser/notifications/blink_notification_service_impl.cc
-@@ -71,9 +71,11 @@ BlinkNotificationServiceImpl::BlinkNotificationServiceImpl(
+@@ -88,9 +88,11 @@ BlinkNotificationServiceImpl::BlinkNotificationServiceImpl(
      PlatformNotificationContextImpl* notification_context,
      BrowserContext* browser_context,
      scoped_refptr<ServiceWorkerContextWrapper> service_worker_context,
@@ -21,17 +21,20 @@ index f251139f5976d4ff52ac4d0f89a2c627c1809c8a..457890dcb49ca59c61326c633d74eabc
        browser_context_(browser_context),
        service_worker_context_(std::move(service_worker_context)),
        origin_(origin),
-@@ -133,7 +135,7 @@ void BlinkNotificationServiceImpl::DisplayNonPersistentNotification(
+@@ -150,8 +152,9 @@ void BlinkNotificationServiceImpl::DisplayNonPersistentNotification(
        notification_id, std::move(event_listener_ptr));
  
-   GetNotificationService()->DisplayNotification(
--      browser_context_, notification_id, origin_.GetURL(),
-+      render_process_host_, browser_context_, notification_id, origin_.GetURL(),
-       platform_notification_data, notification_resources);
+   GetNotificationService(browser_context_)
+-      ->DisplayNotification(notification_id, origin_.GetURL(),
+-                            platform_notification_data, notification_resources);
++      ->DisplayNotification(render_process_host_, notification_id,
++                            origin_.GetURL(), platform_notification_data,
++                            notification_resources);
  }
  
+ void BlinkNotificationServiceImpl::CloseNonPersistentNotification(
 diff --git a/content/browser/notifications/blink_notification_service_impl.h b/content/browser/notifications/blink_notification_service_impl.h
-index cc5f8d1e673962cb435ad9c9547c336ad5542c84..c340739dc78519606081e4190d4538a74e72501a 100644
+index 3b7875f0df1f96f98a6088a8899d86d9d19d8a42..097607d267d55675ab91ad21f126acb827dcc50f 100644
 --- a/content/browser/notifications/blink_notification_service_impl.h
 +++ b/content/browser/notifications/blink_notification_service_impl.h
 @@ -36,6 +36,7 @@ class CONTENT_EXPORT BlinkNotificationServiceImpl
@@ -42,7 +45,7 @@ index cc5f8d1e673962cb435ad9c9547c336ad5542c84..c340739dc78519606081e4190d4538a7
        const url::Origin& origin,
        mojo::InterfaceRequest<blink::mojom::NotificationService> request);
    ~BlinkNotificationServiceImpl() override;
-@@ -99,6 +100,7 @@ class CONTENT_EXPORT BlinkNotificationServiceImpl
+@@ -94,6 +95,7 @@ class CONTENT_EXPORT BlinkNotificationServiceImpl
    // The notification context that owns this service instance.
    PlatformNotificationContextImpl* notification_context_;
  
@@ -51,10 +54,10 @@ index cc5f8d1e673962cb435ad9c9547c336ad5542c84..c340739dc78519606081e4190d4538a7
  
    scoped_refptr<ServiceWorkerContextWrapper> service_worker_context_;
 diff --git a/content/browser/notifications/blink_notification_service_impl_unittest.cc b/content/browser/notifications/blink_notification_service_impl_unittest.cc
-index 8beb9e516bcf636e95f7481837e67e197422d830..d9fc224db4704057e8cb1596173310d8392bc7d7 100644
+index cbac30fa7a12db927ba6a15173ba1181e03e0723..4d26fd795a7ce1ffd046c4a0f2ec17793bf33e6a 100644
 --- a/content/browser/notifications/blink_notification_service_impl_unittest.cc
 +++ b/content/browser/notifications/blink_notification_service_impl_unittest.cc
-@@ -130,7 +130,7 @@ class BlinkNotificationServiceImplTest : public ::testing::Test {
+@@ -135,7 +135,7 @@ class BlinkNotificationServiceImplTest : public ::testing::Test {
  
      notification_service_ = std::make_unique<BlinkNotificationServiceImpl>(
          notification_context_.get(), &browser_context_,
@@ -64,10 +67,10 @@ index 8beb9e516bcf636e95f7481837e67e197422d830..d9fc224db4704057e8cb1596173310d8
          mojo::MakeRequest(&notification_service_ptr_));
  
 diff --git a/content/browser/notifications/platform_notification_context_impl.cc b/content/browser/notifications/platform_notification_context_impl.cc
-index 739a98f2846f0e680e5b175c19692edf754a2bc7..2e9e406e066c750d7fb80ab719265df3e2dba38e 100644
+index d0b32520a30c1807117a3dc02d5d55bcb3d7b995..f868d3c40f78fa105477d7f22e47a75c5281de14 100644
 --- a/content/browser/notifications/platform_notification_context_impl.cc
 +++ b/content/browser/notifications/platform_notification_context_impl.cc
-@@ -182,12 +182,13 @@ void PlatformNotificationContextImpl::Shutdown() {
+@@ -199,12 +199,13 @@ void PlatformNotificationContextImpl::Shutdown() {
  }
  
  void PlatformNotificationContextImpl::CreateService(
@@ -84,7 +87,7 @@ index 739a98f2846f0e680e5b175c19692edf754a2bc7..2e9e406e066c750d7fb80ab719265df3
  
  void PlatformNotificationContextImpl::RemoveService(
 diff --git a/content/browser/notifications/platform_notification_context_impl.h b/content/browser/notifications/platform_notification_context_impl.h
-index 24918cede3f2894627c7aaa29e68fa3834bea108..b31583d13a73c72f5a27587add92855472f30dc8 100644
+index 11eed749075c7c17d4beb86674c253b5f296d82d..8a7c7f3f7a069e2339a4234a21dd4536fcf0c6a1 100644
 --- a/content/browser/notifications/platform_notification_context_impl.h
 +++ b/content/browser/notifications/platform_notification_context_impl.h
 @@ -24,6 +24,7 @@
@@ -92,7 +95,7 @@ index 24918cede3f2894627c7aaa29e68fa3834bea108..b31583d13a73c72f5a27587add928554
  #include "content/public/browser/browser_thread.h"
  #include "content/public/browser/platform_notification_context.h"
 +#include "content/public/browser/render_process_host.h"
- #include "third_party/blink/public/platform/modules/notifications/notification_service.mojom.h"
+ #include "third_party/blink/public/mojom/notifications/notification_service.mojom.h"
  
  class GURL;
 @@ -65,7 +66,8 @@ class CONTENT_EXPORT PlatformNotificationContextImpl
@@ -106,7 +109,7 @@ index 24918cede3f2894627c7aaa29e68fa3834bea108..b31583d13a73c72f5a27587add928554
  
    // Removes |service| from the list of owned services, for example because the
 diff --git a/content/browser/renderer_interface_binders.cc b/content/browser/renderer_interface_binders.cc
-index b317a37b4fa12be4e737a91948110fd16308c221..b3968f52c478ce051370e543b2fb904360d7892c 100644
+index 1bd1a3f7a152fe63f956cf8eca353d24fb86d5a7..904dea361831e4d57c0f6b65e4690f7948f3fab2 100644
 --- a/content/browser/renderer_interface_binders.cc
 +++ b/content/browser/renderer_interface_binders.cc
 @@ -189,7 +189,7 @@ void RendererInterfaceBinders::InitializeParameterizedBinderRegistry() {
@@ -119,46 +122,47 @@ index b317a37b4fa12be4e737a91948110fd16308c221..b3968f52c478ce051370e543b2fb9043
    parameterized_binder_registry_.AddInterface(
        base::BindRepeating(&BackgroundFetchServiceImpl::CreateForWorker));
 diff --git a/content/public/browser/platform_notification_service.h b/content/public/browser/platform_notification_service.h
-index b8aaa76d1ffcf92251fd7f229a8e075aba5b2ce3..ab1151f63ff0f21cad5747f5f96afe89d9207107 100644
+index ca61088079c4150fcf389504ddcf26bcf6bf69cd..d9c034c39890eef1fe3d95c6d7c0ae68eb711a89 100644
 --- a/content/public/browser/platform_notification_service.h
 +++ b/content/public/browser/platform_notification_service.h
-@@ -28,6 +28,7 @@ struct PlatformNotificationData;
+@@ -27,6 +27,8 @@ struct PlatformNotificationData;
+ 
  namespace content {
  
- class BrowserContext;
 +class RenderProcessHost;
- 
++
  // The service using which notifications can be presented to the user. There
  // should be a unique instance of the PlatformNotificationService depending
-@@ -43,6 +44,7 @@ class CONTENT_EXPORT PlatformNotificationService {
+ // on the browsing context being used.
+@@ -41,6 +43,7 @@ class CONTENT_EXPORT PlatformNotificationService {
    // Displays the notification described in |notification_data| to the user.
    // This method must be called on the UI thread.
    virtual void DisplayNotification(
 +      RenderProcessHost* render_process_host,
-       BrowserContext* browser_context,
        const std::string& notification_id,
        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 a313cb378e5623b9e55786829e0043974c0cb294..26deae4aa831e050035afb294673d7861c4c7578 100644
+index be4638a9a8c355353424c07b73583e01c5422192..92383a54a9f86f92846b34e15a3d4a5a4f9624d3 100644
 --- a/content/test/mock_platform_notification_service.cc
 +++ b/content/test/mock_platform_notification_service.cc
-@@ -26,6 +26,7 @@ MockPlatformNotificationService::MockPlatformNotificationService() = default;
+@@ -29,6 +29,7 @@ MockPlatformNotificationService::MockPlatformNotificationService(
  MockPlatformNotificationService::~MockPlatformNotificationService() = default;
  
  void MockPlatformNotificationService::DisplayNotification(
 +    RenderProcessHost* render_process_host,
-     BrowserContext* browser_context,
      const std::string& notification_id,
      const GURL& origin,
+     const blink::PlatformNotificationData& notification_data,
 diff --git a/content/test/mock_platform_notification_service.h b/content/test/mock_platform_notification_service.h
-index 9488023df808cfd6633b3ab9b02d66a1bd929d29..d16e9394d1eea6bc657d1a07a1d09c52a7692bdd 100644
+index 6d108f9884f7e8f608b70ec33d286a06346e7456..4650a01c2d090c5957eb7a7e21f124489513142a 100644
 --- a/content/test/mock_platform_notification_service.h
 +++ b/content/test/mock_platform_notification_service.h
-@@ -45,6 +45,7 @@ class MockPlatformNotificationService : public PlatformNotificationService {
+@@ -47,6 +47,7 @@ class MockPlatformNotificationService : public PlatformNotificationService {
  
    // PlatformNotificationService implementation.
    void DisplayNotification(
 +      RenderProcessHost* render_process_host,
-       BrowserContext* browser_context,
        const std::string& notification_id,
        const GURL& origin,
+       const blink::PlatformNotificationData& notification_data,

+ 2 - 2
patches/common/chromium/out_of_process_instance.patch

@@ -5,10 +5,10 @@ Subject: out_of_process_instance.patch
 
 
 diff --git a/pdf/out_of_process_instance.cc b/pdf/out_of_process_instance.cc
-index f7242db52cc68c43c11c9c15b3ada59c33c385e3..41b6bfd050b8ec2150a4ba05d8a3cc40a7962e20 100644
+index 8c9d51010963cd01de1d42eeb790fad875046afb..821cbb5cda400ab545e545cc33d08112828a73bc 100644
 --- a/pdf/out_of_process_instance.cc
 +++ b/pdf/out_of_process_instance.cc
-@@ -464,7 +464,9 @@ bool OutOfProcessInstance::Init(uint32_t argc,
+@@ -471,7 +471,9 @@ bool OutOfProcessInstance::Init(uint32_t argc,
    std::string document_url = document_url_var.AsString();
    base::StringPiece document_url_piece(document_url);
    is_print_preview_ = IsPrintPreviewUrl(document_url_piece);

+ 25 - 0
patches/common/chromium/patch_the_ensure_gn_version_py_script_to_work_on_mac_ci.patch

@@ -0,0 +1,25 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Jeremy Apthorp <[email protected]>
+Date: Fri, 12 Apr 2019 12:47:57 -0700
+Subject: patch the ensure_gn_version.py script to work on mac CI
+
+This script is temporary until https://crbug.com/944667 is resolved. We need to
+patch it because on mac CI, we check out the source code on Linux, which
+confuses the script.
+
+diff --git a/buildtools/ensure_gn_version.py b/buildtools/ensure_gn_version.py
+index 9c01f58b44991cf8b48ef8c68ca17946e73e1c3d..a4618353f722e04ea54f84c6eb1f193d3bb97dee 100755
+--- a/buildtools/ensure_gn_version.py
++++ b/buildtools/ensure_gn_version.py
+@@ -38,6 +38,11 @@ SRC_DIR = os.path.dirname(BUILDTOOLS_DIR)
+ 
+ 
+ def main():
++  # NB. on Electron's CI we check out the macOS source on Linux. Bypass this
++  # check as it's not relevant on Electron CI and it gets confused.
++  if os.environ.get('CI') is not None:
++    return 0
++
+   parser = argparse.ArgumentParser()
+   parser.add_argument('version',
+           help='CIPD "git_revision:XYZ" label for GN to sync to')

+ 24 - 24
patches/common/chromium/printing.patch

@@ -166,10 +166,10 @@ index a2569836d04ff968e690215f56f6de3b6d884874..6ddec22641b74d5484c2e0d4f62e5d71
    bool printing_succeeded_;
  
 diff --git a/chrome/browser/printing/printing_message_filter.cc b/chrome/browser/printing/printing_message_filter.cc
-index 3f6007d5c09ee9fdab534356d38d1e06e4573794..5ebb5e5255fefd2e8e611144a0745e92e069ea62 100644
+index 0291dfdec6aa85442c8cdd8019d437f217436ed2..e1c111a860e5b9b8ac79100b5530fb83f94b8894 100644
 --- a/chrome/browser/printing/printing_message_filter.cc
 +++ b/chrome/browser/printing/printing_message_filter.cc
-@@ -22,6 +22,7 @@
+@@ -21,6 +21,7 @@
  #include "components/keyed_service/content/browser_context_keyed_service_shutdown_notifier_factory.h"
  #include "components/printing/browser/print_manager_utils.h"
  #include "components/printing/common/print_messages.h"
@@ -177,8 +177,8 @@ index 3f6007d5c09ee9fdab534356d38d1e06e4573794..5ebb5e5255fefd2e8e611144a0745e92
  #include "content/public/browser/browser_task_traits.h"
  #include "content/public/browser/render_frame_host.h"
  #include "content/public/browser/web_contents.h"
-@@ -95,20 +96,23 @@ void PrintingMessageFilter::SetTestUpdatePrintSettingsReply(
-   test_params = print_params;
+@@ -89,20 +90,23 @@ void PrintingMessageFilter::SetDelegateForTesting(TestDelegate* delegate) {
+   g_test_delegate = delegate;
  }
  
 -PrintingMessageFilter::PrintingMessageFilter(int render_process_id,
@@ -204,7 +204,7 @@ index 3f6007d5c09ee9fdab534356d38d1e06e4573794..5ebb5e5255fefd2e8e611144a0745e92
  }
  
  PrintingMessageFilter::~PrintingMessageFilter() {
-@@ -144,11 +148,13 @@ bool PrintingMessageFilter::OnMessageReceived(const IPC::Message& message) {
+@@ -138,11 +142,13 @@ bool PrintingMessageFilter::OnMessageReceived(const IPC::Message& message) {
  void PrintingMessageFilter::OnGetDefaultPrintSettings(IPC::Message* reply_msg) {
    DCHECK_CURRENTLY_ON(BrowserThread::IO);
    scoped_refptr<PrinterQuery> printer_query;
@@ -218,7 +218,7 @@ index 3f6007d5c09ee9fdab534356d38d1e06e4573794..5ebb5e5255fefd2e8e611144a0745e92
    printer_query = queue_->PopPrinterQuery(0);
    if (!printer_query.get()) {
      printer_query =
-@@ -234,11 +240,13 @@ void PrintingMessageFilter::OnUpdatePrintSettings(int document_cookie,
+@@ -228,11 +234,13 @@ void PrintingMessageFilter::OnUpdatePrintSettings(int document_cookie,
                                                    base::Value job_settings,
                                                    IPC::Message* reply_msg) {
    scoped_refptr<PrinterQuery> printer_query;
@@ -232,7 +232,7 @@ index 3f6007d5c09ee9fdab534356d38d1e06e4573794..5ebb5e5255fefd2e8e611144a0745e92
    printer_query = queue_->PopPrinterQuery(document_cookie);
    if (!printer_query.get()) {
      printer_query = queue_->CreatePrinterQuery(
-@@ -302,7 +310,7 @@ void PrintingMessageFilter::OnUpdatePrintSettingsReply(
+@@ -295,7 +303,7 @@ void PrintingMessageFilter::OnUpdatePrintSettingsReply(
  #if BUILDFLAG(ENABLE_PRINT_PREVIEW)
  void PrintingMessageFilter::OnCheckForCancel(const PrintHostMsg_PreviewIds& ids,
                                               bool* cancel) {
@@ -242,7 +242,7 @@ index 3f6007d5c09ee9fdab534356d38d1e06e4573794..5ebb5e5255fefd2e8e611144a0745e92
  #endif
  
 diff --git a/chrome/browser/printing/printing_message_filter.h b/chrome/browser/printing/printing_message_filter.h
-index 4607c9af91bb604bb4753eb54c2013e58698ff30..58cbf62a1bc1e18327e987cd55524848d2eca05e 100644
+index 04b76398ebee1bc3aeaf67ecf5b32272d56d5445..1e21ecb5fb903d56c76f338225b6df6fadc933a2 100644
 --- a/chrome/browser/printing/printing_message_filter.h
 +++ b/chrome/browser/printing/printing_message_filter.h
 @@ -24,6 +24,10 @@ struct PrintHostMsg_ScriptedPrint_Params;
@@ -256,9 +256,9 @@ index 4607c9af91bb604bb4753eb54c2013e58698ff30..58cbf62a1bc1e18327e987cd55524848
  namespace printing {
  
  class PrintQueriesQueue;
-@@ -37,7 +41,8 @@ class PrintingMessageFilter : public content::BrowserMessageFilter {
-   static void SetTestUpdatePrintSettingsReply(
-       const PrintMsg_Print_Params& print_params);
+@@ -44,7 +48,8 @@ class PrintingMessageFilter : public content::BrowserMessageFilter {
+ 
+   static void SetDelegateForTesting(TestDelegate* delegate);
  
 -  PrintingMessageFilter(int render_process_id, Profile* profile);
 +  PrintingMessageFilter(int render_process_id,
@@ -283,10 +283,10 @@ index 1802034a6e15a6ad8b0d9591cfb79ba5873dc982..a827091facdb4f6b1d74ce826c3492ce
  // 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 222db5c6b09900001fa835c6dcbd0b200b467a0a..dd85f247d6267aa97fced685991cd2efa617638c 100644
+index eb717d8d4be31b181d4646dafbfba87ed7fcfd91..ebcc563f040949e346a3daa85c766a9c1fe7aa0f 100644
 --- a/components/printing/renderer/print_render_frame_helper.cc
 +++ b/components/printing/renderer/print_render_frame_helper.cc
-@@ -1109,7 +1109,9 @@ void PrintRenderFrameHelper::ScriptedPrint(bool user_initiated) {
+@@ -1115,7 +1115,9 @@ void PrintRenderFrameHelper::ScriptedPrint(bool user_initiated) {
      web_frame->DispatchBeforePrintEvent();
      if (!weak_this)
        return;
@@ -297,7 +297,7 @@ index 222db5c6b09900001fa835c6dcbd0b200b467a0a..dd85f247d6267aa97fced685991cd2ef
      if (weak_this)
        web_frame->DispatchAfterPrintEvent();
    }
-@@ -1157,7 +1159,10 @@ void PrintRenderFrameHelper::OnDestruct() {
+@@ -1163,7 +1165,10 @@ void PrintRenderFrameHelper::OnDestruct() {
    delete this;
  }
  
@@ -309,7 +309,7 @@ index 222db5c6b09900001fa835c6dcbd0b200b467a0a..dd85f247d6267aa97fced685991cd2ef
    if (ipc_nesting_level_ > 1)
      return;
  
-@@ -1170,7 +1175,8 @@ void PrintRenderFrameHelper::OnPrintPages() {
+@@ -1176,7 +1181,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);
@@ -319,7 +319,7 @@ index 222db5c6b09900001fa835c6dcbd0b200b467a0a..dd85f247d6267aa97fced685991cd2ef
    if (weak_this)
      frame->DispatchAfterPrintEvent();
    // WARNING: |this| may be gone at this point. Do not do any more work here and
-@@ -1187,7 +1193,7 @@ void PrintRenderFrameHelper::OnPrintForSystemDialog() {
+@@ -1193,7 +1199,7 @@ void PrintRenderFrameHelper::OnPrintForSystemDialog() {
    }
    auto weak_this = weak_ptr_factory_.GetWeakPtr();
    Print(frame, print_preview_context_.source_node(),
@@ -328,7 +328,7 @@ index 222db5c6b09900001fa835c6dcbd0b200b467a0a..dd85f247d6267aa97fced685991cd2ef
    if (weak_this)
      frame->DispatchAfterPrintEvent();
    // WARNING: |this| may be gone at this point. Do not do any more work here and
-@@ -1223,6 +1229,8 @@ void PrintRenderFrameHelper::OnPrintPreview(
+@@ -1229,6 +1235,8 @@ void PrintRenderFrameHelper::OnPrintPreview(
    if (ipc_nesting_level_ > 1)
      return;
  
@@ -337,7 +337,7 @@ index 222db5c6b09900001fa835c6dcbd0b200b467a0a..dd85f247d6267aa97fced685991cd2ef
    print_preview_context_.OnPrintPreview();
  
    UMA_HISTOGRAM_ENUMERATION("PrintPreview.PreviewEvent",
-@@ -1616,7 +1624,10 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
+@@ -1622,7 +1630,10 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
  
      auto self = weak_ptr_factory_.GetWeakPtr();
      Print(duplicate_node.GetDocument().GetFrame(), duplicate_node,
@@ -349,7 +349,7 @@ index 222db5c6b09900001fa835c6dcbd0b200b467a0a..dd85f247d6267aa97fced685991cd2ef
      // Check if |this| is still valid.
      if (!self)
        return;
-@@ -1627,7 +1638,10 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
+@@ -1633,7 +1644,10 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
  
  void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
                                     const blink::WebNode& node,
@@ -361,7 +361,7 @@ index 222db5c6b09900001fa835c6dcbd0b200b467a0a..dd85f247d6267aa97fced685991cd2ef
    // If still not finished with earlier print request simply ignore.
    if (prep_frame_view_)
      return;
-@@ -1635,7 +1649,7 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
+@@ -1641,7 +1655,7 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
    FrameReference frame_ref(frame);
  
    int expected_page_count = 0;
@@ -370,7 +370,7 @@ index 222db5c6b09900001fa835c6dcbd0b200b467a0a..dd85f247d6267aa97fced685991cd2ef
      DidFinishPrinting(FAIL_PRINT_INIT);
      return;  // Failed to init print page settings.
    }
-@@ -1655,8 +1669,9 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
+@@ -1661,8 +1675,9 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
  
      PrintMsg_PrintPages_Params print_settings;
      auto self = weak_ptr_factory_.GetWeakPtr();
@@ -382,7 +382,7 @@ index 222db5c6b09900001fa835c6dcbd0b200b467a0a..dd85f247d6267aa97fced685991cd2ef
      // Check if |this| is still valid.
      if (!self)
        return;
-@@ -1666,6 +1681,7 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
+@@ -1672,6 +1687,7 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
              ? blink::kWebPrintScalingOptionSourceSize
              : scaling_option;
      SetPrintPagesParams(print_settings);
@@ -390,7 +390,7 @@ index 222db5c6b09900001fa835c6dcbd0b200b467a0a..dd85f247d6267aa97fced685991cd2ef
      if (print_settings.params.dpi.IsEmpty() ||
          !print_settings.params.document_cookie) {
        DidFinishPrinting(OK);  // Release resources and fail silently on failure.
-@@ -1854,10 +1870,24 @@ std::vector<int> PrintRenderFrameHelper::GetPrintedPages(
+@@ -1860,10 +1876,24 @@ std::vector<int> PrintRenderFrameHelper::GetPrintedPages(
    return printed_pages;
  }
  
@@ -418,7 +418,7 @@ index 222db5c6b09900001fa835c6dcbd0b200b467a0a..dd85f247d6267aa97fced685991cd2ef
    // 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.
-@@ -1877,12 +1907,14 @@ bool PrintRenderFrameHelper::InitPrintSettings(bool fit_to_paper_size) {
+@@ -1883,12 +1913,14 @@ bool PrintRenderFrameHelper::InitPrintSettings(bool fit_to_paper_size) {
    return result;
  }
  

+ 6 - 6
patches/common/chromium/render_widget_host_view_base.patch

@@ -5,10 +5,10 @@ Subject: render_widget_host_view_base.patch
 
 
 diff --git a/content/browser/renderer_host/render_widget_host_view_base.cc b/content/browser/renderer_host/render_widget_host_view_base.cc
-index be38173457a659fb4b9d1922e416fe3e27420af2..95205c9eaabfdce44b66525c94aacf0b5cdefcc6 100644
+index 6986a9b55908f989275115ba8bd290f9e1d40ace..90c51ca81795547f7ec116e6c57af7043c162599 100644
 --- a/content/browser/renderer_host/render_widget_host_view_base.cc
 +++ b/content/browser/renderer_host/render_widget_host_view_base.cc
-@@ -658,6 +658,15 @@ viz::FrameSinkId RenderWidgetHostViewBase::FrameSinkIdAtPoint(
+@@ -666,6 +666,15 @@ viz::FrameSinkId RenderWidgetHostViewBase::FrameSinkIdAtPoint(
    return frame_sink_id.is_valid() ? frame_sink_id : GetFrameSinkId();
  }
  
@@ -25,7 +25,7 @@ index be38173457a659fb4b9d1922e416fe3e27420af2..95205c9eaabfdce44b66525c94aacf0b
      const blink::WebMouseEvent& event,
      const ui::LatencyInfo& latency) {
 diff --git a/content/browser/renderer_host/render_widget_host_view_base.h b/content/browser/renderer_host/render_widget_host_view_base.h
-index 6aa5e70a3e14064172182907a62007f9b4da38b8..b7419cc69eb0380461060d0ee6a2aac990643aef 100644
+index 11c2dcff17aac3e789c096642d1ac82fa8426232..8e1cd769e8a3aa83376ea8f74274a21c6f819101 100644
 --- a/content/browser/renderer_host/render_widget_host_view_base.h
 +++ b/content/browser/renderer_host/render_widget_host_view_base.h
 @@ -23,8 +23,10 @@
@@ -39,7 +39,7 @@ index 6aa5e70a3e14064172182907a62007f9b4da38b8..b7419cc69eb0380461060d0ee6a2aac9
  #include "content/public/browser/render_widget_host_view.h"
  #include "content/public/common/input_event_ack_state.h"
  #include "content/public/common/screen_info.h"
-@@ -84,10 +86,12 @@ class CursorManager;
+@@ -83,10 +85,12 @@ class CursorManager;
  class MouseWheelPhaseHandler;
  class RenderWidgetHostImpl;
  class RenderWidgetHostViewBaseObserver;
@@ -52,7 +52,7 @@ index 6aa5e70a3e14064172182907a62007f9b4da38b8..b7419cc69eb0380461060d0ee6a2aac9
  class WebCursor;
  class DelegatedFrameHost;
  struct TextInputState;
-@@ -143,6 +147,9 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
+@@ -142,6 +146,9 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
    GetTouchSelectionControllerClientManager() override;
    void SetLastTabChangeStartTime(base::TimeTicks start_time) final;
  
@@ -62,7 +62,7 @@ index 6aa5e70a3e14064172182907a62007f9b4da38b8..b7419cc69eb0380461060d0ee6a2aac9
    // This only needs to be overridden by RenderWidgetHostViewBase subclasses
    // that handle content embedded within other RenderWidgetHostViews.
    gfx::PointF TransformPointToRootCoordSpaceF(
-@@ -362,6 +369,11 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
+@@ -368,6 +375,11 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
    virtual void ProcessGestureEvent(const blink::WebGestureEvent& event,
                                     const ui::LatencyInfo& latency);
  

+ 5 - 5
patches/common/chromium/render_widget_host_view_mac.patch

@@ -5,7 +5,7 @@ Subject: render_widget_host_view_mac.patch
 
 
 diff --git a/content/browser/renderer_host/render_widget_host_view_cocoa.mm b/content/browser/renderer_host/render_widget_host_view_cocoa.mm
-index d04130dcb387a985c57fd0d94c10a8c327afe6f3..8d2ed9af59a8e9bbd242ab098cba7f75fc1e6a3e 100644
+index 03ee233d5e07fd59f07227d5f925590a08935049..c9ca2bd46987a56901fb0d15969e1b29b69f42ce 100644
 --- a/content/browser/renderer_host/render_widget_host_view_cocoa.mm
 +++ b/content/browser/renderer_host/render_widget_host_view_cocoa.mm
 @@ -142,6 +142,11 @@ void ExtractUnderlines(NSAttributedString* string,
@@ -30,7 +30,7 @@ index d04130dcb387a985c57fd0d94c10a8c327afe6f3..8d2ed9af59a8e9bbd242ab098cba7f75
    return [self acceptsMouseEventsWhenInactive];
  }
  
-@@ -786,6 +794,10 @@ - (void)keyEvent:(NSEvent*)theEvent wasKeyEquivalent:(BOOL)equiv {
+@@ -793,6 +801,10 @@ - (void)keyEvent:(NSEvent*)theEvent wasKeyEquivalent:(BOOL)equiv {
                                eventType == NSKeyDown &&
                                !(modifierFlags & NSCommandKeyMask);
  
@@ -41,7 +41,7 @@ index d04130dcb387a985c57fd0d94c10a8c327afe6f3..8d2ed9af59a8e9bbd242ab098cba7f75
    // We only handle key down events and just simply forward other events.
    if (eventType != NSKeyDown) {
      clientHelper_->ForwardKeyboardEvent(event, latency_info);
-@@ -1534,9 +1546,11 @@ - (id)accessibilityFocusedUIElement {
+@@ -1547,9 +1559,11 @@ - (id)accessibilityFocusedUIElement {
  // Since this implementation doesn't have to wait any IPC calls, this doesn't
  // make any key-typing jank. --hbono 7/23/09
  //
@@ -53,7 +53,7 @@ index d04130dcb387a985c57fd0d94c10a8c327afe6f3..8d2ed9af59a8e9bbd242ab098cba7f75
  
  - (NSArray*)validAttributesForMarkedText {
    // This code is just copied from WebKit except renaming variables.
-@@ -1545,7 +1559,10 @@ - (NSArray*)validAttributesForMarkedText {
+@@ -1558,7 +1572,10 @@ - (NSArray*)validAttributesForMarkedText {
          initWithObjects:NSUnderlineStyleAttributeName,
                          NSUnderlineColorAttributeName,
                          NSMarkedClauseSegmentAttributeName,
@@ -66,7 +66,7 @@ index d04130dcb387a985c57fd0d94c10a8c327afe6f3..8d2ed9af59a8e9bbd242ab098cba7f75
    return validAttributesForMarkedText_.get();
  }
 diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm
-index cb067c08a07b2fafb056f0d1cfa3d6b39c521a88..74d4ddbf24a2441a4eaafcde932ad67df9c7c913 100644
+index 4db5f275ff7ce4c64251f1acf178805a55e51a90..aaf8feb7d93a473fdffdc53e907f9bfba216c551 100644
 --- a/content/browser/renderer_host/render_widget_host_view_mac.mm
 +++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
 @@ -61,6 +61,7 @@

+ 3 - 3
patches/common/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 7e918a479736690e375182b8baf9de44af23aa43..f43097d5983ffabd58824da6a3005255635d4176 100644
+index 64c7fbccee69e037e6c2360f4025f87530fe14ed..cf97b6a0ae411ac375db8d798fb9ca29655ecebc 100644
 --- a/chrome/BUILD.gn
 +++ b/chrome/BUILD.gn
-@@ -1646,7 +1646,7 @@ if (is_chrome_branded && !is_android) {
+@@ -1647,7 +1647,7 @@ if (is_chrome_branded && !is_android) {
    }
  }
  
@@ -64,7 +64,7 @@ index 7e918a479736690e375182b8baf9de44af23aa43..f43097d5983ffabd58824da6a3005255
    chrome_paks("packed_resources") {
      if (is_mac) {
        output_dir = "$root_gen_dir/repack"
-@@ -1670,6 +1670,12 @@ if (!is_android) {
+@@ -1671,6 +1671,12 @@ if (!is_android) {
    }
  }
  

Some files were not shown because too many files changed in this diff