From 85718349cc69deb41c62e14784f8d47148e90522 Mon Sep 17 00:00:00 2001 From: "electron-roller[bot]" <84116207+electron-roller[bot]@users.noreply.github.com> Date: Wed, 16 Jun 2021 15:43:51 -0700 Subject: [PATCH] chore: bump chromium to 93.0.4539.0 (main) (#29608) Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com> Co-authored-by: Charles Kerr Co-authored-by: Samuel Attard Co-authored-by: Jeremy Rose --- .circleci/config.yml | 1 + BUILD.gn | 2 +- DEPS | 2 +- .../browser/certificate_manager_model.cc | 11 +++-- patches/boringssl/expose_aes-cfb.patch | 4 +- patches/boringssl/expose_des-ede3.patch | 4 +- patches/chromium/.patches | 2 + .../add_didinstallconditionalfeatures.patch | 12 +++--- ..._scheduler_throttling_per_renderview.patch | 6 +-- patches/chromium/blink_local_frame.patch | 2 +- ..._depend_on_packed_resource_integrity.patch | 10 ++--- patches/chromium/can_create_window.patch | 16 ++++---- ..._v8_initialization_isolate_callbacks.patch | 2 +- ...screationoverridden_with_full_params.patch | 12 +++--- ...esources_not_chrome_for_spellchecker.patch | 4 +- .../disable_color_correct_rendering.patch | 14 +++---- patches/chromium/disable_hidden.patch | 10 ++--- patches/chromium/disable_unload_metrics.patch | 2 +- ...ll_getwebframe_-_view_when_get_blink.patch | 2 +- patches/chromium/dump_syms.patch | 8 ++-- ...xpose_setuseragent_on_networkcontext.patch | 8 ++-- ..._registry_to_multibuffer_data_source.patch | 38 +++++++++--------- ...screen_rendering_with_viz_compositor.patch | 4 +- ...ntcapturercount_in_web_contents_impl.patch | 4 +- patches/chromium/frame_host_manager.patch | 2 +- .../chromium/gritsettings_resource_ids.patch | 4 +- ...sync_with_host_os_mac_on_linux_in_ci.patch | 25 ++++++++++++ .../chromium/mas_disable_remote_layer.patch | 2 +- patches/chromium/mas_no_private_api.patch | 10 ++--- ...emote_certificate_verification_logic.patch | 16 ++++---- .../chromium/notification_provenance.patch | 2 +- patches/chromium/picture-in-picture.patch | 2 +- ...r_changes_to_the_webcontentsobserver.patch | 14 +++---- ...store_base_adaptcallbackforrepeating.patch | 40 +++++++++++++++++++ .../render_widget_host_view_base.patch | 10 ++--- patches/chromium/resource_file_conflict.patch | 6 +-- ...ove_contentrendererclient_shouldfork.patch | 4 +- .../support_mixed_sandbox_with_zygote.patch | 2 +- patches/chromium/web_contents.patch | 6 +-- .../squirrel.mac/build_add_gn_config.patch | 9 +++-- patches/v8/build_gn.patch | 8 ++-- patches/v8/dcheck.patch | 8 ++-- ...export_private_v8_symbols_on_windows.patch | 4 +- patches/v8/expose_mksnapshot.patch | 4 +- .../bluetooth/electron_bluetooth_delegate.cc | 1 - shell/browser/electron_browser_client.cc | 2 +- shell/browser/electron_browser_client.h | 2 +- shell/browser/electron_browser_main_parts.h | 1 + .../electron_extension_message_filter.h | 1 - shell/browser/net/cert_verifier_client.cc | 4 +- shell/browser/net/cert_verifier_client.h | 2 +- .../net/proxying_url_loader_factory.cc | 7 ++-- .../osr/osr_render_widget_host_view.cc | 8 ++-- .../browser/osr/osr_render_widget_host_view.h | 2 +- .../browser/web_contents_permission_helper.cc | 4 +- shell/renderer/renderer_client_base.cc | 2 +- 56 files changed, 231 insertions(+), 163 deletions(-) create mode 100644 patches/chromium/hack_to_allow_gclient_sync_with_host_os_mac_on_linux_in_ci.patch create mode 100644 patches/chromium/refactor_restore_base_adaptcallbackforrepeating.patch diff --git a/.circleci/config.yml b/.circleci/config.yml index 06dac621b77f..d6207e9704b2 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -437,6 +437,7 @@ step-fix-sync-on-mac: &step-fix-sync-on-mac # Fix Clang Install (wrong binary) rm -rf src/third_party/llvm-build python src/tools/clang/scripts/update.py + python src/tools/clang/scripts/update.py --package=lld_mac fi step-install-signing-cert-on-mac: &step-install-signing-cert-on-mac diff --git a/BUILD.gn b/BUILD.gn index 583a72084579..6cc1a63394d3 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -352,7 +352,6 @@ source_set("electron_lib") { "//device/bluetooth", "//device/bluetooth/public/cpp", "//gin", - "//media/blink:blink", "//media/capture/mojom:video_capture", "//media/mojo/mojom", "//net:extras", @@ -369,6 +368,7 @@ source_set("electron_lib") { "//skia", "//third_party/blink/public:blink", "//third_party/blink/public:blink_devtools_inspector_resources", + "//third_party/blink/public/platform/media", "//third_party/boringssl", "//third_party/electron_node:node_lib", "//third_party/inspector_protocol:crdtp", diff --git a/DEPS b/DEPS index 8255ce4d7c5b..e95dc7e9de9e 100644 --- a/DEPS +++ b/DEPS @@ -14,7 +14,7 @@ gclient_gn_args = [ vars = { 'chromium_version': - '93.0.4536.0', + '93.0.4539.0', 'node_version': 'v14.17.0', 'nan_version': diff --git a/chromium_src/chrome/browser/certificate_manager_model.cc b/chromium_src/chrome/browser/certificate_manager_model.cc index b87392f58b2a..af6bc53d6149 100644 --- a/chromium_src/chrome/browser/certificate_manager_model.cc +++ b/chromium_src/chrome/browser/certificate_manager_model.cc @@ -157,15 +157,14 @@ void CertificateManagerModel::GetCertDBOnIOThread( CreationCallback callback) { DCHECK_CURRENTLY_ON(BrowserThread::IO); - auto did_get_cert_db_callback = base::AdaptCallbackForRepeating( - base::BindOnce(&CertificateManagerModel::DidGetCertDBOnIOThread, - std::move(callback))); + auto split_callback = base::SplitOnceCallback(base::BindOnce( + &CertificateManagerModel::DidGetCertDBOnIOThread, std::move(callback))); - net::NSSCertDatabase* cert_db = - GetNSSCertDatabaseForResourceContext(context, did_get_cert_db_callback); + net::NSSCertDatabase* cert_db = GetNSSCertDatabaseForResourceContext( + context, std::move(split_callback.first)); // If the NSS database was already available, |cert_db| is non-null and // |did_get_cert_db_callback| has not been called. Call it explicitly. if (cert_db) - did_get_cert_db_callback.Run(cert_db); + std::move(split_callback.second).Run(cert_db); } diff --git a/patches/boringssl/expose_aes-cfb.patch b/patches/boringssl/expose_aes-cfb.patch index e517d269c225..24189f70ae81 100644 --- a/patches/boringssl/expose_aes-cfb.patch +++ b/patches/boringssl/expose_aes-cfb.patch @@ -12,10 +12,10 @@ https://boringssl-review.googlesource.com/c/boringssl/+/33984 for a similar patch that was merged upstream. diff --git a/crypto/cipher_extra/cipher_extra.c b/crypto/cipher_extra/cipher_extra.c -index b132265bc103658dba3de6e0c3dc50d3634da5b0..588a4773437c311877f275bf3679f9688cda3c46 100644 +index 786a5d5fb13d7ceafc9b7d58c0aaccb88552506d..5ede89f9f0761d1da1baa899e9a02b77ffcffe93 100644 --- a/crypto/cipher_extra/cipher_extra.c +++ b/crypto/cipher_extra/cipher_extra.c -@@ -101,10 +101,14 @@ const EVP_CIPHER *EVP_get_cipherbyname(const char *name) { +@@ -105,10 +105,14 @@ const EVP_CIPHER *EVP_get_cipherbyname(const char *name) { return EVP_des_ede3_cbc(); } else if (OPENSSL_strcasecmp(name, "aes-128-cbc") == 0) { return EVP_aes_128_cbc(); diff --git a/patches/boringssl/expose_des-ede3.patch b/patches/boringssl/expose_des-ede3.patch index 6aeda3f6829c..c0946b0bcb80 100644 --- a/patches/boringssl/expose_des-ede3.patch +++ b/patches/boringssl/expose_des-ede3.patch @@ -6,10 +6,10 @@ Subject: expose des-ede3 This should be upstreamed. diff --git a/crypto/cipher_extra/cipher_extra.c b/crypto/cipher_extra/cipher_extra.c -index 588a4773437c311877f275bf3679f9688cda3c46..e771ed6589b4579cc35300d5b2a1b68d92e444f5 100644 +index 5ede89f9f0761d1da1baa899e9a02b77ffcffe93..8205e121c152fe4e2d8df34a1ac2fe0498381f31 100644 --- a/crypto/cipher_extra/cipher_extra.c +++ b/crypto/cipher_extra/cipher_extra.c -@@ -93,6 +93,8 @@ const EVP_CIPHER *EVP_get_cipherbyname(const char *name) { +@@ -97,6 +97,8 @@ const EVP_CIPHER *EVP_get_cipherbyname(const char *name) { return EVP_rc4(); } else if (OPENSSL_strcasecmp(name, "des-cbc") == 0) { return EVP_des_cbc(); diff --git a/patches/chromium/.patches b/patches/chromium/.patches index 035412a91cc8..b9a43ef0474b 100644 --- a/patches/chromium/.patches +++ b/patches/chromium/.patches @@ -99,3 +99,5 @@ make_include_of_stack_trace_h_unconditional.patch build_libc_as_static_library.patch build_do_not_depend_on_packed_resource_integrity.patch build_read_idl_files_as_utf8_to_fix_python3_character_encodding.patch +refactor_restore_base_adaptcallbackforrepeating.patch +hack_to_allow_gclient_sync_with_host_os_mac_on_linux_in_ci.patch diff --git a/patches/chromium/add_didinstallconditionalfeatures.patch b/patches/chromium/add_didinstallconditionalfeatures.patch index 519290a98b6b..7a6388a7ab2d 100644 --- a/patches/chromium/add_didinstallconditionalfeatures.patch +++ b/patches/chromium/add_didinstallconditionalfeatures.patch @@ -23,7 +23,7 @@ index 3d985164eee3d7d8ef9e7ff2215ec9a17ec157a5..9c1c4fd8528fbb088f1836c8503c5875 int32_t world_id) {} virtual void DidClearWindowObject() {} diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc -index d2a0ef47f32fd0eed6854d4d3c6c6c02a37c3e88..768301dae0e1c8ad0bc8e3f1762670fb636c36d4 100644 +index 105dc2b5db804a699da4173476281b7ff240f0dc..197d97364bb19a1378d57cced8c485e86fda1e18 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc @@ -4263,6 +4263,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local context, @@ -79,7 +79,7 @@ index 83b81f4c1fd4232ee5c2b7b1b7b85424164f3acc..bdd4a0031af6f9c2b701979dd469867c if (World().IsMainWorld()) { GetFrame()->Loader().DispatchDidClearWindowObjectInMainWorld(); diff --git a/third_party/blink/renderer/core/frame/local_frame_client.h b/third_party/blink/renderer/core/frame/local_frame_client.h -index 0ca3b35db57056a86828e0aa80451abb4142eef3..0508e786747eef3d9b7061c42153d166e72d270e 100644 +index fafb45421f5bc348672d20caa23b5b35293db811..1172958ff116b2f98c994245c3c3a42c6a18627b 100644 --- a/third_party/blink/renderer/core/frame/local_frame_client.h +++ b/third_party/blink/renderer/core/frame/local_frame_client.h @@ -298,6 +298,8 @@ class CORE_EXPORT LocalFrameClient : public FrameClient { @@ -92,10 +92,10 @@ index 0ca3b35db57056a86828e0aa80451abb4142eef3..0508e786747eef3d9b7061c42153d166 int32_t world_id) = 0; virtual bool AllowScriptExtensions() = 0; diff --git a/third_party/blink/renderer/core/frame/local_frame_client_impl.cc b/third_party/blink/renderer/core/frame/local_frame_client_impl.cc -index a3f1507a39bfea1f336a42e1f2575e3c1f684603..7aca23d4228680a1419c2e8ed8fa8a44a18c1d80 100644 +index 69b8211729d5b10bad95abc2ed40e9f7844666c7..a2996e454141b1823b6baa0184ccbdde784808ab 100644 --- a/third_party/blink/renderer/core/frame/local_frame_client_impl.cc +++ b/third_party/blink/renderer/core/frame/local_frame_client_impl.cc -@@ -272,6 +272,13 @@ void LocalFrameClientImpl::DidCreateScriptContext( +@@ -273,6 +273,13 @@ void LocalFrameClientImpl::DidCreateScriptContext( web_frame_->Client()->DidCreateScriptContext(context, world_id); } @@ -123,10 +123,10 @@ index a853d0dd0ecfd676b6ada622f38a6546e526be92..d39a81547c3335d6b2ff3219ddcf5f3b int32_t world_id) override; diff --git a/third_party/blink/renderer/core/loader/empty_clients.h b/third_party/blink/renderer/core/loader/empty_clients.h -index f4e37cb5be1a84b9610d2d33f126e040d5ff4822..8cc53215effecb53ee383c33469a27f1e267daf6 100644 +index 461ecb3cf70026a1f6a43a72ed9e0ad6c27296fd..b7e5a66f9dc0d27df09ddaf9483d56af0e892489 100644 --- a/third_party/blink/renderer/core/loader/empty_clients.h +++ b/third_party/blink/renderer/core/loader/empty_clients.h -@@ -349,6 +349,8 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient { +@@ -348,6 +348,8 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient { void DidCreateScriptContext(v8::Local, int32_t world_id) override {} diff --git a/patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch b/patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch index c76e73edbb9a..c7acbe152980 100644 --- a/patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch +++ b/patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch @@ -113,10 +113,10 @@ index 81c88781d0b7d5c662164b787d581dbfddaa138a..b627f400d16ee1c605ef7657dc3ba633 mojom::blink::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 c2e704e745d3859790e73e515c3c1cbcd11ce529..5b3233f4d1f108492f370fc0f6450633dbe713f0 100644 +index 10d9aaaeacf83019edf676ba38d6dfe0d438a789..39e68cc6769d1f389a6eaab13dab3983f992fe69 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.h +++ b/third_party/blink/renderer/core/exported/web_view_impl.h -@@ -408,6 +408,7 @@ class CORE_EXPORT WebViewImpl final : public WebView, +@@ -409,6 +409,7 @@ class CORE_EXPORT WebViewImpl final : public WebView, LocalDOMWindow* PagePopupWindow() const; PageScheduler* Scheduler() const override; @@ -124,7 +124,7 @@ index c2e704e745d3859790e73e515c3c1cbcd11ce529..5b3233f4d1f108492f370fc0f6450633 void SetVisibilityState(mojom::blink::PageVisibilityState visibility_state, bool is_initial_state) override; mojom::blink::PageVisibilityState GetVisibilityState() override; -@@ -833,6 +834,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, +@@ -834,6 +835,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, // If true, we send IPC messages when |preferred_size_| changes. bool send_preferred_size_changes_ = false; diff --git a/patches/chromium/blink_local_frame.patch b/patches/chromium/blink_local_frame.patch index 132c4e6f30d0..b4e1d2d022b0 100644 --- a/patches/chromium/blink_local_frame.patch +++ b/patches/chromium/blink_local_frame.patch @@ -49,7 +49,7 @@ index 8bf6b4bc077cc41da5e0e6b13302bc343537c68f..01bddc0bcb7476408023c4cfc042a088 // its owning reference back to our owning LocalFrame. client_->Detached(type); diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc -index d7610b904d1656e410af376c8c79d5339ef87dca..26091688b05ea60a33e7a0a4b7d101814263f7ff 100644 +index 9eaacc65478f56de32ffa6d02c053bf5d6ea8649..bfbee4c165e545e45fbef47cc6d4556096c79e72 100644 --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc @@ -792,10 +792,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) { diff --git a/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch b/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch index 5b41b18dbe7f..fcbb9a01578e 100644 --- a/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch +++ b/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch @@ -11,7 +11,7 @@ if we ever align our .pak file generation with Chrome we can remove this patch. diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn -index 8e07f7000de932bc9b6bf484b1a9fce4d4580b4a..eac65b694c0a0857f73f75228b8d673bdfcd2b93 100644 +index c0beea906cc463cf55d37924a61cf0ba7eba6ab2..98202508b872221e9242d7ebaf0d03e654d8cecb 100644 --- a/chrome/BUILD.gn +++ b/chrome/BUILD.gn @@ -172,11 +172,16 @@ if (!is_android && !is_mac) { @@ -33,10 +33,10 @@ index 8e07f7000de932bc9b6bf484b1a9fce4d4580b4a..eac65b694c0a0857f73f75228b8d673b "//base", "//build:branding_buildflags", diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn -index a7b5475c29acff9032ceb28f1237c4901559deba..db2b9ea0a08d6dc72afc67b305f628eb2ad67a38 100644 +index c9b47583391472ed9d0e309fe6c5c8cf5b900400..63e29d5b1f1ee6af729feb82ed002d96e1fc582a 100644 --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -4277,7 +4277,7 @@ static_library("browser") { +@@ -4275,7 +4275,7 @@ static_library("browser") { # On Windows, the hashes are embedded in //chrome:chrome_initial rather # than here in :chrome_dll. @@ -46,10 +46,10 @@ index a7b5475c29acff9032ceb28f1237c4901559deba..db2b9ea0a08d6dc72afc67b305f628eb } diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn -index d5f3e36ccf1aad7a88424befeed9d7be59cb4ad5..7a0809f33c376154720e204b1b0456bc59b341b7 100644 +index 9135f841967fc8e85e6befbf23c54d570fd3ce58..43a4578c5cd67179acb2769c17cf82837d505e56 100644 --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn -@@ -5025,10 +5025,15 @@ test("unit_tests") { +@@ -5045,10 +5045,15 @@ test("unit_tests") { assert(toolkit_views) sources += [ "../browser/ui/startup/credential_provider_signin_info_fetcher_win_unittest.cc" ] deps += [ diff --git a/patches/chromium/can_create_window.patch b/patches/chromium/can_create_window.patch index 4a80a3b4cffa..4185e846fca8 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/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc -index 491c8b441dfe84862c8b0caa7941cc1e7d16e331..74b3fb5010895869b606890f1523512cd2ee96af 100644 +index e66ca44bd592a7152bdd34e5ed4c75b1bda1261c..aa69fedec09e2bd51f3b205787bb2b7f0cd76a42 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -5979,6 +5979,7 @@ void RenderFrameHostImpl::CreateNewWindow( +@@ -6001,6 +6001,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,10 +21,10 @@ index 491c8b441dfe84862c8b0caa7941cc1e7d16e331..74b3fb5010895869b606890f1523512c &no_javascript_access); diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index e3146d7cfdfb1f1856edba2e371a8b7589b627a1..952c073cfb1a2385581759b29683f1b66564d99b 100644 +index 05888b53ef39c90941ccc069849f271e60bbd909..95d2a7b15e67e2af6f9aebb0c975f5713762032d 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -3774,6 +3774,14 @@ RenderFrameHostDelegate* WebContentsImpl::CreateNewWindow( +@@ -3756,6 +3756,14 @@ RenderFrameHostDelegate* WebContentsImpl::CreateNewWindow( } auto* new_contents_impl = new_contents.get(); @@ -39,7 +39,7 @@ index e3146d7cfdfb1f1856edba2e371a8b7589b627a1..952c073cfb1a2385581759b29683f1b6 new_contents_impl->GetController().SetSessionStorageNamespace( partition_id, session_storage_namespace); -@@ -3816,12 +3824,6 @@ RenderFrameHostDelegate* WebContentsImpl::CreateNewWindow( +@@ -3798,12 +3806,6 @@ RenderFrameHostDelegate* WebContentsImpl::CreateNewWindow( AddWebContentsDestructionObserver(new_contents_impl); } @@ -68,7 +68,7 @@ index 542a9bb6343b16c4dfe3aebae97ec06073021e52..840d562fcc8e0da12393924d56c2a6f3 // 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 09597633dfd443376784d8645611ab18a903bf23..1fe182db87390b346fa03091dcc177611943d70e 100644 +index ccf2bfaef1cf8ef5a12a6273f67f9aeeb67f49fa..9e2a2492ebeafb5d6a6eda9391f9bed3e457bf21 100644 --- a/content/public/browser/content_browser_client.cc +++ b/content/public/browser/content_browser_client.cc @@ -566,6 +566,8 @@ bool ContentBrowserClient::CanCreateWindow( @@ -81,7 +81,7 @@ index 09597633dfd443376784d8645611ab18a903bf23..1fe182db87390b346fa03091dcc17761 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 7dd2b78088759ffdd80c33cd529adbb93215334f..5ec83c0a56fc91d3c13d97dd8c58a286b6358146 100644 +index 89f07fd6a1062fcf5cfd175b93e52f5d7165ceca..6fb1c8156683647e58de2c8564c276e798fdba70 100644 --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h @@ -160,6 +160,7 @@ class NetworkService; @@ -92,7 +92,7 @@ index 7dd2b78088759ffdd80c33cd529adbb93215334f..5ec83c0a56fc91d3c13d97dd8c58a286 } // namespace network namespace sandbox { -@@ -937,6 +938,8 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -929,6 +930,8 @@ class CONTENT_EXPORT ContentBrowserClient { const std::string& frame_name, WindowOpenDisposition disposition, const blink::mojom::WindowFeatures& features, diff --git a/patches/chromium/chore_expose_v8_initialization_isolate_callbacks.patch b/patches/chromium/chore_expose_v8_initialization_isolate_callbacks.patch index 363ce9a49498..13b9a0d8321d 100644 --- a/patches/chromium/chore_expose_v8_initialization_isolate_callbacks.patch +++ b/patches/chromium/chore_expose_v8_initialization_isolate_callbacks.patch @@ -9,7 +9,7 @@ we're running with contextIsolation enabled, we should be falling back to Blink's logic. This will be upstreamed in some form. 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 e3ad92d44fe90f45f8986f2ba3b6d5af096f831b..dafa7d7e67ed3a870d5ae534124047703c0328f1 100644 +index bcc26d522043fe2f6ce0ffa68e4974340b4568da..a4b0c75ac58fc0df97f486f568ceba2f0c0c6425 100644 --- a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc +++ b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc @@ -448,7 +448,7 @@ CodeGenerationCheckCallbackInMainThread(v8::Local context, diff --git a/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch b/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch index 6e6b328e9f2d..c544d9fe7643 100644 --- a/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch +++ b/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch @@ -140,10 +140,10 @@ index ef84e04d628fb5cdbaf8fbbf84af3bf23e00c522..f1ee0bee5bfd08227a29498f8410d5d3 } diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc -index 335611dcad36ab2bf058015321a9a72d8f77989b..06619bb2a343781edf422d21eb350b285b2419d9 100644 +index a850e0d28bc9a9f54ba17b04a6cc08d1de7c53c0..d369412dd13e05cfebfd07cf3161a7c060a87a55 100644 --- a/chrome/browser/ui/browser.cc +++ b/chrome/browser/ui/browser.cc -@@ -1797,12 +1797,11 @@ bool Browser::IsWebContentsCreationOverridden( +@@ -1786,12 +1786,11 @@ bool Browser::IsWebContentsCreationOverridden( content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -159,10 +159,10 @@ index 335611dcad36ab2bf058015321a9a72d8f77989b..06619bb2a343781edf422d21eb350b28 WebContents* Browser::CreateCustomWebContents( diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h -index 25422f4bbe93f0bb31f88c2e11cd79e95d1845dd..679f93d43a07c27cdc14b1e78beee5c96e666095 100644 +index 682e706b4d73f862241d441de4314b65cb78253d..c31fa011812186e9d2b3ee1515d187f346770a4c 100644 --- a/chrome/browser/ui/browser.h +++ b/chrome/browser/ui/browser.h -@@ -791,8 +791,7 @@ class Browser : public TabStripModelObserver, +@@ -797,8 +797,7 @@ class Browser : public TabStripModelObserver, content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -264,10 +264,10 @@ index c5c5a7b63b5b3b62a9517cbef3ae23ce57a3c89c..4f1b7e88d6d2ae89a60311c8aeb1fcee void AddNewContents(content::WebContents* source, std::unique_ptr new_contents, diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 362889cfb7778385937385849d285bc5c8f28f02..2df013a85ce160272fa8378571eac39d4b66f31d 100644 +index 09ae42633e0635d94b5a1b4f71af943f0cd7bb64..76aac784c441de59e1188a220e6ced4b51be322d 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -3726,8 +3726,7 @@ RenderFrameHostDelegate* WebContentsImpl::CreateNewWindow( +@@ -3708,8 +3708,7 @@ RenderFrameHostDelegate* WebContentsImpl::CreateNewWindow( if (delegate_ && delegate_->IsWebContentsCreationOverridden( source_site_instance, params.window_container_type, diff --git a/patches/chromium/chore_use_electron_resources_not_chrome_for_spellchecker.patch b/patches/chromium/chore_use_electron_resources_not_chrome_for_spellchecker.patch index 85e38c67f3a2..9787d2698e31 100644 --- a/patches/chromium/chore_use_electron_resources_not_chrome_for_spellchecker.patch +++ b/patches/chromium/chore_use_electron_resources_not_chrome_for_spellchecker.patch @@ -7,10 +7,10 @@ spellchecker uses a few IDS_ resources. We need to load these from Electrons grit header instead of Chromes diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn -index 519eba1795836a69c8eab33b3ec094eb15440b9b..a7b5475c29acff9032ceb28f1237c4901559deba 100644 +index 95d495998f5feb4c290ffbc430b380ce136d89e8..c9b47583391472ed9d0e309fe6c5c8cf5b900400 100644 --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -6366,6 +6366,7 @@ static_library("browser") { +@@ -6384,6 +6384,7 @@ static_library("browser") { deps += [ "//components/spellcheck/browser", "//components/spellcheck/common", diff --git a/patches/chromium/disable_color_correct_rendering.patch b/patches/chromium/disable_color_correct_rendering.patch index af7ba55f6d83..83ea0526891c 100644 --- a/patches/chromium/disable_color_correct_rendering.patch +++ b/patches/chromium/disable_color_correct_rendering.patch @@ -81,7 +81,7 @@ index f919df4d79a1168269c1538ac13a2a944586cf4e..fc34cf5d7dab95e7b6fc0576674b3e2b !command_line->HasSwitch(switches::kUIDisablePartialSwap); diff --git a/components/viz/service/display/gl_renderer.cc b/components/viz/service/display/gl_renderer.cc -index 6eb1aa1766528176a1b9b77596031494f8b4fc00..67cc9e57b28d0544256c36c2744917e22b1cf43b 100644 +index 4da975c0f06df7aef526898557f0945dcdd1806a..5810197b0ab6a247e12ae8a6d96f71b2806ac0bc 100644 --- a/components/viz/service/display/gl_renderer.cc +++ b/components/viz/service/display/gl_renderer.cc @@ -89,6 +89,9 @@ @@ -187,7 +187,7 @@ index 6eb1aa1766528176a1b9b77596031494f8b4fc00..67cc9e57b28d0544256c36c2744917e2 /*adjust_src_white_level=*/draw_cache_.is_video_frame, locked_quad.hdr_metadata()); -@@ -3666,7 +3676,9 @@ void GLRenderer::SetUseProgram(const ProgramKey& program_key_no_color, +@@ -3691,7 +3701,9 @@ void GLRenderer::SetUseProgram(const ProgramKey& program_key_no_color, const gfx::ColorSpace& dst_color_space, bool adjust_src_white_level, absl::optional hdr_metadata) { @@ -198,7 +198,7 @@ index 6eb1aa1766528176a1b9b77596031494f8b4fc00..67cc9e57b28d0544256c36c2744917e2 gfx::ColorSpace adjusted_src_color_space = src_color_space; if (adjust_src_white_level && src_color_space.IsHDR()) { // TODO(b/183236148): consider using the destination's HDR static metadata -@@ -4050,9 +4062,9 @@ void GLRenderer::CopyRenderPassDrawQuadToOverlayResource( +@@ -4074,9 +4086,9 @@ void GLRenderer::CopyRenderPassDrawQuadToOverlayResource( cc::MathUtil::CheckedRoundUp(iosurface_height, iosurface_multiple); } @@ -211,7 +211,7 @@ index 6eb1aa1766528176a1b9b77596031494f8b4fc00..67cc9e57b28d0544256c36c2744917e2 *new_bounds = gfx::RectF(updated_dst_rect.origin(), gfx::SizeF((*overlay_texture)->texture.size())); -@@ -4272,8 +4284,8 @@ void GLRenderer::FlushOverdrawFeedback(const gfx::Rect& output_rect) { +@@ -4296,8 +4308,8 @@ void GLRenderer::FlushOverdrawFeedback(const gfx::Rect& output_rect) { PrepareGeometry(SHARED_BINDING); @@ -222,7 +222,7 @@ index 6eb1aa1766528176a1b9b77596031494f8b4fc00..67cc9e57b28d0544256c36c2744917e2 gfx::Transform render_matrix; render_matrix.Translate(0.5 * output_rect.width() + output_rect.x(), -@@ -4463,3 +4475,5 @@ GLRenderer::OverlayTexture::OverlayTexture() = default; +@@ -4487,3 +4499,5 @@ GLRenderer::OverlayTexture::OverlayTexture() = default; GLRenderer::OverlayTexture::~OverlayTexture() = default; } // namespace viz @@ -241,7 +241,7 @@ index 262633bdb89ffefb78091788b4b48d23e0e473e6..69016f864405f87a5ee161b52b9dacf9 sandbox::policy::switches::kGpuSandboxAllowSysVShm, sandbox::policy::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 3a8aa147230ab18d9f1e485decc7eb4995ac111f..abf6ae39e99d4d592412c548cbac78862eeb463f 100644 +index 506888cef32304ae5b27f85f758c9fa38024dfdb..261901ec21e83a3514519041c6a1e626380faa02 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc @@ -213,6 +213,7 @@ @@ -252,7 +252,7 @@ index 3a8aa147230ab18d9f1e485decc7eb4995ac111f..abf6ae39e99d4d592412c548cbac7886 #include "ui/gl/gl_switches.h" #include "ui/native_theme/native_theme_features.h" #include "url/origin.h" -@@ -3317,6 +3318,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( +@@ -3315,6 +3316,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[] = { diff --git a/patches/chromium/disable_hidden.patch b/patches/chromium/disable_hidden.patch index c55a9d2b7bd5..10ff544e4aec 100644 --- a/patches/chromium/disable_hidden.patch +++ b/patches/chromium/disable_hidden.patch @@ -6,10 +6,10 @@ Subject: disable_hidden.patch Electron uses this to disable background throttling for hidden windows. diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc -index 499d2ce54fa960f61bd91c040baa8a989d9b3dc1..f25796e28c6381cc1a844026f9a81e0ce9ddef0f 100644 +index addcbef452fb2c0be97633590ba969a9b1466edc..7188857619477bc3f93dc836f56d4f25a88cc29e 100644 --- a/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc -@@ -744,6 +744,9 @@ void RenderWidgetHostImpl::WasHidden() { +@@ -743,6 +743,9 @@ void RenderWidgetHostImpl::WasHidden() { if (is_hidden_) return; @@ -20,7 +20,7 @@ index 499d2ce54fa960f61bd91c040baa8a989d9b3dc1..f25796e28c6381cc1a844026f9a81e0c blink::mojom::PointerLockResult::kWrongDocument); diff --git a/content/browser/renderer_host/render_widget_host_impl.h b/content/browser/renderer_host/render_widget_host_impl.h -index fc32f198f1aa66d11fc51a793e9d0e495f5acc36..f508236c9ae6f85a90f2e14269ee8ae7bd3625bd 100644 +index e5f7cc5384e530db60f1c561a4e72b33bc6d9e1c..84707bfac659b2d6bb3186b609339f92072044b7 100644 --- a/content/browser/renderer_host/render_widget_host_impl.h +++ b/content/browser/renderer_host/render_widget_host_impl.h @@ -855,6 +855,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl @@ -34,10 +34,10 @@ index fc32f198f1aa66d11fc51a793e9d0e495f5acc36..f508236c9ae6f85a90f2e14269ee8ae7 // |routing_id| must not be MSG_ROUTING_NONE. // If this object outlives |delegate|, DetachDelegate() must be called when diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc -index d8365d0848719b16c8a068dd62861d37e2b10938..f9accc80b305d361dae0874da774e05067438059 100644 +index b302331f7d9ee9029e26a97418745e561307de10..51cd34dc66d11aada15714a319e54e5d2c9d6df6 100644 --- a/content/browser/renderer_host/render_widget_host_view_aura.cc +++ b/content/browser/renderer_host/render_widget_host_view_aura.cc -@@ -595,7 +595,7 @@ void RenderWidgetHostViewAura::HideImpl() { +@@ -594,7 +594,7 @@ void RenderWidgetHostViewAura::HideImpl() { DCHECK(visibility_ == Visibility::HIDDEN || visibility_ == Visibility::OCCLUDED); diff --git a/patches/chromium/disable_unload_metrics.patch b/patches/chromium/disable_unload_metrics.patch index 7e562361e314..8b8e730ac696 100644 --- a/patches/chromium/disable_unload_metrics.patch +++ b/patches/chromium/disable_unload_metrics.patch @@ -24,7 +24,7 @@ This patch temporarily disables the metrics so we can have green CI, and we should continue seeking for a real fix. diff --git a/content/browser/renderer_host/navigator.cc b/content/browser/renderer_host/navigator.cc -index bf827d4e83fc3efb35de8dbb30f27bf3eef1394f..817824317183fa55fe1bc2aec224d4de6967e5a8 100644 +index 7d772e99bd5bdd7c154496ed48e03ea6cc45137b..97a76debd24fb6f225b96e66eb55a83041961e7a 100644 --- a/content/browser/renderer_host/navigator.cc +++ b/content/browser/renderer_host/navigator.cc @@ -1059,6 +1059,7 @@ void Navigator::RecordNavigationMetrics( diff --git a/patches/chromium/don_t_use_potentially_null_getwebframe_-_view_when_get_blink.patch b/patches/chromium/don_t_use_potentially_null_getwebframe_-_view_when_get_blink.patch index 588f3be41e48..d2d10eb72ca2 100644 --- a/patches/chromium/don_t_use_potentially_null_getwebframe_-_view_when_get_blink.patch +++ b/patches/chromium/don_t_use_potentially_null_getwebframe_-_view_when_get_blink.patch @@ -11,7 +11,7 @@ This regressed in https://chromium-review.googlesource.com/c/chromium/src/+/2572 Upstream: https://chromium-review.googlesource.com/c/chromium/src/+/2598393 diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc -index 12c7198e22e07a745949bae3e8a6765899d39875..d8a4990222ce3ba81d51400c57be3c5d94aea953 100644 +index af8c62093b698bc08b80093f93c3b1ffa04fb14f..f6798dce7c6302cb5986afc8567f74e49f8c7bfc 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc @@ -2328,7 +2328,7 @@ const blink::WebView* RenderFrameImpl::GetWebView() const { diff --git a/patches/chromium/dump_syms.patch b/patches/chromium/dump_syms.patch index ab803a48e379..34f697005852 100644 --- a/patches/chromium/dump_syms.patch +++ b/patches/chromium/dump_syms.patch @@ -5,16 +5,16 @@ Subject: dump_syms.patch dylib currently fails to resolve Squirrel.framework on OSX, we need to fix this but it is not a blocker for releasing Electron. This patch removes -the hard fail on dylib resolve failure from dump_syms +tthe hard fail on dylib resolve failure from dump_syms diff --git a/components/crash/content/tools/generate_breakpad_symbols.py b/components/crash/content/tools/generate_breakpad_symbols.py -index 5ad2b1a6cabc0970b8dda3a3313400205eb0da46..b9d387cb7b45bd8ec197872b9fa4bf632c506ca9 100755 +index 1d12ce255505ee5612380cd14d0b127bd7c564d1..3ebbe8add082c648f7444c3a976acf0fa1efcc3f 100755 --- a/components/crash/content/tools/generate_breakpad_symbols.py +++ b/components/crash/content/tools/generate_breakpad_symbols.py -@@ -204,7 +204,7 @@ def GetSharedLibraryDependenciesMac(binary, exe_path): +@@ -205,7 +205,7 @@ def GetSharedLibraryDependenciesMac(binary, exe_path): 'ERROR: failed to resolve %s, exe_path %s, loader_path %s, ' 'rpaths %s' % (m.group(1), exe_path, loader_path, - ', '.join(rpaths))) + ', '.join(rpaths))), file=sys.stderr) - sys.exit(1) + # sys.exit(1) return deps diff --git a/patches/chromium/expose_setuseragent_on_networkcontext.patch b/patches/chromium/expose_setuseragent_on_networkcontext.patch index d20a4843e886..dc1b5af89722 100644 --- a/patches/chromium/expose_setuseragent_on_networkcontext.patch +++ b/patches/chromium/expose_setuseragent_on_networkcontext.patch @@ -33,10 +33,10 @@ index 0ccfe130f00ec3b6c75cd8ee04d5a2777e1fd00c..653829457d58bf92057cc36aa8a28970 DISALLOW_COPY_AND_ASSIGN(StaticHttpUserAgentSettings); }; diff --git a/services/network/network_context.cc b/services/network/network_context.cc -index dcba764424f06d0b1f331ef7dc7f33b307f6a659..0655002a824c4e33b4fc984929cc7969e3305193 100644 +index 4d69ee0e9ccdb27ca168dc1816dcd07396b289c3..ac9db3b33ed1061c8c5035b525deffa8af6d6ad5 100644 --- a/services/network/network_context.cc +++ b/services/network/network_context.cc -@@ -1160,6 +1160,13 @@ void NetworkContext::SetNetworkConditions( +@@ -1184,6 +1184,13 @@ void NetworkContext::SetNetworkConditions( std::move(network_conditions)); } @@ -51,10 +51,10 @@ index dcba764424f06d0b1f331ef7dc7f33b307f6a659..0655002a824c4e33b4fc984929cc7969 // This may only be called on NetworkContexts created with the constructor // that calls MakeURLRequestContext(). diff --git a/services/network/network_context.h b/services/network/network_context.h -index 093a9bcf105b925f6c8a1491f623adcfedf4aa51..efa3f4dd97c2a00da1168f88313b6e4200a7b2ff 100644 +index f233facfe80440d09a389fded2ea4ad01880f08e..c84ff3ba5fb445b803cbb2926610b7c27797b8f3 100644 --- a/services/network/network_context.h +++ b/services/network/network_context.h -@@ -254,6 +254,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -255,6 +255,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext void CloseIdleConnections(CloseIdleConnectionsCallback callback) override; void SetNetworkConditions(const base::UnguessableToken& throttling_profile_id, mojom::NetworkConditionsPtr conditions) override; diff --git a/patches/chromium/feat_add_streaming-protocol_registry_to_multibuffer_data_source.patch b/patches/chromium/feat_add_streaming-protocol_registry_to_multibuffer_data_source.patch index 8e2a5fc7c5db..2d7875d71fd0 100644 --- a/patches/chromium/feat_add_streaming-protocol_registry_to_multibuffer_data_source.patch +++ b/patches/chromium/feat_add_streaming-protocol_registry_to_multibuffer_data_source.patch @@ -12,10 +12,23 @@ This patch adds a list of "streaming protocols" to the MultibufferDataSource in other protocols to register their streaming behavior. MultibufferDataSource::AssumeFullyBuffered() then refers to the list so that it can correctly determine the data source's settings. -diff --git a/media/blink/multibuffer_data_source.cc b/media/blink/multibuffer_data_source.cc -index e43037d541ad5d387d71222d831e7119bbb7c278..d49b92f3605523c62cdc267b1424b06c345a0a8c 100644 ---- a/media/blink/multibuffer_data_source.cc -+++ b/media/blink/multibuffer_data_source.cc +diff --git a/third_party/blink/public/platform/media/multi_buffer_data_source.h b/third_party/blink/public/platform/media/multi_buffer_data_source.h +index afbde40779e7d3056afa19c112059febee2700a4..4ae073d92840c1458e7719e4c1d1df0d348f6875 100644 +--- a/third_party/blink/public/platform/media/multi_buffer_data_source.h ++++ b/third_party/blink/public/platform/media/multi_buffer_data_source.h +@@ -31,6 +31,8 @@ class BufferedDataSourceHost; + class MediaLog; + class MultiBufferReader; + ++void BLINK_PLATFORM_EXPORT AddStreamingScheme(const char* new_scheme); ++ + // A data source capable of loading URLs and buffering the data using an + // in-memory sliding window. + // +diff --git a/third_party/blink/renderer/platform/media/multi_buffer_data_source.cc b/third_party/blink/renderer/platform/media/multi_buffer_data_source.cc +index 15f201e6ecbca2f05e1dd7792df5048068c59359..e7f1f8f6a6262455520cf9de8de69e8bf0a79c55 100644 +--- a/third_party/blink/renderer/platform/media/multi_buffer_data_source.cc ++++ b/third_party/blink/renderer/platform/media/multi_buffer_data_source.cc @@ -10,9 +10,11 @@ #include "base/callback_helpers.h" #include "base/location.h" @@ -26,8 +39,8 @@ index e43037d541ad5d387d71222d831e7119bbb7c278..d49b92f3605523c62cdc267b1424b06c #include "base/single_thread_task_runner.h" +#include "base/strings/string_util.h" #include "media/base/media_log.h" - #include "media/blink/buffered_data_source_host_impl.h" - #include "media/blink/multibuffer_reader.h" + #include "net/base/net_errors.h" + #include "third_party/blink/public/platform/media/buffered_data_source_host_impl.h" @@ -60,10 +62,22 @@ const int kUpdateBufferSizeFrequency = 32; // How long to we delay a seek after a read? constexpr base::TimeDelta kSeekDelay = base::TimeDelta::FromMilliseconds(20); @@ -67,16 +80,3 @@ index e43037d541ad5d387d71222d831e7119bbb7c278..d49b92f3605523c62cdc267b1424b06c } void MultiBufferDataSource::SetReader(MultiBufferReader* reader) { -diff --git a/media/blink/multibuffer_data_source.h b/media/blink/multibuffer_data_source.h -index 1ee6944629ab348f327848f6bda8b521e9fc3db4..3c4dfcf25ec67a8ca1e3a2ae1941386990e63827 100644 ---- a/media/blink/multibuffer_data_source.h -+++ b/media/blink/multibuffer_data_source.h -@@ -31,6 +31,8 @@ class BufferedDataSourceHost; - class MediaLog; - class MultiBufferReader; - -+void MEDIA_BLINK_EXPORT AddStreamingScheme(const char* new_scheme); -+ - // A data source capable of loading URLs and buffering the data using an - // in-memory sliding window. - // diff --git a/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch b/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch index 916ad8aa9a5b..65c282b9867d 100644 --- a/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch +++ b/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch @@ -511,7 +511,7 @@ index 6ea2c624e1e31414bf8765582ab89dd0551c1111..07248135401dc29d6747c91edd027b0a // Creating output surface failed. The host can send a new request, possibly // with a different compositing mode. diff --git a/content/browser/compositor/viz_process_transport_factory.cc b/content/browser/compositor/viz_process_transport_factory.cc -index 83a23404d1c029af6f7e7aa695bfe60e71d86fde..eef92d3366715774670ebcdcb76ad84ddd8a4ed0 100644 +index 50ff2c9facc2a2155bd0882924335294277fe3b6..ef7707d5195bfba3675e5aed6f2bc3b63bec51cf 100644 --- a/content/browser/compositor/viz_process_transport_factory.cc +++ b/content/browser/compositor/viz_process_transport_factory.cc @@ -395,8 +395,14 @@ void VizProcessTransportFactory::OnEstablishedGpuChannel( @@ -532,7 +532,7 @@ index 83a23404d1c029af6f7e7aa695bfe60e71d86fde..eef92d3366715774670ebcdcb76ad84d compositor_data.display_client->GetBoundRemote(resize_task_runner_); diff --git a/services/viz/privileged/mojom/compositing/display_private.mojom b/services/viz/privileged/mojom/compositing/display_private.mojom -index 03ad7c39128fc408d576a23e595021ffa3238423..de1c1f6984f8d81081643415d1724bce333ca940 100644 +index 409115f95787e3cf037f762a33368b173441012f..45a7a1607b8711420ba4e1a5455a61fb7d8b75ac 100644 --- a/services/viz/privileged/mojom/compositing/display_private.mojom +++ b/services/viz/privileged/mojom/compositing/display_private.mojom @@ -90,7 +90,6 @@ interface DisplayClient { diff --git a/patches/chromium/fix_expose_decrementcapturercount_in_web_contents_impl.patch b/patches/chromium/fix_expose_decrementcapturercount_in_web_contents_impl.patch index 2608f3c22a9e..2d4a3bded214 100644 --- a/patches/chromium/fix_expose_decrementcapturercount_in_web_contents_impl.patch +++ b/patches/chromium/fix_expose_decrementcapturercount_in_web_contents_impl.patch @@ -8,10 +8,10 @@ we invoke it in order to expose contents.decrementCapturerCount([stayHidden, sta to users. We should try to upstream this. diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h -index c8013e9462f10dbd2ddc78f614f04351a9568acf..0a13ec5e447c1dcb8984712bd578960750b39d6d 100644 +index aa6b35d85fcbd1378a96c027a1f9e72660911484..3580cda37034922643dd15f9e92977c051532a99 100644 --- a/content/browser/web_contents/web_contents_impl.h +++ b/content/browser/web_contents/web_contents_impl.h -@@ -1769,10 +1769,12 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents, +@@ -1765,10 +1765,12 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents, // outermost frame trees in this WebContents. std::vector GetOutermostMainFrames(); diff --git a/patches/chromium/frame_host_manager.patch b/patches/chromium/frame_host_manager.patch index a4da923fe994..6c13686ecf59 100644 --- a/patches/chromium/frame_host_manager.patch +++ b/patches/chromium/frame_host_manager.patch @@ -20,7 +20,7 @@ index 79caf35e2fb7a752c88418216731cbc27065447c..1ffdf5ce375255fcd0fffff4d2eb526f } diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h -index 5ec83c0a56fc91d3c13d97dd8c58a286b6358146..7f729a5e626eb6025d9f3b761e4210eb06db3971 100644 +index 6fb1c8156683647e58de2c8564c276e798fdba70..90756aa3e0bbdbc32e991602818ca17e64f525b6 100644 --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h @@ -265,6 +265,11 @@ class CONTENT_EXPORT ContentBrowserClient { diff --git a/patches/chromium/gritsettings_resource_ids.patch b/patches/chromium/gritsettings_resource_ids.patch index ac2397617a8f..9acc3c18dc9d 100644 --- a/patches/chromium/gritsettings_resource_ids.patch +++ b/patches/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.spec b/tools/gritsettings/resource_ids.spec -index 699091dadd3aa262df4d81387851fda479a48457..b1cc92faca468b9ccb9d63f5eae98ae4b9ac5e3a 100644 +index 5b357dc8e522ade6bae00396db62ef6fac2867bb..593dca9a693b8da5d12bfd0e48cbb9223f009dfe 100644 --- a/tools/gritsettings/resource_ids.spec +++ b/tools/gritsettings/resource_ids.spec -@@ -782,6 +782,11 @@ +@@ -786,6 +786,11 @@ "includes": [3880], }, diff --git a/patches/chromium/hack_to_allow_gclient_sync_with_host_os_mac_on_linux_in_ci.patch b/patches/chromium/hack_to_allow_gclient_sync_with_host_os_mac_on_linux_in_ci.patch new file mode 100644 index 000000000000..9a8c11d4ba17 --- /dev/null +++ b/patches/chromium/hack_to_allow_gclient_sync_with_host_os_mac_on_linux_in_ci.patch @@ -0,0 +1,25 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jeremy Rose +Date: Tue, 15 Jun 2021 15:16:12 -0700 +Subject: hack to allow gclient sync with host_os=mac on linux in CI + +This is a hack to work around the fact that we run `gclient sync` for +our macOS CI on Linux. + +If removing this patch causes no sync failures, it's safe to delete :+1: + +Ref https://chromium-review.googlesource.com/c/chromium/src/+/2953903 + +diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py +index 0f78c1ce6d8d6729052ff591bdb1b44e090baead..0b208ceeb92cb057ee427c3fa87371c8e6bf42c8 100755 +--- a/tools/clang/scripts/update.py ++++ b/tools/clang/scripts/update.py +@@ -294,6 +294,8 @@ def main(): + 'win32': 'win', + } + default_host_os = _PLATFORM_HOST_OS_MAP.get(sys.platform, sys.platform) ++ if "host_os=mac" in os.environ.get('GCLIENT_EXTRA_ARGS', ''): ++ default_host_os = 'mac' + if default_host_os == 'mac' and platform.machine() == 'arm64': + default_host_os = 'mac-arm64' + diff --git a/patches/chromium/mas_disable_remote_layer.patch b/patches/chromium/mas_disable_remote_layer.patch index 5ca8180480c5..71651b7052d5 100644 --- a/patches/chromium/mas_disable_remote_layer.patch +++ b/patches/chromium/mas_disable_remote_layer.patch @@ -40,7 +40,7 @@ index d565d2ab23d7a42e6787b58103fd40a8675b8e28..4cb9681c1f810a0cbd7f7ef04c4a7c73 gfx::Size pixel_size_; diff --git a/gpu/ipc/service/image_transport_surface_overlay_mac.mm b/gpu/ipc/service/image_transport_surface_overlay_mac.mm -index 26c5873ab995a7ff354532d1952c33b758131c90..6e1d1bbf146c0b1c344646207ffb09de2e6e9b0d 100644 +index e50c7c28083e731597bf8cc9d2ded070fa0d45c9..abbe71d404e358f7fb14e810c5ab5823f0362113 100644 --- a/gpu/ipc/service/image_transport_surface_overlay_mac.mm +++ b/gpu/ipc/service/image_transport_surface_overlay_mac.mm @@ -53,7 +53,7 @@ diff --git a/patches/chromium/mas_no_private_api.patch b/patches/chromium/mas_no_private_api.patch index 6c67fb8c6e05..51bfec3cdd77 100644 --- a/patches/chromium/mas_no_private_api.patch +++ b/patches/chromium/mas_no_private_api.patch @@ -46,10 +46,10 @@ index 65adc773e82d99c5dd57d52e84a71e67d676be13..f5d0318c1c4fa036a233142cd6eea0a0 NSArray* node_array, const LineIndexer* line_indexer) const { diff --git a/content/browser/accessibility/accessibility_tree_formatter_utils_mac.mm b/content/browser/accessibility/accessibility_tree_formatter_utils_mac.mm -index 3e47fed937bf05eff5417d457c85cfb73af7c55f..c21833838d60cad275630be9d2d202f4c1b70c15 100644 +index 517f501c3f9dc2e83a918d02564d123115b67d82..9dc0c66a357b378345a28b271d4e65dee343cdd2 100644 --- a/content/browser/accessibility/accessibility_tree_formatter_utils_mac.mm +++ b/content/browser/accessibility/accessibility_tree_formatter_utils_mac.mm -@@ -204,6 +204,7 @@ +@@ -243,6 +243,7 @@ property_name == "AXTextMarkerRangeForUIElement") { // UIElement return OptionalNSObject::NotNilOrError(PropertyNodeToUIElement(arg_node)); } @@ -57,7 +57,7 @@ index 3e47fed937bf05eff5417d457c85cfb73af7c55f..c21833838d60cad275630be9d2d202f4 if (property_name == "AXIndexForTextMarker" || property_name == "AXNextWordEndTextMarkerForTextMarker" || property_name == -@@ -214,6 +215,7 @@ +@@ -253,6 +254,7 @@ return OptionalNSObject::NotNilOrError( PropertyNodeToTextMarkerRange(arg_node)); } @@ -65,7 +65,7 @@ index 3e47fed937bf05eff5417d457c85cfb73af7c55f..c21833838d60cad275630be9d2d202f4 return OptionalNSObject::NotApplicable(); } -@@ -279,6 +281,7 @@ +@@ -318,6 +320,7 @@ return uielement; } @@ -73,7 +73,7 @@ index 3e47fed937bf05eff5417d457c85cfb73af7c55f..c21833838d60cad275630be9d2d202f4 id AttributeInvoker::DictNodeToTextMarker( const AXPropertyNode& dictnode) const { if (!dictnode.IsDict()) { -@@ -386,6 +389,7 @@ OptionalNSObject TextMarkerRangeGetEndMarker(const OptionalNSObject& obj) { +@@ -425,6 +428,7 @@ OptionalNSObject TextMarkerRangeGetEndMarker(const OptionalNSObject& obj) { return OptionalNSObject::NotNilOrError(content::AXTextMarkerFrom( cocoa_node, range.focus()->text_offset(), range.focus()->affinity())); } 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 8b83de86c928..8b8e24628a91 100644 --- a/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch +++ b/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch @@ -7,7 +7,7 @@ This adds a callback from the network service that's used to implement session.setCertificateVerifyCallback. diff --git a/services/network/network_context.cc b/services/network/network_context.cc -index 2928935f9c96adcf40173ddb80641c35d027d39e..dcba764424f06d0b1f331ef7dc7f33b307f6a659 100644 +index 071a5e4611cbf98e5e0e4bc4ac09936e76d7dea9..4d69ee0e9ccdb27ca168dc1816dcd07396b289c3 100644 --- a/services/network/network_context.cc +++ b/services/network/network_context.cc @@ -117,6 +117,11 @@ @@ -22,7 +22,7 @@ index 2928935f9c96adcf40173ddb80641c35d027d39e..dcba764424f06d0b1f331ef7dc7f33b3 #if BUILDFLAG(IS_CT_SUPPORTED) #include "components/certificate_transparency/chrome_ct_policy_enforcer.h" #include "components/certificate_transparency/chrome_require_ct_delegate.h" -@@ -376,6 +381,79 @@ bool SCTAuditingDelegate::IsSCTAuditingEnabled() { +@@ -400,6 +405,79 @@ void GetCTPolicyConfigForCTLogInfo( } // namespace @@ -102,7 +102,7 @@ index 2928935f9c96adcf40173ddb80641c35d027d39e..dcba764424f06d0b1f331ef7dc7f33b3 constexpr uint32_t NetworkContext::kMaxOutstandingRequestsPerProcess; NetworkContext::PendingCertVerify::PendingCertVerify() = default; -@@ -575,6 +653,13 @@ void NetworkContext::SetClient( +@@ -599,6 +677,13 @@ void NetworkContext::SetClient( client_.Bind(std::move(client)); } @@ -116,7 +116,7 @@ index 2928935f9c96adcf40173ddb80641c35d027d39e..dcba764424f06d0b1f331ef7dc7f33b3 void NetworkContext::CreateURLLoaderFactory( mojo::PendingReceiver receiver, mojom::URLLoaderFactoryParamsPtr params) { -@@ -1952,6 +2037,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( +@@ -1989,6 +2074,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( std::move(cert_verifier)); cert_verifier = base::WrapUnique(cert_verifier_with_trust_anchors_); #endif // BUILDFLAG(IS_CHROMEOS_ASH) @@ -127,10 +127,10 @@ index 2928935f9c96adcf40173ddb80641c35d027d39e..dcba764424f06d0b1f331ef7dc7f33b3 builder.SetCertVerifier(IgnoreErrorsCertVerifier::MaybeWrapCertVerifier( diff --git a/services/network/network_context.h b/services/network/network_context.h -index a0fbfe19e9c0a5ff841fd8673b331486f3b698fd..093a9bcf105b925f6c8a1491f623adcfedf4aa51 100644 +index 184db7d51c405494deaa418a66eff9d1dc332cd6..f233facfe80440d09a389fded2ea4ad01880f08e 100644 --- a/services/network/network_context.h +++ b/services/network/network_context.h -@@ -90,6 +90,7 @@ class DomainReliabilityMonitor; +@@ -91,6 +91,7 @@ class DomainReliabilityMonitor; namespace network { class CertVerifierWithTrustAnchors; @@ -138,7 +138,7 @@ index a0fbfe19e9c0a5ff841fd8673b331486f3b698fd..093a9bcf105b925f6c8a1491f623adcf class CookieManager; class ExpectCTReporter; class HostResolver; -@@ -194,6 +195,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -195,6 +196,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext void CreateURLLoaderFactory( mojo::PendingReceiver receiver, mojom::URLLoaderFactoryParamsPtr params) override; @@ -147,7 +147,7 @@ index a0fbfe19e9c0a5ff841fd8673b331486f3b698fd..093a9bcf105b925f6c8a1491f623adcf void ResetURLLoaderFactories() override; void GetCookieManager( mojo::PendingReceiver receiver) override; -@@ -700,6 +703,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -707,6 +710,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext CertVerifierWithTrustAnchors* cert_verifier_with_trust_anchors_ = nullptr; #endif diff --git a/patches/chromium/notification_provenance.patch b/patches/chromium/notification_provenance.patch index c813cb47d855..a9241cf2a334 100644 --- a/patches/chromium/notification_provenance.patch +++ b/patches/chromium/notification_provenance.patch @@ -108,7 +108,7 @@ index b195cb84d8bba3c51b04f8c32cf909d15bf34335..37528715db985d12771ba2dca86dcec8 const GURL& document_url, mojo::PendingReceiver receiver); diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc -index f0b0a33da3ea2c38b6f83631999b936375c0233c..b6b10e30c06016eb4a56722c470d2b2d54a0209b 100644 +index 6fcb17275b7ea709f9a2d69db2e08d8d8f65826c..953797c2efaa9de150b6a43f6a2a59fe031af236 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc @@ -2269,7 +2269,7 @@ void RenderProcessHostImpl::CreateNotificationService( diff --git a/patches/chromium/picture-in-picture.patch b/patches/chromium/picture-in-picture.patch index 502777e572f4..0164d870513e 100644 --- a/patches/chromium/picture-in-picture.patch +++ b/patches/chromium/picture-in-picture.patch @@ -61,7 +61,7 @@ index 4b741d67c4c20766e248f0799825103ba4f2a1ce..adf85811da98e1666e8e93e5b339e176 #include "ui/base/l10n/l10n_util.h" #include "ui/gfx/paint_vector_icon.h" diff --git a/chrome/browser/ui/views/overlay/overlay_window_views.cc b/chrome/browser/ui/views/overlay/overlay_window_views.cc -index da92f8e841ccd6b239b4f081518921da1d3afb79..b443212cb77afe875df37fed820175f09aca1899 100644 +index d094b65029c7d73a77238844b9f31ffbf3ddbafd..61ecfb4dee4b6bca43721039651752793d30fab6 100644 --- a/chrome/browser/ui/views/overlay/overlay_window_views.cc +++ b/chrome/browser/ui/views/overlay/overlay_window_views.cc @@ -16,9 +16,11 @@ diff --git a/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch b/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch index 52dda5746816..33229fc69610 100644 --- a/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch +++ b/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch @@ -8,7 +8,7 @@ Chrome moved the SetCursor IPC message to mojo, which we use to tell OSR about ` Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2172779 diff --git a/content/browser/renderer_host/render_widget_host_delegate.h b/content/browser/renderer_host/render_widget_host_delegate.h -index 24933acc8579ce057178ad36c42069c38df20581..483cdbe9abb299419afebe1f3abaf5d84372fadf 100644 +index 591d412c780a87c8aaffb71e812774ab7a3e2612..cebe9c6943001e0a0a02b82cfd49fc0617871625 100644 --- a/content/browser/renderer_host/render_widget_host_delegate.h +++ b/content/browser/renderer_host/render_widget_host_delegate.h @@ -14,6 +14,7 @@ @@ -19,7 +19,7 @@ index 24933acc8579ce057178ad36c42069c38df20581..483cdbe9abb299419afebe1f3abaf5d8 #include "content/public/common/drop_data.h" #include "services/metrics/public/cpp/ukm_recorder.h" #include "third_party/abseil-cpp/absl/types/optional.h" -@@ -256,6 +257,9 @@ class CONTENT_EXPORT RenderWidgetHostDelegate { +@@ -260,6 +261,9 @@ class CONTENT_EXPORT RenderWidgetHostDelegate { // Returns the associated RenderViewHostDelegateView*, if possible. virtual RenderViewHostDelegateView* GetDelegateView(); @@ -30,10 +30,10 @@ index 24933acc8579ce057178ad36c42069c38df20581..483cdbe9abb299419afebe1f3abaf5d8 // RenderWidgetHost on the main frame, and false otherwise. virtual bool IsWidgetForMainFrame(RenderWidgetHostImpl*); diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc -index f25796e28c6381cc1a844026f9a81e0ce9ddef0f..158dcb7306dd41d8053b1d07780393d62e659df3 100644 +index 7188857619477bc3f93dc836f56d4f25a88cc29e..ba6e00b0b168c46fbb983937466a5fd4f72bca5d 100644 --- a/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc -@@ -1978,6 +1978,8 @@ void RenderWidgetHostImpl::FilterDropData(DropData* drop_data) { +@@ -1979,6 +1979,8 @@ void RenderWidgetHostImpl::FilterDropData(DropData* drop_data) { void RenderWidgetHostImpl::SetCursor(const ui::Cursor& cursor) { if (view_) view_->UpdateCursor(WebCursor(cursor)); @@ -43,10 +43,10 @@ index f25796e28c6381cc1a844026f9a81e0ce9ddef0f..158dcb7306dd41d8053b1d07780393d6 void RenderWidgetHostImpl::ShowContextMenuAtPoint( diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 952c073cfb1a2385581759b29683f1b66564d99b..362889cfb7778385937385849d285bc5c8f28f02 100644 +index 95d2a7b15e67e2af6f9aebb0c975f5713762032d..09ae42633e0635d94b5a1b4f71af943f0cd7bb64 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -4334,6 +4334,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() { +@@ -4316,6 +4316,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() { return text_input_manager_.get(); } @@ -59,7 +59,7 @@ index 952c073cfb1a2385581759b29683f1b66564d99b..362889cfb7778385937385849d285bc5 RenderWidgetHostImpl* render_widget_host) { return render_widget_host == GetMainFrame()->GetRenderWidgetHost(); diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h -index cd007f4547a6009877fd902b6720faa7c5e5d704..c8013e9462f10dbd2ddc78f614f04351a9568acf 100644 +index 7ba50c203e96b98774fe92f7c772de236deba824..aa6b35d85fcbd1378a96c027a1f9e72660911484 100644 --- a/content/browser/web_contents/web_contents_impl.h +++ b/content/browser/web_contents/web_contents_impl.h @@ -969,6 +969,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents, diff --git a/patches/chromium/refactor_restore_base_adaptcallbackforrepeating.patch b/patches/chromium/refactor_restore_base_adaptcallbackforrepeating.patch new file mode 100644 index 000000000000..94b1ec5aefbe --- /dev/null +++ b/patches/chromium/refactor_restore_base_adaptcallbackforrepeating.patch @@ -0,0 +1,40 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Charles Kerr +Date: Wed, 9 Jun 2021 14:28:08 -0500 +Subject: refactor: restore base::AdaptCallbackForRepeating + +Undo https://chromium-review.googlesource.com/c/chromium/src/+/2941842 +to reinstate base::AdaptCallbackForRepeating(). It was removed to fix +https://bugs.chromium.org/p/chromium/issues/detail?id=730593 . + +We use AdaptCallbackForRepeating() in about a dozen places. This patch +should be removed as soon as those have been updated. Patching because +every instance is a FTBFS that prevents testing any one instance's fix. + +diff --git a/base/callback_helpers.h b/base/callback_helpers.h +index 864296839c7131a42569de35bec72ad33adf3b25..20b3436d5f0129963d023a548d54bb9f168f5b65 100644 +--- a/base/callback_helpers.h ++++ b/base/callback_helpers.h +@@ -94,6 +94,22 @@ class OnceCallbackHolder final { + + } // namespace internal + ++// Wraps the given OnceCallback into a RepeatingCallback that relays its ++// invocation to the original OnceCallback on the first invocation. The ++// following invocations are just ignored. ++// ++// Note that this deliberately subverts the Once/Repeating paradigm of Callbacks ++// but helps ease the migration from old-style Callbacks. Avoid if possible; use ++// if necessary for migration. TODO(tzik): Remove it. https://crbug.com/730593 ++template ++RepeatingCallback AdaptCallbackForRepeating( ++ OnceCallback callback) { ++ using Helper = internal::OnceCallbackHolder; ++ return base::BindRepeating( ++ &Helper::Run, std::make_unique(std::move(callback), ++ /*ignore_extra_runs=*/true)); ++} ++ + // Wraps the given OnceCallback and returns two OnceCallbacks with an identical + // signature. On first invokation of either returned callbacks, the original + // callback is invoked. Invoking the remaining callback results in a crash. diff --git a/patches/chromium/render_widget_host_view_base.patch b/patches/chromium/render_widget_host_view_base.patch index 1be3f7eda0ee..ae330ddc2151 100644 --- a/patches/chromium/render_widget_host_view_base.patch +++ b/patches/chromium/render_widget_host_view_base.patch @@ -6,7 +6,7 @@ Subject: render_widget_host_view_base.patch ... something to do with OSR? and maybe as well? terrifying. 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 ec0d6b0acbc8945eaeddc24b1b7fc89cba575c5b..43412e27c8a515e3889f1639fd560537de35a403 100644 +index 3e66a34ed1dabececdc508bb1bc8711b4da21096..d1eebf26451c584f069a493dbc7d92e702d8b1aa 100644 --- a/content/browser/renderer_host/render_widget_host_view_base.cc +++ b/content/browser/renderer_host/render_widget_host_view_base.cc @@ -664,6 +664,13 @@ bool RenderWidgetHostViewBase::ScreenRectIsUnstableFor( @@ -24,7 +24,7 @@ index ec0d6b0acbc8945eaeddc24b1b7fc89cba575c5b..43412e27c8a515e3889f1639fd560537 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 9e20702506673230590177add5845d09b2def665..31b167720f702576a42a169fd6c094635424ecfa 100644 +index 6c9aa1e30be7dfb105e722096a159bb3be1697b6..d7676abb4a04dcb4e2851c29473e0ac70cc36c51 100644 --- a/content/browser/renderer_host/render_widget_host_view_base.h +++ b/content/browser/renderer_host/render_widget_host_view_base.h @@ -24,8 +24,10 @@ @@ -38,7 +38,7 @@ index 9e20702506673230590177add5845d09b2def665..31b167720f702576a42a169fd6c09463 #include "content/public/browser/render_widget_host_view.h" #include "content/public/browser/visibility.h" #include "content/public/common/widget_type.h" -@@ -66,9 +68,11 @@ class CursorManager; +@@ -67,9 +69,11 @@ class CursorManager; class MouseWheelPhaseHandler; class RenderWidgetHostImpl; class RenderWidgetHostViewBaseObserver; @@ -50,7 +50,7 @@ index 9e20702506673230590177add5845d09b2def665..31b167720f702576a42a169fd6c09463 class WebCursor; class WebContentsAccessibility; class DelegatedFrameHost; -@@ -137,6 +141,9 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView { +@@ -138,6 +142,9 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView { bool show_reason_unoccluded, bool show_reason_bfcache_restore) final; @@ -60,7 +60,7 @@ index 9e20702506673230590177add5845d09b2def665..31b167720f702576a42a169fd6c09463 // This only needs to be overridden by RenderWidgetHostViewBase subclasses // that handle content embedded within other RenderWidgetHostViews. gfx::PointF TransformPointToRootCoordSpaceF( -@@ -299,6 +306,11 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView { +@@ -300,6 +307,11 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView { virtual void ProcessGestureEvent(const blink::WebGestureEvent& event, const ui::LatencyInfo& latency); diff --git a/patches/chromium/resource_file_conflict.patch b/patches/chromium/resource_file_conflict.patch index 91febd02ac19..584261c7c82d 100644 --- a/patches/chromium/resource_file_conflict.patch +++ b/patches/chromium/resource_file_conflict.patch @@ -52,10 +52,10 @@ Some alternatives to this patch: None of these options seems like a substantial maintainability win over this patch to me (@nornagon). diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn -index ac58c2e6696a3e8278dd9d017b4b9671e671edf6..8e07f7000de932bc9b6bf484b1a9fce4d4580b4a 100644 +index 3aeda626f18b23cb79e81710c08c353b5abe6651..c0beea906cc463cf55d37924a61cf0ba7eba6ab2 100644 --- a/chrome/BUILD.gn +++ b/chrome/BUILD.gn -@@ -1536,7 +1536,7 @@ if (is_chrome_branded && !is_android) { +@@ -1532,7 +1532,7 @@ if (is_chrome_branded && !is_android) { } } @@ -64,7 +64,7 @@ index ac58c2e6696a3e8278dd9d017b4b9671e671edf6..8e07f7000de932bc9b6bf484b1a9fce4 chrome_paks("packed_resources") { if (is_mac) { output_dir = "$root_gen_dir/repack" -@@ -1564,6 +1564,12 @@ if (!is_android) { +@@ -1560,6 +1560,12 @@ if (!is_android) { } } diff --git a/patches/chromium/revert_remove_contentrendererclient_shouldfork.patch b/patches/chromium/revert_remove_contentrendererclient_shouldfork.patch index 3db1b133d016..5b20b2f77561 100644 --- a/patches/chromium/revert_remove_contentrendererclient_shouldfork.patch +++ b/patches/chromium/revert_remove_contentrendererclient_shouldfork.patch @@ -88,10 +88,10 @@ index d8c7a1954d5acc0eb4bb675795038eae0e16bc05..bfc7b531b3d0958d8638330eb155e85c // |url|. If the function returns a valid |new_url|, the request must be // updated to use it. diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc -index 768301dae0e1c8ad0bc8e3f1762670fb636c36d4..12c7198e22e07a745949bae3e8a6765899d39875 100644 +index 197d97364bb19a1378d57cced8c485e86fda1e18..af8c62093b698bc08b80093f93c3b1ffa04fb14f 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc -@@ -5038,6 +5038,22 @@ void RenderFrameImpl::BeginNavigation( +@@ -5039,6 +5039,22 @@ void RenderFrameImpl::BeginNavigation( // we can do a per-frame check here rather than a process-wide check. bool should_fork = HasWebUIScheme(url) || HasWebUIScheme(old_url) || (enabled_bindings_ & kWebUIBindingsPolicyMask); diff --git a/patches/chromium/support_mixed_sandbox_with_zygote.patch b/patches/chromium/support_mixed_sandbox_with_zygote.patch index efb0b1799cdc..a3c4b811e730 100644 --- a/patches/chromium/support_mixed_sandbox_with_zygote.patch +++ b/patches/chromium/support_mixed_sandbox_with_zygote.patch @@ -22,7 +22,7 @@ However, the patch would need to be reviewed by the security team, as it does touch a security-sensitive class. diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc -index b6b10e30c06016eb4a56722c470d2b2d54a0209b..3a8aa147230ab18d9f1e485decc7eb4995ac111f 100644 +index 953797c2efaa9de150b6a43f6a2a59fe031af236..506888cef32304ae5b27f85f758c9fa38024dfdb 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc @@ -422,10 +422,18 @@ class RendererSandboxedProcessLauncherDelegate diff --git a/patches/chromium/web_contents.patch b/patches/chromium/web_contents.patch index 60321a149d7d..193109934c79 100644 --- a/patches/chromium/web_contents.patch +++ b/patches/chromium/web_contents.patch @@ -9,10 +9,10 @@ is needed for OSR. Originally landed in https://github.com/electron/libchromiumcontent/pull/226. diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 2df013a85ce160272fa8378571eac39d4b66f31d..c7fa61f2be2461c103f48ae1e616146fa33234d2 100644 +index 76aac784c441de59e1188a220e6ced4b51be322d..bc6b6175d3d735b96613c42083513e2e6d6d661a 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -2899,6 +2899,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { +@@ -2897,6 +2897,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { frame_tree_.Init(site_instance.get(), params.renderer_initiated_creation, params.main_frame_name); @@ -25,7 +25,7 @@ index 2df013a85ce160272fa8378571eac39d4b66f31d..c7fa61f2be2461c103f48ae1e616146f WebContentsViewDelegate* delegate = GetContentClient()->browser()->GetWebContentsViewDelegate(this); -@@ -2909,6 +2915,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { +@@ -2907,6 +2913,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { view_.reset(CreateWebContentsView(this, delegate, &render_view_host_delegate_view_)); } diff --git a/patches/squirrel.mac/build_add_gn_config.patch b/patches/squirrel.mac/build_add_gn_config.patch index 67cb585f8ba0..7a478843d521 100644 --- a/patches/squirrel.mac/build_add_gn_config.patch +++ b/patches/squirrel.mac/build_add_gn_config.patch @@ -23,10 +23,10 @@ index 89c499e451ecb48655cfd42b01ffa1da56998c2e..98f80aad43a87ed75ca1660ad6a178db +vendor diff --git a/BUILD.gn b/BUILD.gn new file mode 100644 -index 0000000000000000000000000000000000000000..449c8ccd5ebf37aeb4f61754d9d5ea3c25b22d23 +index 0000000000000000000000000000000000000000..d43e6d6be5c8e2b3a5f715721e61589be493718d --- /dev/null +++ b/BUILD.gn -@@ -0,0 +1,236 @@ +@@ -0,0 +1,239 @@ +assert(is_mac) + +import("//build/config/mac/rules.gni") @@ -118,7 +118,10 @@ index 0000000000000000000000000000000000000000..449c8ccd5ebf37aeb4f61754d9d5ea3c + "CURRENT_PROJECT_VERSION=0.0.0", + "PRODUCT_BUNDLE_IDENTIFIER=com.electron.reactive", + ] -+ defines = [ "BUILDING_RAC_FRAMEWORK=1" ] ++ defines = [ ++ "BUILDING_RAC_FRAMEWORK=1", ++ "DTRACE_PROBES_DISABLED", ++ ] + + configs -= [ + "//build/config/compiler:chromium_code", diff --git a/patches/v8/build_gn.patch b/patches/v8/build_gn.patch index e821385a2d4f..1893125f6c17 100644 --- a/patches/v8/build_gn.patch +++ b/patches/v8/build_gn.patch @@ -9,10 +9,10 @@ necessary for native modules to load. Also, some fixes relating to mksnapshot on ARM. diff --git a/BUILD.gn b/BUILD.gn -index 764849fca94271fcacdc2a34062aee822bd5fc2f..5d32612cce2d7d59aa138cfdf6ec8875434916b3 100644 +index a5330c29219ecbfa5bdb09ddace257fd2acff39e..ce7c4c1829f2d5a15626a49cf66434fe5370e798 100644 --- a/BUILD.gn +++ b/BUILD.gn -@@ -521,7 +521,7 @@ config("internal_config") { +@@ -530,7 +530,7 @@ config("internal_config") { ":cppgc_header_features", ] @@ -21,7 +21,7 @@ index 764849fca94271fcacdc2a34062aee822bd5fc2f..5d32612cce2d7d59aa138cfdf6ec8875 defines += [ "BUILDING_V8_SHARED" ] } } -@@ -5237,7 +5237,7 @@ if (current_toolchain == v8_generator_toolchain) { +@@ -5249,7 +5249,7 @@ if (current_toolchain == v8_generator_toolchain) { "src/interpreter/bytecodes.h", ] @@ -30,7 +30,7 @@ index 764849fca94271fcacdc2a34062aee822bd5fc2f..5d32612cce2d7d59aa138cfdf6ec8875 deps = [ ":v8_libbase", -@@ -5275,6 +5275,8 @@ if (current_toolchain == v8_snapshot_toolchain) { +@@ -5287,6 +5287,8 @@ if (current_toolchain == v8_snapshot_toolchain) { configs = [ ":internal_config" ] diff --git a/patches/v8/dcheck.patch b/patches/v8/dcheck.patch index fb6c704218ba..54e77f40bd30 100644 --- a/patches/v8/dcheck.patch +++ b/patches/v8/dcheck.patch @@ -6,10 +6,10 @@ Subject: dcheck.patch https://github.com/auchenberg/volkswagen diff --git a/src/api/api.cc b/src/api/api.cc -index c6cd830d70cd865d6e3a8fe2c4bc05258f3bf6ad..22ed27c0c7250fe29bc6e4800631fbadaea623c8 100644 +index f0c877406168347c55f7c63042bd0dfc6de2a55a..9d57566fd3cfad8de300ba0074a77dc5492abc59 100644 --- a/src/api/api.cc +++ b/src/api/api.cc -@@ -8766,7 +8766,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) { +@@ -8771,7 +8771,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) { } void Isolate::PerformMicrotaskCheckpoint() { @@ -19,10 +19,10 @@ index c6cd830d70cd865d6e3a8fe2c4bc05258f3bf6ad..22ed27c0c7250fe29bc6e4800631fbad isolate->default_microtask_queue()->PerformCheckpoint(this); } diff --git a/src/heap/heap.cc b/src/heap/heap.cc -index 69eb033f0fc8ef6c5a61ac6e3b7bb556884bf5ae..f28a65d2242a26c58a0ae96ed6fc7dd9a298cd36 100644 +index b994bbd9cc408daf96ad0ad034aa69ff69c476e3..2bb0b7ce4d9f3216cbdf50279e021b64b7290ce5 100644 --- a/src/heap/heap.cc +++ b/src/heap/heap.cc -@@ -5843,9 +5843,9 @@ void Heap::DeinitSharedSpaces() { +@@ -5846,9 +5846,9 @@ void Heap::DeinitSharedSpaces() { void Heap::AddGCPrologueCallback(v8::Isolate::GCCallbackWithData callback, GCType gc_type, void* data) { DCHECK_NOT_NULL(callback); diff --git a/patches/v8/do_not_export_private_v8_symbols_on_windows.patch b/patches/v8/do_not_export_private_v8_symbols_on_windows.patch index efadc2f379da..3ada3604bb58 100644 --- a/patches/v8/do_not_export_private_v8_symbols_on_windows.patch +++ b/patches/v8/do_not_export_private_v8_symbols_on_windows.patch @@ -12,10 +12,10 @@ This patch can be safely removed if, when it is removed, `node.lib` does not contain any standard C++ library exports (e.g. `std::ostringstream`). diff --git a/BUILD.gn b/BUILD.gn -index 3eeac10700fa06790b0691b0b52d9c413a79a94f..49fd11008d1841e6d3868fc0546d8703c6c3e554 100644 +index d15939cbb2279d896b02963834d20589aa98f282..b857985527f19be1ea052731a7cd07516d67c3c8 100644 --- a/BUILD.gn +++ b/BUILD.gn -@@ -521,6 +521,10 @@ config("internal_config") { +@@ -530,6 +530,10 @@ config("internal_config") { ":cppgc_header_features", ] diff --git a/patches/v8/expose_mksnapshot.patch b/patches/v8/expose_mksnapshot.patch index b3036c648001..b7e73f42f369 100644 --- a/patches/v8/expose_mksnapshot.patch +++ b/patches/v8/expose_mksnapshot.patch @@ -6,10 +6,10 @@ Subject: expose_mksnapshot.patch Needed in order to target mksnapshot for mksnapshot zip. diff --git a/BUILD.gn b/BUILD.gn -index 5d32612cce2d7d59aa138cfdf6ec8875434916b3..3eeac10700fa06790b0691b0b52d9c413a79a94f 100644 +index ce7c4c1829f2d5a15626a49cf66434fe5370e798..d15939cbb2279d896b02963834d20589aa98f282 100644 --- a/BUILD.gn +++ b/BUILD.gn -@@ -5249,7 +5249,6 @@ if (current_toolchain == v8_generator_toolchain) { +@@ -5261,7 +5261,6 @@ if (current_toolchain == v8_generator_toolchain) { if (current_toolchain == v8_snapshot_toolchain) { v8_executable("mksnapshot") { diff --git a/shell/browser/bluetooth/electron_bluetooth_delegate.cc b/shell/browser/bluetooth/electron_bluetooth_delegate.cc index 74edf8f61647..71c5759ae76f 100644 --- a/shell/browser/bluetooth/electron_bluetooth_delegate.cc +++ b/shell/browser/bluetooth/electron_bluetooth_delegate.cc @@ -6,7 +6,6 @@ #include -#include "base/scoped_observer.h" #include "base/strings/utf_string_conversions.h" #include "build/build_config.h" #include "content/public/browser/render_frame_host.h" diff --git a/shell/browser/electron_browser_client.cc b/shell/browser/electron_browser_client.cc index 479f137155a9..a66747ce2921 100644 --- a/shell/browser/electron_browser_client.cc +++ b/shell/browser/electron_browser_client.cc @@ -940,7 +940,7 @@ void HandleExternalProtocolInUI( bool ElectronBrowserClient::HandleExternalProtocol( const GURL& url, - content::WebContents::OnceGetter web_contents_getter, + content::WebContents::Getter web_contents_getter, int child_id, int frame_tree_node_id, content::NavigationUIData* navigation_data, diff --git a/shell/browser/electron_browser_client.h b/shell/browser/electron_browser_client.h index daff55a49ff3..6e4c8c8db407 100644 --- a/shell/browser/electron_browser_client.h +++ b/shell/browser/electron_browser_client.h @@ -225,7 +225,7 @@ class ElectronBrowserClient : public content::ContentBrowserClient, bool HandleExternalProtocol( const GURL& url, - content::WebContents::OnceGetter web_contents_getter, + content::WebContents::Getter web_contents_getter, int child_id, int frame_tree_node_id, content::NavigationUIData* navigation_data, diff --git a/shell/browser/electron_browser_main_parts.h b/shell/browser/electron_browser_main_parts.h index d385e5ef7e79..0f9f12320820 100644 --- a/shell/browser/electron_browser_main_parts.h +++ b/shell/browser/electron_browser_main_parts.h @@ -6,6 +6,7 @@ #define SHELL_BROWSER_ELECTRON_BROWSER_MAIN_PARTS_H_ #include +#include #include "base/callback.h" #include "base/metrics/field_trial.h" diff --git a/shell/browser/extensions/electron_extension_message_filter.h b/shell/browser/extensions/electron_extension_message_filter.h index 1e2f225a6e10..d46f57061caa 100644 --- a/shell/browser/extensions/electron_extension_message_filter.h +++ b/shell/browser/extensions/electron_extension_message_filter.h @@ -9,7 +9,6 @@ #include #include "base/macros.h" -#include "base/scoped_observer.h" #include "base/sequenced_task_runner_helpers.h" #include "content/public/browser/browser_message_filter.h" #include "content/public/browser/browser_thread.h" diff --git a/shell/browser/net/cert_verifier_client.cc b/shell/browser/net/cert_verifier_client.cc index 4c7e2e75be14..f5f301bd6e89 100644 --- a/shell/browser/net/cert_verifier_client.cc +++ b/shell/browser/net/cert_verifier_client.cc @@ -35,10 +35,10 @@ void CertVerifierClient::Verify( params.validated_certificate = default_result.verified_cert; cert_verify_proc_.Run( params, - base::AdaptCallbackForRepeating(base::BindOnce( + base::BindOnce( [](VerifyCallback callback, const net::CertVerifyResult& result, int err) { std::move(callback).Run(err, result); }, - std::move(callback), default_result))); + std::move(callback), default_result)); } } // namespace electron diff --git a/shell/browser/net/cert_verifier_client.h b/shell/browser/net/cert_verifier_client.h index db5e3a2edd44..3df4339ef060 100644 --- a/shell/browser/net/cert_verifier_client.h +++ b/shell/browser/net/cert_verifier_client.h @@ -28,7 +28,7 @@ class CertVerifierClient : public network::mojom::CertVerifierClient { public: using CertVerifyProc = base::RepeatingCallback)>; + base::OnceCallback)>; explicit CertVerifierClient(CertVerifyProc proc); ~CertVerifierClient() override; diff --git a/shell/browser/net/proxying_url_loader_factory.cc b/shell/browser/net/proxying_url_loader_factory.cc index f6450c68b814..85a886f4752e 100644 --- a/shell/browser/net/proxying_url_loader_factory.cc +++ b/shell/browser/net/proxying_url_loader_factory.cc @@ -698,11 +698,10 @@ void ProxyingURLLoaderFactory::InProgressRequest:: info_->AddResponseInfoFromResourceResponse(*current_response_); - net::CompletionRepeatingCallback copyable_callback = - base::AdaptCallbackForRepeating(std::move(continuation)); + auto callback_pair = base::SplitOnceCallback(std::move(continuation)); DCHECK(info_.has_value()); int result = factory_->web_request_api()->OnHeadersReceived( - &info_.value(), request_, copyable_callback, + &info_.value(), request_, std::move(callback_pair.first), current_response_->headers.get(), &override_headers_, &redirect_url_); if (result == net::ERR_BLOCKED_BY_CLIENT) { OnRequestError(network::URLLoaderCompletionStatus(result)); @@ -722,7 +721,7 @@ void ProxyingURLLoaderFactory::InProgressRequest:: DCHECK_EQ(net::OK, result); - copyable_callback.Run(net::OK); + std::move(callback_pair.second).Run(net::OK); } void ProxyingURLLoaderFactory::InProgressRequest::OnRequestError( diff --git a/shell/browser/osr/osr_render_widget_host_view.cc b/shell/browser/osr/osr_render_widget_host_view.cc index e1892f01add9..fd6405042e19 100644 --- a/shell/browser/osr/osr_render_widget_host_view.cc +++ b/shell/browser/osr/osr_render_widget_host_view.cc @@ -527,6 +527,10 @@ gfx::Size OffScreenRenderWidgetHostView::GetCompositorViewportPixelSize() { GetCurrentDeviceScaleFactor()); } +ui::Compositor* OffScreenRenderWidgetHostView::GetCompositor() { + return compositor_.get(); +} + content::RenderWidgetHostViewBase* OffScreenRenderWidgetHostView::CreateViewForWidget( content::RenderWidgetHost* render_widget_host, @@ -947,10 +951,6 @@ int OffScreenRenderWidgetHostView::GetFrameRate() const { return frame_rate_; } -ui::Compositor* OffScreenRenderWidgetHostView::GetCompositor() const { - return compositor_.get(); -} - ui::Layer* OffScreenRenderWidgetHostView::GetRootLayer() const { return root_layer_.get(); } diff --git a/shell/browser/osr/osr_render_widget_host_view.h b/shell/browser/osr/osr_render_widget_host_view.h index 6014d6296518..51d976fd267f 100644 --- a/shell/browser/osr/osr_render_widget_host_view.h +++ b/shell/browser/osr/osr_render_widget_host_view.h @@ -139,6 +139,7 @@ class OffScreenRenderWidgetHostView : public content::RenderWidgetHostViewBase, void ImeCompositionRangeChanged(const gfx::Range&, const std::vector&) override; gfx::Size GetCompositorViewportPixelSize() override; + ui::Compositor* GetCompositor() override; content::RenderWidgetHostViewBase* CreateViewForWidget( content::RenderWidgetHost*, @@ -196,7 +197,6 @@ class OffScreenRenderWidgetHostView : public content::RenderWidgetHostViewBase, void SetFrameRate(int frame_rate); int GetFrameRate() const; - ui::Compositor* GetCompositor() const; ui::Layer* GetRootLayer() const; content::DelegatedFrameHost* GetDelegatedFrameHost() const; diff --git a/shell/browser/web_contents_permission_helper.cc b/shell/browser/web_contents_permission_helper.cc index 87980a22ac9b..14df76c83e40 100644 --- a/shell/browser/web_contents_permission_helper.cc +++ b/shell/browser/web_contents_permission_helper.cc @@ -104,8 +104,8 @@ void WebContentsPermissionHelper::RequestFullscreenPermission( void WebContentsPermissionHelper::RequestMediaAccessPermission( const content::MediaStreamRequest& request, content::MediaResponseCallback response_callback) { - auto callback = base::AdaptCallbackForRepeating(base::BindOnce( - &MediaAccessAllowed, request, std::move(response_callback))); + auto callback = base::BindOnce(&MediaAccessAllowed, request, + std::move(response_callback)); base::DictionaryValue details; auto media_types = std::make_unique(); diff --git a/shell/renderer/renderer_client_base.cc b/shell/renderer/renderer_client_base.cc index d7b270fe1b08..38f0f613c35f 100644 --- a/shell/renderer/renderer_client_base.cc +++ b/shell/renderer/renderer_client_base.cc @@ -20,7 +20,6 @@ #include "content/public/renderer/render_thread.h" #include "content/public/renderer/render_view.h" #include "electron/buildflags/buildflags.h" -#include "media/blink/multibuffer_data_source.h" #include "printing/buildflags/buildflags.h" #include "shell/browser/api/electron_api_protocol.h" #include "shell/common/api/electron_api_native_image.h" @@ -38,6 +37,7 @@ #include "shell/renderer/electron_autofill_agent.h" #include "third_party/blink/public/common/associated_interfaces/associated_interface_registry.h" #include "third_party/blink/public/common/web_preferences/web_preferences.h" +#include "third_party/blink/public/platform/media/multi_buffer_data_source.h" #include "third_party/blink/public/web/blink.h" #include "third_party/blink/public/web/web_custom_element.h" // NOLINT(build/include_alpha) #include "third_party/blink/public/web/web_frame_widget.h"