From 716cb2843089b1b6761016d5ab4b9cde127a772f Mon Sep 17 00:00:00 2001 From: Electron Bot Date: Sat, 20 Apr 2019 13:20:37 -0400 Subject: [PATCH] chore: bump chromium to 1e9f9a24aa12 (master) (#17880) * chore: bump chromium in DEPS to 1e9f9a24aa12bea9cf194a82a7e249bd1242ec4f * chore: update patches * Make WebContents' theme color a base::Optional 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 * remove disable_ensure_gn_version_gclient_hook.patch * copy repeating callback instead of std::move * fix lint * add completion_repeating_callback.h include --- BUILD.gn | 1 + DEPS | 2 +- appveyor.yml | 11 +- atom/app/node_main.cc | 10 +- atom/browser/api/atom_api_app.cc | 10 +- atom/browser/api/atom_api_app.h | 7 +- atom/browser/api/atom_api_cookies.cc | 2 +- atom/browser/api/atom_api_desktop_capturer.cc | 4 +- atom/browser/api/atom_api_menu_views.cc | 2 +- atom/browser/api/atom_api_session.cc | 8 +- atom/browser/api/atom_api_session.h | 1 - atom/browser/api/atom_api_top_level_window.cc | 7 +- atom/browser/api/atom_api_url_request.cc | 4 +- atom/browser/api/atom_api_url_request.h | 3 +- atom/browser/api/atom_api_web_contents.cc | 18 +- atom/browser/api/atom_api_web_contents.h | 6 +- atom/browser/atom_browser_client.cc | 5 +- atom/browser/atom_browser_client.h | 7 +- atom/browser/atom_browser_main_parts.cc | 8 +- atom/browser/browser_mac.mm | 2 +- atom/browser/common_web_contents_delegate.cc | 5 +- atom/browser/io_thread.cc | 2 +- atom/browser/javascript_environment.cc | 2 +- atom/browser/login_handler.cc | 2 +- atom/browser/login_handler.h | 4 +- atom/browser/net/atom_network_delegate.cc | 14 +- atom/browser/net/atom_url_request.cc | 6 +- atom/browser/net/atom_url_request.h | 4 +- atom/browser/net/url_request_buffer_job.cc | 2 +- .../browser/net/url_request_context_getter.cc | 2 +- atom/browser/net/url_request_stream_job.cc | 2 +- .../platform_notification_service.cc | 16 +- .../platform_notification_service.h | 20 +- .../win/notification_presenter_win.cc | 2 +- .../osr/osr_render_widget_host_view.cc | 18 +- .../browser/osr/osr_render_widget_host_view.h | 16 +- .../ui/inspectable_web_contents_impl.h | 2 + atom/browser/ui/views/menu_bar.cc | 2 +- atom/browser/ui/views/menu_bar.h | 5 +- atom/browser/ui/views/menu_delegate.cc | 7 +- atom/browser/ui/views/menu_delegate.h | 5 +- atom/browser/ui/win/notify_icon.cc | 3 +- atom/browser/web_contents_preferences.cc | 4 +- atom/common/api/api_messages.h | 2 +- atom/common/api/atom_api_v8_util.cc | 2 +- .../crash_reporter/crash_reporter_win.cc | 7 +- .../crash_reporter/win/crash_service.cc | 2 +- .../native_mate_converters/net_converter.cc | 14 +- .../native_mate_converters/net_converter.h | 4 +- .../string16_converter.h | 5 +- .../atom_sandboxed_renderer_client.cc | 16 +- atom/renderer/electron_api_service_impl.cc | 10 +- build/args/all.gn | 3 + patches/common/chromium/.patches | 5 +- patches/common/chromium/accelerator.patch | 8 +- patches/common/chromium/add_realloc.patch | 4 +- .../chromium/allow_webview_file_url.patch | 4 +- .../chromium/autofill_size_calculation.patch | 16 +- ...ink-worker-enable-csp-in-file-scheme.patch | 6 +- patches/common/chromium/blink_file_path.patch | 8 +- .../chromium/blink_initialization_order.patch | 4 +- .../common/chromium/blink_local_frame.patch | 6 +- .../common/chromium/blink_world_context.patch | 12 +- .../common/chromium/boringssl_build_gn.patch | 2 +- .../chromium/browser_compositor_mac.patch | 4 +- patches/common/chromium/build_gn.patch | 4 +- .../common/chromium/can_create_window.patch | 34 +- .../common/chromium/command-ismediakey.patch | 4 +- ...r_to_prevent_locking_scheme_registry.patch | 4 +- .../chromium/content_browser_main_loop.patch | 4 +- ...cross_site_document_resource_handler.patch | 10 +- patches/common/chromium/dcheck.patch | 6 +- .../common/chromium/desktop_media_list.patch | 4 +- .../common/chromium/disable-redraw-lock.patch | 6 +- .../disable_color_correct_rendering.patch | 92 +-- .../disable_custom_libcxx_on_windows.patch | 20 - .../disable_detach_webview_frame.patch | 2 +- patches/common/chromium/disable_hidden.patch | 6 +- .../disable_network_services_by_default.patch | 4 +- ...requirement_for_beforeunload_dialogs.patch | 4 +- .../common/chromium/dom_storage_limits.patch | 4 +- .../exclude-a-few-test-files-from-build.patch | 4 +- ..._usage_of_setapplicationisdaemon_and.patch | 4 +- .../fix_retain_compatibility_with_msvc.patch | 25 - .../common/chromium/frame_host_manager.patch | 14 +- .../gin_enable_disable_v8_platform.patch | 4 +- .../chromium/gritsettings_resource_ids.patch | 4 +- patches/common/chromium/ignore_rc_check.patch | 2 +- .../common/chromium/ipc_message_start.patch | 23 + patches/common/chromium/isolate_holder.patch | 2 +- .../chromium/mas_blink_no_private_api.patch | 10 +- .../common/chromium/mas_no_private_api.patch | 38 +- .../chromium/no_cache_storage_check.patch | 10 +- .../chromium/notification_provenance.patch | 60 +- .../chromium/out_of_process_instance.patch | 4 +- ..._version_py_script_to_work_on_mac_ci.patch | 25 + patches/common/chromium/printing.patch | 48 +- .../render_widget_host_view_base.patch | 12 +- .../render_widget_host_view_mac.patch | 10 +- .../chromium/resource_file_conflict.patch | 6 +- .../revert_build_swiftshader_for_arm32.patch | 2 +- .../revert_roll_clang_356356_357569.patch | 31 + .../common/chromium/scroll_bounce_flag.patch | 4 +- .../ssl_security_state_tab_helper.patch | 12 +- .../support_mixed_sandbox_with_zygote.patch | 10 +- patches/common/chromium/tts.patch | 8 +- patches/common/chromium/viz_osr.patch | 90 +-- patches/common/chromium/web_contents.patch | 8 +- .../common/chromium/webview_cross_drag.patch | 4 +- .../worker_context_will_destroy.patch | 14 +- patches/common/v8/.patches | 3 +- patches/common/v8/add_realloc.patch | 6 +- patches/common/v8/build_gn.patch | 23 +- patches/common/v8/dcheck.patch | 8 +- ..._detailed_line_info_for_cpu_profiler.patch | 34 -- ...vide_more_v8_backwards_compatibility.patch | 36 +- ...ort_symbols_needed_for_windows_build.patch | 33 + patches/common/v8/expose_mksnapshot.patch | 4 +- ...vert_heap_api_remove_deprecated_apis.patch | 18 +- ...v8_export_private_to_arm_arm64_ports.patch | 578 ++++++++++++++++++ script/verify-mksnapshot.py | 3 +- spec/api-browser-window-spec.js | 2 +- spec/modules-spec.js | 4 +- spec/package-lock.json | 27 +- spec/package.json | 4 +- spec/ts-smoke/electron/main.ts | 2 +- 126 files changed, 1267 insertions(+), 621 deletions(-) delete mode 100644 patches/common/chromium/disable_custom_libcxx_on_windows.patch delete mode 100644 patches/common/chromium/fix_retain_compatibility_with_msvc.patch create mode 100644 patches/common/chromium/ipc_message_start.patch create mode 100644 patches/common/chromium/patch_the_ensure_gn_version_py_script_to_work_on_mac_ci.patch create mode 100644 patches/common/chromium/revert_roll_clang_356356_357569.patch delete mode 100644 patches/common/v8/deps_backport_detailed_line_info_for_cpu_profiler.patch create mode 100644 patches/common/v8/export_symbols_needed_for_windows_build.patch create mode 100644 patches/common/v8/revert_cctest_add_v8_export_private_to_arm_arm64_ports.patch diff --git a/BUILD.gn b/BUILD.gn index eeb0671c9c69..e695838b9f95 100644 --- a/BUILD.gn +++ b/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", diff --git a/DEPS b/DEPS index b4c2e14b1d76..8f9180707be0 100644 --- a/DEPS +++ b/DEPS @@ -10,7 +10,7 @@ gclient_gn_args = [ vars = { 'chromium_version': - '75.0.3740.3', + '1e9f9a24aa12bea9cf194a82a7e249bd1242ec4f', 'node_version': '2dc0f8811b2b295c08d797b8a11b030234c98502', diff --git a/appveyor.yml b/appveyor.yml index 74785f8d699b..cb4fd2ab707c 100644 --- a/appveyor.yml +++ b/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%" diff --git a/atom/app/node_main.cc b/atom/app/node_main.cc index 9f3e1c8f9a03..c9ef9a7d4a36 100644 --- a/atom/app/node_main.cc +++ b/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(); diff --git a/atom/browser/api/atom_api_app.cc b/atom/browser/api/atom_api_app.cc index 5fae7c078de1..afc26622c86c 100644 --- a/atom/browser/api/atom_api_app.cc +++ b/atom/browser/api/atom_api_app.cc @@ -672,7 +672,7 @@ void App::OnLogin(scoped_refptr 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 options, - const net::CompletionCallback& callback, + net::CompletionOnceCallback callback, std::unique_ptr 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 diff --git a/atom/browser/api/atom_api_app.h b/atom/browser/api/atom_api_app.h index bef2354ce34d..0af4b42dfb78 100644 --- a/atom/browser/api/atom_api_app.h +++ b/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 options, - const net::CompletionCallback& callback, + net::CompletionOnceCallback callback, std::unique_ptr 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 GetFileIcon(const base::FilePath& path, mate::Arguments* args); diff --git a/atom/browser/api/atom_api_cookies.cc b/atom/browser/api/atom_api_cookies.cc index 09a33ce203a7..969e5787c8f8 100644 --- a/atom/browser/api/atom_api_cookies.cc +++ b/atom/browser/api/atom_api_cookies.cc @@ -283,7 +283,7 @@ void SetCookieOnIO(scoped_refptr 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) diff --git a/atom/browser/api/atom_api_desktop_capturer.cc b/atom/browser/api/atom_api_desktop_capturer.cc index 460ba6967bed..0d436301e3f7 100644 --- a/atom/browser/api/atom_api_desktop_capturer.cc +++ b/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 diff --git a/atom/browser/api/atom_api_menu_views.cc b/atom/browser/api/atom_api_menu_views.cc index da7f0764f8a7..a03672fdedc7 100644 --- a/atom/browser/api/atom_api_menu_views.cc +++ b/atom/browser/api/atom_api_menu_views.cc @@ -52,7 +52,7 @@ void MenuViews::PopupAt(TopLevelWindow* window, std::make_unique(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) { diff --git a/atom/browser/api/atom_api_session.cc b/atom/browser/api/atom_api_session.cc index ad4ac1eda30f..f2cd1bfb571d 100644 --- a/atom/browser/api/atom_api_session.cc +++ b/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 local_handle = global_handle.Get(isolate); - if (local_handle->IsObject()) { - v8::Local object = local_handle->ToObject(isolate); + v8::Local object; + if (local_handle->IsObject() && + local_handle->ToObject(isolate->GetCurrentContext()).ToLocal(&object)) { void* ptr = object->GetAlignedPointerFromInternalField(0); if (!ptr) return; diff --git a/atom/browser/api/atom_api_session.h b/atom/browser/api/atom_api_session.h index 3904353fd46b..4d3339a06e2e 100644 --- a/atom/browser/api/atom_api_session.h +++ b/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; diff --git a/atom/browser/api/atom_api_top_level_window.cc b/atom/browser/api/atom_api_top_level_window.cc index 850e8abccab8..17f38da7108f 100644 --- a/atom/browser/api/atom_api_top_level_window.cc +++ b/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 value) { + auto context = isolate->GetCurrentContext(); mate::Handle menu; - if (value->IsObject() && - gin::V8ToString( - isolate, value->ToObject(isolate)->GetConstructorName()) == "Menu" && + v8::Local 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()); diff --git a/atom/browser/api/atom_api_url_request.cc b/atom/browser/api/atom_api_url_request.cc index 9f18d97d2656..cd21fe214c45 100644 --- a/atom/browser/api/atom_api_url_request.cc +++ b/atom/browser/api/atom_api_url_request.cc @@ -354,7 +354,7 @@ void URLRequest::OnReceivedRedirect( } void URLRequest::OnAuthenticationRequired( - scoped_refptr 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_)); } diff --git a/atom/browser/api/atom_api_url_request.h b/atom/browser/api/atom_api_url_request.h index 4a5a2b65160b..44c863fbc2ac 100644 --- a/atom/browser/api/atom_api_url_request.h +++ b/atom/browser/api/atom_api_url_request.h @@ -105,8 +105,7 @@ class URLRequest : public mate::EventEmitter { const std::string& method, const GURL& url, scoped_refptr response_headers); - void OnAuthenticationRequired( - scoped_refptr auth_info); + void OnAuthenticationRequired(const net::AuthChallengeInfo& auth_info); void OnResponseStarted( scoped_refptr response_headers); void OnResponseData(scoped_refptr data); diff --git a/atom/browser/api/atom_api_web_contents.cc b/atom/browser/api/atom_api_web_contents.cc index c7e78e9813ce..434f40d8dba3 100644 --- a/atom/browser/api/atom_api_web_contents.cc +++ b/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 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 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, diff --git a/atom/browser/api/atom_api_web_contents.h b/atom/browser/api/atom_api_web_contents.h index dd3e83f79dc4..52b0bf6114ce 100644 --- a/atom/browser/api/atom_api_web_contents.h +++ b/atom/browser/api/atom_api_web_contents.h @@ -445,12 +445,12 @@ class WebContents : public mate::TrackableObject, 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 theme_color) override; void OnInterfaceRequestFromFrame( content::RenderFrameHost* render_frame_host, const std::string& interface_name, diff --git a/atom/browser/atom_browser_client.cc b/atom/browser/atom_browser_client.cc index 1006bb9d451f..baf02d85a455 100644 --- a/atom/browser/atom_browser_client.cc +++ b/atom/browser/atom_browser_client.cc @@ -534,7 +534,7 @@ std::string AtomBrowserClient::GetGeolocationApiKey() { return api_key; } -content::QuotaPermissionContext* +scoped_refptr 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)); } diff --git a/atom/browser/atom_browser_client.h b/atom/browser/atom_browser_client.h index 9fe2c8185495..d6c39d0c0723 100644 --- a/atom/browser/atom_browser_client.h +++ b/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 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; diff --git a/atom/browser/atom_browser_main_parts.cc b/atom/browser/atom_browser_main_parts.cc index a3e791026ca7..391dd8d3b248 100644 --- a/atom/browser/atom_browser_main_parts.cc +++ b/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)) diff --git a/atom/browser/browser_mac.mm b/atom/browser/browser_mac.mm index 048eb5b8054d..dce333a86e17 100644 --- a/atom/browser/browser_mac.mm +++ b/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; } diff --git a/atom/browser/common_web_contents_delegate.cc b/atom/browser/common_web_contents_delegate.cc index 18861b145cfa..2182d564778b 100644 --- a/atom/browser/common_web_contents_delegate.cc +++ b/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); } diff --git a/atom/browser/io_thread.cc b/atom/browser/io_thread.cc index 10fac020f8a4..1e108e600285 100644 --- a/atom/browser/io_thread.cc +++ b/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(); } diff --git a/atom/browser/javascript_environment.cc b/atom/browser/javascript_environment.cc index 6277bbae4636..78ed5f8cec82 100644 --- a/atom/browser/javascript_environment.cc +++ b/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" diff --git a/atom/browser/login_handler.cc b/atom/browser/login_handler.cc index a9332e1b96ba..25103cc528ac 100644 --- a/atom/browser/login_handler.cc +++ b/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(auth_info)), auth_callback_(std::move(callback)), weak_factory_(this) { DCHECK_CURRENTLY_ON(BrowserThread::IO); diff --git a/atom/browser/login_handler.h b/atom/browser/login_handler.h index 65e88a5c5439..771e82139af5 100644 --- a/atom/browser/login_handler.h +++ b/atom/browser/login_handler.h @@ -5,6 +5,8 @@ #ifndef ATOM_BROWSER_LOGIN_HANDLER_H_ #define ATOM_BROWSER_LOGIN_HANDLER_H_ +#include + #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 { net::AuthCredentials* credentials_; // Who/where/what asked for the authentication. - scoped_refptr auth_info_; + std::unique_ptr auth_info_; // WebContents associated with the login request. content::ResourceRequestInfo::WebContentsGetter web_contents_getter_; diff --git a/atom/browser/net/atom_network_delegate.cc b/atom/browser/net/atom_network_delegate.cc index 437c7c841509..50d954979937 100644 --- a/atom/browser/net/atom_network_delegate.cc +++ b/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"; diff --git a/atom/browser/net/atom_url_request.cc b/atom/browser/net/atom_url_request.cc index e4967a1ec1f4..8152b70960b2 100644 --- a/atom/browser/net/atom_url_request.cc +++ b/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(auth_info))); + this, auth_info)); } void AtomURLRequest::OnResponseStarted(net::URLRequest* request, @@ -468,7 +468,7 @@ void AtomURLRequest::InformDelegateReceivedRedirect( } void AtomURLRequest::InformDelegateAuthenticationRequired( - scoped_refptr auth_info) const { + const net::AuthChallengeInfo& auth_info) const { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); if (delegate_) delegate_->OnAuthenticationRequired(auth_info); diff --git a/atom/browser/net/atom_url_request.h b/atom/browser/net/atom_url_request.h index eda17a6b8a94..dbf8ec330a48 100644 --- a/atom/browser/net/atom_url_request.h +++ b/atom/browser/net/atom_url_request.h @@ -53,7 +53,7 @@ class AtomURLRequest : public base::RefCountedThreadSafe, 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, const GURL& url, scoped_refptr response_headers) const; void InformDelegateAuthenticationRequired( - scoped_refptr auth_info) const; + const net::AuthChallengeInfo& auth_info) const; void InformDelegateResponseStarted( scoped_refptr) const; void InformDelegateResponseData( diff --git a/atom/browser/net/url_request_buffer_job.cc b/atom/browser/net/url_request_buffer_job.cc index caea8eb7fd1a..79a7e1b65976 100644 --- a/atom/browser/net/url_request_buffer_job.cc +++ b/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); diff --git a/atom/browser/net/url_request_context_getter.cc b/atom/browser/net/url_request_context_getter.cc index 84c7471d496f..68ec2197a945 100644 --- a/atom/browser/net/url_request_context_getter.cc +++ b/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); diff --git a/atom/browser/net/url_request_stream_job.cc b/atom/browser/net/url_request_stream_job.cc index 5015cc98e1fa..b4bf9c14ed5e 100644 --- a/atom/browser/net/url_request_stream_job.cc +++ b/atom/browser/net/url_request_stream_job.cc @@ -48,7 +48,7 @@ void BeforeStartInUI(base::WeakPtr 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(status_code))); diff --git a/atom/browser/notifications/platform_notification_service.cc b/atom/browser/notifications/platform_notification_service.cc index 68aba4d3fb1f..039c355b2c64 100644 --- a/atom/browser/notifications/platform_notification_service.cc +++ b/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(); } diff --git a/atom/browser/notifications/platform_notification_service.h b/atom/browser/notifications/platform_notification_service.h index e27021cae368..d0abaedebdb7 100644 --- a/atom/browser/notifications/platform_notification_service.h +++ b/atom/browser/notifications/platform_notification_service.h @@ -8,7 +8,6 @@ #include #include -#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_; diff --git a/atom/browser/notifications/win/notification_presenter_win.cc b/atom/browser/notifications/win/notification_presenter_win.cc index 797c33a5df78..461fe6a7a854 100644 --- a/atom/browser/notifications/win/notification_presenter_win.cc +++ b/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" diff --git a/atom/browser/osr/osr_render_widget_host_view.cc b/atom/browser/osr/osr_render_widget_host_view.cc index 9dff65aca782..5c5dc022e88e 100644 --- a/atom/browser/osr/osr_render_widget_host_view.cc +++ b/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 OffScreenRenderWidgetHostView::GetBackgroundColor() - const { +base::Optional 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::Size OffScreenRenderWidgetHostView::GetCompositorViewportPixelSize() - const { +gfx::Size OffScreenRenderWidgetHostView::GetCompositorViewportPixelSize() { return gfx::ScaleToCeiledSize(GetRequestedRendererSize(), current_device_scale_factor_); } diff --git a/atom/browser/osr/osr_render_widget_host_view.h b/atom/browser/osr/osr_render_widget_host_view.h index 1f5f9f8861eb..4c03de274e5b 100644 --- a/atom/browser/osr/osr_render_widget_host_view.h +++ b/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 GetBackgroundColor() const override; + base::Optional 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 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&) override; - gfx::Size GetCompositorViewportPixelSize() const override; + gfx::Size GetCompositorViewportPixelSize() override; content::RenderWidgetHostViewBase* CreateViewForWidget( content::RenderWidgetHost*, diff --git a/atom/browser/ui/inspectable_web_contents_impl.h b/atom/browser/ui/inspectable_web_contents_impl.h index f3a9451f4d16..7990e67a0dce 100644 --- a/atom/browser/ui/inspectable_web_contents_impl.h +++ b/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); diff --git a/atom/browser/ui/views/menu_bar.cc b/atom/browser/ui/views/menu_bar.cc index 7207685fd121..5c75ffa4092e 100644 --- a/atom/browser/ui/views/menu_bar.cc +++ b/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. diff --git a/atom/browser/ui/views/menu_bar.h b/atom/browser/ui/views/menu_bar.h index a49ec58ac141..875ea6c40364 100644 --- a/atom/browser/ui/views/menu_bar.h +++ b/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; diff --git a/atom/browser/ui/views/menu_delegate.cc b/atom/browser/ui/views/menu_delegate.cc index 35e389b5213e..72d7f77d85c5 100644 --- a/atom/browser/ui/views/menu_delegate.cc +++ b/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(button), bounds, + views::MenuAnchorPosition::kTopRight, source_type); } void MenuDelegate::ExecuteCommand(int id) { diff --git a/atom/browser/ui/views/menu_delegate.h b/atom/browser/ui/views/menu_delegate.h index 1a22a64f0600..cfffce556df2 100644 --- a/atom/browser/ui/views/menu_delegate.h +++ b/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 { diff --git a/atom/browser/ui/win/notify_icon.cc b/atom/browser/ui/win/notify_icon.cc index 66d82dad78bd..7f6374f68658 100644 --- a/atom/browser/ui/win/notify_icon.cc +++ b/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); } diff --git a/atom/browser/web_contents_preferences.cc b/atom/browser/web_contents_preferences.cc index 6ffa5ceafd63..637ee1762b1b 100644 --- a/atom/browser/web_contents_preferences.cc +++ b/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. diff --git a/atom/common/api/api_messages.h b/atom/common/api/api_messages.h index 3f7f10774d30..26890cc40eb9 100644 --- a/atom/common/api/api_messages.h +++ b/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) diff --git a/atom/common/api/atom_api_v8_util.cc b/atom/common/api/atom_api_v8_util.cc index d41106170231..a24039d41315 100644 --- a/atom/common/api/atom_api_v8_util.cc +++ b/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" diff --git a/atom/common/crash_reporter/crash_reporter_win.cc b/atom/common/crash_reporter/crash_reporter_win.cc index 02f3cad872c1..6a051e48ca73 100644 --- a/atom/common/crash_reporter/crash_reporter_win.cc +++ b/atom/common/crash_reporter/crash_reporter_win.cc @@ -133,12 +133,14 @@ bool RegisterNonABICompliantCodeRange(void* start, size_t size_in_bytes) { reinterpret_cast(start)); } +/* void UnregisterNonABICompliantCodeRange(void* start) { ExceptionHandlerRecord* record = reinterpret_cast(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 diff --git a/atom/common/crash_reporter/win/crash_service.cc b/atom/common/crash_reporter/win/crash_service.cc index a68c9e18fe5c..a05db722080a 100644 --- a/atom/common/crash_reporter/win/crash_service.cc +++ b/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'; diff --git a/atom/common/native_mate_converters/net_converter.cc b/atom/common/native_mate_converters/net_converter.cc index 36ed75fbe111..91548e1406db 100644 --- a/atom/common/native_mate_converters/net_converter.cc +++ b/atom/common/native_mate_converters/net_converter.cc @@ -50,15 +50,15 @@ bool CertFromData(const std::string& data, } // namespace // static -v8::Local Converter::ToV8( +v8::Local Converter::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(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(val.challenger.port())); + dict.Set("realm", val.realm); return mate::ConvertToV8(isolate, dict); } diff --git a/atom/common/native_mate_converters/net_converter.h b/atom/common/native_mate_converters/net_converter.h index 7182102cebaa..dea11386a7f0 100644 --- a/atom/common/native_mate_converters/net_converter.h +++ b/atom/common/native_mate_converters/net_converter.h @@ -24,9 +24,9 @@ struct CertPrincipal; namespace mate { template <> -struct Converter { +struct Converter { static v8::Local ToV8(v8::Isolate* isolate, - const net::AuthChallengeInfo* val); + const net::AuthChallengeInfo& val); }; template <> diff --git a/atom/common/native_mate_converters/string16_converter.h b/atom/common/native_mate_converters/string16_converter.h index 9df9ec21a730..7cadcbbcb3cf 100644 --- a/atom/common/native_mate_converters/string16_converter.h +++ b/atom/common/native_mate_converters/string16_converter.h @@ -15,8 +15,9 @@ struct Converter { static v8::Local ToV8(v8::Isolate* isolate, const base::string16& val) { return v8::String::NewFromTwoByte( - isolate, reinterpret_cast(val.data()), - v8::String::kNormalString, val.size()); + isolate, reinterpret_cast(val.data()), + v8::NewStringType::kNormal, val.size()) + .ToLocalChecked(); } static bool FromV8(v8::Isolate* isolate, v8::Local val, diff --git a/atom/renderer/atom_sandboxed_renderer_client.cc b/atom/renderer/atom_sandboxed_renderer_client.cc index 045590990fe7..f5cc7527f946 100644 --- a/atom/renderer/atom_sandboxed_renderer_client.cc +++ b/atom/renderer/atom_sandboxed_renderer_client.cc @@ -44,7 +44,8 @@ bool IsDevToolsExtension(content::RenderFrame* render_frame) { } v8::Local GetModuleCache(v8::Isolate* isolate) { - mate::Dictionary global(isolate, isolate->GetCurrentContext()->Global()); + auto context = isolate->GetCurrentContext(); + mate::Dictionary global(isolate, context->Global()); v8::Local cache; if (!global.GetHidden(kModuleCacheKey, &cache)) { @@ -52,7 +53,7 @@ v8::Local 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 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 value; @@ -103,9 +106,10 @@ void InvokeHiddenCallback(v8::Handle 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::Cast(callback_value); diff --git a/atom/renderer/electron_api_service_impl.cc b/atom/renderer/electron_api_service_impl.cc index aa20b2a08812..00fbd4e41bf7 100644 --- a/atom/renderer/electron_api_service_impl.cc +++ b/atom/renderer/electron_api_service_impl.cc @@ -31,13 +31,14 @@ const char kIpcKey[] = "ipcNative"; // Gets the private object under kIpcKey v8::Local GetIpcObject(v8::Local 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 context, @@ -56,8 +57,9 @@ void InvokeIpcCallback(v8::Local 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::Cast(callback_value); diff --git a/build/args/all.gn b/build/args/all.gn index b9142c7540bc..35ab1881b309 100644 --- a/build/args/all.gn +++ b/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" diff --git a/patches/common/chromium/.patches b/patches/common/chromium/.patches index 9c2958fbd2b5..737fa0d379e2 100644 --- a/patches/common/chromium/.patches +++ b/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 diff --git a/patches/common/chromium/accelerator.patch b/patches/common/chromium/accelerator.patch index c406bedc44f0..8a2e51631233 100644 --- a/patches/common/chromium/accelerator.patch +++ b/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); diff --git a/patches/common/chromium/add_realloc.patch b/patches/common/chromium/add_realloc.patch index 475e35cb8687..c5b8cccc1874 100644 --- a/patches/common/chromium/add_realloc.patch +++ b/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); } diff --git a/patches/common/chromium/allow_webview_file_url.patch b/patches/common/chromium/allow_webview_file_url.patch index 5bbf724d2335..ddd2aae5427b 100644 --- a/patches/common/chromium/allow_webview_file_url.patch +++ b/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; diff --git a/patches/common/chromium/autofill_size_calculation.patch b/patches/common/chromium/autofill_size_calculation.patch index b66dfcffc7cd..94862b67d4fe 100644 --- a/patches/common/chromium/autofill_size_calculation.patch +++ b/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 + + #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(); diff --git a/patches/common/chromium/blink-worker-enable-csp-in-file-scheme.patch b/patches/common/chromium/blink-worker-enable-csp-in-file-scheme.patch index f3907198abc3..e9b2f6fa10ae 100644 --- a/patches/common/chromium/blink-worker-enable-csp-in-file-scheme.patch +++ b/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(); content_security_policy_->SetOverrideURLForSelf( diff --git a/patches/common/chromium/blink_file_path.patch b/patches/common/chromium/blink_file_path.patch index d15809b8019d..31894d851920 100644 --- a/patches/common/chromium/blink_file_path.patch +++ b/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; diff --git a/patches/common/chromium/blink_initialization_order.patch b/patches/common/chromium/blink_initialization_order.patch index 8d14ca912a08..c0f9dc03bb66 100644 --- a/patches/common/chromium/blink_initialization_order.patch +++ b/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); diff --git a/patches/common/chromium/blink_local_frame.patch b/patches/common/chromium/blink_local_frame.patch index b2cd000ba8b9..391a35e17e99 100644 --- a/patches/common/chromium/blink_local_frame.patch +++ b/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(); diff --git a/patches/common/chromium/blink_world_context.patch b/patches/common/chromium/blink_world_context.patch index c89aba070a7a..b46bb8e48c31 100644 --- a/patches/common/chromium/blink_world_context.patch +++ b/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 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 WebLocalFrameImpl::GlobalProxy() const { +@@ -867,6 +867,13 @@ v8::Local 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 argv[]) override; v8::Local MainWorldScriptContext() const override; diff --git a/patches/common/chromium/boringssl_build_gn.patch b/patches/common/chromium/boringssl_build_gn.patch index 4faa9489312f..95ff17d4db4a 100644 --- a/patches/common/chromium/boringssl_build_gn.patch +++ b/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") { diff --git a/patches/common/chromium/browser_compositor_mac.patch b/patches/common/chromium/browser_compositor_mac.patch index a8af0c2dc7dd..ff1791a61b82 100644 --- a/patches/common/chromium/browser_compositor_mac.patch +++ b/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 @@ diff --git a/patches/common/chromium/build_gn.patch b/patches/common/chromium/build_gn.patch index 6a4dfee83fc9..da0f7becd2e3 100644 --- a/patches/common/chromium/build_gn.patch +++ b/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", diff --git a/patches/common/chromium/can_create_window.patch b/patches/common/chromium/can_create_window.patch index 61ed710e1fce..3b6941a48f24 100644 --- a/patches/common/chromium/can_create_window.patch +++ b/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(), 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, diff --git a/patches/common/chromium/command-ismediakey.patch b/patches/common/chromium/command-ismediakey.patch index 9eaf39e283d1..e6a8d3d56837 100644 --- a/patches/common/chromium/command-ismediakey.patch +++ b/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; diff --git a/patches/common/chromium/content_allow_embedder_to_prevent_locking_scheme_registry.patch b/patches/common/chromium/content_allow_embedder_to_prevent_locking_scheme_registry.patch index 922639e3679b..fb94d6cfe593 100644 --- a/patches/common/chromium/content_allow_embedder_to_prevent_locking_scheme_registry.patch +++ b/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 { diff --git a/patches/common/chromium/content_browser_main_loop.patch b/patches/common/chromium/content_browser_main_loop.patch index 2ec100d889ac..99bfe6424d57 100644 --- a/patches/common/chromium/content_browser_main_loop.patch +++ b/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; diff --git a/patches/common/chromium/cross_site_document_resource_handler.patch b/patches/common/chromium/cross_site_document_resource_handler.patch index d6e7be207f86..cc2d779e85d0 100644 --- a/patches/common/chromium/cross_site_document_resource_handler.patch +++ b/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) {} diff --git a/patches/common/chromium/dcheck.patch b/patches/common/chromium/dcheck.patch index 6383ab0dd71b..911cb5533ceb 100644 --- a/patches/common/chromium/dcheck.patch +++ b/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(); } diff --git a/patches/common/chromium/desktop_media_list.patch b/patches/common/chromium/desktop_media_list.patch index 3c5db5b3c90e..c8fcf0e6452f 100644 --- a/patches/common/chromium/desktop_media_list.patch +++ b/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" diff --git a/patches/common/chromium/disable-redraw-lock.patch b/patches/common/chromium/disable-redraw-lock.patch index 08b41b4b0fa4..916c41ad4680 100644 --- a/patches/common/chromium/disable-redraw-lock.patch +++ b/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; enum class DwmFrameState { OFF, ON }; diff --git a/patches/common/chromium/disable_color_correct_rendering.patch b/patches/common/chromium/disable_color_correct_rendering.patch index 2bdf90143e26..0cb6b0e820fd 100644 --- a/patches/common/chromium/disable_color_correct_rendering.patch +++ b/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 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[]; diff --git a/patches/common/chromium/disable_custom_libcxx_on_windows.patch b/patches/common/chromium/disable_custom_libcxx_on_windows.patch deleted file mode 100644 index f8a5b9fbdaef..000000000000 --- a/patches/common/chromium/disable_custom_libcxx_on_windows.patch +++ /dev/null @@ -1,20 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Samuel Attard -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")) - diff --git a/patches/common/chromium/disable_detach_webview_frame.patch b/patches/common/chromium/disable_detach_webview_frame.patch index 2a46a56bff52..5ab0f78d6acb 100644 --- a/patches/common/chromium/disable_detach_webview_frame.patch +++ b/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( diff --git a/patches/common/chromium/disable_hidden.patch b/patches/common/chromium/disable_hidden.patch index ea6e68c54d1b..8dc21a9c798f 100644 --- a/patches/common/chromium/disable_hidden.patch +++ b/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 diff --git a/patches/common/chromium/disable_network_services_by_default.patch b/patches/common/chromium/disable_network_services_by_default.patch index 919abcbf3a4b..7ca9b3ceac27 100644 --- a/patches/common/chromium/disable_network_services_by_default.patch +++ b/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 -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 { diff --git a/patches/common/chromium/disable_user_gesture_requirement_for_beforeunload_dialogs.patch b/patches/common/chromium/disable_user_gesture_requirement_for_beforeunload_dialogs.patch index 34c5acac5798..60ad674ae8b5 100644 --- a/patches/common/chromium/disable_user_gesture_requirement_for_beforeunload_dialogs.patch +++ b/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); diff --git a/patches/common/chromium/dom_storage_limits.patch b/patches/common/chromium/dom_storage_limits.patch index 399724985e12..fd5a57629893 100644 --- a/patches/common/chromium/dom_storage_limits.patch +++ b/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)); diff --git a/patches/common/chromium/exclude-a-few-test-files-from-build.patch b/patches/common/chromium/exclude-a-few-test-files-from-build.patch index bd50a3e22f4a..40037e76244a 100644 --- a/patches/common/chromium/exclude-a-few-test-files-from-build.patch +++ b/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", diff --git a/patches/common/chromium/fix_disable_usage_of_setapplicationisdaemon_and.patch b/patches/common/chromium/fix_disable_usage_of_setapplicationisdaemon_and.patch index 6d8cad870f7c..c346d94065da 100644 --- a/patches/common/chromium/fix_disable_usage_of_setapplicationisdaemon_and.patch +++ b/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 UtilityServiceFactory::CreateAudioService( service_manager::mojom::ServiceRequest request) { diff --git a/patches/common/chromium/fix_retain_compatibility_with_msvc.patch b/patches/common/chromium/fix_retain_compatibility_with_msvc.patch deleted file mode 100644 index 0c18b7acccb2..000000000000 --- a/patches/common/chromium/fix_retain_compatibility_with_msvc.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Samuel Attard -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. 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 languages; -+ std::set languages; - #if defined(OS_CHROMEOS) - // Preferred languages. - std::string language = language::kFallbackInputMethodLocale; diff --git a/patches/common/chromium/frame_host_manager.patch b/patches/common/chromium/frame_host_manager.patch index f143a700e44e..d5301438747a 100644 --- a/patches/common/chromium/frame_host_manager.patch +++ b/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 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(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: diff --git a/patches/common/chromium/gin_enable_disable_v8_platform.patch b/patches/common/chromium/gin_enable_disable_v8_platform.patch index 70fe1e639a68..06e1649483aa 100644 --- a/patches/common/chromium/gin_enable_disable_v8_platform.patch +++ b/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, diff --git a/patches/common/chromium/gritsettings_resource_ids.patch b/patches/common/chromium/gritsettings_resource_ids.patch index 5b88c3b89d87..00169dc27b15 100644 --- a/patches/common/chromium/gritsettings_resource_ids.patch +++ b/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], }, diff --git a/patches/common/chromium/ignore_rc_check.patch b/patches/common/chromium/ignore_rc_check.patch index 73474597cd2b..331718df1f69 100644 --- a/patches/common/chromium/ignore_rc_check.patch +++ b/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): diff --git a/patches/common/chromium/ipc_message_start.patch b/patches/common/chromium/ipc_message_start.patch new file mode 100644 index 000000000000..9349c6a25fcb --- /dev/null +++ b/patches/common/chromium/ipc_message_start.patch @@ -0,0 +1,23 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: deepak1556 +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. + }; + diff --git a/patches/common/chromium/isolate_holder.patch b/patches/common/chromium/isolate_holder.patch index 0f56fb117758..cafaa7c91754 100644 --- a/patches/common/chromium/isolate_holder.patch +++ b/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( diff --git a/patches/common/chromium/mas_blink_no_private_api.patch b/patches/common/chromium/mas_blink_no_private_api.patch index 3870d2481d5d..aee504f2890a 100644 --- a/patches/common/chromium/mas_blink_no_private_api.patch +++ b/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); diff --git a/patches/common/chromium/mas_no_private_api.patch b/patches/common/chromium/mas_no_private_api.patch index c7798a6e4ffe..73d67eab45b0 100644 --- a/patches/common/chromium/mas_no_private_api.patch +++ b/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 { diff --git a/patches/common/chromium/no_cache_storage_check.patch b/patches/common/chromium/no_cache_storage_check.patch index 3ee51d95a3d9..c8ea50e99f21 100644 --- a/patches/common/chromium/no_cache_storage_check.patch +++ b/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) { diff --git a/patches/common/chromium/notification_provenance.patch b/patches/common/chromium/notification_provenance.patch index bf3e3f442c68..e877f25a3ffa 100644 --- a/patches/common/chromium/notification_provenance.patch +++ b/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 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 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 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( notification_context_.get(), &browser_context_, @@ -64,10 +67,10 @@ index 8beb9e516bcf636e95f7481837e67e197422d830..d9fc224db4704057e8cb1596173310d8 mojo::MakeRequest(¬ification_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, diff --git a/patches/common/chromium/out_of_process_instance.patch b/patches/common/chromium/out_of_process_instance.patch index 6d83c850a881..ac7ee002c780 100644 --- a/patches/common/chromium/out_of_process_instance.patch +++ b/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); diff --git a/patches/common/chromium/patch_the_ensure_gn_version_py_script_to_work_on_mac_ci.patch b/patches/common/chromium/patch_the_ensure_gn_version_py_script_to_work_on_mac_ci.patch new file mode 100644 index 000000000000..b44d4697fba5 --- /dev/null +++ b/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 +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') diff --git a/patches/common/chromium/printing.patch b/patches/common/chromium/printing.patch index 260dde1d5f25..cc99e8c942f0 100644 --- a/patches/common/chromium/printing.patch +++ b/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 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 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 PrintRenderFrameHelper::GetPrintedPages( +@@ -1860,10 +1876,24 @@ std::vector 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; } diff --git a/patches/common/chromium/render_widget_host_view_base.patch b/patches/common/chromium/render_widget_host_view_base.patch index f22822d3e692..3c85082bfa22 100644 --- a/patches/common/chromium/render_widget_host_view_base.patch +++ b/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); diff --git a/patches/common/chromium/render_widget_host_view_mac.patch b/patches/common/chromium/render_widget_host_view_mac.patch index 68a1015b9646..8309f0692895 100644 --- a/patches/common/chromium/render_widget_host_view_mac.patch +++ b/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 @@ diff --git a/patches/common/chromium/resource_file_conflict.patch b/patches/common/chromium/resource_file_conflict.patch index 5d972a3b3baf..0e06b81e9ab7 100644 --- a/patches/common/chromium/resource_file_conflict.patch +++ b/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) { } } diff --git a/patches/common/chromium/revert_build_swiftshader_for_arm32.patch b/patches/common/chromium/revert_build_swiftshader_for_arm32.patch index 0dee1634d47d..894665382227 100644 --- a/patches/common/chromium/revert_build_swiftshader_for_arm32.patch +++ b/patches/common/chromium/revert_build_swiftshader_for_arm32.patch @@ -6,7 +6,7 @@ Subject: Revert "Build swiftshader for ARM32." This reverts commit e7caa7ca82fc015675aea8cecf178c83a94ab3a7. diff --git a/ui/gl/BUILD.gn b/ui/gl/BUILD.gn -index 2b80ce0756be0f8153edebb409ac3981a0cefa9a..f04dc7baf9186194936cbb7c2df40ed709a9bc6f 100644 +index 003730ab8f993637005c4152b5a3bd3660f88a95..b003bf86bb02fce349508a1ef20d5fe003e94c05 100644 --- a/ui/gl/BUILD.gn +++ b/ui/gl/BUILD.gn @@ -15,8 +15,8 @@ declare_args() { diff --git a/patches/common/chromium/revert_roll_clang_356356_357569.patch b/patches/common/chromium/revert_roll_clang_356356_357569.patch new file mode 100644 index 000000000000..ced3e4b4c3b7 --- /dev/null +++ b/patches/common/chromium/revert_roll_clang_356356_357569.patch @@ -0,0 +1,31 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jeremy Apthorp +Date: Thu, 18 Apr 2019 11:07:51 -0700 +Subject: Revert "Roll clang 356356:357569." + +This reverts commit a50f2f33843d26fd7c0d1f1a2331aa45a392c6cd. + +This roll broke ARM builds. Tracking bug: crbug.com/953815 + +diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py +index c284aff1e3b73977050dcc9ee0608aae6c650f5c..39a4c86ee5fbfbd8f9f8d5b2b08d12af3be078ee 100755 +--- a/tools/clang/scripts/update.py ++++ b/tools/clang/scripts/update.py +@@ -35,7 +35,7 @@ import zipfile + # Do NOT CHANGE this if you don't know what you're doing -- see + # https://chromium.googlesource.com/chromium/src/+/master/docs/updating_clang.md + # Reverting problematic clang rolls is safe, though. +-CLANG_REVISION = '357692' ++CLANG_REVISION = '356356' + + use_head_revision = bool(os.environ.get('LLVM_FORCE_HEAD_REVISION', '0') + in ('1', 'YES')) +@@ -43,7 +43,7 @@ if use_head_revision: + CLANG_REVISION = 'HEAD' + + # This is incremented when pushing a new build of Clang at the same revision. +-CLANG_SUB_REVISION=1 ++CLANG_SUB_REVISION=3 + + PACKAGE_VERSION = "%s-%s" % (CLANG_REVISION, CLANG_SUB_REVISION) + diff --git a/patches/common/chromium/scroll_bounce_flag.patch b/patches/common/chromium/scroll_bounce_flag.patch index 300fd8adc543..bd6fe66a9e75 100644 --- a/patches/common/chromium/scroll_bounce_flag.patch +++ b/patches/common/chromium/scroll_bounce_flag.patch @@ -6,10 +6,10 @@ Subject: scroll_bounce_flag.patch Patch to make scrollBounce option work. diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc -index 01be4381e488e7171e02281e158cbad227f5ae09..7739228c99432dd66fda16614c40a50254294224 100644 +index e47b89dbbe1c9d428750d564bca8aa30e8915298..462d3693cc5dadc8677dac2d0e98ee274bd8b783 100644 --- a/content/renderer/render_thread_impl.cc +++ b/content/renderer/render_thread_impl.cc -@@ -1535,7 +1535,7 @@ bool RenderThreadImpl::IsGpuMemoryBufferCompositorResourcesEnabled() { +@@ -1534,7 +1534,7 @@ bool RenderThreadImpl::IsGpuMemoryBufferCompositorResourcesEnabled() { } bool RenderThreadImpl::IsElasticOverscrollEnabled() { diff --git a/patches/common/chromium/ssl_security_state_tab_helper.patch b/patches/common/chromium/ssl_security_state_tab_helper.patch index 2185ee0d760a..3bd0b96ceefe 100644 --- a/patches/common/chromium/ssl_security_state_tab_helper.patch +++ b/patches/common/chromium/ssl_security_state_tab_helper.patch @@ -6,7 +6,7 @@ Subject: ssl_security_state_tab_helper.patch Allows populating security tab info for devtools in Electron. diff --git a/chrome/browser/ssl/security_state_tab_helper.cc b/chrome/browser/ssl/security_state_tab_helper.cc -index 1ca339cf487763237d45b7ce2cead2459ecd7e93..754821b54f7c8e6b1653e201ca36bd26db842329 100644 +index aef4333e3d769d26b71822294d5f2fcedf3141c5..fe3d44e33213daa89f6ea5f4f84103686db6aece 100644 --- a/chrome/browser/ssl/security_state_tab_helper.cc +++ b/chrome/browser/ssl/security_state_tab_helper.cc @@ -12,10 +12,12 @@ @@ -43,7 +43,7 @@ index 1ca339cf487763237d45b7ce2cead2459ecd7e93..754821b54f7c8e6b1653e201ca36bd26 SecurityStateTabHelper::SecurityStateTabHelper( content::WebContents* web_contents) -@@ -161,6 +167,7 @@ void SecurityStateTabHelper::DidFinishNavigation( +@@ -149,6 +155,7 @@ void SecurityStateTabHelper::DidFinishNavigation( UMA_HISTOGRAM_BOOLEAN("interstitial.ssl.visited_site_after_warning", true); } @@ -51,7 +51,7 @@ index 1ca339cf487763237d45b7ce2cead2459ecd7e93..754821b54f7c8e6b1653e201ca36bd26 // Security indicator UI study (https://crbug.com/803501): Show a message in // the console to reduce developer confusion about the experimental UI // treatments for HTTPS pages with EV certificates. -@@ -188,6 +195,7 @@ void SecurityStateTabHelper::DidFinishNavigation( +@@ -176,6 +183,7 @@ void SecurityStateTabHelper::DidFinishNavigation( "Validation is still valid."); } } @@ -59,7 +59,7 @@ index 1ca339cf487763237d45b7ce2cead2459ecd7e93..754821b54f7c8e6b1653e201ca36bd26 } void SecurityStateTabHelper::DidChangeVisibleSecurityState() { -@@ -211,6 +219,7 @@ SecurityStateTabHelper::GetMaliciousContentStatus() const { +@@ -199,6 +207,7 @@ SecurityStateTabHelper::GetMaliciousContentStatus() const { web_contents()->GetController().GetVisibleEntry(); if (!entry) return security_state::MALICIOUS_CONTENT_STATUS_NONE; @@ -67,7 +67,7 @@ index 1ca339cf487763237d45b7ce2cead2459ecd7e93..754821b54f7c8e6b1653e201ca36bd26 safe_browsing::SafeBrowsingService* sb_service = g_browser_process->safe_browsing_service(); if (!sb_service) -@@ -278,6 +287,7 @@ SecurityStateTabHelper::GetMaliciousContentStatus() const { +@@ -266,6 +275,7 @@ SecurityStateTabHelper::GetMaliciousContentStatus() const { break; } } @@ -75,7 +75,7 @@ index 1ca339cf487763237d45b7ce2cead2459ecd7e93..754821b54f7c8e6b1653e201ca36bd26 return security_state::MALICIOUS_CONTENT_STATUS_NONE; } -@@ -285,16 +295,20 @@ std::vector SecurityStateTabHelper::GetSecureOriginsAndPatterns() +@@ -273,16 +283,20 @@ std::vector SecurityStateTabHelper::GetSecureOriginsAndPatterns() const { const base::CommandLine& command_line = *base::CommandLine::ForCurrentProcess(); diff --git a/patches/common/chromium/support_mixed_sandbox_with_zygote.patch b/patches/common/chromium/support_mixed_sandbox_with_zygote.patch index b86e78ec72a5..1d257e4f8308 100644 --- a/patches/common/chromium/support_mixed_sandbox_with_zygote.patch +++ b/patches/common/chromium/support_mixed_sandbox_with_zygote.patch @@ -22,10 +22,10 @@ However, the patch would need to be reviewed by the security team, as it does touch a security-sensitive class. diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc -index 19cb14736dfd1e87f3f3d9e0e552e6c0fdec5290..e600dd4b1599d7aa0e02c2bab2644c6ee8703140 100644 +index 6546420e33164c612298d76e8fdf32bfde061b98..721ea34bcd930dece08173366375ace0a16bc7d0 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -422,6 +422,10 @@ class RendererSandboxedProcessLauncherDelegate +@@ -420,6 +420,10 @@ class RendererSandboxedProcessLauncherDelegate : public SandboxedProcessLauncherDelegate { public: RendererSandboxedProcessLauncherDelegate() {} @@ -36,7 +36,7 @@ index 19cb14736dfd1e87f3f3d9e0e552e6c0fdec5290..e600dd4b1599d7aa0e02c2bab2644c6e ~RendererSandboxedProcessLauncherDelegate() override {} -@@ -441,6 +445,9 @@ class RendererSandboxedProcessLauncherDelegate +@@ -439,6 +443,9 @@ class RendererSandboxedProcessLauncherDelegate #if BUILDFLAG(USE_ZYGOTE_HANDLE) service_manager::ZygoteHandle GetZygote() override { @@ -46,7 +46,7 @@ index 19cb14736dfd1e87f3f3d9e0e552e6c0fdec5290..e600dd4b1599d7aa0e02c2bab2644c6e const base::CommandLine& browser_command_line = *base::CommandLine::ForCurrentProcess(); base::CommandLine::StringType renderer_prefix = -@@ -454,6 +461,11 @@ class RendererSandboxedProcessLauncherDelegate +@@ -452,6 +459,11 @@ class RendererSandboxedProcessLauncherDelegate service_manager::SandboxType GetSandboxType() override { return service_manager::SANDBOX_TYPE_RENDERER; } @@ -58,7 +58,7 @@ index 19cb14736dfd1e87f3f3d9e0e552e6c0fdec5290..e600dd4b1599d7aa0e02c2bab2644c6e }; const char kSessionStorageHolderKey[] = "kSessionStorageHolderKey"; -@@ -1736,11 +1748,18 @@ bool RenderProcessHostImpl::Init() { +@@ -1734,11 +1746,18 @@ bool RenderProcessHostImpl::Init() { cmd_line->PrependWrapper(renderer_prefix); AppendRendererCommandLine(cmd_line.get()); diff --git a/patches/common/chromium/tts.patch b/patches/common/chromium/tts.patch index c76a5161d58f..e5c8633692c8 100644 --- a/patches/common/chromium/tts.patch +++ b/patches/common/chromium/tts.patch @@ -10,12 +10,12 @@ Subject: tts.patch destruction from content layer. diff --git a/chrome/browser/speech/tts_controller_delegate_impl.cc b/chrome/browser/speech/tts_controller_delegate_impl.cc -index 019a4103fc230dc4653c80bb0fbd6bda18a05b79..3c6e3936efd7c73b84e8b19c080f2633ed8b6e48 100644 +index e96b0cef21bec8925d4adf1e8692dc00f5ec6f5f..7ec07534aa3628873c9fe784fa0235f3c5c7f15f 100644 --- a/chrome/browser/speech/tts_controller_delegate_impl.cc +++ b/chrome/browser/speech/tts_controller_delegate_impl.cc @@ -213,6 +213,7 @@ void TtsControllerDelegateImpl::UpdateUtteranceDefaultsFromPrefs( const PrefService* TtsControllerDelegateImpl::GetPrefService( - const content::TtsUtterance* utterance) { + content::TtsUtterance* utterance) { const PrefService* prefs = nullptr; +#if 0 // The utterance->GetBrowserContext() is null in tests. @@ -30,7 +30,7 @@ index 019a4103fc230dc4653c80bb0fbd6bda18a05b79..3c6e3936efd7c73b84e8b19c080f2633 } diff --git a/chrome/browser/speech/tts_message_filter.cc b/chrome/browser/speech/tts_message_filter.cc -index 4bcd4347ccf2640069d025cbcd2a0f5ce6e1a8b6..f73d197ac527cd6626fd992dd75e1ba8157e4514 100644 +index a7df91b0f6568215313899b577600feaa8c7ba31..8bccd503bb1648ef1ba07b7ff0fded6caaff8a65 100644 --- a/chrome/browser/speech/tts_message_filter.cc +++ b/chrome/browser/speech/tts_message_filter.cc @@ -10,8 +10,11 @@ @@ -118,7 +118,7 @@ index 4bcd4347ccf2640069d025cbcd2a0f5ce6e1a8b6..f73d197ac527cd6626fd992dd75e1ba8 } } -@@ -215,10 +240,8 @@ void TtsMessageFilter::Cleanup() { +@@ -211,10 +236,8 @@ void TtsMessageFilter::Cleanup() { content::TtsController::GetInstance()->RemoveUtteranceEventDelegate(this); } diff --git a/patches/common/chromium/viz_osr.patch b/patches/common/chromium/viz_osr.patch index 628a7e367616..d21ded6ba867 100644 --- a/patches/common/chromium/viz_osr.patch +++ b/patches/common/chromium/viz_osr.patch @@ -5,13 +5,13 @@ Subject: feat: offscreen rendering with viz compositor diff --git a/components/viz/host/host_display_client.cc b/components/viz/host/host_display_client.cc -index bdd1e8bde77ac458639d2b6064c58a133becc5ee..b21917e760c9bf183a75d1ed4e4104eeeb8948ad 100644 +index ca788f5288132456d1142004b95f57678b082800..441ec3c34a8a4617d3a4b4d20ac864773b697589 100644 --- a/components/viz/host/host_display_client.cc +++ b/components/viz/host/host_display_client.cc @@ -18,6 +18,10 @@ - + namespace viz { - + +void HostDisplayClient::IsOffscreen(IsOffscreenCallback callback) { + std::move(callback).Run(false); +} @@ -19,10 +19,10 @@ index bdd1e8bde77ac458639d2b6064c58a133becc5ee..b21917e760c9bf183a75d1ed4e4104ee HostDisplayClient::HostDisplayClient(gfx::AcceleratedWidget widget) : binding_(this) { #if defined(OS_MACOSX) || defined(OS_WIN) -@@ -49,9 +53,9 @@ void HostDisplayClient::OnDisplayReceivedCALayerParams( +@@ -46,9 +50,9 @@ void HostDisplayClient::OnDisplayReceivedCALayerParams( } #endif - + -#if defined(OS_WIN) void HostDisplayClient::CreateLayeredWindowUpdater( mojom::LayeredWindowUpdaterRequest request) { @@ -30,8 +30,8 @@ index bdd1e8bde77ac458639d2b6064c58a133becc5ee..b21917e760c9bf183a75d1ed4e4104ee if (!NeedsToUseLayerWindow(widget_)) { DLOG(ERROR) << "HWND shouldn't be using a layered window"; return; -@@ -59,7 +63,11 @@ void HostDisplayClient::CreateLayeredWindowUpdater( - +@@ -56,7 +60,11 @@ void HostDisplayClient::CreateLayeredWindowUpdater( + layered_window_updater_ = std::make_unique(widget_, std::move(request)); -} @@ -41,7 +41,7 @@ index bdd1e8bde77ac458639d2b6064c58a133becc5ee..b21917e760c9bf183a75d1ed4e4104ee + "Electron's OSR implementation."; #endif +} - + } // namespace viz diff --git a/components/viz/host/host_display_client.h b/components/viz/host/host_display_client.h index af64385aa93f7abc7a85e1f6eec3c99134e0d2b5..011007ba451e71d46d02cb2d28f6489fe2a805ec 100644 @@ -50,7 +50,7 @@ index af64385aa93f7abc7a85e1f6eec3c99134e0d2b5..011007ba451e71d46d02cb2d28f6489f @@ -30,17 +30,17 @@ class VIZ_HOST_EXPORT HostDisplayClient : public mojom::DisplayClient { mojom::DisplayClientPtr GetBoundPtr( scoped_refptr task_runner); - + - private: + protected: // mojom::DisplayClient implementation: @@ -58,14 +58,14 @@ index af64385aa93f7abc7a85e1f6eec3c99134e0d2b5..011007ba451e71d46d02cb2d28f6489f void OnDisplayReceivedCALayerParams( const gfx::CALayerParams& ca_layer_params) override; #endif - + -#if defined(OS_WIN) + void IsOffscreen(IsOffscreenCallback callback) override; + void CreateLayeredWindowUpdater( mojom::LayeredWindowUpdaterRequest request) override; -#endif - + mojo::Binding binding_; #if defined(OS_MACOSX) || defined(OS_WIN) diff --git a/components/viz/host/layered_window_updater_impl.cc b/components/viz/host/layered_window_updater_impl.cc @@ -75,13 +75,13 @@ index d3a49ed8be8dc11b86af67cdd600b05ddc0fc486..88bf86f3938b8267d731b52c8c3baa35 @@ -47,7 +47,9 @@ void LayeredWindowUpdaterImpl::OnAllocatedSharedMemory( shm_handle.Close(); } - + -void LayeredWindowUpdaterImpl::Draw(DrawCallback draw_callback) { +void LayeredWindowUpdaterImpl::Draw( + const gfx::Rect& damage_rect, + DrawCallback draw_callback) { TRACE_EVENT0("viz", "LayeredWindowUpdaterImpl::Draw"); - + if (!canvas_) { diff --git a/components/viz/host/layered_window_updater_impl.h b/components/viz/host/layered_window_updater_impl.h index 93c52d2b928cba6e98723e19b005fb7bd7089a58..4dc645e770a2a039ed8e4ff4de555767fee34a3a 100644 @@ -93,14 +93,14 @@ index 93c52d2b928cba6e98723e19b005fb7bd7089a58..4dc645e770a2a039ed8e4ff4de555767 mojo::ScopedSharedBufferHandle scoped_buffer_handle) override; - void Draw(DrawCallback draw_callback) override; + void Draw(const gfx::Rect& damage_rect, DrawCallback draw_callback) override; - + private: const HWND hwnd_; diff --git a/components/viz/service/BUILD.gn b/components/viz/service/BUILD.gn -index 1ac721a2781faecd0c7ee5709e8ed20b227bf298..dd7ae27ececbe2a81d9dc62f7e49dc520916d58c 100644 +index bc3f8a7ee8e1ad4d3aa23baf85638eff48158987..e6610ac4289997386ff17b1adeab80672572c3f7 100644 --- a/components/viz/service/BUILD.gn +++ b/components/viz/service/BUILD.gn -@@ -113,6 +113,8 @@ viz_component("service") { +@@ -115,6 +115,8 @@ viz_component("service") { "display_embedder/in_process_gpu_memory_buffer_manager.h", "display_embedder/server_shared_bitmap_manager.cc", "display_embedder/server_shared_bitmap_manager.h", @@ -110,7 +110,7 @@ index 1ac721a2781faecd0c7ee5709e8ed20b227bf298..dd7ae27ececbe2a81d9dc62f7e49dc52 "display_embedder/software_output_surface.h", "display_embedder/viz_process_context_provider.cc", diff --git a/components/viz/service/display_embedder/gpu_display_provider.cc b/components/viz/service/display_embedder/gpu_display_provider.cc -index 72e6374ccb67b625fa5936a08cc948c653d71e0e..71b1c7e16ea7a48fee3a9c17c66d5d6927c2783a 100644 +index 1c79ef0c20e611eaf547dabd9936a59c954c0bb8..a9bf01500052bc1e4fbacc133a7feacd68bf6057 100644 --- a/components/viz/service/display_embedder/gpu_display_provider.cc +++ b/components/viz/service/display_embedder/gpu_display_provider.cc @@ -19,6 +19,7 @@ @@ -121,10 +121,10 @@ index 72e6374ccb67b625fa5936a08cc948c653d71e0e..71b1c7e16ea7a48fee3a9c17c66d5d69 #include "components/viz/service/display_embedder/software_output_surface.h" #include "components/viz/service/display_embedder/viz_process_context_provider.h" #include "components/viz/service/gl/gpu_service_impl.h" -@@ -279,6 +280,19 @@ GpuDisplayProvider::CreateSoftwareOutputDeviceForPlatform( +@@ -282,6 +283,19 @@ GpuDisplayProvider::CreateSoftwareOutputDeviceForPlatform( if (headless_) return std::make_unique(); - + +#if !defined(OS_MACOSX) + DCHECK(display_client); + bool offscreen = false; @@ -146,7 +146,7 @@ index b9357082293cc55650144ccbc8bada8fe6d1cac4..b4cb07e26d1504719f80e5835c1cb5f1 --- a/components/viz/service/display_embedder/software_output_device_mac.cc +++ b/components/viz/service/display_embedder/software_output_device_mac.cc @@ -102,6 +102,8 @@ void SoftwareOutputDeviceMac::UpdateAndCopyBufferDamage( - + SkCanvas* SoftwareOutputDeviceMac::BeginPaint( const gfx::Rect& new_damage_rect) { + last_damage = new_damage_rect; @@ -169,11 +169,11 @@ index f3867356e3d641416e00e6d115ae9ae2a0be90ab..b1d192d2b20ccb63fba07093101d745e @@ -56,6 +56,7 @@ class VIZ_SERVICE_EXPORT SoftwareOutputDeviceMac : public SoftwareOutputDevice { void UpdateAndCopyBufferDamage(Buffer* previous_paint_buffer, const SkRegion& new_damage_rect); - + + gfx::Rect last_damage; gfx::Size pixel_size_; float scale_factor_ = 1; - + diff --git a/components/viz/service/display_embedder/software_output_device_proxy.cc b/components/viz/service/display_embedder/software_output_device_proxy.cc new file mode 100644 index 0000000000000000000000000000000000000000..c784a841f74e7a6215595fd8b1166655857f3e31 @@ -456,16 +456,16 @@ index a339eaa4dc9ccec292b3df9f31adf1ad45119a77..33146bbe7bb01fbe24cea10d79cad274 @@ -321,7 +322,7 @@ void SoftwareOutputDeviceWinProxy::EndPaintDelegated( if (!canvas_) return; - + - layered_window_updater_->Draw(base::BindOnce( + layered_window_updater_->Draw(damage_rect, base::BindOnce( &SoftwareOutputDeviceWinProxy::DrawAck, base::Unretained(this))); waiting_on_draw_ack_ = true; - + @@ -362,8 +363,13 @@ std::unique_ptr CreateSoftwareOutputDeviceWinGpu( display_client->CreateLayeredWindowUpdater( mojo::MakeRequest(&layered_window_updater)); - + - return std::make_unique( - hwnd, std::move(layered_window_updater)); + bool offscreen = false; @@ -479,24 +479,24 @@ index a339eaa4dc9ccec292b3df9f31adf1ad45119a77..33146bbe7bb01fbe24cea10d79cad274 return std::make_unique(hwnd, backing); } diff --git a/services/viz/privileged/interfaces/compositing/display_private.mojom b/services/viz/privileged/interfaces/compositing/display_private.mojom -index 4c29f4ec2cde99749d4642928ff52ad3d4842f4a..5db220422bbc0ec6384c98681c245502a6442d6d 100644 +index 997b82c91539a947fefde5671f898ee97b72f3b8..78b70b490fcc92f0d14e1cde08d3eddf7fa1e562 100644 --- a/services/viz/privileged/interfaces/compositing/display_private.mojom +++ b/services/viz/privileged/interfaces/compositing/display_private.mojom -@@ -58,12 +58,14 @@ interface DisplayPrivate { +@@ -62,12 +62,14 @@ interface DisplayPrivate { }; - + interface DisplayClient { + [Sync] + IsOffscreen() => (bool success); + [EnableIf=is_mac] OnDisplayReceivedCALayerParams(gfx.mojom.CALayerParams ca_layer_params); - + // Creates a LayeredWindowUpdater implementation to draw into a layered // window. - [EnableIf=is_win] CreateLayeredWindowUpdater(LayeredWindowUpdater& layered_window_updater); - + // Notifies that a swap has occurred and provides information about the pixel diff --git a/services/viz/privileged/interfaces/compositing/layered_window_updater.mojom b/services/viz/privileged/interfaces/compositing/layered_window_updater.mojom index 360cab3eee4c5189a55269d76daa1d78a98ed3d3..6834242f23d27fd6d428c2cd6040206a79d5097b 100644 @@ -510,7 +510,7 @@ index 360cab3eee4c5189a55269d76daa1d78a98ed3d3..6834242f23d27fd6d428c2cd6040206a + Draw(gfx.mojom.Rect damage_rect) => (); }; diff --git a/ui/compositor/compositor.h b/ui/compositor/compositor.h -index 29784c677f4be6e4fd7cfb298ab3554d22e1beaa..5d7da6481ebedb706c1dd31de1f7dfe4735433e8 100644 +index 102c2fcef1124058edc74ab329fa7a073dceef13..2794f5bad7b0ad52a43c044ef2822d4e29aed5ab 100644 --- a/ui/compositor/compositor.h +++ b/ui/compositor/compositor.h @@ -24,6 +24,7 @@ @@ -521,10 +521,10 @@ index 29784c677f4be6e4fd7cfb298ab3554d22e1beaa..5d7da6481ebedb706c1dd31de1f7dfe4 #include "components/viz/host/host_frame_sink_client.h" #include "third_party/skia/include/core/SkColor.h" #include "third_party/skia/include/core/SkMatrix44.h" -@@ -193,6 +194,15 @@ class COMPOSITOR_EXPORT ContextFactory { +@@ -194,6 +195,15 @@ class COMPOSITOR_EXPORT ContextFactory { virtual bool SyncTokensRequiredForDisplayCompositor() = 0; }; - + +class COMPOSITOR_EXPORT CompositorDelegate { + public: + virtual std::unique_ptr CreateHostDisplayClient( @@ -537,30 +537,30 @@ index 29784c677f4be6e4fd7cfb298ab3554d22e1beaa..5d7da6481ebedb706c1dd31de1f7dfe4 // Compositor object to take care of GPU painting. // A Browser compositor object is responsible for generating the final // displayable form of pixels comprising a single widget's contents. It draws an -@@ -235,6 +245,9 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient, +@@ -236,6 +246,9 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient, // Schedules a redraw of the layer tree associated with this compositor. void ScheduleDraw(); - + + CompositorDelegate* delegate() const { return delegate_; } + void SetDelegate(CompositorDelegate* delegate) { delegate_ = delegate; } + // Sets the root of the layer tree drawn by this Compositor. The root layer // must have no parent. The compositor's root layer is reset if the root layer // is destroyed. NULL can be passed to reset the root layer, in which case the -@@ -458,6 +471,8 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient, +@@ -460,6 +473,8 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient, ui::ContextFactory* context_factory_; ui::ContextFactoryPrivate* context_factory_private_; - + + CompositorDelegate* delegate_ = nullptr; + // The root of the Layer tree drawn by this compositor. Layer* root_layer_ = nullptr; - + diff --git a/ui/compositor/host/host_context_factory_private.cc b/ui/compositor/host/host_context_factory_private.cc -index 8297e1aabe3b29698a965407e24d1e987be679d3..a78d455e99eb27730b6ac42cd5fd9469caa4a7de 100644 +index 2b23ed42a93399127cb9e67623fafd51c6bdb003..c934258b5de8fa6758bd8d118126b97bbe61ac30 100644 --- a/ui/compositor/host/host_context_factory_private.cc +++ b/ui/compositor/host/host_context_factory_private.cc -@@ -70,8 +70,12 @@ void HostContextFactoryPrivate::ConfigureCompositor( +@@ -69,8 +69,12 @@ void HostContextFactoryPrivate::ConfigureCompositor( mojo::MakeRequest(&root_params->compositor_frame_sink_client); root_params->display_private = mojo::MakeRequest(&compositor_data.display_private); @@ -581,16 +581,16 @@ index 4014e64a75da88cf66c02e8adb71171c2666cab7..25e57784e1a1ffc546b003daa4cd0059 +++ b/ui/gfx/ca_layer_params.h @@ -6,6 +6,7 @@ #define UI_GFX_CA_LAYER_PARAMS_H_ - + #include "build/build_config.h" +#include "ui/gfx/geometry/rect.h" #include "ui/gfx/geometry/size.h" #include "ui/gfx/gfx_export.h" - + @@ -41,6 +42,8 @@ struct GFX_EXPORT CALayerParams { gfx::ScopedRefCountedIOSurfaceMachPort io_surface_mach_port; #endif - + + gfx::Rect damage; + // The geometry of the frame. @@ -614,7 +614,7 @@ index dd553996b5c6ff5ec0c210a020a18a6a843b8aae..26d1e0bda2640052d42ea4e691c3df73 @@ -52,6 +52,9 @@ bool StructTraits::Read( if (!data.ReadPixelSize(&out->pixel_size)) return false; - + + if (!data.ReadDamage(&out->damage)) + return false; + @@ -628,7 +628,7 @@ index 94127a0d5b50b052318e9e5a360755fe771f87e9..348fa26c5c95a13d1ddd0ff2545aca3a @@ -20,6 +20,10 @@ struct StructTraits { return ca_layer_params.pixel_size; } - + + static gfx::Rect damage(const gfx::CALayerParams& ca_layer_params) { + return ca_layer_params.damage; + } diff --git a/patches/common/chromium/web_contents.patch b/patches/common/chromium/web_contents.patch index c7c3c035a272..85c7871fecfa 100644 --- a/patches/common/chromium/web_contents.patch +++ b/patches/common/chromium/web_contents.patch @@ -5,10 +5,10 @@ Subject: web_contents.patch diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 487d5876e20ddcfe8a7b55f4ee5ba32e82934ba0..f603b8ce6ee7a27af2e2c5ecf8bf1e6660d8eec4 100644 +index 1491bf580c59b6550194aae03c4bdd7f9d6ffc06..673416eaff000df8c9a9b9266a84cd1dbd7d3773 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -2066,6 +2066,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { +@@ -2068,6 +2068,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { std::string unique_name; frame_tree_.root()->SetFrameName(params.main_frame_name, unique_name); @@ -21,7 +21,7 @@ index 487d5876e20ddcfe8a7b55f4ee5ba32e82934ba0..f603b8ce6ee7a27af2e2c5ecf8bf1e66 WebContentsViewDelegate* delegate = GetContentClient()->browser()->GetWebContentsViewDelegate(this); -@@ -2081,6 +2087,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { +@@ -2083,6 +2089,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { &render_view_host_delegate_view_); } } @@ -90,7 +90,7 @@ index 9d91d225fd9f3eeef7d9beec126e6cc6a58a76d7..8a443514dfbdab37f951bc7c54cf1989 RenderWidgetHostViewBase* WebContentsViewGuest::CreateViewForChildWidget( diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h -index 2fe0a25aed9f2fbcf6a7d308fa4deefb7c051f79..cce64cb2b376ee3445eed94b1399a6efb19c0d79 100644 +index 6cf2ca2a0ec5d54eeadd7581eaa2acfd83459965..498d8ed92b6ebbf863a26be91258bb9608e6f31e 100644 --- a/content/public/browser/web_contents.h +++ b/content/public/browser/web_contents.h @@ -75,9 +75,12 @@ class BrowserPluginGuestDelegate; diff --git a/patches/common/chromium/webview_cross_drag.patch b/patches/common/chromium/webview_cross_drag.patch index 21f3a48243e0..c852b3e8898a 100644 --- a/patches/common/chromium/webview_cross_drag.patch +++ b/patches/common/chromium/webview_cross_drag.patch @@ -5,10 +5,10 @@ Subject: webview_cross_drag.patch diff --git a/content/browser/web_contents/web_contents_view_aura.cc b/content/browser/web_contents/web_contents_view_aura.cc -index 0c15633445d75373cd6e2e7da773d6c318758e4e..0c1c53947153497d33fdf9b6841abe1fcbcf0fd8 100644 +index 74f537d116187d74f54e8285475d9f0a1c318576..9a64f45a08ed788d59b4f34f8bdb6a1e969dce30 100644 --- a/content/browser/web_contents/web_contents_view_aura.cc +++ b/content/browser/web_contents/web_contents_view_aura.cc -@@ -575,6 +575,7 @@ gfx::NativeView WebContentsViewAura::GetRenderWidgetHostViewParent() const { +@@ -630,6 +630,7 @@ gfx::NativeView WebContentsViewAura::GetRenderWidgetHostViewParent() const { bool WebContentsViewAura::IsValidDragTarget( RenderWidgetHostImpl* target_rwh) const { diff --git a/patches/common/chromium/worker_context_will_destroy.patch b/patches/common/chromium/worker_context_will_destroy.patch index abab3a0bcb48..f38706321d5d 100644 --- a/patches/common/chromium/worker_context_will_destroy.patch +++ b/patches/common/chromium/worker_context_will_destroy.patch @@ -5,7 +5,7 @@ Subject: worker_context_will_destroy.patch diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h -index b8da0451f5857d9bffa7dc913dcf0304da2325b4..566faeff313c1f23a209ddb4ee6194efb8fc11fb 100644 +index fad5f104f0113813133c69fe8a4392d73f153ba5..01c826ef12b4e04033377d4e5e50fcb871ca1e1d 100644 --- a/content/public/renderer/content_renderer_client.h +++ b/content/public/renderer/content_renderer_client.h @@ -383,6 +383,11 @@ class CONTENT_EXPORT ContentRendererClient { @@ -21,10 +21,10 @@ index b8da0451f5857d9bffa7dc913dcf0304da2325b4..566faeff313c1f23a209ddb4ee6194ef // An empty URL is returned if the URL is not overriden. virtual GURL OverrideFlashEmbedWithHTML(const GURL& url); diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc -index 84554504ddbcccf9bd85d8eea2f0d42b3ba5a1f6..9d756c084eb31ee4d74ba5f0fa5ca9294c15a66b 100644 +index 30273211857b6aa7b9f98dfaa46e3f539c4e7931..f98cb1d4e72c2fd0fffbe177d3e19ef8dc6afe1e 100644 --- a/content/renderer/renderer_blink_platform_impl.cc +++ b/content/renderer/renderer_blink_platform_impl.cc -@@ -1083,6 +1083,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() { +@@ -1095,6 +1095,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() { WorkerThreadRegistry::Instance()->WillStopCurrentWorkerThread(); } @@ -38,10 +38,10 @@ index 84554504ddbcccf9bd85d8eea2f0d42b3ba5a1f6..9d756c084eb31ee4d74ba5f0fa5ca929 const v8::Local& worker) { GetContentClient()->renderer()->DidInitializeWorkerContextOnWorkerThread( diff --git a/content/renderer/renderer_blink_platform_impl.h b/content/renderer/renderer_blink_platform_impl.h -index a1f782b108b160dc5837a225f313f4c056728471..001a84fdc47591e09730ba49bb7d3219a2961bba 100644 +index 629362d2f99059f941220dbc50645f7f7f838e99..cc0654a4555cea5281353756e80bb9e5b7a398c7 100644 --- a/content/renderer/renderer_blink_platform_impl.h +++ b/content/renderer/renderer_blink_platform_impl.h -@@ -211,6 +211,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { +@@ -214,6 +214,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { void DidStartWorkerThread() override; void WillStopWorkerThread() override; void WorkerContextCreated(const v8::Local& worker) override; @@ -50,10 +50,10 @@ index a1f782b108b160dc5837a225f313f4c056728471..001a84fdc47591e09730ba49bb7d3219 void RecordMetricsForBackgroundedRendererPurge() override; diff --git a/third_party/blink/public/platform/platform.h b/third_party/blink/public/platform/platform.h -index c6c49fcbe38b9a4e892c50e68a2cbc3e2bbeb30b..45d2c3dde539ef61d190f13c1964d0127e435c9b 100644 +index 198d6649ef4164800b8c8ba86e522e643d7a420f..9841217dcdb9fc2c0e6506206103b9192d9d15d9 100644 --- a/third_party/blink/public/platform/platform.h +++ b/third_party/blink/public/platform/platform.h -@@ -681,6 +681,7 @@ class BLINK_PLATFORM_EXPORT Platform { +@@ -682,6 +682,7 @@ class BLINK_PLATFORM_EXPORT Platform { virtual void DidStartWorkerThread() {} virtual void WillStopWorkerThread() {} virtual void WorkerContextCreated(const v8::Local& worker) {} diff --git a/patches/common/v8/.patches b/patches/common/v8/.patches index 2de4290febde..116994d16f1d 100644 --- a/patches/common/v8/.patches +++ b/patches/common/v8/.patches @@ -1,7 +1,8 @@ -deps_backport_detailed_line_info_for_cpu_profiler.patch add_realloc.patch build_gn.patch expose_mksnapshot.patch deps_provide_more_v8_backwards_compatibility.patch dcheck.patch fixme_revert_heap_api_remove_deprecated_apis.patch +revert_cctest_add_v8_export_private_to_arm_arm64_ports.patch +export_symbols_needed_for_windows_build.patch diff --git a/patches/common/v8/add_realloc.patch b/patches/common/v8/add_realloc.patch index 099aba80b543..d2d9f649fa77 100644 --- a/patches/common/v8/add_realloc.patch +++ b/patches/common/v8/add_realloc.patch @@ -12,7 +12,7 @@ when we override ReallocateBufferMemory, so we therefore need to implement Realloc on the v8 side. diff --git a/include/v8.h b/include/v8.h -index 6dee8ca634900af699ac1a54e10fc2a1ec4a7319..fd4e4f95022cb8e7332f9371ab478b8063cf048c 100644 +index 6ea19f43013af0b53dcd673e6175f36f95959e1a..f3ec969c25f121514588f762332c914a22f34527 100644 --- a/include/v8.h +++ b/include/v8.h @@ -4694,6 +4694,13 @@ class V8_EXPORT ArrayBuffer : public Object { @@ -30,10 +30,10 @@ index 6dee8ca634900af699ac1a54e10fc2a1ec4a7319..fd4e4f95022cb8e7332f9371ab478b80 * Free the memory block of size |length|, pointed to by |data|. * That memory is guaranteed to be previously allocated by |Allocate|. diff --git a/src/api.cc b/src/api.cc -index a5bb14f935a0a96380cbaf9839a5063dbd420a16..b6071ee70e1f5f8c308118fc21fbab387129d07f 100644 +index 64c4ae9bc1d70fa5cdc88ee0d2ea9a9f891ae2c4..3b3e84456431bdff91f32ca856fcc0a939fc47cb 100644 --- a/src/api.cc +++ b/src/api.cc -@@ -516,6 +516,10 @@ void V8::SetSnapshotDataBlob(StartupData* snapshot_blob) { +@@ -520,6 +520,10 @@ void V8::SetSnapshotDataBlob(StartupData* snapshot_blob) { i::V8::SetSnapshotBlob(snapshot_blob); } diff --git a/patches/common/v8/build_gn.patch b/patches/common/v8/build_gn.patch index f111d9a719ad..7db5e52a1b15 100644 --- a/patches/common/v8/build_gn.patch +++ b/patches/common/v8/build_gn.patch @@ -1,14 +1,14 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Ales Pergl -Date: Mon, 22 Oct 2018 10:47:12 -0700 +From: Jeremy Apthorp +Date: Tue, 16 Apr 2019 10:43:04 -0700 Subject: build_gn.patch diff --git a/BUILD.gn b/BUILD.gn -index b843e32765a93fe50ccc78427558daeb3447c2a8..1eefb5b89c8a91ee3a9eb9f4a5b22cc499d97539 100644 +index a8aa8d820e88ad056b5b72861f35f640acdc9ff4..ade81276041c70e7e9198489e5e0cab41f279562 100644 --- a/BUILD.gn +++ b/BUILD.gn -@@ -246,7 +246,7 @@ config("internal_config") { +@@ -262,7 +262,7 @@ config("internal_config") { ":v8_header_features", ] @@ -17,12 +17,21 @@ index b843e32765a93fe50ccc78427558daeb3447c2a8..1eefb5b89c8a91ee3a9eb9f4a5b22cc4 defines += [ "BUILDING_V8_SHARED" ] } } -@@ -3558,6 +3558,8 @@ if (v8_use_snapshot && current_toolchain == v8_snapshot_toolchain) { +@@ -3655,7 +3655,7 @@ if (current_toolchain == v8_generator_toolchain) { + "src/interpreter/bytecodes.h", + ] + +- configs = [ ":internal_config" ] ++ configs = [ ":internal_config_base" ] + + deps = [ + ":v8_libbase", +@@ -3676,6 +3676,8 @@ if (v8_use_snapshot && current_toolchain == v8_snapshot_toolchain) { configs = [ ":internal_config" ] + configs += [ "//electron/build/config:build_time_executable" ] + deps = [ - ":v8_base", - ":v8_init", + ":v8_base_without_compiler", + ":v8_compiler_for_mksnapshot", diff --git a/patches/common/v8/dcheck.patch b/patches/common/v8/dcheck.patch index c9f4983c8b5b..281e958d27bf 100644 --- a/patches/common/v8/dcheck.patch +++ b/patches/common/v8/dcheck.patch @@ -5,10 +5,10 @@ Subject: dcheck.patch diff --git a/src/api.cc b/src/api.cc -index a6c14a5be90679ed4d17fa04bb9feb30a05d42f9..8532ad08999316427add386696326b43dc1994d8 100644 +index bf68b0966d4f92e99810578b0d385334706f0018..e2d409057aa0f333b61e3d6e03f2358feab2081f 100644 --- a/src/api.cc +++ b/src/api.cc -@@ -8617,7 +8617,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) { +@@ -8631,7 +8631,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) { void Isolate::RunMicrotasks() { @@ -18,10 +18,10 @@ index a6c14a5be90679ed4d17fa04bb9feb30a05d42f9..8532ad08999316427add386696326b43 isolate->default_microtask_queue()->RunMicrotasks(isolate); } diff --git a/src/heap/heap.cc b/src/heap/heap.cc -index 18e357712e10060c70875a1c2e69b754a521efe1..eec4b79ead7c9cc980c7eaf100f103acc81b96f7 100644 +index a6b3f5dd1d9475ac4ceea55273f20fe9dea9a818..e73de4020d355fb126a59f0c42c8655330d3d40e 100644 --- a/src/heap/heap.cc +++ b/src/heap/heap.cc -@@ -4881,9 +4881,9 @@ void Heap::TearDown() { +@@ -4936,9 +4936,9 @@ void Heap::TearDown() { void Heap::AddGCPrologueCallback(v8::Isolate::GCCallbackWithData callback, GCType gc_type, void* data) { DCHECK_NOT_NULL(callback); diff --git a/patches/common/v8/deps_backport_detailed_line_info_for_cpu_profiler.patch b/patches/common/v8/deps_backport_detailed_line_info_for_cpu_profiler.patch deleted file mode 100644 index 4d9adf7ba22e..000000000000 --- a/patches/common/v8/deps_backport_detailed_line_info_for_cpu_profiler.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Peter Marshall -Date: Tue, 4 Sep 2018 15:48:15 +0200 -Subject: deps: backport detailed line info for CPU profiler - -[cpu-profiler] Add flag to always generate accurate line info. -https://chromium.googlesource.com/v8/v8/+/ -56baf56790de439b3f69e887e94beb3b301ed77c - -[cpu-profiler] Turn on detailed line info for optimized code -https://chromium.googlesource.com/v8/v8/+/ -84894ce6d2af7feb9e1f5574409355120887326c - -[cpu-profiler] Separate the flags for generating extra line information -https://chromium.googlesource.com/v8/v8/+/ -30ff6719db441cc7ef220d449970cc169067e256 - -PR-URL: https://github.com/nodejs/node/pull/22688 -Reviewed-By: James M Snell -Reviewed-By: Ruben Bridgewater - -diff --git a/src/flag-definitions.h b/src/flag-definitions.h -index 75d8167ca3dc5728de8a0901996794da6acf6d19..c2c3db1dc683085d33a754c401bfec31b9ac08d7 100644 ---- a/src/flag-definitions.h -+++ b/src/flag-definitions.h -@@ -1337,7 +1337,7 @@ DEFINE_BOOL(log_function_events, false, - DEFINE_BOOL(prof, false, - "Log statistical profiling information (implies --log-code).") - --DEFINE_BOOL(detailed_line_info, false, -+DEFINE_BOOL(detailed_line_info, true, - "Always generate detailed line information for CPU profiling.") - - #if defined(ANDROID) diff --git a/patches/common/v8/deps_provide_more_v8_backwards_compatibility.patch b/patches/common/v8/deps_provide_more_v8_backwards_compatibility.patch index 37cce6512f8f..0df94016d552 100644 --- a/patches/common/v8/deps_provide_more_v8_backwards_compatibility.patch +++ b/patches/common/v8/deps_provide_more_v8_backwards_compatibility.patch @@ -22,7 +22,7 @@ Reviewed-By: Yang Guo Reviewed-By: MichaĆ«l Zasso diff --git a/include/v8.h b/include/v8.h -index fd4e4f95022cb8e7332f9371ab478b8063cf048c..6a91f2571d1c0c7e92bff288da90a9550e5568ba 100644 +index f3ec969c25f121514588f762332c914a22f34527..4757ef851b6bb6f0606686c30312d6c38e2d3fb8 100644 --- a/include/v8.h +++ b/include/v8.h @@ -1141,6 +1141,10 @@ class V8_EXPORT PrimitiveArray { @@ -46,8 +46,8 @@ index fd4e4f95022cb8e7332f9371ab478b8063cf048c..6a91f2571d1c0c7e92bff288da90a955 /** @@ -2549,6 +2555,13 @@ class V8_EXPORT Value : public Data { - V8_DEPRECATE_SOON("Use maybe version", - Local ToInt32(Isolate* isolate) const); + V8_DEPRECATED("Use maybe version", + Local ToInt32(Isolate* isolate) const); + inline V8_DEPRECATED("Use maybe version", + Local ToBoolean() const); @@ -134,7 +134,7 @@ index fd4e4f95022cb8e7332f9371ab478b8063cf048c..6a91f2571d1c0c7e92bff288da90a955 Value(Isolate* isolate, Local obj); ~Value(); uint16_t* operator*() { return str_; } -@@ -5385,6 +5424,8 @@ class V8_EXPORT BooleanObject : public Object { +@@ -5383,6 +5422,8 @@ class V8_EXPORT BooleanObject : public Object { class V8_EXPORT StringObject : public Object { public: static Local New(Isolate* isolate, Local value); @@ -143,7 +143,7 @@ index fd4e4f95022cb8e7332f9371ab478b8063cf048c..6a91f2571d1c0c7e92bff288da90a955 Local ValueOf() const; -@@ -10476,6 +10517,30 @@ template Value* Value::Cast(T* value) { +@@ -10496,6 +10537,30 @@ template Value* Value::Cast(T* value) { } @@ -175,10 +175,10 @@ index fd4e4f95022cb8e7332f9371ab478b8063cf048c..6a91f2571d1c0c7e92bff288da90a955 #ifdef V8_ENABLE_CHECKS CheckCast(value); diff --git a/src/api.cc b/src/api.cc -index b6071ee70e1f5f8c308118fc21fbab387129d07f..a6c14a5be90679ed4d17fa04bb9feb30a05d42f9 100644 +index 3b3e84456431bdff91f32ca856fcc0a939fc47cb..bf68b0966d4f92e99810578b0d385334706f0018 100644 --- a/src/api.cc +++ b/src/api.cc -@@ -2220,6 +2220,10 @@ int PrimitiveArray::Length() const { +@@ -2224,6 +2224,10 @@ int PrimitiveArray::Length() const { return array->length(); } @@ -189,7 +189,7 @@ index b6071ee70e1f5f8c308118fc21fbab387129d07f..a6c14a5be90679ed4d17fa04bb9feb30 void PrimitiveArray::Set(Isolate* v8_isolate, int index, Local item) { i::Isolate* isolate = reinterpret_cast(v8_isolate); -@@ -2233,6 +2237,10 @@ void PrimitiveArray::Set(Isolate* v8_isolate, int index, +@@ -2237,6 +2241,10 @@ void PrimitiveArray::Set(Isolate* v8_isolate, int index, array->set(index, *i_item); } @@ -200,7 +200,7 @@ index b6071ee70e1f5f8c308118fc21fbab387129d07f..a6c14a5be90679ed4d17fa04bb9feb30 Local PrimitiveArray::Get(Isolate* v8_isolate, int index) { i::Isolate* isolate = reinterpret_cast(v8_isolate); i::Handle array = Utils::OpenHandle(this); -@@ -2938,6 +2946,10 @@ void Message::PrintCurrentStackTrace(Isolate* isolate, FILE* out) { +@@ -2942,6 +2950,10 @@ void Message::PrintCurrentStackTrace(Isolate* isolate, FILE* out) { // --- S t a c k T r a c e --- @@ -211,7 +211,7 @@ index b6071ee70e1f5f8c308118fc21fbab387129d07f..a6c14a5be90679ed4d17fa04bb9feb30 Local StackTrace::GetFrame(Isolate* v8_isolate, uint32_t index) const { i::Isolate* isolate = reinterpret_cast(v8_isolate); -@@ -3902,6 +3914,36 @@ void v8::RegExp::CheckCast(v8::Value* that) { +@@ -3906,6 +3918,36 @@ void v8::RegExp::CheckCast(v8::Value* that) { } @@ -248,7 +248,7 @@ index b6071ee70e1f5f8c308118fc21fbab387129d07f..a6c14a5be90679ed4d17fa04bb9feb30 Maybe Value::BooleanValue(Local context) const { i::Isolate* isolate = reinterpret_cast(context->GetIsolate()); return Just(Utils::OpenHandle(this)->BooleanValue(isolate)); -@@ -3990,6 +4032,12 @@ MaybeLocal Value::ToArrayIndex(Local context) const { +@@ -3994,6 +4036,12 @@ MaybeLocal Value::ToArrayIndex(Local context) const { } @@ -261,7 +261,7 @@ index b6071ee70e1f5f8c308118fc21fbab387129d07f..a6c14a5be90679ed4d17fa04bb9feb30 Maybe Value::Equals(Local context, Local that) const { i::Isolate* isolate = Utils::OpenHandle(*context)->GetIsolate(); auto self = Utils::OpenHandle(this); -@@ -5268,6 +5316,10 @@ bool String::ContainsOnlyOneByte() const { +@@ -5272,6 +5320,10 @@ bool String::ContainsOnlyOneByte() const { return helper.Check(*str); } @@ -272,7 +272,7 @@ index b6071ee70e1f5f8c308118fc21fbab387129d07f..a6c14a5be90679ed4d17fa04bb9feb30 int String::Utf8Length(Isolate* isolate) const { i::Handle str = Utils::OpenHandle(this); str = i::String::Flatten(reinterpret_cast(isolate), str); -@@ -5420,6 +5472,14 @@ static int WriteUtf8Impl(i::Vector string, char* write_start, +@@ -5424,6 +5476,14 @@ static int WriteUtf8Impl(i::Vector string, char* write_start, } } // anonymous namespace @@ -287,7 +287,7 @@ index b6071ee70e1f5f8c308118fc21fbab387129d07f..a6c14a5be90679ed4d17fa04bb9feb30 int String::WriteUtf8(Isolate* v8_isolate, char* buffer, int capacity, int* nchars_ref, int options) const { i::Handle str = Utils::OpenHandle(this); -@@ -5460,6 +5520,18 @@ static inline int WriteHelper(i::Isolate* isolate, const String* string, +@@ -5464,6 +5524,18 @@ static inline int WriteHelper(i::Isolate* isolate, const String* string, } @@ -306,7 +306,7 @@ index b6071ee70e1f5f8c308118fc21fbab387129d07f..a6c14a5be90679ed4d17fa04bb9feb30 int String::WriteOneByte(Isolate* isolate, uint8_t* buffer, int start, int length, int options) const { return WriteHelper(reinterpret_cast(isolate), this, buffer, -@@ -6414,6 +6486,11 @@ MaybeLocal String::NewFromTwoByte(Isolate* isolate, +@@ -6430,6 +6502,11 @@ MaybeLocal String::NewFromTwoByte(Isolate* isolate, return result; } @@ -318,7 +318,7 @@ index b6071ee70e1f5f8c308118fc21fbab387129d07f..a6c14a5be90679ed4d17fa04bb9feb30 Local v8::String::Concat(Isolate* v8_isolate, Local left, Local right) { i::Isolate* isolate = reinterpret_cast(v8_isolate); -@@ -6696,6 +6773,11 @@ bool v8::BooleanObject::ValueOf() const { +@@ -6712,6 +6789,11 @@ bool v8::BooleanObject::ValueOf() const { } @@ -330,7 +330,7 @@ index b6071ee70e1f5f8c308118fc21fbab387129d07f..a6c14a5be90679ed4d17fa04bb9feb30 Local v8::StringObject::New(Isolate* v8_isolate, Local value) { i::Handle string = Utils::OpenHandle(*value); -@@ -8976,6 +9058,9 @@ bool MicrotasksScope::IsRunningMicrotasks(Isolate* v8_isolate) { +@@ -8995,6 +9077,9 @@ bool MicrotasksScope::IsRunningMicrotasks(Isolate* v8_isolate) { return microtask_queue->IsRunningMicrotasks(); } @@ -340,7 +340,7 @@ index b6071ee70e1f5f8c308118fc21fbab387129d07f..a6c14a5be90679ed4d17fa04bb9feb30 String::Utf8Value::Utf8Value(v8::Isolate* isolate, v8::Local obj) : str_(nullptr), length_(0) { if (obj.IsEmpty()) return; -@@ -8995,6 +9080,9 @@ String::Utf8Value::~Utf8Value() { +@@ -9014,6 +9099,9 @@ String::Utf8Value::~Utf8Value() { i::DeleteArray(str_); } diff --git a/patches/common/v8/export_symbols_needed_for_windows_build.patch b/patches/common/v8/export_symbols_needed_for_windows_build.patch new file mode 100644 index 000000000000..c24f3496c1c4 --- /dev/null +++ b/patches/common/v8/export_symbols_needed_for_windows_build.patch @@ -0,0 +1,33 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jeremy Apthorp +Date: Mon, 15 Apr 2019 18:12:08 -0700 +Subject: Export symbols needed for Windows build + +These symbols are required to build v8 with BUILD_V8_SHARED on Windows. + +diff --git a/src/objects.h b/src/objects.h +index ab8c564e8eca2f729d98c902d1bd5429a95da1fd..6f5f6d9dfc9092870fecf23d34f2e48f1c100921 100644 +--- a/src/objects.h ++++ b/src/objects.h +@@ -1122,7 +1122,7 @@ enum class KeyCollectionMode { + // Utility superclass for stack-allocated objects that must be updated + // on gc. It provides two ways for the gc to update instances, either + // iterating or updating after gc. +-class Relocatable { ++class V8_EXPORT_PRIVATE Relocatable { + public: + explicit inline Relocatable(Isolate* isolate); + inline virtual ~Relocatable(); +diff --git a/src/objects/ordered-hash-table.h b/src/objects/ordered-hash-table.h +index 6afbb6b662d2fed0ad6258921aa6fe9e641ee7c2..e961d99251afafb9a8c12ce14b57fca4b73bf822 100644 +--- a/src/objects/ordered-hash-table.h ++++ b/src/objects/ordered-hash-table.h +@@ -60,7 +60,7 @@ namespace internal { + // of the removed holes. + // [kPrefixSize + 3 + NumberOfRemovedHoles()..length]: Not used + template +-class OrderedHashTable : public FixedArray { ++class V8_EXPORT_PRIVATE OrderedHashTable : public FixedArray { + public: + // Returns an OrderedHashTable (possibly |table|) with enough space + // to add at least one new element. diff --git a/patches/common/v8/expose_mksnapshot.patch b/patches/common/v8/expose_mksnapshot.patch index 65eebb6fd097..2d4e2239c055 100644 --- a/patches/common/v8/expose_mksnapshot.patch +++ b/patches/common/v8/expose_mksnapshot.patch @@ -6,10 +6,10 @@ Subject: expose_mksnapshot.patch Needed in order to target mksnapshot for mksnapshot zip. diff --git a/BUILD.gn b/BUILD.gn -index 1eefb5b89c8a91ee3a9eb9f4a5b22cc499d97539..c2ec29b916155f36d8d181d82090afd857f4d041 100644 +index ade81276041c70e7e9198489e5e0cab41f279562..b4350c88822023f5c52c081746de034401d0c47c 100644 --- a/BUILD.gn +++ b/BUILD.gn -@@ -3548,8 +3548,6 @@ if (current_toolchain == v8_generator_toolchain) { +@@ -3666,8 +3666,6 @@ if (current_toolchain == v8_generator_toolchain) { if (v8_use_snapshot && current_toolchain == v8_snapshot_toolchain) { v8_executable("mksnapshot") { diff --git a/patches/common/v8/fixme_revert_heap_api_remove_deprecated_apis.patch b/patches/common/v8/fixme_revert_heap_api_remove_deprecated_apis.patch index d9f107d8178a..733bfe5eb4d9 100644 --- a/patches/common/v8/fixme_revert_heap_api_remove_deprecated_apis.patch +++ b/patches/common/v8/fixme_revert_heap_api_remove_deprecated_apis.patch @@ -21,7 +21,7 @@ index cbdce1c3f60eed53f67968e6b89755f418aecc3f..9254f7c9a2f3cf7dc92421e2863109b4 static const int kNodeIsActiveShift = 4; diff --git a/include/v8.h b/include/v8.h -index 6a91f2571d1c0c7e92bff288da90a9550e5568ba..caafc04a404ba96a2669ddcaf4e5b1bb91984c1a 100644 +index 4757ef851b6bb6f0606686c30312d6c38e2d3fb8..aeadbbe3e4341eb1f7242f68ac5accb502585e70 100644 --- a/include/v8.h +++ b/include/v8.h @@ -577,6 +577,10 @@ template class PersistentBase { @@ -35,7 +35,7 @@ index 6a91f2571d1c0c7e92bff288da90a9550e5568ba..caafc04a404ba96a2669ddcaf4e5b1bb /** Returns true if the handle's reference is weak. */ V8_INLINE bool IsWeak() const; -@@ -8565,6 +8569,17 @@ class V8_EXPORT Isolate { +@@ -8571,6 +8575,17 @@ class V8_EXPORT Isolate { */ void VisitHandlesWithClassIds(PersistentHandleVisitor* visitor); @@ -53,7 +53,7 @@ index 6a91f2571d1c0c7e92bff288da90a9550e5568ba..caafc04a404ba96a2669ddcaf4e5b1bb /** * Iterates through all the persistent handles in the current isolate's heap * that have class_ids and are weak to be marked as inactive if there is no -@@ -9818,6 +9833,17 @@ bool PersistentBase::IsIndependent() const { +@@ -9838,6 +9853,17 @@ bool PersistentBase::IsIndependent() const { I::kNodeIsIndependentShift); } @@ -72,10 +72,10 @@ index 6a91f2571d1c0c7e92bff288da90a9550e5568ba..caafc04a404ba96a2669ddcaf4e5b1bb bool PersistentBase::IsWeak() const { typedef internal::Internals I; diff --git a/src/api.cc b/src/api.cc -index 8532ad08999316427add386696326b43dc1994d8..f2d26a3e7503fe09619259578606d2bc5bd16161 100644 +index e2d409057aa0f333b61e3d6e03f2358feab2081f..d360e5009a52b0ce131ef15fc25636c25349210c 100644 --- a/src/api.cc +++ b/src/api.cc -@@ -8967,6 +8967,15 @@ void Isolate::VisitHandlesWithClassIds(PersistentHandleVisitor* visitor) { +@@ -8982,6 +8982,15 @@ void Isolate::VisitHandlesWithClassIds(PersistentHandleVisitor* visitor) { isolate->global_handles()->IterateAllRootsWithClassIds(visitor); } @@ -127,10 +127,10 @@ index 350380b23ce6f4fe89e628285d2e69fb1cac88ee..5eb3d93f142ea4d6ec88a4468b6390ec return Node::FromLocation(location)->IsWeak(); } diff --git a/src/global-handles.h b/src/global-handles.h -index 8caa3c33ce72269ecd470328ad88260b2d6cb206..3604af1d28e5a899095335b033bca044a28b7d77 100644 +index 6b8ca0c93fa344ed0155106fef3a0aabf13bdf44..f5f51bb00761f37b7182e0be5e8783831bff3217 100644 --- a/src/global-handles.h +++ b/src/global-handles.h -@@ -73,6 +73,9 @@ class GlobalHandles final { +@@ -73,6 +73,9 @@ class V8_EXPORT_PRIVATE GlobalHandles final { // Clear the weakness of a global handle. static void* ClearWeakness(Address* location); @@ -141,7 +141,7 @@ index 8caa3c33ce72269ecd470328ad88260b2d6cb206..3604af1d28e5a899095335b033bca044 static bool IsWeak(Address* location); diff --git a/test/cctest/heap/test-heap.cc b/test/cctest/heap/test-heap.cc -index fa3d5fe163fd1477c5bfba84d558172469e827f5..aae5f2d61f1b53389c8d4c3c511893010e49b59e 100644 +index 50ac47a7ab0453f35a68932b63c33c352758302f..13a3fc9047760d1065d073f3423c0d44344a58f2 100644 --- a/test/cctest/heap/test-heap.cc +++ b/test/cctest/heap/test-heap.cc @@ -531,9 +531,14 @@ TEST(WeakGlobalHandlesScavenge) { @@ -212,7 +212,7 @@ index fa3d5fe163fd1477c5bfba84d558172469e827f5..aae5f2d61f1b53389c8d4c3c51189301 } diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc -index fc74e99dd45a57e8b8b88de6c666008074cdaeea..c2d796bb770432411e660c888a189685da474a41 100644 +index 59903ddd928b2ade29332b09b02fcd8343215b56..1d561debc0da00867949b1e09f3d5bed81fa61bb 100644 --- a/test/cctest/test-api.cc +++ b/test/cctest/test-api.cc @@ -20472,6 +20472,43 @@ TEST(WrapperClassId) { diff --git a/patches/common/v8/revert_cctest_add_v8_export_private_to_arm_arm64_ports.patch b/patches/common/v8/revert_cctest_add_v8_export_private_to_arm_arm64_ports.patch new file mode 100644 index 000000000000..086967254b68 --- /dev/null +++ b/patches/common/v8/revert_cctest_add_v8_export_private_to_arm_arm64_ports.patch @@ -0,0 +1,578 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jeremy Apthorp +Date: Mon, 15 Apr 2019 18:06:12 -0700 +Subject: Revert "[cctest] Add V8_EXPORT_PRIVATE to arm/arm64 ports" + +This reverts commit 1a7d847cfac9a7363c59c980e47a7b7ff416e6da. + +diff --git a/src/arm/assembler-arm.h b/src/arm/assembler-arm.h +index c62c6041775206a7f222febf2950d6829e0299b7..4528b8efb1712683adc9403e4cf74bcab5fb1bbe 100644 +--- a/src/arm/assembler-arm.h ++++ b/src/arm/assembler-arm.h +@@ -79,7 +79,7 @@ enum Coprocessor { + // Machine instruction Operands + + // Class Operand represents a shifter operand in data processing instructions +-class V8_EXPORT_PRIVATE Operand { ++class Operand { + public: + // immediate + V8_INLINE explicit Operand(int32_t immediate, +@@ -182,8 +182,9 @@ class V8_EXPORT_PRIVATE Operand { + friend class Assembler; + }; + ++ + // Class MemOperand represents a memory operand in load and store instructions +-class V8_EXPORT_PRIVATE MemOperand { ++class MemOperand { + public: + // [rn +/- offset] Offset/NegOffset + // [rn +/- offset]! PreIndex/NegPreIndex +@@ -239,9 +240,10 @@ class V8_EXPORT_PRIVATE MemOperand { + friend class Assembler; + }; + ++ + // Class NeonMemOperand represents a memory operand in load and + // store NEON instructions +-class V8_EXPORT_PRIVATE NeonMemOperand { ++class NeonMemOperand { + public: + // [rn {:align}] Offset + // [rn {:align}]! PostIndex +@@ -262,6 +264,7 @@ class V8_EXPORT_PRIVATE NeonMemOperand { + int align_; + }; + ++ + // Class NeonListOperand represents a list of NEON registers + class NeonListOperand { + public: +@@ -1396,7 +1399,7 @@ class PatchingAssembler : public Assembler { + // state, even if the list is modified by some other means. Note that this scope + // can be nested but the destructors need to run in the opposite order as the + // constructors. We do not have assertions for this. +-class V8_EXPORT_PRIVATE UseScratchRegisterScope { ++class UseScratchRegisterScope { + public: + explicit UseScratchRegisterScope(Assembler* assembler); + ~UseScratchRegisterScope(); +diff --git a/src/arm64/assembler-arm64.h b/src/arm64/assembler-arm64.h +index 7dd97809e3e3d4a43f6595bb0fb9a5b7b916d8be..586eff1241fed0a5f6a6fbc9b858981058a75feb 100644 +--- a/src/arm64/assembler-arm64.h ++++ b/src/arm64/assembler-arm64.h +@@ -49,7 +49,7 @@ class Immediate { + RelocInfo::Mode rmode() const { return rmode_; } + + private: +- V8_EXPORT_PRIVATE void InitializeHandle(Handle value); ++ void InitializeHandle(Handle value); + + int64_t value_; + RelocInfo::Mode rmode_; +diff --git a/src/arm64/decoder-arm64.h b/src/arm64/decoder-arm64.h +index 3bc6934e814539022681e8ad4523a68a8f79b07b..a89bf38980e711c16caaf7a0158e36480b8ba978 100644 +--- a/src/arm64/decoder-arm64.h ++++ b/src/arm64/decoder-arm64.h +@@ -86,7 +86,7 @@ namespace internal { + + // The Visitor interface. Disassembler and simulator (and other tools) + // must provide implementations for all of these functions. +-class V8_EXPORT_PRIVATE DecoderVisitor { ++class DecoderVisitor { + public: + virtual ~DecoderVisitor() {} + +@@ -95,8 +95,9 @@ class V8_EXPORT_PRIVATE DecoderVisitor { + #undef DECLARE + }; + ++ + // A visitor that dispatches to a list of visitors. +-class V8_EXPORT_PRIVATE DispatchingDecoderVisitor : public DecoderVisitor { ++class DispatchingDecoderVisitor : public DecoderVisitor { + public: + DispatchingDecoderVisitor() {} + virtual ~DispatchingDecoderVisitor() {} +@@ -120,7 +121,7 @@ class V8_EXPORT_PRIVATE DispatchingDecoderVisitor : public DecoderVisitor { + // + // will call in order visitor methods in V3, V2, V1, V4. + void AppendVisitor(DecoderVisitor* visitor); +- V8_EXPORT_PRIVATE void PrependVisitor(DecoderVisitor* visitor); ++ void PrependVisitor(DecoderVisitor* visitor); + void InsertVisitorBefore(DecoderVisitor* new_visitor, + DecoderVisitor* registered_visitor); + void InsertVisitorAfter(DecoderVisitor* new_visitor, +@@ -141,6 +142,7 @@ class V8_EXPORT_PRIVATE DispatchingDecoderVisitor : public DecoderVisitor { + std::list visitors_; + }; + ++ + template + class Decoder : public V { + public: +diff --git a/src/arm64/disasm-arm64.h b/src/arm64/disasm-arm64.h +index 8e218b5cf80635ddfdef03c3366e692e5ec01c15..0edb2ea58343af0aab71f8e79310270f9e847914 100644 +--- a/src/arm64/disasm-arm64.h ++++ b/src/arm64/disasm-arm64.h +@@ -14,7 +14,8 @@ + namespace v8 { + namespace internal { + +-class V8_EXPORT_PRIVATE DisassemblingDecoder : public DecoderVisitor { ++ ++class DisassemblingDecoder : public DecoderVisitor { + public: + DisassemblingDecoder(); + DisassemblingDecoder(char* text_buffer, int buffer_size); +@@ -79,7 +80,8 @@ class V8_EXPORT_PRIVATE DisassemblingDecoder : public DecoderVisitor { + bool own_buffer_; + }; + +-class V8_EXPORT_PRIVATE PrintDisassembler : public DisassemblingDecoder { ++ ++class PrintDisassembler : public DisassemblingDecoder { + public: + explicit PrintDisassembler(FILE* stream) : stream_(stream) { } + ~PrintDisassembler() { } +@@ -90,6 +92,7 @@ class V8_EXPORT_PRIVATE PrintDisassembler : public DisassemblingDecoder { + FILE *stream_; + }; + ++ + } // namespace internal + } // namespace v8 + +diff --git a/src/arm64/instructions-arm64-constants.cc b/src/arm64/instructions-arm64-constants.cc +index 5c0d42a8c633738e2cae777114fde7aa8671a556..7559946cb165ec1fd8c1cfd0c9bd77cc0d582f86 100644 +--- a/src/arm64/instructions-arm64-constants.cc ++++ b/src/arm64/instructions-arm64-constants.cc +@@ -4,7 +4,6 @@ + + #include + #include "include/v8config.h" +-#include "src/base/macros.h" + + namespace v8 { + namespace internal { +@@ -29,25 +28,23 @@ extern "C" { + + extern const uint16_t kFP16PositiveInfinity = 0x7C00; + extern const uint16_t kFP16NegativeInfinity = 0xFC00; +-V8_EXPORT_PRIVATE extern const uint32_t kFP32PositiveInfinity = 0x7F800000; +-V8_EXPORT_PRIVATE extern const uint32_t kFP32NegativeInfinity = 0xFF800000; +-V8_EXPORT_PRIVATE extern const uint64_t kFP64PositiveInfinity = +- 0x7FF0000000000000UL; +-V8_EXPORT_PRIVATE extern const uint64_t kFP64NegativeInfinity = +- 0xFFF0000000000000UL; ++extern const uint32_t kFP32PositiveInfinity = 0x7F800000; ++extern const uint32_t kFP32NegativeInfinity = 0xFF800000; ++extern const uint64_t kFP64PositiveInfinity = 0x7FF0000000000000UL; ++extern const uint64_t kFP64NegativeInfinity = 0xFFF0000000000000UL; + + // This value is a signalling NaN as both a double and as a float (taking the + // least-significant word). +-V8_EXPORT_PRIVATE extern const uint64_t kFP64SignallingNaN = 0x7FF000007F800001; +-V8_EXPORT_PRIVATE extern const uint32_t kFP32SignallingNaN = 0x7F800001; ++extern const uint64_t kFP64SignallingNaN = 0x7FF000007F800001; ++extern const uint32_t kFP32SignallingNaN = 0x7F800001; + + // A similar value, but as a quiet NaN. +-V8_EXPORT_PRIVATE extern const uint64_t kFP64QuietNaN = 0x7FF800007FC00001; +-V8_EXPORT_PRIVATE extern const uint32_t kFP32QuietNaN = 0x7FC00001; ++extern const uint64_t kFP64QuietNaN = 0x7FF800007FC00001; ++extern const uint32_t kFP32QuietNaN = 0x7FC00001; + + // The default NaN values (for FPCR.DN=1). +-V8_EXPORT_PRIVATE extern const uint64_t kFP64DefaultNaN = 0x7FF8000000000000UL; +-V8_EXPORT_PRIVATE extern const uint32_t kFP32DefaultNaN = 0x7FC00000; ++extern const uint64_t kFP64DefaultNaN = 0x7FF8000000000000UL; ++extern const uint32_t kFP32DefaultNaN = 0x7FC00000; + extern const uint16_t kFP16DefaultNaN = 0x7E00; + + #if defined(V8_OS_WIN) +diff --git a/src/arm64/instructions-arm64.h b/src/arm64/instructions-arm64.h +index 8514469227042b5740da73d42fc210a2282414e4..6f46e4b88c2e7c77f6fd58567e9aa2ae31a54246 100644 +--- a/src/arm64/instructions-arm64.h ++++ b/src/arm64/instructions-arm64.h +@@ -26,23 +26,23 @@ extern "C" { + + extern const float16 kFP16PositiveInfinity; + extern const float16 kFP16NegativeInfinity; +-V8_EXPORT_PRIVATE extern const float kFP32PositiveInfinity; +-V8_EXPORT_PRIVATE extern const float kFP32NegativeInfinity; +-V8_EXPORT_PRIVATE extern const double kFP64PositiveInfinity; +-V8_EXPORT_PRIVATE extern const double kFP64NegativeInfinity; ++extern const float kFP32PositiveInfinity; ++extern const float kFP32NegativeInfinity; ++extern const double kFP64PositiveInfinity; ++extern const double kFP64NegativeInfinity; + + // This value is a signalling NaN as both a double and as a float (taking the + // least-significant word). +-V8_EXPORT_PRIVATE extern const double kFP64SignallingNaN; +-V8_EXPORT_PRIVATE extern const float kFP32SignallingNaN; ++extern const double kFP64SignallingNaN; ++extern const float kFP32SignallingNaN; + + // A similar value, but as a quiet NaN. +-V8_EXPORT_PRIVATE extern const double kFP64QuietNaN; +-V8_EXPORT_PRIVATE extern const float kFP32QuietNaN; ++extern const double kFP64QuietNaN; ++extern const float kFP32QuietNaN; + + // The default NaN values (for FPCR.DN=1). +-V8_EXPORT_PRIVATE extern const double kFP64DefaultNaN; +-V8_EXPORT_PRIVATE extern const float kFP32DefaultNaN; ++extern const double kFP64DefaultNaN; ++extern const float kFP32DefaultNaN; + extern const float16 kFP16DefaultNaN; + + #if defined(V8_OS_WIN) +@@ -401,11 +401,11 @@ class Instruction { + // Find the PC offset encoded in this instruction. 'this' may be a branch or + // a PC-relative addressing instruction. + // The offset returned is unscaled. +- V8_EXPORT_PRIVATE int64_t ImmPCOffset(); ++ int64_t ImmPCOffset(); + + // Find the target of this instruction. 'this' may be a branch or a + // PC-relative addressing instruction. +- V8_EXPORT_PRIVATE Instruction* ImmPCOffsetTarget(); ++ Instruction* ImmPCOffsetTarget(); + + static bool IsValidImmPCOffset(ImmBranchType branch_type, ptrdiff_t offset); + bool IsTargetInImmPCOffsetRange(Instruction* target); +diff --git a/src/arm64/macro-assembler-arm64.h b/src/arm64/macro-assembler-arm64.h +index 4c81c5b5f1832e2e5cf32d585012bf0acc3e43aa..785fae04e5c6722d3097824799b4240649489e71 100644 +--- a/src/arm64/macro-assembler-arm64.h ++++ b/src/arm64/macro-assembler-arm64.h +@@ -2081,7 +2081,7 @@ class InstructionAccurateScope { + // original state, even if the lists were modified by some other means. Note + // that this scope can be nested but the destructors need to run in the opposite + // order as the constructors. We do not have assertions for this. +-class V8_EXPORT_PRIVATE UseScratchRegisterScope { ++class UseScratchRegisterScope { + public: + explicit UseScratchRegisterScope(TurboAssembler* tasm) + : available_(tasm->TmpList()), +@@ -2092,7 +2092,7 @@ class V8_EXPORT_PRIVATE UseScratchRegisterScope { + DCHECK_EQ(availablefp_->type(), CPURegister::kVRegister); + } + +- V8_EXPORT_PRIVATE ~UseScratchRegisterScope(); ++ ~UseScratchRegisterScope(); + + // Take a register from the appropriate temps list. It will be returned + // automatically when the scope ends. +@@ -2109,8 +2109,7 @@ class V8_EXPORT_PRIVATE UseScratchRegisterScope { + VRegister AcquireSameSizeAs(const VRegister& reg); + + private: +- V8_EXPORT_PRIVATE static CPURegister AcquireNextAvailable( +- CPURegList* available); ++ static CPURegister AcquireNextAvailable(CPURegList* available); + + // Available scratch registers. + CPURegList* available_; // kRegister +diff --git a/src/arm64/register-arm64.h b/src/arm64/register-arm64.h +index 014252eb0cbb4b49d9229edafa3423b43becec80..008268de590b50b94eb31b9c83fb96c5a81535d5 100644 +--- a/src/arm64/register-arm64.h ++++ b/src/arm64/register-arm64.h +@@ -323,14 +323,14 @@ VectorFormat ScalarFormatFromLaneSize(int lanesize); + VectorFormat VectorFormatHalfWidthDoubleLanes(VectorFormat vform); + VectorFormat VectorFormatFillQ(VectorFormat vform); + VectorFormat ScalarFormatFromFormat(VectorFormat vform); +-V8_EXPORT_PRIVATE unsigned RegisterSizeInBitsFromFormat(VectorFormat vform); ++unsigned RegisterSizeInBitsFromFormat(VectorFormat vform); + unsigned RegisterSizeInBytesFromFormat(VectorFormat vform); + int LaneSizeInBytesFromFormat(VectorFormat vform); + unsigned LaneSizeInBitsFromFormat(VectorFormat vform); + int LaneSizeInBytesLog2FromFormat(VectorFormat vform); +-V8_EXPORT_PRIVATE int LaneCountFromFormat(VectorFormat vform); ++int LaneCountFromFormat(VectorFormat vform); + int MaxLaneCountFromFormat(VectorFormat vform); +-V8_EXPORT_PRIVATE bool IsVectorFormat(VectorFormat vform); ++bool IsVectorFormat(VectorFormat vform); + int64_t MaxIntFromFormat(VectorFormat vform); + int64_t MinIntFromFormat(VectorFormat vform); + uint64_t MaxUintFromFormat(VectorFormat vform); +@@ -536,7 +536,7 @@ bool AreAliased(const CPURegister& reg1, const CPURegister& reg2, + // same size, and are of the same type. The system stack pointer may be + // specified. Arguments set to NoReg are ignored, as are any subsequent + // arguments. At least one argument (reg1) must be valid (not NoCPUReg). +-V8_EXPORT_PRIVATE bool AreSameSizeAndType( ++bool AreSameSizeAndType( + const CPURegister& reg1, const CPURegister& reg2 = NoCPUReg, + const CPURegister& reg3 = NoCPUReg, const CPURegister& reg4 = NoCPUReg, + const CPURegister& reg5 = NoCPUReg, const CPURegister& reg6 = NoCPUReg, +@@ -553,10 +553,9 @@ bool AreSameFormat(const VRegister& reg1, const VRegister& reg2, + // consecutive in the register file. Arguments may be set to NoVReg, and if so, + // subsequent arguments must also be NoVReg. At least one argument (reg1) must + // be valid (not NoVReg). +-V8_EXPORT_PRIVATE bool AreConsecutive(const VRegister& reg1, +- const VRegister& reg2, +- const VRegister& reg3 = NoVReg, +- const VRegister& reg4 = NoVReg); ++bool AreConsecutive(const VRegister& reg1, const VRegister& reg2, ++ const VRegister& reg3 = NoVReg, ++ const VRegister& reg4 = NoVReg); + + typedef VRegister FloatRegister; + typedef VRegister DoubleRegister; +@@ -564,7 +563,7 @@ typedef VRegister Simd128Register; + + // ----------------------------------------------------------------------------- + // Lists of registers. +-class V8_EXPORT_PRIVATE CPURegList { ++class CPURegList { + public: + template + explicit CPURegList(CPURegister reg0, CPURegisters... regs) +diff --git a/src/arm64/simulator-arm64.h b/src/arm64/simulator-arm64.h +index 12f9dcba8c565663a699247bd906c98e78e7790d..e4e3e09e45ad2e2859cbbb5c9720ffa4aaf6d2e6 100644 +--- a/src/arm64/simulator-arm64.h ++++ b/src/arm64/simulator-arm64.h +@@ -656,11 +656,10 @@ class Simulator : public DecoderVisitor, public SimulatorBase { + USE(size); + } + +- V8_EXPORT_PRIVATE explicit Simulator( +- Decoder* decoder, Isolate* isolate = nullptr, +- FILE* stream = stderr); ++ explicit Simulator(Decoder* decoder, ++ Isolate* isolate = nullptr, FILE* stream = stderr); + Simulator(); +- V8_EXPORT_PRIVATE ~Simulator(); ++ ~Simulator(); + + // System functions. + +@@ -745,7 +744,7 @@ class Simulator : public DecoderVisitor, public SimulatorBase { + // Accessor to the internal simulator stack area. + uintptr_t StackLimit(uintptr_t c_limit) const; + +- V8_EXPORT_PRIVATE void ResetState(); ++ void ResetState(); + + void DoRuntimeCall(Instruction* instr); + +@@ -753,7 +752,7 @@ class Simulator : public DecoderVisitor, public SimulatorBase { + static const Instruction* kEndOfSimAddress; + void DecodeInstruction(); + void Run(); +- V8_EXPORT_PRIVATE void RunFrom(Instruction* start); ++ void RunFrom(Instruction* start); + + // Simulation helpers. + template +diff --git a/src/arm64/utils-arm64.h b/src/arm64/utils-arm64.h +index 00ed1c20c31bd312fe02920713fb0b937f1fa30e..f57dc861731c5146e26702147841a75dd045efd8 100644 +--- a/src/arm64/utils-arm64.h ++++ b/src/arm64/utils-arm64.h +@@ -33,8 +33,8 @@ int float16classify(float16 value); + // Bit counting. + int CountLeadingZeros(uint64_t value, int width); + int CountLeadingSignBits(int64_t value, int width); +-V8_EXPORT_PRIVATE int CountTrailingZeros(uint64_t value, int width); +-V8_EXPORT_PRIVATE int CountSetBits(uint64_t value, int width); ++int CountTrailingZeros(uint64_t value, int width); ++int CountSetBits(uint64_t value, int width); + int LowestSetBitPosition(uint64_t value); + int HighestSetBitPosition(uint64_t value); + uint64_t LargestPowerOf2Divisor(uint64_t value); +diff --git a/src/code-comments.h b/src/code-comments.h +index 0c247fd247151a0bdfbf3a9f420c2eb2fa47b5cd..21543e7f498c0becfcc1121f2f17ebd90be0840e 100644 +--- a/src/code-comments.h ++++ b/src/code-comments.h +@@ -35,7 +35,7 @@ struct CodeCommentEntry { + + class CodeCommentsWriter { + public: +- V8_EXPORT_PRIVATE void Add(uint32_t pc_offset, std::string comment); ++ void Add(uint32_t pc_offset, std::string comment); + void Emit(Assembler* assm); + size_t entry_count() const; + uint32_t section_size() const; +diff --git a/src/disasm.h b/src/disasm.h +index f543af2609fa1e5b8fa8c7fcc74a073c52a3912e..d752b1a44b928dddd722a9cc68bf5b22629e60c7 100644 +--- a/src/disasm.h ++++ b/src/disasm.h +@@ -14,7 +14,7 @@ typedef unsigned char byte; + // Interface and default implementation for converting addresses and + // register-numbers to text. The default implementation is machine + // specific. +-class V8_EXPORT_PRIVATE NameConverter { ++class NameConverter { + public: + virtual ~NameConverter() = default; + virtual const char* NameOfCPURegister(int reg) const; +@@ -34,6 +34,7 @@ class V8_EXPORT_PRIVATE NameConverter { + v8::internal::EmbeddedVector tmp_buffer_; + }; + ++ + // A generic Disassembler interface + class Disassembler { + public: +@@ -55,8 +56,7 @@ class Disassembler { + + // Writes one disassembled instruction into 'buffer' (0-terminated). + // Returns the length of the disassembled machine instruction in bytes. +- V8_EXPORT_PRIVATE int InstructionDecode(v8::internal::Vector buffer, +- byte* instruction); ++ int InstructionDecode(v8::internal::Vector buffer, byte* instruction); + + // Returns -1 if instruction does not mark the beginning of a constant pool, + // or the number of entries in the constant pool beginning here. +diff --git a/src/disassembler.h b/src/disassembler.h +index d6bb84cd274575c78291eafdb6794d7ff690915c..5315d5598f3064cbf5563246bd5bd17fbb916900 100644 +--- a/src/disassembler.h ++++ b/src/disassembler.h +@@ -20,10 +20,8 @@ class Disassembler : public AllStatic { + // Instruction'. + // the code object is used for name resolution and may be null. + // TODO(titzer): accept a {WasmCodeManager*} if {isolate} is null +- V8_EXPORT_PRIVATE static int Decode(Isolate* isolate, std::ostream* os, +- byte* begin, byte* end, +- CodeReference code = {}, +- Address current_pc = kNullAddress); ++ static int Decode(Isolate* isolate, std::ostream* os, byte* begin, byte* end, ++ CodeReference code = {}, Address current_pc = kNullAddress); + }; + + } // namespace internal +diff --git a/src/objects.cc b/src/objects.cc +index 15e504960bd12ee11c06dd4356b6ad8d8ba1ea44..73ce3773a4c1139ab98adb723e0758acb7b2f7f5 100644 +--- a/src/objects.cc ++++ b/src/objects.cc +@@ -1237,7 +1237,7 @@ bool Object::ToInt32(int32_t* value) { + // static constexpr object declarations need a definition to make the + // compiler happy. + constexpr Object Smi::kZero; +-V8_EXPORT_PRIVATE constexpr Object SharedFunctionInfo::kNoSharedNameSentinel; ++constexpr Object SharedFunctionInfo::kNoSharedNameSentinel; + + Handle FunctionTemplateInfo::GetOrCreateSharedFunctionInfo( + Isolate* isolate, Handle info, +diff --git a/src/objects/code.h b/src/objects/code.h +index 647cfebe69fcb5c68e3d3fbc653de6011e3025de..855cf1a89aeb55575b59f6595335dc901dbdee6f 100644 +--- a/src/objects/code.h ++++ b/src/objects/code.h +@@ -650,10 +650,9 @@ class DependentCode : public WeakFixedArray { + }; + + // Register a code dependency of {cell} on {object}. +- V8_EXPORT_PRIVATE static void InstallDependency(Isolate* isolate, +- const MaybeObjectHandle& code, +- Handle object, +- DependencyGroup group); ++ static void InstallDependency(Isolate* isolate, const MaybeObjectHandle& code, ++ Handle object, ++ DependencyGroup group); + + void DeoptimizeDependentCodeGroup(Isolate* isolate, DependencyGroup group); + +diff --git a/src/objects/shared-function-info.h b/src/objects/shared-function-info.h +index 137137e7f532e46c3d398438342cf9576b40d11b..f6f030b1c05b55b766e57e9f64b496a856334ce9 100644 +--- a/src/objects/shared-function-info.h ++++ b/src/objects/shared-function-info.h +@@ -227,9 +227,7 @@ class InterpreterData : public Struct { + class SharedFunctionInfo : public HeapObject { + public: + NEVER_READ_ONLY_SPACE +- +- V8_EXPORT_PRIVATE static constexpr Object const kNoSharedNameSentinel = +- Smi::kZero; ++ static constexpr Object const kNoSharedNameSentinel = Smi::kZero; + + // [name]: Returns shared name if it exists or an empty string otherwise. + inline String Name() const; +diff --git a/src/objects/string.cc b/src/objects/string.cc +index b1dfa38f91ebc6fd0a8cc429bc77c0cdba36caaa..fe5f5c9d54dc7518fdc62e77e66a419e28091878 100644 +--- a/src/objects/string.cc ++++ b/src/objects/string.cc +@@ -1514,8 +1514,5 @@ String ConsStringIterator::NextLeaf(bool* blew_stack) { + UNREACHABLE(); + } + +-template EXPORT_TEMPLATE_DEFINE(V8_EXPORT_PRIVATE) void String::WriteToFlat( +- String source, uint16_t* sink, int from, int to); +- + } // namespace internal + } // namespace v8 +diff --git a/src/objects/string.h b/src/objects/string.h +index 7c6616a6f6abd4f9d6bf3e57499983847ad1f3f2..08eea111822705b5eb37d1325651adc4854b7454 100644 +--- a/src/objects/string.h ++++ b/src/objects/string.h +@@ -6,7 +6,6 @@ + #define V8_OBJECTS_STRING_H_ + + #include "src/base/bits.h" +-#include "src/base/export-template.h" + #include "src/objects/instance-type.h" + #include "src/objects/name.h" + #include "src/objects/smi.h" +@@ -363,8 +362,8 @@ class String : public Name { + + // Helper function for flattening strings. + template +- EXPORT_TEMPLATE_DECLARE(V8_EXPORT_PRIVATE) +- static void WriteToFlat(String source, sinkchar* sink, int from, int to); ++ V8_EXPORT_PRIVATE static void WriteToFlat(String source, sinkchar* sink, ++ int from, int to); + + // The return value may point to the first aligned word containing the first + // non-one-byte character, rather than directly to the non-one-byte character. +@@ -458,11 +457,6 @@ class String : public Name { + OBJECT_CONSTRUCTORS(String, Name); + }; + +-// clang-format off +-extern template EXPORT_TEMPLATE_DECLARE(V8_EXPORT_PRIVATE) +-void String::WriteToFlat(String source, uint16_t* sink, int from, int to); +-// clang-format on +- + class SubStringRange { + public: + inline SubStringRange(String string, const DisallowHeapAllocation& no_gc, +diff --git a/src/regexp/jsregexp.h b/src/regexp/jsregexp.h +index 0a0b5c10d66d65054e4865d7e920c082daa93158..a44e9f95866ca93659cb3423284352e06d87b04d 100644 +--- a/src/regexp/jsregexp.h ++++ b/src/regexp/jsregexp.h +@@ -1513,8 +1513,7 @@ class RegExpEngine: public AllStatic { + + static bool TooMuchRegExpCode(Isolate* isolate, Handle pattern); + +- V8_EXPORT_PRIVATE static void DotPrint(const char* label, RegExpNode* node, +- bool ignore_case); ++ static void DotPrint(const char* label, RegExpNode* node, bool ignore_case); + }; + + +diff --git a/src/wasm/wasm-module.h b/src/wasm/wasm-module.h +index c4f171ecf8f7b4acddf9d52dc9bfeb53cac04d1a..89d7db6981c7a01004741404f6c71e764298995d 100644 +--- a/src/wasm/wasm-module.h ++++ b/src/wasm/wasm-module.h +@@ -120,7 +120,7 @@ struct WasmElemSegment { + + // Used in the {entries} vector to represent a `ref.null` entry in a passive + // segment. +- V8_EXPORT_PRIVATE static const uint32_t kNullIndex = ~0u; ++ static const uint32_t kNullIndex = ~0u; + + uint32_t table_index; + WasmInitExpr offset; +diff --git a/test/cctest/parsing/test-parse-decision.cc b/test/cctest/parsing/test-parse-decision.cc +index e3b046baef67369153bafc4605ea0e636a88cd36..c0c4b2cd7e847c217fb8c868263fd74b9c8d9499 100644 +--- a/test/cctest/parsing/test-parse-decision.cc ++++ b/test/cctest/parsing/test-parse-decision.cc +@@ -14,7 +14,6 @@ + #include "src/handles-inl.h" + #include "src/isolate.h" + #include "src/objects-inl.h" +-#include "src/objects/shared-function-info-inl.h" + #include "src/utils.h" + + #include "test/cctest/cctest.h" diff --git a/script/verify-mksnapshot.py b/script/verify-mksnapshot.py index 51e71cb38597..85d27d510f63 100755 --- a/script/verify-mksnapshot.py +++ b/script/verify-mksnapshot.py @@ -26,7 +26,8 @@ def main(): if args.snapshot_files_dir is None: mkargs = [ get_binary_path('mksnapshot', app_path), \ SNAPSHOT_SOURCE, '--startup_blob', 'snapshot_blob.bin', \ - '--turbo_instruction_scheduling' ] + '--turbo_instruction_scheduling', + '--no-native-code-counters' ] subprocess.check_call(mkargs) print 'ok mksnapshot successfully created snapshot_blob.bin.' context_snapshot = 'v8_context_snapshot.bin' diff --git a/spec/api-browser-window-spec.js b/spec/api-browser-window-spec.js index 16a47715a101..83cf97b875b6 100644 --- a/spec/api-browser-window-spec.js +++ b/spec/api-browser-window-spec.js @@ -391,7 +391,7 @@ describe('BrowserWindow module', () => { w.loadURL(`${server.url}/302`) }) - it('can be prevented', (done) => { + it.skip('can be prevented', (done) => { ipcRenderer.send('prevent-will-redirect', w.id) w.webContents.on('will-navigate', (e, url) => { expect(url).to.equal(`${server.url}/302`) diff --git a/spec/modules-spec.js b/spec/modules-spec.js index ecafe8821575..914ae85769f3 100644 --- a/spec/modules-spec.js +++ b/spec/modules-spec.js @@ -81,10 +81,10 @@ describe('modules support', () => { }) }) - describe('coffee-script', () => { + describe('coffeescript', () => { it('can be registered and used to require .coffee files', () => { assert.doesNotThrow(() => { - require('coffee-script').register() + require('coffeescript').register() }) assert.strictEqual(require('./fixtures/module/test.coffee'), true) }) diff --git a/spec/package-lock.json b/spec/package-lock.json index 331e06744a5f..7363c8bdc68a 100644 --- a/spec/package-lock.json +++ b/spec/package-lock.json @@ -4,6 +4,12 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@nornagon/put": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/@nornagon/put/-/put-0.0.8.tgz", + "integrity": "sha512-ugvXJjwF5ldtUpa7D95kruNJ41yFQDEKyF5CW4TgKJnh+W/zmlBzXXeKTyqIgwMFrkePN2JqOBqcF0M0oOunow==", + "dev": true + }, "abstract-socket": { "version": "2.0.0", "resolved": "github:nornagon/node-abstractsocket#7d9c770f9ffef14373349034f8820ff059879845", @@ -220,10 +226,10 @@ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, - "coffee-script": { - "version": "1.12.7", - "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz", - "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==", + "coffeescript": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-2.4.1.tgz", + "integrity": "sha512-34GV1aHrsMpTaO3KfMJL40ZNuvKDR/g98THHnE9bQj8HjMaZvSrLik99WWqyMhRtbe8V5hpx5iLgdcSvM/S2wg==", "dev": true }, "commander": { @@ -270,17 +276,16 @@ "dev": true }, "dbus-native": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/dbus-native/-/dbus-native-0.4.0.tgz", - "integrity": "sha512-i3zvY3tdPEOaMgmK4riwupjDYRJ53rcE1Kj8rAgnLOFmBd0DekUih59qv8v+Oyils/U9p+s4sSsaBzHWLztI+Q==", + "version": "github:nornagon/dbus-native#b90ed62d0b5cb93909173c3e0551d9bff0602a90", + "from": "github:nornagon/dbus-native#master", "dev": true, "requires": { + "@nornagon/put": "0.0.8", "abstract-socket": "^2.0.0", "event-stream": "^4.0.0", "hexy": "^0.2.10", "long": "^4.0.0", "optimist": "^0.6.1", - "put": "0.0.6", "safe-buffer": "^5.1.1", "xml2js": "^0.4.17" }, @@ -1123,12 +1128,6 @@ "once": "^1.3.1" } }, - "put": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/put/-/put-0.0.6.tgz", - "integrity": "sha1-MPX2C9bkOJvTKeFqJThsuy5KAKM=", - "dev": true - }, "q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", diff --git a/spec/package.json b/spec/package.json index fb0ddcaa2884..6bcd3355b0c5 100644 --- a/spec/package.json +++ b/spec/package.json @@ -11,8 +11,8 @@ "bluebird": "^3.5.3", "chai": "^4.2.0", "chai-as-promised": "^7.1.1", - "coffee-script": "1.12.7", - "dbus-native": "^0.4.0", + "coffeescript": "^2.4.1", + "dbus-native": "github:nornagon/dbus-native#master", "dirty-chai": "^2.0.1", "echo": "file:fixtures/native-addon/echo", "graceful-fs": "^4.1.15", diff --git a/spec/ts-smoke/electron/main.ts b/spec/ts-smoke/electron/main.ts index 8448abb7549a..24e253f1d243 100644 --- a/spec/ts-smoke/electron/main.ts +++ b/spec/ts-smoke/electron/main.ts @@ -835,7 +835,7 @@ app.on('ready', () => { }) protocol.registerBufferProtocol('atom', (request, callback) => { - callback({ mimeType: 'text/html', data: new Buffer('
Response
') }) + callback({ mimeType: 'text/html', data: Buffer.from('
Response
') }) }) protocol.registerStringProtocol('atom', (request, callback) => {