From 2b53788c35a4c3753b24376007ad39aa143b2c66 Mon Sep 17 00:00:00 2001 From: Electron Bot Date: Wed, 29 Jan 2020 04:01:37 -0800 Subject: [PATCH] chore: bump chromium to 4b6692e4cc2839729bb7ac009586a (master) (#21864) * chore: bump chromium in DEPS to a1ea0d7aedd6b5fe58fbabfa3b05aa8ee41304ff * update patches * update extensions code * Remove WebPoint https://chromium-review.googlesource.com/c/chromium/src/+/2007474 * fix build * chore: bump chromium in DEPS to 9351e26c2a3714f8bbb10789c71bb51b0b494c75 * update patches * Remove error description from the DidFailLoadWithError message https://chromium-review.googlesource.com/c/chromium/src/+/2011280 * Make SimpleNetworkHintsHandlerImpl use the right NetworkIsolationKey https://chromium-review.googlesource.com/c/chromium/src/+/1994430 * Rename libgtkui to gtk https://chromium-review.googlesource.com/c/chromium/src/+/2011683 * [metrics] Remove histogram Startup.WarmStartTimeFromRemoteProcessStart*. https://chromium-review.googlesource.com/c/chromium/src/+/2003211 * fix requestSingleInstanceLock test * chore: bump chromium in DEPS to a813567a4f17ea08292c2b26fa10d0ffd47010d9 * chore: bump chromium in DEPS to f0aca2de536ceecd6eb66e928051d11e6d11991f * chore: bump chromium in DEPS to 865556af6d0c9d990f5b1816cb792f7c3859667b * chore: bump chromium in DEPS to 98538fdd28c4b6692e4cc2839729bb7ac009586a * update patches * fix broken tests * Update node tests for v8 changes * Update node patches for test failures * Update for number of tests Co-authored-by: Jeremy Apthorp Co-authored-by: John Kleinschmidt --- BUILD.gn | 2 +- DEPS | 2 +- .../chrome/browser/process_singleton_win.cc | 2 +- patches/chromium/.patches | 1 - patches/chromium/add_realloc.patch | 4 +- ...rustedauthclient_to_urlloaderfactory.patch | 4 +- patches/chromium/blink_local_frame.patch | 6 +-- patches/chromium/blink_world_context.patch | 12 ++--- .../build_add_electron_tracing_category.patch | 4 +- patches/chromium/can_create_window.patch | 18 +++---- patches/chromium/dcheck.patch | 6 +-- patches/chromium/disable-redraw-lock.patch | 6 +-- .../disable_color_correct_rendering.patch | 40 +++++++-------- ...requirement_for_beforeunload_dialogs.patch | 4 +- ...xpose_setuseragent_on_networkcontext.patch | 4 +- ..._scheduler_throttling_per_renderview.patch | 26 +++++----- patches/chromium/frame_host_manager.patch | 16 +++--- patches/chromium/gtk_visibility.patch | 2 +- patches/chromium/libgtkui_export.patch | 51 ------------------- .../mas_disable_remote_accessibility.patch | 2 +- ...emote_certificate_verification_logic.patch | 4 +- patches/chromium/pepper_plugin_support.patch | 6 +-- ...put_back_deleted_colors_for_autofill.patch | 8 +-- ...ove_contentrendererclient_shouldfork.patch | 8 +-- patches/chromium/scroll_bounce_flag.patch | 2 +- patches/chromium/web_contents.patch | 2 +- patches/chromium/webview_cross_drag.patch | 8 +-- .../worker_context_will_destroy.patch | 4 +- patches/node/.patches | 3 ++ ...darray_max_length_to_2_32-1_elements.patch | 44 ++++++++++++++++ ...include_libuv_header_in_node_binding.patch | 4 +- ...sk_api_override_removed_in_latest_v8.patch | 4 +- ..._deserialization_of_wasmmoduleobject.patch | 32 ++++++++++++ ...mpdir_refresh_in_test-esm-windows_js.patch | 33 ++++++++++++ shell/browser/api/atom_api_web_contents.cc | 7 ++- shell/browser/api/atom_api_web_contents.h | 3 +- shell/browser/atom_browser_main_parts.cc | 4 +- shell/browser/browser_linux.cc | 2 +- .../extensions/atom_extension_system.cc | 4 +- .../extensions/atom_extension_system.h | 2 +- .../atom_extensions_browser_client.cc | 6 --- .../atom_extensions_browser_client.h | 5 -- shell/browser/network_hints_handler_impl.cc | 3 +- .../linux/libnotify_notification.cc | 2 +- shell/browser/ui/file_dialog_gtk.cc | 4 +- shell/browser/ui/message_box_gtk.cc | 4 +- shell/browser/ui/views/menu_bar.cc | 10 ++-- shell/common/application_info_linux.cc | 2 +- .../common/gin_converters/blink_converter.cc | 23 ++------- shell/common/gin_converters/blink_converter.h | 8 --- shell/common/platform_util_linux.cc | 2 +- spec-main/api-app-spec.ts | 2 +- spec-main/chromium-spec.ts | 18 +++---- spec-main/index.js | 4 +- spec/fixtures/api/window-open-preload.js | 2 +- 55 files changed, 260 insertions(+), 231 deletions(-) delete mode 100644 patches/chromium/libgtkui_export.patch create mode 100644 patches/node/64bit_bump_typedarray_max_length_to_2_32-1_elements.patch create mode 100644 patches/node/remove_serialization_deserialization_of_wasmmoduleobject.patch create mode 100644 patches/node/test_use_tmpdir_refresh_in_test-esm-windows_js.patch diff --git a/BUILD.gn b/BUILD.gn index 80d2662986d5..0fa3e0bf2222 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -494,7 +494,7 @@ source_set("electron_lib") { deps += [ ":libnotify_loader", "//build/config/linux/gtk", - "//chrome/browser/ui/libgtkui", + "//chrome/browser/ui/gtk", "//dbus", "//device/bluetooth", "//third_party/breakpad:client", diff --git a/DEPS b/DEPS index cfa097d61403..14bb0013570e 100644 --- a/DEPS +++ b/DEPS @@ -12,7 +12,7 @@ gclient_gn_args = [ vars = { 'chromium_version': - '8fe78d4711fb243c83a66a7fded00f3408107778', + '98538fdd28c4b6692e4cc2839729bb7ac009586a', 'node_version': 'v12.14.1', 'nan_version': diff --git a/chromium_src/chrome/browser/process_singleton_win.cc b/chromium_src/chrome/browser/process_singleton_win.cc index b8db4ee7e32c..62bc6136665e 100644 --- a/chromium_src/chrome/browser/process_singleton_win.cc +++ b/chromium_src/chrome/browser/process_singleton_win.cc @@ -197,7 +197,7 @@ ProcessSingleton::NotifyResult ProcessSingleton::NotifyOtherProcess() { return PROCESS_NONE; } - switch (chrome::AttemptToNotifyRunningChrome(remote_window_, false)) { + switch (chrome::AttemptToNotifyRunningChrome(remote_window_)) { case chrome::NOTIFY_SUCCESS: return PROCESS_NOTIFIED; case chrome::NOTIFY_FAILED: diff --git a/patches/chromium/.patches b/patches/chromium/.patches index 851b30e99efb..91e06d07e8ba 100644 --- a/patches/chromium/.patches +++ b/patches/chromium/.patches @@ -22,7 +22,6 @@ boringssl_build_gn.patch pepper_plugin_support.patch no_cache_storage_check.patch blink_fix_prototype_assert.patch -libgtkui_export.patch gtk_visibility.patch sysroot.patch mas_blink_no_private_api.patch diff --git a/patches/chromium/add_realloc.patch b/patches/chromium/add_realloc.patch index 43e27db981e3..4063cb23d805 100644 --- a/patches/chromium/add_realloc.patch +++ b/patches/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 6dc5d6d39c4fa28fc4c303ff704267ad60b050f2..9fd95c25db36b8e5e02cd971ae30608fba027346 100644 +index 7aa84a3e19c257dde8f48d25743dc8ab2a3a0a30..58cbfc6e6f9f916ace683705d8a87ee05dc73422 100644 --- a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc +++ b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc -@@ -657,6 +657,10 @@ class ArrayBufferAllocator : public v8::ArrayBuffer::Allocator { +@@ -659,6 +659,10 @@ class ArrayBufferAllocator : public v8::ArrayBuffer::Allocator { size, ArrayBufferContents::kDontInitialize); } diff --git a/patches/chromium/add_trustedauthclient_to_urlloaderfactory.patch b/patches/chromium/add_trustedauthclient_to_urlloaderfactory.patch index 58fa705e80dc..9392dec688fe 100644 --- a/patches/chromium/add_trustedauthclient_to_urlloaderfactory.patch +++ b/patches/chromium/add_trustedauthclient_to_urlloaderfactory.patch @@ -10,7 +10,7 @@ WebContents, and cancels the authentication if there's no WebContents available, which there isn't in the case of the 'net' module. diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom -index 541d8017d38cbede3199e0028f3b1b260bd61b34..ec2e6d52d247fbcc9f07c54518f860d1a30822f4 100644 +index 78fd4bd72b07f38b447840b584253883756fe021..6d8aaecc08207456f243125db8e6d7c74f731d87 100644 --- a/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom @@ -191,6 +191,25 @@ struct HttpAuthStaticNetworkContextParams { @@ -39,7 +39,7 @@ index 541d8017d38cbede3199e0028f3b1b260bd61b34..ec2e6d52d247fbcc9f07c54518f860d1 interface CertVerifierClient { Verify( int32 default_error, -@@ -603,6 +622,8 @@ struct URLLoaderFactoryParams { +@@ -608,6 +627,8 @@ struct URLLoaderFactoryParams { // interface. This still respects the per-context block lists. CorsOriginAccessPatterns? factory_bound_access_patterns; diff --git a/patches/chromium/blink_local_frame.patch b/patches/chromium/blink_local_frame.patch index 083c884a698c..d0d46dbf6bc4 100644 --- a/patches/chromium/blink_local_frame.patch +++ b/patches/chromium/blink_local_frame.patch @@ -14,10 +14,10 @@ when there is code doing that. This patch reverts the change to fix the crash in Electron. diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc -index 13a7940a11028d7800787a9d4ed1651483bf22a1..ee4b9bb290611b3f3d7c9b2553960e2517a3bf96 100644 +index 7c54c247c60ab316ee7759295d0a1a2b4d6b1d88..75a92b159ef3e252e895cd9b649217cdc5662ead 100644 --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc -@@ -353,10 +353,6 @@ void LocalFrame::DetachImpl(FrameDetachType type) { +@@ -357,10 +357,6 @@ void LocalFrame::DetachImpl(FrameDetachType type) { } CHECK(!view_ || !view_->IsAttached()); @@ -28,7 +28,7 @@ index 13a7940a11028d7800787a9d4ed1651483bf22a1..ee4b9bb290611b3f3d7c9b2553960e25 if (!Client()) return; -@@ -374,6 +370,10 @@ void LocalFrame::DetachImpl(FrameDetachType type) { +@@ -378,6 +374,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/chromium/blink_world_context.patch b/patches/chromium/blink_world_context.patch index c31159735f78..cc33bd3422ab 100644 --- a/patches/chromium/blink_world_context.patch +++ b/patches/chromium/blink_world_context.patch @@ -7,10 +7,10 @@ This exposes a method for obtaining a reference to an isolated world, which is otherwise not available in the Blink API. diff --git a/third_party/blink/public/web/web_local_frame.h b/third_party/blink/public/web/web_local_frame.h -index 0faffef486ac186fe4ce74921ed5b96a62b23937..d6c29028aab0847aca98e0d2294f9a4941cf632b 100644 +index 719ac964585e9ffdf412cc53e73e6b819532a618..acf4f0f317bc5e65d2f0c7b0454103ed86429778 100644 --- a/third_party/blink/public/web/web_local_frame.h +++ b/third_party/blink/public/web/web_local_frame.h -@@ -356,6 +356,9 @@ class WebLocalFrame : public WebFrame { +@@ -338,6 +338,9 @@ class WebLocalFrame : public WebFrame { // be calling this API. virtual v8::Local MainWorldScriptContext() const = 0; @@ -21,10 +21,10 @@ index 0faffef486ac186fe4ce74921ed5b96a62b23937..d6c29028aab0847aca98e0d2294f9a49 // 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 b425add4fae51f816b113eec1b604ab719cb4949..789c9a27167428aec98ac340e2d76c6be8a556b9 100644 +index f2f0d907a72ef1ffa3eb6e90f0d68c7b31417de9..082c3cbfb789635839443b553986e50c80de533c 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 -@@ -955,6 +955,13 @@ v8::Local WebLocalFrameImpl::GlobalProxy() const { +@@ -942,6 +942,13 @@ v8::Local WebLocalFrameImpl::GlobalProxy() const { return MainWorldScriptContext()->Global(); } @@ -39,10 +39,10 @@ index b425add4fae51f816b113eec1b604ab719cb4949..789c9a27167428aec98ac340e2d76c6b 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 62b69c655de4337c691c880ddd0c63f9e9af5626..82baab83ec73089688ad3bb24c3a42e106fe4cf3 100644 +index b10079489c1529df22f7087151e25e6541b2ac9c..129aa8a7db35b36bf4e8bc2d7a0fd87427355115 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 -@@ -173,6 +173,8 @@ class CORE_EXPORT WebLocalFrameImpl final +@@ -168,6 +168,8 @@ class CORE_EXPORT WebLocalFrameImpl final int argc, v8::Local argv[]) override; v8::Local MainWorldScriptContext() const override; diff --git a/patches/chromium/build_add_electron_tracing_category.patch b/patches/chromium/build_add_electron_tracing_category.patch index cde1e78960a4..e2b7b38529fc 100644 --- a/patches/chromium/build_add_electron_tracing_category.patch +++ b/patches/chromium/build_add_electron_tracing_category.patch @@ -8,10 +8,10 @@ categories in use are known / declared. This patch is required for us to introduce a new Electron category for Electron-specific tracing. diff --git a/base/trace_event/builtin_categories.h b/base/trace_event/builtin_categories.h -index 5c8844f699506362c21e7eb4b3ca5e869684c5bb..0884cd263f5f5e793932800bdbb50d6e33955ed0 100644 +index bf408c6bff28f05b91dae284565e6f4ecf2b03d1..6bbf011aad1a6fc20ea5c3f0adee9e6b2f11d707 100644 --- a/base/trace_event/builtin_categories.h +++ b/base/trace_event/builtin_categories.h -@@ -66,6 +66,7 @@ +@@ -67,6 +67,7 @@ X("dwrite") \ X("DXVA Decoding") \ X("EarlyJava") \ diff --git a/patches/chromium/can_create_window.patch b/patches/chromium/can_create_window.patch index 90b0a0ebab4a..7e87688c1148 100644 --- a/patches/chromium/can_create_window.patch +++ b/patches/chromium/can_create_window.patch @@ -9,10 +9,10 @@ potentially prevent a window from being created. TODO(loc): this patch is currently broken. diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc -index 612d83aaa8ec820e5640effab5b96aa37b3205ea..83dbc5037810469e76895e01cc1c3ff0399b0420 100644 +index 59107c7284d76d6d448caed9b5b23a9eb43a18a7..be4896118a93addcc0af5ee4eb07e27447f50cb6 100644 --- a/content/browser/frame_host/render_frame_host_impl.cc +++ b/content/browser/frame_host/render_frame_host_impl.cc -@@ -4411,6 +4411,7 @@ void RenderFrameHostImpl::CreateNewWindow( +@@ -4462,6 +4462,7 @@ void RenderFrameHostImpl::CreateNewWindow( last_committed_origin_, params->window_container_type, params->target_url, params->referrer.To(), params->frame_name, params->disposition, *params->features, @@ -21,7 +21,7 @@ index 612d83aaa8ec820e5640effab5b96aa37b3205ea..83dbc5037810469e76895e01cc1c3ff0 &no_javascript_access); diff --git a/content/common/frame.mojom b/content/common/frame.mojom -index dce2284977bf3d8fba00e6488d51fd6bfa1cb3b0..afeebca6b6fd01294acbf62aa6a7eaf43151b9e6 100644 +index abd2be4bc8e81a28209aa551f4435b9e8d37a249..f33766c98e1a28c89fc41f9e5cfd098ca6bc6150 100644 --- a/content/common/frame.mojom +++ b/content/common/frame.mojom @@ -305,6 +305,10 @@ struct CreateNewWindowParams { @@ -36,7 +36,7 @@ index dce2284977bf3d8fba00e6488d51fd6bfa1cb3b0..afeebca6b6fd01294acbf62aa6a7eaf4 // 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 a6042e5b21c77b27a3df77db3da321943f4c190d..38409b9d1ce06c2a73ce2feb98a6be35325ca472 100644 +index bcdc73fdf89d46e267f0c9568e46172ec89f9f23..930e043a0fdf40ef0e48a19597da567c8603878c 100644 --- a/content/public/browser/content_browser_client.cc +++ b/content/public/browser/content_browser_client.cc @@ -505,6 +505,8 @@ bool ContentBrowserClient::CanCreateWindow( @@ -49,7 +49,7 @@ index a6042e5b21c77b27a3df77db3da321943f4c190d..38409b9d1ce06c2a73ce2feb98a6be35 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 8256cd888b4c2af893fb98c3f5c77641eaa6c70b..af7c11bfbb26894ba4eb97b3fcbb026af288c084 100644 +index 5807d1d7d6021e045b2b3c6d4e2e4106e118ab3b..7abfa455bce8b8a4d7ba9d3e3c5aab4477dceaa2 100644 --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h @@ -145,6 +145,7 @@ class NetworkService; @@ -70,7 +70,7 @@ index 8256cd888b4c2af893fb98c3f5c77641eaa6c70b..af7c11bfbb26894ba4eb97b3fcbb026a bool opener_suppressed, bool* no_javascript_access); diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc -index 596e71dee6b6591f96d1e772e167577c24aa87f8..6820d5aabc8dfcb01e8a10b7b3fe94a35b3468a6 100644 +index 8b6362f566c215552e5eaba06cbbac31c6ab792d..272f0ed4ffada8191e725f31c8533bcb35622e46 100644 --- a/content/renderer/render_view_impl.cc +++ b/content/renderer/render_view_impl.cc @@ -69,6 +69,7 @@ @@ -81,7 +81,7 @@ index 596e71dee6b6591f96d1e772e167577c24aa87f8..6820d5aabc8dfcb01e8a10b7b3fe94a3 #include "content/renderer/media/audio/audio_device_factory.h" #include "content/renderer/render_frame_impl.h" #include "content/renderer/render_frame_proxy.h" -@@ -1278,6 +1279,8 @@ WebView* RenderViewImpl::CreateView( +@@ -1276,6 +1277,8 @@ WebView* RenderViewImpl::CreateView( } params->features = ConvertWebWindowFeaturesToMojoWindowFeatures(features); @@ -91,10 +91,10 @@ index 596e71dee6b6591f96d1e772e167577c24aa87f8..6820d5aabc8dfcb01e8a10b7b3fe94a3 // 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 62ae14ae5562cb6c94d106b92f6b422b02d63b3c..fed91002d1998ec20449d07c2ca98f75fe190dda 100644 +index 4497b2d0c264f3e8ebc05230bdc117b6abccc23b..2eaa105035208d92cdcfe0e4de2a62ebbce1414b 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 -@@ -322,6 +322,8 @@ bool WebTestContentBrowserClient::CanCreateWindow( +@@ -326,6 +326,8 @@ bool WebTestContentBrowserClient::CanCreateWindow( const std::string& frame_name, WindowOpenDisposition disposition, const blink::mojom::WindowFeatures& features, diff --git a/patches/chromium/dcheck.patch b/patches/chromium/dcheck.patch index 22e1d74516ce..9a3d235becd8 100644 --- a/patches/chromium/dcheck.patch +++ b/patches/chromium/dcheck.patch @@ -17,7 +17,7 @@ only one or two specific checks fail. Then it's better to simply comment out the failing checks and allow the rest of the target to have them enabled. diff --git a/content/browser/frame_host/navigation_controller_impl.cc b/content/browser/frame_host/navigation_controller_impl.cc -index 1d417ce9405fd65b17137c01468d99eba7fa0e76..1f893cbbc248ac34b4f28d58e5cf9a20ddf29b7a 100644 +index 1bb7007c16029db901514e79171952d07b47058e..5f5e887f85abc5c4f948de034feb4482571144fc 100644 --- a/content/browser/frame_host/navigation_controller_impl.cc +++ b/content/browser/frame_host/navigation_controller_impl.cc @@ -1250,8 +1250,10 @@ NavigationType NavigationControllerImpl::ClassifyNavigation( @@ -46,10 +46,10 @@ index 1d417ce9405fd65b17137c01468d99eba7fa0e76..1f893cbbc248ac34b4f28d58e5cf9a20 // navigation. Now we know that the renderer has updated its state accordingly // and it is safe to also clear the browser side history. diff --git a/ui/base/clipboard/clipboard_win.cc b/ui/base/clipboard/clipboard_win.cc -index ac1e34f5ee216360a8899ec9c8c047eaa06470ac..5581b2fc813fcb48798f19fa67e14e4b71235f75 100644 +index 1308bcb042b38d502b1b65b04affabf7e09d6fcd..52c9da3ea565d131ea8704f34f743f6661d42e84 100644 --- a/ui/base/clipboard/clipboard_win.cc +++ b/ui/base/clipboard/clipboard_win.cc -@@ -743,10 +743,10 @@ void ClipboardWin::WriteBitmapFromHandle(HBITMAP source_hbitmap, +@@ -768,10 +768,10 @@ void ClipboardWin::WriteBitmapFromHandle(HBITMAP source_hbitmap, } void ClipboardWin::WriteToClipboard(unsigned int format, HANDLE handle) { diff --git a/patches/chromium/disable-redraw-lock.patch b/patches/chromium/disable-redraw-lock.patch index ddd6523e4cdd..2528727d6ec1 100644 --- a/patches/chromium/disable-redraw-lock.patch +++ b/patches/chromium/disable-redraw-lock.patch @@ -15,7 +15,7 @@ the redraw locking mechanism, which fixes these issues. The electron issue can be found at https://github.com/electron/electron/issues/1821 diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc -index c985bf35795211266e95364447e5462b63a4e657..1afa1b4bdb04b0c0a41b9198310b03fb77cb72bf 100644 +index 5bfd124520083b72287a69d6dd8b450067021a15..3245b3a09df4e97331ddee77395274477af04a78 100644 --- a/ui/views/win/hwnd_message_handler.cc +++ b/ui/views/win/hwnd_message_handler.cc @@ -304,6 +304,10 @@ constexpr int kSynthesizedMouseMessagesTimeDifference = 500; @@ -37,7 +37,7 @@ index c985bf35795211266e95364447e5462b63a4e657..1afa1b4bdb04b0c0a41b9198310b03fb (!(GetWindowLong(hwnd_, GWL_STYLE) & WS_CAPTION) || !ui::win::IsAeroGlassEnabled())) { if (should_lock_) -@@ -971,6 +976,10 @@ HWNDMessageHandler::RegisterUnadjustedMouseEvent() { +@@ -969,6 +974,10 @@ HWNDMessageHandler::RegisterUnadjustedMouseEvent() { return scoped_enable; } @@ -49,7 +49,7 @@ index c985bf35795211266e95364447e5462b63a4e657..1afa1b4bdb04b0c0a41b9198310b03fb // HWNDMessageHandler, gfx::WindowImpl overrides: diff --git a/ui/views/win/hwnd_message_handler.h b/ui/views/win/hwnd_message_handler.h -index 276fc61b1ae98021a53d4cc2c23b708bdb6633f7..c717121d220ce993d9a984af6124375f0398ba2f 100644 +index 12f449fd097662a49a7bd4a7fce0cbd4f9cead58..0de89fe8f856143b76682c1d5455d5f990930aab 100644 --- a/ui/views/win/hwnd_message_handler.h +++ b/ui/views/win/hwnd_message_handler.h @@ -203,6 +203,8 @@ class VIEWS_EXPORT HWNDMessageHandler : public gfx::WindowImpl, diff --git a/patches/chromium/disable_color_correct_rendering.patch b/patches/chromium/disable_color_correct_rendering.patch index c4b1d5f7b724..69d1e6c0e7aa 100644 --- a/patches/chromium/disable_color_correct_rendering.patch +++ b/patches/chromium/disable_color_correct_rendering.patch @@ -20,10 +20,10 @@ to deal with color spaces. That is being tracked at https://crbug.com/634542 and https://crbug.com/711107. diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc -index 67453e2ee063d89534cb7489800144fb0c078fa4..14f7b45125db928fa293f8f2ee3e7993c98e1fcc 100644 +index ebb4fa8e7ffd2ece73bd2e3e835f47042ee02c67..d893da3a06692b8e082096add4b15cb1f2bb23dd 100644 --- a/cc/trees/layer_tree_host_impl.cc +++ b/cc/trees/layer_tree_host_impl.cc -@@ -1804,6 +1804,12 @@ const gfx::ColorSpace& LayerTreeHostImpl::GetRasterColorSpace() const { +@@ -1803,6 +1803,12 @@ const gfx::ColorSpace& LayerTreeHostImpl::GetRasterColorSpace() const { const gfx::ColorSpace& LayerTreeHostImpl::GetRasterColorSpaceAndId( int* id) const { @@ -83,7 +83,7 @@ index cb69e08c0185f55497089505ed5b226e57140321..362f28accc248248f3bcb54955c23528 !command_line->HasSwitch(switches::kUIDisablePartialSwap); #if defined(OS_MACOSX) diff --git a/components/viz/service/display/gl_renderer.cc b/components/viz/service/display/gl_renderer.cc -index faea02e2fecf6bf8f0ad055a864cf9a00e60efa6..36f365e50c84e10082774ff2930d6d651567221a 100644 +index e8c7a80f66cb5c54b023f5b5ca0d7f684fbfc122..5787e80fa7faea3ba2ad792cb3eeb455df6bf2a2 100644 --- a/components/viz/service/display/gl_renderer.cc +++ b/components/viz/service/display/gl_renderer.cc @@ -83,6 +83,9 @@ @@ -108,7 +108,7 @@ index faea02e2fecf6bf8f0ad055a864cf9a00e60efa6..36f365e50c84e10082774ff2930d6d65 // Use the full quad_rect for debug quads to not move the edges based on // partial swaps. -@@ -1476,7 +1480,8 @@ void GLRenderer::ChooseRPDQProgram(DrawRenderPassDrawQuadParams* params, +@@ -1477,7 +1481,8 @@ void GLRenderer::ChooseRPDQProgram(DrawRenderPassDrawQuadParams* params, params->use_color_matrix, tint_gl_composited_content_, params->apply_shader_based_rounded_corner && ShouldApplyRoundedCorner(params->quad)), @@ -118,7 +118,7 @@ index faea02e2fecf6bf8f0ad055a864cf9a00e60efa6..36f365e50c84e10082774ff2930d6d65 } void GLRenderer::UpdateRPDQUniforms(DrawRenderPassDrawQuadParams* params) { -@@ -1947,8 +1952,8 @@ void GLRenderer::DrawSolidColorQuad(const SolidColorDrawQuad* quad, +@@ -1948,8 +1953,8 @@ void GLRenderer::DrawSolidColorQuad(const SolidColorDrawQuad* quad, SetUseProgram(ProgramKey::SolidColor(use_aa ? USE_AA : NO_AA, tint_gl_composited_content_, ShouldApplyRoundedCorner(quad)), @@ -129,7 +129,7 @@ index faea02e2fecf6bf8f0ad055a864cf9a00e60efa6..36f365e50c84e10082774ff2930d6d65 SetShaderColor(color, opacity); if (current_program_->rounded_corner_rect_location() != -1) { SetShaderRoundedCorner( -@@ -2103,8 +2108,8 @@ void GLRenderer::DrawContentQuadAA(const ContentDrawQuadBase* quad, +@@ -2104,8 +2109,8 @@ void GLRenderer::DrawContentQuadAA(const ContentDrawQuadBase* quad, : NON_PREMULTIPLIED_ALPHA, false, false, tint_gl_composited_content_, ShouldApplyRoundedCorner(quad)), @@ -140,7 +140,7 @@ index faea02e2fecf6bf8f0ad055a864cf9a00e60efa6..36f365e50c84e10082774ff2930d6d65 if (current_program_->tint_color_matrix_location() != -1) { auto matrix = cc::DebugColors::TintCompositedContentColorTransformMatrix(); -@@ -2200,8 +2205,8 @@ void GLRenderer::DrawContentQuadNoAA(const ContentDrawQuadBase* quad, +@@ -2201,8 +2206,8 @@ void GLRenderer::DrawContentQuadNoAA(const ContentDrawQuadBase* quad, !quad->ShouldDrawWithBlending(), has_tex_clamp_rect, tint_gl_composited_content_, ShouldApplyRoundedCorner(quad)), @@ -151,7 +151,7 @@ index faea02e2fecf6bf8f0ad055a864cf9a00e60efa6..36f365e50c84e10082774ff2930d6d65 if (current_program_->tint_color_matrix_location() != -1) { auto matrix = cc::DebugColors::TintCompositedContentColorTransformMatrix(); -@@ -2304,7 +2309,7 @@ void GLRenderer::DrawYUVVideoQuad(const YUVVideoDrawQuad* quad, +@@ -2305,7 +2310,7 @@ void GLRenderer::DrawYUVVideoQuad(const YUVVideoDrawQuad* quad, DCHECK_NE(src_color_space, src_color_space.GetAsFullRangeRGB()); gfx::ColorSpace dst_color_space = @@ -160,7 +160,7 @@ index faea02e2fecf6bf8f0ad055a864cf9a00e60efa6..36f365e50c84e10082774ff2930d6d65 #if defined(OS_WIN) // Force sRGB output on Windows for overlay candidate video quads to match -@@ -2467,8 +2472,8 @@ void GLRenderer::DrawStreamVideoQuad(const StreamVideoDrawQuad* quad, +@@ -2468,8 +2473,8 @@ void GLRenderer::DrawStreamVideoQuad(const StreamVideoDrawQuad* quad, SetUseProgram(ProgramKey::VideoStream(tex_coord_precision, ShouldApplyRoundedCorner(quad)), @@ -171,7 +171,7 @@ index faea02e2fecf6bf8f0ad055a864cf9a00e60efa6..36f365e50c84e10082774ff2930d6d65 DCHECK_EQ(GL_TEXTURE0, GetActiveTextureUnit(gl_)); gl_->BindTexture(GL_TEXTURE_EXTERNAL_OES, lock.texture_id()); -@@ -2530,8 +2535,8 @@ void GLRenderer::FlushTextureQuadCache(BoundGeometry flush_binding) { +@@ -2531,8 +2536,8 @@ void GLRenderer::FlushTextureQuadCache(BoundGeometry flush_binding) { draw_cache_.nearest_neighbor ? GL_NEAREST : GL_LINEAR); // Bind the program to the GL state. @@ -182,7 +182,7 @@ index faea02e2fecf6bf8f0ad055a864cf9a00e60efa6..36f365e50c84e10082774ff2930d6d65 if (current_program_->rounded_corner_rect_location() != -1) { SetShaderRoundedCorner( -@@ -3242,7 +3247,9 @@ void GLRenderer::PrepareGeometry(BoundGeometry binding) { +@@ -3243,7 +3248,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) { @@ -191,9 +191,9 @@ index faea02e2fecf6bf8f0ad055a864cf9a00e60efa6..36f365e50c84e10082774ff2930d6d65 + DCHECK(dst_color_space.IsValid()); + } - gfx::ColorSpace adjusted_color_space = src_color_space; - float sdr_white_level = current_frame()->sdr_white_level; -@@ -3628,7 +3635,7 @@ void GLRenderer::CopyRenderPassDrawQuadToOverlayResource( + // If the input color space is PQ, and it did not specify a white level, + // override it with the frame's white level. +@@ -3626,7 +3633,7 @@ void GLRenderer::CopyRenderPassDrawQuadToOverlayResource( *overlay_texture = FindOrCreateOverlayTexture( params.quad->render_pass_id, iosurface_width, iosurface_height, @@ -202,7 +202,7 @@ index faea02e2fecf6bf8f0ad055a864cf9a00e60efa6..36f365e50c84e10082774ff2930d6d65 *new_bounds = gfx::RectF(updated_dst_rect.origin(), gfx::SizeF((*overlay_texture)->texture.size())); -@@ -3847,8 +3854,8 @@ void GLRenderer::FlushOverdrawFeedback(const gfx::Rect& output_rect) { +@@ -3845,8 +3852,8 @@ void GLRenderer::FlushOverdrawFeedback(const gfx::Rect& output_rect) { PrepareGeometry(SHARED_BINDING); @@ -213,17 +213,17 @@ index faea02e2fecf6bf8f0ad055a864cf9a00e60efa6..36f365e50c84e10082774ff2930d6d65 gfx::Transform render_matrix; render_matrix.Translate(0.5 * output_rect.width() + output_rect.x(), -@@ -4008,3 +4015,5 @@ gfx::Size GLRenderer::GetRenderPassBackingPixelSize( +@@ -4006,3 +4013,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 20a2cae2de196aede4314e0a94638fdc5be04b75..160092c7e996d0f0232eda91e7a62bb7127c3080 100644 +index e4a4b968e3f94cd10444495c066651130f076a5a..7481ee690590102b1ec71c3bce6c075402f2c0e6 100644 --- a/content/browser/gpu/gpu_process_host.cc +++ b/content/browser/gpu/gpu_process_host.cc -@@ -213,6 +213,7 @@ GpuTerminationStatus ConvertToGpuTerminationStatus( +@@ -216,6 +216,7 @@ GpuTerminationStatus ConvertToGpuTerminationStatus( // Command-line switches to propagate to the GPU process. static const char* const kSwitchNames[] = { @@ -252,10 +252,10 @@ index c481a1b984d43e86bb72a319cc5cc75dd7efc0fa..b9da220b57ef3300461c7effed30c961 service_manager::switches::kDisableInProcessStackTraces, service_manager::switches::kDisableSeccompFilterSandbox, diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc -index 12a3fd16b7da6b15a863c37e86fcb4f9dac08b84..c1d71f98f04ec7b3df0ea466bcbc2faaa13b20bd 100644 +index b3b164f9118cef83264142237d51b5d03c9be81d..0fb591988bbd70d08821e952b410f30445850440 100644 --- a/content/renderer/render_widget.cc +++ b/content/renderer/render_widget.cc -@@ -2855,6 +2855,9 @@ cc::LayerTreeSettings RenderWidget::GenerateLayerTreeSettings( +@@ -2853,6 +2853,9 @@ cc::LayerTreeSettings RenderWidget::GenerateLayerTreeSettings( settings.main_frame_before_activation_enabled = cmd.HasSwitch(cc::switches::kEnableMainFrameBeforeActivation); diff --git a/patches/chromium/disable_user_gesture_requirement_for_beforeunload_dialogs.patch b/patches/chromium/disable_user_gesture_requirement_for_beforeunload_dialogs.patch index ddf230946143..30f70f88caad 100644 --- a/patches/chromium/disable_user_gesture_requirement_for_beforeunload_dialogs.patch +++ b/patches/chromium/disable_user_gesture_requirement_for_beforeunload_dialogs.patch @@ -6,10 +6,10 @@ Subject: disable_user_gesture_requirement_for_beforeunload_dialogs.patch See https://github.com/electron/electron/issues/10754 diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc -index 17a954218ac69165267d3ee9a060f1c49a7ebd11..786972652f715c6c2b969a77f237a22c5b0ac180 100644 +index ce43b32ced71c8f54a7454a4787d2c9c705ee067..ede45a5efe942a780879189a09dfbaf1851b3907 100644 --- a/third_party/blink/renderer/core/dom/document.cc +++ b/third_party/blink/renderer/core/dom/document.cc -@@ -3850,7 +3850,9 @@ bool Document::DispatchBeforeUnloadEvent(ChromeClient* chrome_client, +@@ -3890,7 +3890,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/chromium/expose_setuseragent_on_networkcontext.patch b/patches/chromium/expose_setuseragent_on_networkcontext.patch index beea82819765..456336531a14 100644 --- a/patches/chromium/expose_setuseragent_on_networkcontext.patch +++ b/patches/chromium/expose_setuseragent_on_networkcontext.patch @@ -63,10 +63,10 @@ index 67f0e98426345beac34bfd41be384210be5911e4..b6fcd9920fcc047d58501dccc492bb0a void SetEnableReferrers(bool enable_referrers) override; #if defined(OS_CHROMEOS) diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom -index b3a2dd03807bc8deb867c5168af5251a818389a2..541d8017d38cbede3199e0028f3b1b260bd61b34 100644 +index 6adfd8969148daba3f77aea4c5f89adec6338e6b..78fd4bd72b07f38b447840b584253883756fe021 100644 --- a/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom -@@ -979,6 +979,9 @@ interface NetworkContext { +@@ -984,6 +984,9 @@ interface NetworkContext { SetNetworkConditions(mojo_base.mojom.UnguessableToken throttling_profile_id, NetworkConditions? conditions); diff --git a/patches/chromium/feat_allow_disabling_blink_scheduler_throttling_per_renderview.patch b/patches/chromium/feat_allow_disabling_blink_scheduler_throttling_per_renderview.patch index 0442547f542a..8ed1d3cb3d89 100644 --- a/patches/chromium/feat_allow_disabling_blink_scheduler_throttling_per_renderview.patch +++ b/patches/chromium/feat_allow_disabling_blink_scheduler_throttling_per_renderview.patch @@ -6,10 +6,10 @@ Subject: feat: allow disabling blink scheduler throttling per RenderView This allows us to disable throttling for hidden windows. diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc -index 195b0f2da8a08f59566bb6306ccbec94b684d613..8d04d13574374a2cf2b09c2dd30b6b9f07b4ac84 100644 +index fb8f783af881f4b3a0d15954dfa45937dd18584c..b55511813bedf504b1e9fd32b0d46d842ccc46e2 100644 --- a/content/browser/renderer_host/render_view_host_impl.cc +++ b/content/browser/renderer_host/render_view_host_impl.cc -@@ -433,6 +433,10 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) { +@@ -432,6 +432,10 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) { Send(new ViewMsg_SetBackgroundOpaque(GetRoutingID(), opaque)); } @@ -33,7 +33,7 @@ index 4311c3406cc8a3e2af505df182c890e4de6e5ea3..15daed8fd4071926c9fa7bf3aa00789b void UpdateWebkitPreferences(const WebPreferences& prefs) override; void OnWebkitPreferencesChanged() override; diff --git a/content/common/view_messages.h b/content/common/view_messages.h -index accb317ce091177766a8c49054b3e274b57871d8..8e0c40cbb98e02849c4c9dffc714eb48fbb40d57 100644 +index a8add1e3cfce66e032ef0f148df61e646482d167..1c9752e60938be3e7686f199cf95358da91f550f 100644 --- a/content/common/view_messages.h +++ b/content/common/view_messages.h @@ -109,6 +109,9 @@ IPC_STRUCT_TRAITS_END() @@ -61,10 +61,10 @@ index 95679ab2915ad496ca0018aa13874b84eb11d7fd..c278e0fc072409677beafc7f252ebcf6 // // Returns the current WebKit preferences. Note: WebPreferences is cached, so diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc -index 6820d5aabc8dfcb01e8a10b7b3fe94a35b3468a6..94000dacdccfd83b3e218521918ed400f54979e1 100644 +index 272f0ed4ffada8191e725f31c8533bcb35622e46..174c50f9b89982e66836ce791fb446767e0c214a 100644 --- a/content/renderer/render_view_impl.cc +++ b/content/renderer/render_view_impl.cc -@@ -1194,6 +1194,8 @@ bool RenderViewImpl::OnMessageReceived(const IPC::Message& message) { +@@ -1192,6 +1192,8 @@ bool RenderViewImpl::OnMessageReceived(const IPC::Message& message) { IPC_BEGIN_MESSAGE_MAP(RenderViewImpl, message) IPC_MESSAGE_HANDLER(ViewMsg_SetPageScale, OnSetPageScale) IPC_MESSAGE_HANDLER(ViewMsg_SetInitialFocus, OnSetInitialFocus) @@ -73,7 +73,7 @@ index 6820d5aabc8dfcb01e8a10b7b3fe94a35b3468a6..94000dacdccfd83b3e218521918ed400 IPC_MESSAGE_HANDLER(ViewMsg_UpdateTargetURL_ACK, OnUpdateTargetURLAck) IPC_MESSAGE_HANDLER(ViewMsg_UpdateWebPreferences, OnUpdateWebPreferences) IPC_MESSAGE_HANDLER(ViewMsg_ClosePage, OnClosePage) -@@ -1750,6 +1752,12 @@ void RenderViewImpl::OnSetPageScale(float page_scale_factor) { +@@ -1748,6 +1750,12 @@ void RenderViewImpl::OnSetPageScale(float page_scale_factor) { webview()->SetPageScaleFactor(page_scale_factor); } @@ -87,7 +87,7 @@ index 6820d5aabc8dfcb01e8a10b7b3fe94a35b3468a6..94000dacdccfd83b3e218521918ed400 PageVisibilityState visibility_state, bool initial_setting) { diff --git a/content/renderer/render_view_impl.h b/content/renderer/render_view_impl.h -index 7c9264c7ade06893918010f7fe235df6243b9ab6..15ad1af9a8b02a02f80bd11bf3d2d0131c7a24b9 100644 +index edefd461a9d6b127886a2e84355a3a99e891ade7..af5fc0cc3334e66368c1780b4e79e923aeac1394 100644 --- a/content/renderer/render_view_impl.h +++ b/content/renderer/render_view_impl.h @@ -440,6 +440,7 @@ class CONTENT_EXPORT RenderViewImpl : public blink::WebViewClient, @@ -99,10 +99,10 @@ index 7c9264c7ade06893918010f7fe235df6243b9ab6..15ad1af9a8b02a02f80bd11bf3d2d013 void OnUpdateTargetURLAck(); void OnUpdateWebPreferences(const WebPreferences& prefs); diff --git a/third_party/blink/public/web/web_view.h b/third_party/blink/public/web/web_view.h -index dc04ef3eb3a1a56d932a22ffce7b71bb60786f7a..3e7d605d7a0f884299e441d954877c03436aa618 100644 +index a6d03eca18db4566002d71ec0b6aedae39a78be7..5eaf6fa6e7568d89d3051617f3ac99b37161fd17 100644 --- a/third_party/blink/public/web/web_view.h +++ b/third_party/blink/public/web/web_view.h -@@ -399,6 +399,7 @@ class WebView { +@@ -407,6 +407,7 @@ class WebView { // Scheduling ----------------------------------------------------------- virtual PageScheduler* Scheduler() const = 0; @@ -111,10 +111,10 @@ index dc04ef3eb3a1a56d932a22ffce7b71bb60786f7a..3e7d605d7a0f884299e441d954877c03 // Visibility ----------------------------------------------------------- diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc -index 34ff617acbd75b2d431aef194cceff651aadc24f..b681d16f2bf1aa9151d455f1a6d9ebb55adeae7b 100644 +index 5236b466a993f3721b16a5525c224b0081bf81c2..479f08112862b7780c5d1d920f68b9158574da45 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -3326,12 +3326,20 @@ PageScheduler* WebViewImpl::Scheduler() const { +@@ -3330,12 +3330,20 @@ PageScheduler* WebViewImpl::Scheduler() const { return GetPage()->GetPageScheduler(); } @@ -138,10 +138,10 @@ index 34ff617acbd75b2d431aef194cceff651aadc24f..b681d16f2bf1aa9151d455f1a6d9ebb5 PageVisibilityState WebViewImpl::GetVisibilityState() { diff --git a/third_party/blink/renderer/core/exported/web_view_impl.h b/third_party/blink/renderer/core/exported/web_view_impl.h -index 3154dbd08dc8aa0386c6259afdec084570822a9e..b9f6ed110e4527a9a05074c31cc89982edaae4f2 100644 +index 54366cdabce974234c4acbe01e1cb911202878fb..a5daf03349802b7a8b09b55f55a221e9b8dfa5d4 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.h +++ b/third_party/blink/renderer/core/exported/web_view_impl.h -@@ -306,6 +306,7 @@ class CORE_EXPORT WebViewImpl final : public WebView, +@@ -310,6 +310,7 @@ class CORE_EXPORT WebViewImpl final : public WebView, LocalDOMWindow* PagePopupWindow() const; PageScheduler* Scheduler() const override; diff --git a/patches/chromium/frame_host_manager.patch b/patches/chromium/frame_host_manager.patch index e643058d014e..3f0f5a7efbb7 100644 --- a/patches/chromium/frame_host_manager.patch +++ b/patches/chromium/frame_host_manager.patch @@ -8,10 +8,10 @@ and respond with custom instance. Also allows for us to at-runtime enable or disable this patch. diff --git a/content/browser/browsing_instance.cc b/content/browser/browsing_instance.cc -index 1e6b4b91485ae9a528beed77b12f6532e5968c07..c4a9db033bb56d097c4ce84ecd195e7bf4d7afd4 100644 +index f49ec7e1456751e506609a797f0b3b97b3e86a56..c7198c08d9292981d6fba12d5941f606c03b5d35 100644 --- a/content/browser/browsing_instance.cc +++ b/content/browser/browsing_instance.cc -@@ -83,6 +83,13 @@ scoped_refptr BrowsingInstance::GetSiteInstanceForURL( +@@ -84,6 +84,13 @@ scoped_refptr BrowsingInstance::GetSiteInstanceForURL( return instance; } @@ -42,7 +42,7 @@ index 906a1ee4ac58b0744a32153bbaafeac4322a60e4..c90f4aead36cbf3767dc5094728963c2 // another SiteInstance for the same site. void RegisterSiteInstance(SiteInstanceImpl* site_instance); diff --git a/content/browser/frame_host/navigation_request.cc b/content/browser/frame_host/navigation_request.cc -index ce0b1ae151e22cde1f0a3127e08b14d4043567be..53d584727b5a7b4675165e23e35f13500a80ddd0 100644 +index 0fd355a218cc454380c9e48ae299872484078f4d..8824293926782106cb7f8fb1eb76adda6963b97d 100644 --- a/content/browser/frame_host/navigation_request.cc +++ b/content/browser/frame_host/navigation_request.cc @@ -1198,6 +1198,24 @@ void NavigationRequest::BeginNavigation() { @@ -71,7 +71,7 @@ index ce0b1ae151e22cde1f0a3127e08b14d4043567be..53d584727b5a7b4675165e23e35f1350 render_frame_host_ = frame_tree_node_->render_manager()->GetFrameHostForNavigation(this); diff --git a/content/browser/frame_host/render_frame_host_manager.cc b/content/browser/frame_host/render_frame_host_manager.cc -index 0ce2a4fec90f91e9098fb033f885c37221c3723a..a13fa98055f452f2db67bd00bc3f06c2479cab8a 100644 +index 8a1e34f3ccda8950e134f163820af1a7016f2e1c..89b58c11dcbab8cec581a58f47bdc52982694eae 100644 --- a/content/browser/frame_host/render_frame_host_manager.cc +++ b/content/browser/frame_host/render_frame_host_manager.cc @@ -2137,6 +2137,16 @@ bool RenderFrameHostManager::InitRenderView( @@ -167,10 +167,10 @@ index 0ce2a4fec90f91e9098fb033f885c37221c3723a..a13fa98055f452f2db67bd00bc3f06c2 } diff --git a/content/browser/site_instance_impl.cc b/content/browser/site_instance_impl.cc -index f16abf44e24c7173d721352c53241228fe72a3e4..3d33d492b8cf4d79b4c81dac53d30e03c7dddea3 100644 +index 1815638647c48c5337749920309d7f48bfce21ee..b98b73993ca82891311a70c1c281788eafddb8a7 100644 --- a/content/browser/site_instance_impl.cc +++ b/content/browser/site_instance_impl.cc -@@ -413,6 +413,10 @@ bool SiteInstanceImpl::HasRelatedSiteInstance(const GURL& url) { +@@ -430,6 +430,10 @@ bool SiteInstanceImpl::HasRelatedSiteInstance(const GURL& url) { return browsing_instance_->HasSiteInstance(url); } @@ -194,7 +194,7 @@ index caa100b3889e17a9afdc8127e0e13bb6b86e8042..f08d3a2eb28f0f6fff89b5759eff5369 size_t GetRelatedActiveContentsCount() override; bool RequiresDedicatedProcess() override; diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc -index 38409b9d1ce06c2a73ce2feb98a6be35325ca472..34b8ba27caf5a2d521e94055c440cd31fc9925c7 100644 +index 930e043a0fdf40ef0e48a19597da567c8603878c..b6ba4dfad79d6031efd725de795bf901bab1a06c 100644 --- a/content/public/browser/content_browser_client.cc +++ b/content/public/browser/content_browser_client.cc @@ -50,6 +50,21 @@ @@ -220,7 +220,7 @@ index 38409b9d1ce06c2a73ce2feb98a6be35325ca472..34b8ba27caf5a2d521e94055c440cd31 const MainFunctionParams& parameters) { return nullptr; diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h -index af7c11bfbb26894ba4eb97b3fcbb026af288c084..ccf5aee27ed7aa4bd0b54149f24df8f075c0186d 100644 +index 7abfa455bce8b8a4d7ba9d3e3c5aab4477dceaa2..9143293244c444e1261594ad63e9051ac2a1c265 100644 --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h @@ -232,8 +232,45 @@ class CONTENT_EXPORT ContentBrowserClient { diff --git a/patches/chromium/gtk_visibility.patch b/patches/chromium/gtk_visibility.patch index 9112f8691b81..f10b3304e4c5 100644 --- a/patches/chromium/gtk_visibility.patch +++ b/patches/chromium/gtk_visibility.patch @@ -6,7 +6,7 @@ Subject: gtk_visibility.patch Allow electron to depend on GTK in the GN build. diff --git a/build/config/linux/gtk/BUILD.gn b/build/config/linux/gtk/BUILD.gn -index d78f7407c179fe44180800a234e9461c56849402..dae8fa63037803ebaf2e04fb2b9547d2db7ba29c 100644 +index a58b089869b7db19d0af81de7120c5af964efc2f..ca4d44ca2a659af9c2c2781c7e9bd4a6b8b70d6c 100644 --- a/build/config/linux/gtk/BUILD.gn +++ b/build/config/linux/gtk/BUILD.gn @@ -26,6 +26,7 @@ group("gtk") { diff --git a/patches/chromium/libgtkui_export.patch b/patches/chromium/libgtkui_export.patch deleted file mode 100644 index 40362078304d..000000000000 --- a/patches/chromium/libgtkui_export.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Jeremy Apthorp -Date: Thu, 20 Sep 2018 17:48:31 -0700 -Subject: libgtkui_export.patch - -Export libgtkui symbols for the GN component build. - -diff --git a/chrome/browser/ui/libgtkui/gtk_util.h b/chrome/browser/ui/libgtkui/gtk_util.h -index ab8707407f80dda95f0eb9ff6ff7281c7ae76195..f4a5c41e12453a6a2d6ca1e9fd1727fddb6d5809 100644 ---- a/chrome/browser/ui/libgtkui/gtk_util.h -+++ b/chrome/browser/ui/libgtkui/gtk_util.h -@@ -8,6 +8,7 @@ - #include - #include - -+#include "base/component_export.h" - #include "ui/base/glib/scoped_gobject.h" - #include "ui/native_theme/native_theme.h" - #include "ui/views/window/frame_buttons.h" -@@ -34,11 +35,11 @@ namespace libgtkui { - - extern const color_utils::HSL kDefaultTintFrameIncognito; - --void GtkInitFromCommandLine(const base::CommandLine& command_line); -+COMPONENT_EXPORT(LIBGTKUI) void GtkInitFromCommandLine(const base::CommandLine& command_line); - - // Sets |dialog| as transient for |parent|, which will keep it on top and center - // it above |parent|. Do nothing if |parent| is nullptr. --void SetGtkTransientForAura(GtkWidget* dialog, aura::Window* parent); -+COMPONENT_EXPORT(LIBGTKUI) void SetGtkTransientForAura(GtkWidget* dialog, aura::Window* parent); - - // Gets the transient parent aura window for |dialog|. - aura::Window* GetAuraTransientParent(GtkWidget* dialog); -@@ -143,7 +144,7 @@ void ApplyCssToContext(GtkStyleContext* context, const std::string& css); - - // Get the 'color' property from the style context created by - // GetStyleContextFromCss(|css_selector|). --SkColor GetFgColor(const std::string& css_selector); -+COMPONENT_EXPORT(LIBGTKUI) SkColor GetFgColor(const std::string& css_selector); - - ScopedCssProvider GetCssProvider(const std::string& css); - -@@ -156,7 +157,7 @@ void RenderBackground(const gfx::Size& size, - // Renders a background from the style context created by - // GetStyleContextFromCss(|css_selector|) into a 24x24 bitmap and - // returns the average color. --SkColor GetBgColor(const std::string& css_selector); -+COMPONENT_EXPORT(LIBGTKUI) SkColor GetBgColor(const std::string& css_selector); - - // Renders the border from the style context created by - // GetStyleContextFromCss(|css_selector|) into a 24x24 bitmap and diff --git a/patches/chromium/mas_disable_remote_accessibility.patch b/patches/chromium/mas_disable_remote_accessibility.patch index d01ef1bd7dc0..efb76efb949f 100644 --- a/patches/chromium/mas_disable_remote_accessibility.patch +++ b/patches/chromium/mas_disable_remote_accessibility.patch @@ -170,7 +170,7 @@ index e6e26f703be064924dbb7e36555c60ba91b0123f..064c44b2d056a3428428fd415b2a78c6 /////////////////////////////////////////////////////////////////////////////// diff --git a/ui/base/BUILD.gn b/ui/base/BUILD.gn -index db6083732090b8ccee029aa6a7cc11f0d17ab218..3d34fc3a442f46abf4cad222b9d5e05db6762278 100644 +index 0e081daf55a068f0e1c163c60f266f697a8e4bfc..387b7b0b1a0e8db2d28ed4c46db93242e3de649e 100644 --- a/ui/base/BUILD.gn +++ b/ui/base/BUILD.gn @@ -306,6 +306,13 @@ jumbo_component("base") { diff --git a/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch b/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch index 5e6d96d8c383..b10086760e87 100644 --- a/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch +++ b/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch @@ -190,7 +190,7 @@ index 23a5fe596b2607fa2b95f601cb621e4e11f81d50..67f0e98426345beac34bfd41be384210 // CertNetFetcher is not used by the current platform. scoped_refptr cert_net_fetcher_; diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom -index 32a60d94e488b12acb27700416da90cd578bbd57..b3a2dd03807bc8deb867c5168af5251a818389a2 100644 +index c37e71fb1eac0c568f91676eddcd624f491a7b69..6adfd8969148daba3f77aea4c5f89adec6338e6b 100644 --- a/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom @@ -191,6 +191,17 @@ struct HttpAuthStaticNetworkContextParams { @@ -211,7 +211,7 @@ index 32a60d94e488b12acb27700416da90cd578bbd57..b3a2dd03807bc8deb867c5168af5251a // Parameters for constructing a network context. struct NetworkContextParams { // Name used by memory tools to identify the context. -@@ -808,6 +819,9 @@ interface NetworkContext { +@@ -813,6 +824,9 @@ interface NetworkContext { // Sets a client for this network context. SetClient(pending_remote client); diff --git a/patches/chromium/pepper_plugin_support.patch b/patches/chromium/pepper_plugin_support.patch index e6db1b268e1c..7d1ed8dfca9e 100644 --- a/patches/chromium/pepper_plugin_support.patch +++ b/patches/chromium/pepper_plugin_support.patch @@ -40,7 +40,7 @@ index d72a867594acee97d50c5f905fc1a4df9aa9352e..8a4cc159cb490ebadbb1b54aa88223c0 + return PP_OK; } diff --git a/chrome/browser/renderer_host/pepper/pepper_flash_browser_host.cc b/chrome/browser/renderer_host/pepper/pepper_flash_browser_host.cc -index 6d40a6b79d027df09412db2f5e3d573bc176cb31..03eb786787cdd349b33c2512ea32ceaceede9291 100644 +index c1fdd9dd86e4a205c6e2b51910f2bd2901501c75..77d65652808f2405881a8e1bb53d70d020866781 100644 --- a/chrome/browser/renderer_host/pepper/pepper_flash_browser_host.cc +++ b/chrome/browser/renderer_host/pepper/pepper_flash_browser_host.cc @@ -8,9 +8,11 @@ @@ -90,8 +90,8 @@ index 6d40a6b79d027df09412db2f5e3d573bc176cb31..03eb786787cdd349b33c2512ea32ceac // belong to the profile which lives on the UI thread. We lazily initialize // |cookie_settings_| by grabbing the reference from the UI thread and then @@ -140,9 +147,11 @@ int32_t PepperFlashBrowserHost::OnGetLocalDataRestrictions( - context->MakeReplyMessageContext(), document_url, - plugin_url)); + context->MakeReplyMessageContext(), document_url, + plugin_url)); } - return PP_OK_COMPLETIONPENDING; +#endif diff --git a/patches/chromium/put_back_deleted_colors_for_autofill.patch b/patches/chromium/put_back_deleted_colors_for_autofill.patch index b6b4c58e98e6..f7fd571afb3a 100644 --- a/patches/chromium/put_back_deleted_colors_for_autofill.patch +++ b/patches/chromium/put_back_deleted_colors_for_autofill.patch @@ -7,10 +7,10 @@ https://chromium-review.googlesource.com/c/chromium/src/+/1652925 removed colors needed in chromium but our autofill implementation uses them. This patch can be removed if we refactor our autofill implementation to work like Chromium's. -diff --git a/chrome/browser/ui/libgtkui/native_theme_gtk.cc b/chrome/browser/ui/libgtkui/native_theme_gtk.cc -index c34e3618c5124e3b10c25d434420cf85679e9c73..1cacab5eb9dc7dd754eb9f7a29d11319d633cdc8 100644 ---- a/chrome/browser/ui/libgtkui/native_theme_gtk.cc -+++ b/chrome/browser/ui/libgtkui/native_theme_gtk.cc +diff --git a/chrome/browser/ui/gtk/native_theme_gtk.cc b/chrome/browser/ui/gtk/native_theme_gtk.cc +index 26f1842494bdbcf5ffefb07e8fc74ba816a2a2d8..8ef9c27728a5b3166732d753d582e30a015cc0a6 100644 +--- a/chrome/browser/ui/gtk/native_theme_gtk.cc ++++ b/chrome/browser/ui/gtk/native_theme_gtk.cc @@ -301,6 +301,27 @@ SkColor SkColorFromColorId(ui::NativeTheme::ColorId color_id) { case ui::NativeTheme::kColorId_TableHeaderSeparator: return GetBorderColor("GtkTreeView#treeview.view GtkButton#button"); diff --git a/patches/chromium/revert_remove_contentrendererclient_shouldfork.patch b/patches/chromium/revert_remove_contentrendererclient_shouldfork.patch index f9a1eb897547..832a3196bddf 100644 --- a/patches/chromium/revert_remove_contentrendererclient_shouldfork.patch +++ b/patches/chromium/revert_remove_contentrendererclient_shouldfork.patch @@ -6,10 +6,10 @@ Subject: Revert "Remove ContentRendererClient::ShouldFork." This reverts commit 6b068eb8ca4a3c7350bdafa22fc0cf0636ef8b74. diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc -index 8b4ddc020612fd477fd0a7360c8be45661592847..fb0c05ef22c6d9e7ffe50315121f3b42c9a5bc69 100644 +index e03ad3a5a115383143d1324164dfd37f87c6f2f2..1c179e0cca8b0b1fc19971d1c9e93d59af7b9383 100644 --- a/chrome/renderer/chrome_content_renderer_client.cc +++ b/chrome/renderer/chrome_content_renderer_client.cc -@@ -1306,6 +1306,17 @@ bool ChromeContentRendererClient::ShouldFork(WebLocalFrame* frame, +@@ -1291,6 +1291,17 @@ bool ChromeContentRendererClient::ShouldFork(WebLocalFrame* frame, return true; #endif // BUILDFLAG(ENABLE_EXTENSIONS) @@ -28,10 +28,10 @@ index 8b4ddc020612fd477fd0a7360c8be45661592847..fb0c05ef22c6d9e7ffe50315121f3b42 } diff --git a/content/renderer/render_view_browsertest.cc b/content/renderer/render_view_browsertest.cc -index a3f10cf198df9325be10f6bcdff33aa23553bffa..118811bfa7ab09a54cd29aca016a358e6f2f0fb3 100644 +index 775ef1dd795e8bcab1d4a22719fd1679e8a27967..7a56f78966fb578429d8dc39fc0b58af52d2a550 100644 --- a/content/renderer/render_view_browsertest.cc +++ b/content/renderer/render_view_browsertest.cc -@@ -996,6 +996,73 @@ TEST_F(RenderViewImplTest, BeginNavigationForWebUI) { +@@ -1003,6 +1003,73 @@ TEST_F(RenderViewImplTest, BeginNavigationForWebUI) { FrameHostMsg_OpenURL::ID)); } diff --git a/patches/chromium/scroll_bounce_flag.patch b/patches/chromium/scroll_bounce_flag.patch index 0022cdead5ec..6277e2230ef6 100644 --- a/patches/chromium/scroll_bounce_flag.patch +++ b/patches/chromium/scroll_bounce_flag.patch @@ -6,7 +6,7 @@ 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 ce5afdf625ee1c5360e5c94563cc011ef05e11b7..9f8b20872158acc5034013bda235a3c14524da95 100644 +index ddd52dfe958cd68cffc354f5a4f752ff11268b25..4bbf3cd5dee033ec2e19662304e24c07f356b3a0 100644 --- a/content/renderer/render_thread_impl.cc +++ b/content/renderer/render_thread_impl.cc @@ -1338,7 +1338,7 @@ bool RenderThreadImpl::IsGpuMemoryBufferCompositorResourcesEnabled() { diff --git a/patches/chromium/web_contents.patch b/patches/chromium/web_contents.patch index 49c58dce1d75..4bbdd45169c7 100644 --- a/patches/chromium/web_contents.patch +++ b/patches/chromium/web_contents.patch @@ -9,7 +9,7 @@ is needed for OSR. Originally landed in https://github.com/electron/libchromiumcontent/pull/226. diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 5253b94936f06277f90c5116326547e3ef4bbee4..1cf11bcd41df18941c638e1a6f9406398a59108a 100644 +index fc79d5bcff1f93e378dc78b75761b9c711c54c4c..bd390ed46944f53ffa3eb9282ffa46996a2f064d 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc @@ -2050,6 +2050,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { diff --git a/patches/chromium/webview_cross_drag.patch b/patches/chromium/webview_cross_drag.patch index 793ed4754220..cb01a838ab12 100644 --- a/patches/chromium/webview_cross_drag.patch +++ b/patches/chromium/webview_cross_drag.patch @@ -8,10 +8,10 @@ This allows dragging and dropping between s. Originally landed in https://github.com/electron/libchromiumcontent/pull/267 diff --git a/content/browser/web_contents/web_contents_view_aura.cc b/content/browser/web_contents/web_contents_view_aura.cc -index c87d192133c39b29259bc50d3c30d88bc28d2978..354cc294165c5fe248388fb5522efb42da91e4ca 100644 +index 44bc4902a374821eecebf72bfcb150b7d86db621..c570fadb559230e17440c64b9042fbd9e73a910c 100644 --- a/content/browser/web_contents/web_contents_view_aura.cc +++ b/content/browser/web_contents/web_contents_view_aura.cc -@@ -795,6 +795,7 @@ gfx::NativeView WebContentsViewAura::GetRenderWidgetHostViewParent() const { +@@ -792,6 +792,7 @@ gfx::NativeView WebContentsViewAura::GetRenderWidgetHostViewParent() const { bool WebContentsViewAura::IsValidDragTarget( RenderWidgetHostImpl* target_rwh) const { @@ -20,10 +20,10 @@ index c87d192133c39b29259bc50d3c30d88bc28d2978..354cc294165c5fe248388fb5522efb42 GetRenderViewHostID(web_contents_->GetRenderViewHost()) != drag_start_view_id_; diff --git a/content/browser/web_contents/web_drag_dest_mac.mm b/content/browser/web_contents/web_drag_dest_mac.mm -index 59456ed3693426952e8c574d4982a00e6f01e9b3..196fb4a6ee9d178e0e6657bc013d4393ca8a9427 100644 +index b35ff2edf854aa759a91fa708ed560d2f269e078..4ca6119b2105f27cabcb664d9ba7631973b49966 100644 --- a/content/browser/web_contents/web_drag_dest_mac.mm +++ b/content/browser/web_contents/web_drag_dest_mac.mm -@@ -336,6 +336,7 @@ - (void)setDragStartTrackersForProcess:(int)processID { +@@ -337,6 +337,7 @@ - (void)setDragStartTrackersForProcess:(int)processID { } - (bool)isValidDragTarget:(content::RenderWidgetHostImpl*)targetRWH { diff --git a/patches/chromium/worker_context_will_destroy.patch b/patches/chromium/worker_context_will_destroy.patch index 5f2be0018359..861e48545151 100644 --- a/patches/chromium/worker_context_will_destroy.patch +++ b/patches/chromium/worker_context_will_destroy.patch @@ -10,10 +10,10 @@ An attempt to upstream this was made, but rejected: https://chromium-review.googlesource.com/c/chromium/src/+/1954347 diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h -index d76e2c9e2667d630c60c7636f77800e40877e820..aea021b9f915c1a7e6cd394255a77d1b286d8168 100644 +index 87df60c52d1e6adf464e85deccef87ae2c6cb48c..5dabb49f061b4e0643256cbf9162d128c1e0bacf 100644 --- a/content/public/renderer/content_renderer_client.h +++ b/content/public/renderer/content_renderer_client.h -@@ -396,6 +396,11 @@ class CONTENT_EXPORT ContentRendererClient { +@@ -389,6 +389,11 @@ class CONTENT_EXPORT ContentRendererClient { virtual void DidInitializeWorkerContextOnWorkerThread( v8::Local context) {} diff --git a/patches/node/.patches b/patches/node/.patches index 342abd306384..07cdaab352ca 100644 --- a/patches/node/.patches +++ b/patches/node/.patches @@ -32,3 +32,6 @@ enable_31_bit_smis_on_64bit_arch_and_ptr_compression.patch fix_remove_unused_llhttp_variables.patch fix_include_libuv_header_in_node_binding.patch remove_deprecated_task_api_override_removed_in_latest_v8.patch +remove_serialization_deserialization_of_wasmmoduleobject.patch +64bit_bump_typedarray_max_length_to_2_32-1_elements.patch +test_use_tmpdir_refresh_in_test-esm-windows_js.patch diff --git a/patches/node/64bit_bump_typedarray_max_length_to_2_32-1_elements.patch b/patches/node/64bit_bump_typedarray_max_length_to_2_32-1_elements.patch new file mode 100644 index 000000000000..54126457eec5 --- /dev/null +++ b/patches/node/64bit_bump_typedarray_max_length_to_2_32-1_elements.patch @@ -0,0 +1,44 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: John Kleinschmidt +Date: Tue, 28 Jan 2020 12:16:11 -0500 +Subject: [64bit] Bump TypedArray max length to 2**32-1 elements + +TypedArray max length for 64 bit has been changed to 2**32-1 elements +See: https://source.chromium.org/chromium/_/chromium/v8/v8.git/+/3bff8fa5ea29c0623c0a5601b6fa67c64cbcc319 + +diff --git a/test/parallel/test-buffer-alloc.js b/test/parallel/test-buffer-alloc.js +index de3e7fa52390f0631b93fb4adf2e8a4e31bdc572..eae7533250599cfc649a17c19c8b0fa268155b69 100644 +--- a/test/parallel/test-buffer-alloc.js ++++ b/test/parallel/test-buffer-alloc.js +@@ -8,8 +8,8 @@ const SlowBuffer = require('buffer').SlowBuffer; + // Verify the maximum Uint8Array size. There is no concrete limit by spec. The + // internal limits should be updated if this fails. + assert.throws( +- () => new Uint8Array(2 ** 31), +- { message: 'Invalid typed array length: 2147483648' } ++ () => new Uint8Array(2 ** 32), ++ { message: 'Invalid typed array length: 4294967296' } + ); + + const b = Buffer.allocUnsafe(1024); +diff --git a/test/parallel/test-buffer-over-max-length.js b/test/parallel/test-buffer-over-max-length.js +index b1267b19ff439e344417a85649667facb0d2add7..5a738050eda9c0adad862d318f390af112330c14 100644 +--- a/test/parallel/test-buffer-over-max-length.js ++++ b/test/parallel/test-buffer-over-max-length.js +@@ -10,7 +10,7 @@ const bufferMaxSizeMsg = common.expectsError({ + code: 'ERR_INVALID_OPT_VALUE', + type: RangeError, + message: /^The value "[^"]*" is invalid for option "size"$/ +-}, 12); ++}, 10); + + assert.throws(() => Buffer((-1 >>> 0) + 1), bufferMaxSizeMsg); + assert.throws(() => SlowBuffer((-1 >>> 0) + 1), bufferMaxSizeMsg); +@@ -23,7 +23,3 @@ assert.throws(() => SlowBuffer(kMaxLength + 1), bufferMaxSizeMsg); + assert.throws(() => Buffer.alloc(kMaxLength + 1), bufferMaxSizeMsg); + assert.throws(() => Buffer.allocUnsafe(kMaxLength + 1), bufferMaxSizeMsg); + assert.throws(() => Buffer.allocUnsafeSlow(kMaxLength + 1), bufferMaxSizeMsg); +- +-// issue GH-4331 +-assert.throws(() => Buffer.allocUnsafe(0xFFFFFFFF), bufferMaxSizeMsg); +-assert.throws(() => Buffer.allocUnsafe(0xFFFFFFFFF), bufferMaxSizeMsg); diff --git a/patches/node/fix_include_libuv_header_in_node_binding.patch b/patches/node/fix_include_libuv_header_in_node_binding.patch index f841c63f5ba4..6bc4c4dbae7a 100644 --- a/patches/node/fix_include_libuv_header_in_node_binding.patch +++ b/patches/node/fix_include_libuv_header_in_node_binding.patch @@ -5,12 +5,12 @@ Subject: fix: include libuv header in node_binding The libuv header uv.h was removed in https://github.com/nodejs/node/commit/3bb085dbad4d23030c731834e35b2804c8a50b23, -but is necessary for Windows to understand what uv_lib_t is. +but is necessary for Windows to understand what uv_lib_t is. Upstreamed in https://github.com/nodejs/node/pull/31265. diff --git a/src/node_binding.h b/src/node_binding.h -index cefb6419ebb7f5c5c79927d179eef0a790e234ad..5bced5b41431dc7838d1a30774a1a41ff797290e 100644 +index cefb6419ebb7f5c5c79927d179eef0a790e234ad..4233ee968fb4b3b5456997cbf1450ecf07392455 100644 --- a/src/node_binding.h +++ b/src/node_binding.h @@ -10,6 +10,7 @@ diff --git a/patches/node/remove_deprecated_task_api_override_removed_in_latest_v8.patch b/patches/node/remove_deprecated_task_api_override_removed_in_latest_v8.patch index 86951754cf15..039561c769e4 100644 --- a/patches/node/remove_deprecated_task_api_override_removed_in_latest_v8.patch +++ b/patches/node/remove_deprecated_task_api_override_removed_in_latest_v8.patch @@ -8,10 +8,10 @@ Node.js will pick this up when they roll next. CL: https://chromium-review.googlesource.com/c/v8/v8/+/1868620 diff --git a/src/node_platform.h b/src/node_platform.h -index d2eb325c12113e3066596cae4b0b0e9dce16c1b6..9a7395f6c93d7a90e41ad6f4263e6bdefdcc0824 100644 +index 24f7b337bb8fd7825cda4a4bfc9bafeb0f7aece2..599de93f69d2ef73b833c9138c9640202ef167a7 100644 --- a/src/node_platform.h +++ b/src/node_platform.h -@@ -145,14 +145,6 @@ class NodePlatform : public MultiIsolatePlatform { +@@ -147,14 +147,6 @@ class NodePlatform : public MultiIsolatePlatform { void CallOnWorkerThread(std::unique_ptr task) override; void CallDelayedOnWorkerThread(std::unique_ptr task, double delay_in_seconds) override; diff --git a/patches/node/remove_serialization_deserialization_of_wasmmoduleobject.patch b/patches/node/remove_serialization_deserialization_of_wasmmoduleobject.patch new file mode 100644 index 000000000000..9c993a7aa1f5 --- /dev/null +++ b/patches/node/remove_serialization_deserialization_of_wasmmoduleobject.patch @@ -0,0 +1,32 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: John Kleinschmidt +Date: Tue, 28 Jan 2020 12:12:28 -0500 +Subject: Remove serialization/deserialization of WasmModuleObject + +Serialization of WasmModuleObject was removed here: +https://chromium.googlesource.com/v8/v8/+/30e4ba6df4cdf5582de4d79850bcd270e6a75a7a + +diff --git a/test/parallel/test-v8-serdes.js b/test/parallel/test-v8-serdes.js +index a992ba42ce46bfcdccdca997ee13718086d3256d..62096edec540ec3dd70e56fee53b9813b2ebbbfc 100644 +--- a/test/parallel/test-v8-serdes.js ++++ b/test/parallel/test-v8-serdes.js +@@ -23,8 +23,7 @@ const objects = [ + undefined, + null, + 42, +- circular, +- wasmModule ++ circular + ]; + + const hostObject = new (internalBinding('js_stream').JSStream)(); +@@ -236,9 +235,3 @@ const deserializerTypeError = + /^TypeError: buffer must be a TypedArray or a DataView$/, + ); + } +- +-{ +- const deserializedWasmModule = v8.deserialize(v8.serialize(wasmModule)); +- const instance = new WebAssembly.Instance(deserializedWasmModule); +- assert.strictEqual(instance.exports.add(10, 20), 30); +-} diff --git a/patches/node/test_use_tmpdir_refresh_in_test-esm-windows_js.patch b/patches/node/test_use_tmpdir_refresh_in_test-esm-windows_js.patch new file mode 100644 index 000000000000..43bcd6811ac4 --- /dev/null +++ b/patches/node/test_use_tmpdir_refresh_in_test-esm-windows_js.patch @@ -0,0 +1,33 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Richard Lau +Date: Mon, 16 Dec 2019 16:25:31 -0500 +Subject: test: use tmpdir.refresh() in test-esm-windows.js + +Use `tmpdir.refresh()` in `test/es-module/test-esm-windows.js` so +that the temporary directory is cleaned before use and when the test +exits. + +PR-URL: https://github.com/nodejs/node/pull/30997 +Reviewed-By: Denys Otrishko +Reviewed-By: Colin Ihrig +Reviewed-By: Rich Trott +Reviewed-By: Luigi Pinca +Reviewed-By: James M Snell +(cherry picked from commit e23aebc684a45f725811211f9740bcee3bcdbe26) + +diff --git a/test/es-module/test-esm-windows.js b/test/es-module/test-esm-windows.js +index 64ba1249a76c06ee3461b56f7ac69a650e6fbfcc..44af65d6a4e0315b31508cab3183c0142ff0d17c 100644 +--- a/test/es-module/test-esm-windows.js ++++ b/test/es-module/test-esm-windows.js +@@ -15,9 +15,8 @@ const imp = (file) => { + }; + + (async () => { +- const tmp = tmpdir.path; +- await fs.mkdir(tmp).catch(() => {}); +- const rel = (file) => path.join(tmp, file); ++ tmpdir.refresh(); ++ const rel = (file) => path.join(tmpdir.path, file); + + { // Load a single script + const file = rel('con.mjs'); diff --git a/shell/browser/api/atom_api_web_contents.cc b/shell/browser/api/atom_api_web_contents.cc index 9c8376c64333..16556a62dc4c 100644 --- a/shell/browser/api/atom_api_web_contents.cc +++ b/shell/browser/api/atom_api_web_contents.cc @@ -983,13 +983,12 @@ void WebContents::DidFinishLoad(content::RenderFrameHost* render_frame_host, void WebContents::DidFailLoad(content::RenderFrameHost* render_frame_host, const GURL& url, - int error_code, - const base::string16& error_description) { + int error_code) { bool is_main_frame = !render_frame_host->GetParent(); int frame_process_id = render_frame_host->GetProcess()->GetID(); int frame_routing_id = render_frame_host->GetRoutingID(); - Emit("did-fail-load", error_code, error_description, url, is_main_frame, - frame_process_id, frame_routing_id); + Emit("did-fail-load", error_code, "", url, is_main_frame, frame_process_id, + frame_routing_id); } void WebContents::DidStartLoading() { diff --git a/shell/browser/api/atom_api_web_contents.h b/shell/browser/api/atom_api_web_contents.h index 51cdf933390a..e949682c1fc6 100644 --- a/shell/browser/api/atom_api_web_contents.h +++ b/shell/browser/api/atom_api_web_contents.h @@ -446,8 +446,7 @@ class WebContents : public gin_helper::TrackableObject, const GURL& validated_url) override; void DidFailLoad(content::RenderFrameHost* render_frame_host, const GURL& validated_url, - int error_code, - const base::string16& error_description) override; + int error_code) override; void DidStartLoading() override; void DidStopLoading() override; void DidStartNavigation( diff --git a/shell/browser/atom_browser_main_parts.cc b/shell/browser/atom_browser_main_parts.cc index a449622042de..7193bb2cbe3f 100644 --- a/shell/browser/atom_browser_main_parts.cc +++ b/shell/browser/atom_browser_main_parts.cc @@ -65,8 +65,8 @@ #include "base/environment.h" #include "base/nix/xdg_util.h" #include "base/threading/thread_task_runner_handle.h" -#include "chrome/browser/ui/libgtkui/gtk_ui.h" -#include "chrome/browser/ui/libgtkui/gtk_util.h" +#include "chrome/browser/ui/gtk/gtk_ui.h" +#include "chrome/browser/ui/gtk/gtk_util.h" #include "ui/base/x/x11_util.h" #include "ui/base/x/x11_util_internal.h" #include "ui/events/devices/x11/touch_factory_x11.h" diff --git a/shell/browser/browser_linux.cc b/shell/browser/browser_linux.cc index 68e83d38988f..48161a4f9e8d 100644 --- a/shell/browser/browser_linux.cc +++ b/shell/browser/browser_linux.cc @@ -16,7 +16,7 @@ #include "shell/common/application_info.h" #if defined(USE_X11) -#include "chrome/browser/ui/libgtkui/gtk_util.h" +#include "chrome/browser/ui/gtk/gtk_util.h" #include "shell/browser/linux/unity_service.h" #endif diff --git a/shell/browser/extensions/atom_extension_system.cc b/shell/browser/extensions/atom_extension_system.cc index 7136cbf63feb..a0fb5f1ad2d0 100644 --- a/shell/browser/extensions/atom_extension_system.cc +++ b/shell/browser/extensions/atom_extension_system.cc @@ -132,12 +132,12 @@ AppSorting* AtomExtensionSystem::app_sorting() { void AtomExtensionSystem::RegisterExtensionWithRequestContexts( const Extension* extension, - const base::Closure& callback) { + base::OnceClosure callback) { base::PostTaskAndReply( FROM_HERE, {BrowserThread::IO}, base::Bind(&InfoMap::AddExtension, info_map(), base::RetainedRef(extension), base::Time::Now(), false, false), - callback); + std::move(callback)); } void AtomExtensionSystem::UnregisterExtensionWithRequestContexts( diff --git a/shell/browser/extensions/atom_extension_system.h b/shell/browser/extensions/atom_extension_system.h index 5c3a0fd7e925..59859fc2e749 100644 --- a/shell/browser/extensions/atom_extension_system.h +++ b/shell/browser/extensions/atom_extension_system.h @@ -68,7 +68,7 @@ class AtomExtensionSystem : public ExtensionSystem { AppSorting* app_sorting() override; void RegisterExtensionWithRequestContexts( const Extension* extension, - const base::Closure& callback) override; + base::OnceClosure callback) override; void UnregisterExtensionWithRequestContexts( const std::string& extension_id, const UnloadedExtensionReason reason) override; diff --git a/shell/browser/extensions/atom_extensions_browser_client.cc b/shell/browser/extensions/atom_extensions_browser_client.cc index b1ef761c837b..a8f2f4fa148c 100644 --- a/shell/browser/extensions/atom_extensions_browser_client.cc +++ b/shell/browser/extensions/atom_extensions_browser_client.cc @@ -245,12 +245,6 @@ AtomExtensionsBrowserClient::GetExtensionSystemFactory() { return extensions::AtomExtensionSystemFactory::GetInstance(); } -void AtomExtensionsBrowserClient::RegisterExtensionInterfaces( - service_manager::BinderRegistryWithArgs* - registry, - content::RenderFrameHost* render_frame_host, - const extensions::Extension* extension) const {} - std::unique_ptr AtomExtensionsBrowserClient::CreateRuntimeAPIDelegate( content::BrowserContext* context) const { diff --git a/shell/browser/extensions/atom_extensions_browser_client.h b/shell/browser/extensions/atom_extensions_browser_client.h index 210185535b2c..08c965d411a3 100644 --- a/shell/browser/extensions/atom_extensions_browser_client.h +++ b/shell/browser/extensions/atom_extensions_browser_client.h @@ -95,11 +95,6 @@ class AtomExtensionsBrowserClient : public extensions::ExtensionsBrowserClient { const extensions::ExtensionId& extension_id) override; bool IsLoggedInAsPublicAccount() override; extensions::ExtensionSystemProvider* GetExtensionSystemFactory() override; - void RegisterExtensionInterfaces( - service_manager::BinderRegistryWithArgs* - registry, - content::RenderFrameHost* render_frame_host, - const extensions::Extension* extension) const override; std::unique_ptr CreateRuntimeAPIDelegate( content::BrowserContext* context) const override; const extensions::ComponentExtensionResourceManager* diff --git a/shell/browser/network_hints_handler_impl.cc b/shell/browser/network_hints_handler_impl.cc index c3743ba0ac19..cc8322436f9d 100644 --- a/shell/browser/network_hints_handler_impl.cc +++ b/shell/browser/network_hints_handler_impl.cc @@ -19,7 +19,8 @@ NetworkHintsHandlerImpl::NetworkHintsHandlerImpl( content::RenderFrameHost* frame_host) : network_hints::SimpleNetworkHintsHandlerImpl( - frame_host->GetProcess()->GetID()), + frame_host->GetProcess()->GetID(), + frame_host->GetRoutingID()), render_frame_host_(frame_host) {} NetworkHintsHandlerImpl::~NetworkHintsHandlerImpl() = default; diff --git a/shell/browser/notifications/linux/libnotify_notification.cc b/shell/browser/notifications/linux/libnotify_notification.cc index 65f4931c836a..ec9aaf700faf 100644 --- a/shell/browser/notifications/linux/libnotify_notification.cc +++ b/shell/browser/notifications/linux/libnotify_notification.cc @@ -12,7 +12,7 @@ #include "base/logging.h" #include "base/strings/string_util.h" #include "base/strings/utf_string_conversions.h" -#include "chrome/browser/ui/libgtkui/gtk_util.h" +#include "chrome/browser/ui/gtk/gtk_util.h" #include "shell/browser/notifications/notification_delegate.h" #include "shell/browser/ui/gtk_util.h" #include "shell/common/application_info.h" diff --git a/shell/browser/ui/file_dialog_gtk.cc b/shell/browser/ui/file_dialog_gtk.cc index fb7ef215f829..b25b51e75116 100644 --- a/shell/browser/ui/file_dialog_gtk.cc +++ b/shell/browser/ui/file_dialog_gtk.cc @@ -10,7 +10,7 @@ #include "base/callback.h" #include "base/files/file_util.h" #include "base/strings/string_util.h" -#include "chrome/browser/ui/libgtkui/gtk_util.h" +#include "chrome/browser/ui/gtk/gtk_util.h" #include "shell/browser/native_window_views.h" #include "shell/browser/unresponsive_suppressor.h" #include "shell/common/gin_converters/file_path_converter.h" @@ -63,7 +63,7 @@ class FileChooserDialog { GTK_RESPONSE_CANCEL, confirm_text, GTK_RESPONSE_ACCEPT, NULL); if (parent_) { parent_->SetEnabled(false); - libgtkui::SetGtkTransientForAura(dialog_, parent_->GetNativeWindow()); + gtk::SetGtkTransientForAura(dialog_, parent_->GetNativeWindow()); gtk_window_set_modal(GTK_WINDOW(dialog_), TRUE); } diff --git a/shell/browser/ui/message_box_gtk.cc b/shell/browser/ui/message_box_gtk.cc index e5ec1bfc6115..d7d4db9e6abb 100644 --- a/shell/browser/ui/message_box_gtk.cc +++ b/shell/browser/ui/message_box_gtk.cc @@ -8,7 +8,7 @@ #include "base/callback.h" #include "base/strings/string_util.h" #include "base/strings/utf_string_conversions.h" -#include "chrome/browser/ui/libgtkui/gtk_util.h" +#include "chrome/browser/ui/gtk/gtk_util.h" #include "shell/browser/browser.h" #include "shell/browser/native_window_observer.h" #include "shell/browser/native_window_views.h" @@ -90,7 +90,7 @@ class GtkMessageBox : public NativeWindowObserver { if (parent_) { parent_->AddObserver(this); static_cast(parent_)->SetEnabled(false); - libgtkui::SetGtkTransientForAura(dialog_, parent_->GetNativeWindow()); + gtk::SetGtkTransientForAura(dialog_, parent_->GetNativeWindow()); gtk_window_set_modal(GTK_WINDOW(dialog_), TRUE); } } diff --git a/shell/browser/ui/views/menu_bar.cc b/shell/browser/ui/views/menu_bar.cc index 0f58f2e421e7..e6ba7de58586 100644 --- a/shell/browser/ui/views/menu_bar.cc +++ b/shell/browser/ui/views/menu_bar.cc @@ -18,7 +18,7 @@ #include "ui/views/widget/widget.h" #if defined(USE_X11) -#include "chrome/browser/ui/libgtkui/gtk_util.h" +#include "chrome/browser/ui/gtk/gtk_util.h" #endif #if defined(OS_WIN) @@ -283,10 +283,10 @@ void MenuBar::RefreshColorCache() { const ui::NativeTheme* theme = GetNativeTheme(); if (theme) { #if defined(USE_X11) - background_color_ = libgtkui::GetBgColor("GtkMenuBar#menubar"); - enabled_color_ = libgtkui::GetFgColor( - "GtkMenuBar#menubar GtkMenuItem#menuitem GtkLabel"); - disabled_color_ = libgtkui::GetFgColor( + background_color_ = gtk::GetBgColor("GtkMenuBar#menubar"); + enabled_color_ = + gtk::GetFgColor("GtkMenuBar#menubar GtkMenuItem#menuitem GtkLabel"); + disabled_color_ = gtk::GetFgColor( "GtkMenuBar#menubar GtkMenuItem#menuitem:disabled GtkLabel"); #else background_color_ = diff --git a/shell/common/application_info_linux.cc b/shell/common/application_info_linux.cc index dfcccfcf632c..76f0da90fb0c 100644 --- a/shell/common/application_info_linux.cc +++ b/shell/common/application_info_linux.cc @@ -12,7 +12,7 @@ #include "base/environment.h" #include "base/logging.h" -#include "chrome/browser/ui/libgtkui/gtk_util.h" +#include "chrome/browser/ui/gtk/gtk_util.h" #include "electron/electron_version.h" #include "shell/common/platform_util.h" diff --git a/shell/common/gin_converters/blink_converter.cc b/shell/common/gin_converters/blink_converter.cc index ce2fce4bedd6..79d38c87160e 100644 --- a/shell/common/gin_converters/blink_converter.cc +++ b/shell/common/gin_converters/blink_converter.cc @@ -13,6 +13,7 @@ #include "base/strings/utf_string_conversions.h" #include "gin/converter.h" #include "shell/common/deprecate_util.h" +#include "shell/common/gin_converters/gfx_converter.h" #include "shell/common/gin_converters/value_converter.h" #include "shell/common/gin_helper/dictionary.h" #include "shell/common/keyboard_util.h" @@ -281,23 +282,6 @@ bool Converter::FromV8( return true; } -template <> -struct Converter> { - static bool FromV8(v8::Isolate* isolate, - v8::Local val, - base::Optional* out) { - gin_helper::Dictionary dict; - if (!ConvertFromV8(isolate, val, &dict)) - return false; - blink::WebPoint point; - bool success = dict.Get("x", &point.x) && dict.Get("y", &point.y); - if (!success) - return false; - out->emplace(point); - return true; - } -}; - bool Converter::FromV8(v8::Isolate* isolate, v8::Local val, blink::WebSize* out) { @@ -327,7 +311,10 @@ bool Converter::FromV8( } dict.Get("screenSize", &out->screen_size); - dict.Get("viewPosition", &out->view_position); + gfx::Point view_position; + if (dict.Get("viewPosition", &view_position)) { + out->view_position = view_position; + } dict.Get("deviceScaleFactor", &out->device_scale_factor); dict.Get("viewSize", &out->view_size); dict.Get("scale", &out->scale); diff --git a/shell/common/gin_converters/blink_converter.h b/shell/common/gin_converters/blink_converter.h index 009fc3900070..7c48465f7ee8 100644 --- a/shell/common/gin_converters/blink_converter.h +++ b/shell/common/gin_converters/blink_converter.h @@ -16,7 +16,6 @@ class WebMouseEvent; class WebMouseWheelEvent; class WebKeyboardEvent; struct WebDeviceEmulationParams; -struct WebPoint; struct WebSize; } // namespace blink @@ -53,13 +52,6 @@ struct Converter { blink::WebMouseWheelEvent* out); }; -template <> -struct Converter { - static bool FromV8(v8::Isolate* isolate, - v8::Local val, - blink::WebPoint* out); -}; - template <> struct Converter { static bool FromV8(v8::Isolate* isolate, diff --git a/shell/common/platform_util_linux.cc b/shell/common/platform_util_linux.cc index 6af946699416..2900c3fbab7d 100644 --- a/shell/common/platform_util_linux.cc +++ b/shell/common/platform_util_linux.cc @@ -12,7 +12,7 @@ #include "base/nix/xdg_util.h" #include "base/process/kill.h" #include "base/process/launch.h" -#include "chrome/browser/ui/libgtkui/gtk_util.h" +#include "chrome/browser/ui/gtk/gtk_util.h" #include "url/gurl.h" #define ELECTRON_TRASH "ELECTRON_TRASH" diff --git a/spec-main/api-app-spec.ts b/spec-main/api-app-spec.ts index 5fdb9a33871d..3d86691b884f 100644 --- a/spec-main/api-app-spec.ts +++ b/spec-main/api-app-spec.ts @@ -241,7 +241,7 @@ describe('app module', () => { const data2 = (await data2Promise)[0].toString('ascii') const secondInstanceArgsReceived: string[] = JSON.parse(data2.toString('ascii')) const expected = process.platform === 'win32' - ? [process.execPath, '--some-switch', '--allow-file-access-from-files', secondInstanceArgsReceived.find(x => x.includes('original-process-start-time')), appPath, 'some-arg'] + ? [process.execPath, '--some-switch', '--allow-file-access-from-files', appPath, 'some-arg'] : secondInstanceArgs expect(secondInstanceArgsReceived).to.eql(expected, `expected ${JSON.stringify(expected)} but got ${data2.toString('ascii')}`) diff --git a/spec-main/chromium-spec.ts b/spec-main/chromium-spec.ts index 04322d905306..fceb4221616e 100644 --- a/spec-main/chromium-spec.ts +++ b/spec-main/chromium-spec.ts @@ -595,7 +595,7 @@ describe('chromium features', () => { } const w = new BrowserWindow({ show: false }) w.loadURL('about:blank') - w.webContents.executeJavaScript(`b = window.open(${JSON.stringify(targetURL)})`) + w.webContents.executeJavaScript(`{ b = window.open(${JSON.stringify(targetURL)}); null }`) const [, window] = await emittedOnce(app, 'browser-window-created') await emittedOnce(window.webContents, 'did-finish-load') expect(await w.webContents.executeJavaScript(`b.location.href`)).to.equal(targetURL) @@ -604,29 +604,29 @@ describe('chromium features', () => { it('defines a window.location setter', async () => { const w = new BrowserWindow({ show: false }) w.loadURL('about:blank') - w.webContents.executeJavaScript(`b = window.open("about:blank")`) + w.webContents.executeJavaScript(`{ b = window.open("about:blank"); null }`) const [, { webContents }] = await emittedOnce(app, 'browser-window-created') await emittedOnce(webContents, 'did-finish-load') // When it loads, redirect - w.webContents.executeJavaScript(`b.location = ${JSON.stringify(`file://${fixturesPath}/pages/base-page.html`)}`) + w.webContents.executeJavaScript(`{ b.location = ${JSON.stringify(`file://${fixturesPath}/pages/base-page.html`)}; null }`) await emittedOnce(webContents, 'did-finish-load') }) it('defines a window.location.href setter', async () => { const w = new BrowserWindow({ show: false }) w.loadURL('about:blank') - w.webContents.executeJavaScript(`b = window.open("about:blank")`) + w.webContents.executeJavaScript(`{ b = window.open("about:blank"); null }`) const [, { webContents }] = await emittedOnce(app, 'browser-window-created') await emittedOnce(webContents, 'did-finish-load') // When it loads, redirect - w.webContents.executeJavaScript(`b.location.href = ${JSON.stringify(`file://${fixturesPath}/pages/base-page.html`)}`) + w.webContents.executeJavaScript(`{ b.location.href = ${JSON.stringify(`file://${fixturesPath}/pages/base-page.html`)}; null }`) await emittedOnce(webContents, 'did-finish-load') }) it('open a blank page when no URL is specified', async () => { const w = new BrowserWindow({ show: false }) w.loadURL('about:blank') - w.webContents.executeJavaScript(`b = window.open()`) + w.webContents.executeJavaScript(`{ b = window.open(); null }`) const [, { webContents }] = await emittedOnce(app, 'browser-window-created') await emittedOnce(webContents, 'did-finish-load') expect(await w.webContents.executeJavaScript(`b.location.href`)).to.equal('about:blank') @@ -635,7 +635,7 @@ describe('chromium features', () => { it('open a blank page when an empty URL is specified', async () => { const w = new BrowserWindow({ show: false }) w.loadURL('about:blank') - w.webContents.executeJavaScript(`b = window.open('')`) + w.webContents.executeJavaScript(`{ b = window.open(''); null }`) const [, { webContents }] = await emittedOnce(app, 'browser-window-created') await emittedOnce(webContents, 'did-finish-load') expect(await w.webContents.executeJavaScript(`b.location.href`)).to.equal('about:blank') @@ -644,7 +644,7 @@ describe('chromium features', () => { it('sets the window title to the specified frameName', async () => { const w = new BrowserWindow({ show: false }) w.loadURL('about:blank') - w.webContents.executeJavaScript(`b = window.open('', 'hello')`) + w.webContents.executeJavaScript(`{ b = window.open('', 'hello'); null }`) const [, window] = await emittedOnce(app, 'browser-window-created') expect(window.getTitle()).to.equal('hello') }) @@ -652,7 +652,7 @@ describe('chromium features', () => { it('does not throw an exception when the frameName is a built-in object property', async () => { const w = new BrowserWindow({ show: false }) w.loadURL('about:blank') - w.webContents.executeJavaScript(`b = window.open('', '__proto__')`) + w.webContents.executeJavaScript(`{ b = window.open('', '__proto__'); null }`) const [, window] = await emittedOnce(app, 'browser-window-created') expect(window.getTitle()).to.equal('__proto__') }) diff --git a/spec-main/index.js b/spec-main/index.js index 5653cd8314b2..d79d766b8121 100644 --- a/spec-main/index.js +++ b/spec-main/index.js @@ -35,7 +35,9 @@ protocol.registerSchemesAsPrivileged([ { scheme: 'cors-blob', privileges: { corsEnabled: true, supportFetchAPI: true } }, { scheme: 'cors', privileges: { corsEnabled: true, supportFetchAPI: true } }, { scheme: 'no-cors', privileges: { supportFetchAPI: true } }, - { scheme: 'no-fetch', privileges: { corsEnabled: true } } + { scheme: 'no-fetch', privileges: { corsEnabled: true } }, + { scheme: 'foo', privileges: { standard: true } }, + { scheme: 'bar', privileges: { standard: true } } ]) app.whenReady().then(() => { diff --git a/spec/fixtures/api/window-open-preload.js b/spec/fixtures/api/window-open-preload.js index ced0c05b1bad..d86205a5b0e8 100644 --- a/spec/fixtures/api/window-open-preload.js +++ b/spec/fixtures/api/window-open-preload.js @@ -1,7 +1,7 @@ const { ipcRenderer } = require('electron') setImmediate(function () { - if (window.location.toString() === 'bar://page') { + if (window.location.toString() === 'bar://page/') { const windowOpenerIsNull = window.opener == null ipcRenderer.send('answer', process.argv, typeof global.process, windowOpenerIsNull) window.close()