diff --git a/DEPS b/DEPS index ddb02e9d346..a41bcf20572 100644 --- a/DEPS +++ b/DEPS @@ -10,7 +10,7 @@ gclient_gn_args = [ vars = { 'chromium_version': - 'ab588d36191964c4bca8de5c320534d95606c861', + '9b6b84670d32a7aff41ce73adc0eeee67d364989', 'node_version': 'b823596192bb790f9ea2a61022b55bf50e6daa83', 'nan_version': diff --git a/atom/app/node_main.cc b/atom/app/node_main.cc index 82c026e8812..5636c51023a 100644 --- a/atom/app/node_main.cc +++ b/atom/app/node_main.cc @@ -48,7 +48,7 @@ int NodeMain(int argc, char* argv[]) { gin::V8Initializer::LoadV8Natives(); // V8 requires a task scheduler apparently - base::ThreadPool::CreateAndStartWithDefaultParams("Electron"); + base::ThreadPoolInstance::CreateAndStartWithDefaultParams("Electron"); // Initialize gin::IsolateHolder. JavascriptEnvironment gin_env(loop); @@ -116,7 +116,7 @@ int NodeMain(int argc, char* argv[]) { // gin::IsolateHolder waits for tasks running in ThreadPool in its // destructor and thus must be destroyed before ThreadPool starts skipping // CONTINUE_ON_SHUTDOWN tasks. - base::ThreadPool::GetInstance()->Shutdown(); + base::ThreadPoolInstance::Get()->Shutdown(); v8::V8::Dispose(); diff --git a/atom/browser/atom_browser_client.cc b/atom/browser/atom_browser_client.cc index 9df16333c6d..787c4288265 100644 --- a/atom/browser/atom_browser_client.cc +++ b/atom/browser/atom_browser_client.cc @@ -79,7 +79,6 @@ #include "services/device/public/cpp/geolocation/location_provider.h" #include "services/network/public/cpp/features.h" #include "services/network/public/cpp/resource_request_body.h" -#include "services/proxy_resolver/public/mojom/proxy_resolver.mojom.h" #include "ui/base/l10n/l10n_util.h" #include "ui/base/resource/resource_bundle.h" #include "v8/include/v8.h" @@ -111,8 +110,6 @@ #if BUILDFLAG(ENABLE_PRINTING) #include "chrome/browser/printing/printing_message_filter.h" -#include "chrome/services/printing/public/mojom/constants.mojom.h" -#include "components/services/pdf_compositor/public/interfaces/pdf_compositor.mojom.h" #endif // BUILDFLAG(ENABLE_PRINTING) using content::BrowserThread; @@ -715,23 +712,6 @@ network::mojom::NetworkContext* AtomBrowserClient::GetSystemNetworkContext() { return g_browser_process->system_network_context_manager()->GetContext(); } -void AtomBrowserClient::RegisterOutOfProcessServices( - OutOfProcessServiceMap* services) { - (*services)[proxy_resolver::mojom::kProxyResolverServiceName] = - base::BindRepeating(&l10n_util::GetStringUTF16, - IDS_UTILITY_PROCESS_PROXY_RESOLVER_NAME); - -#if BUILDFLAG(ENABLE_PRINTING) - (*services)[printing::mojom::kServiceName] = - base::BindRepeating(&l10n_util::GetStringUTF16, - IDS_UTILITY_PROCESS_PDF_COMPOSITOR_SERVICE_NAME); - - (*services)[printing::mojom::kChromePrintingServiceName] = - base::BindRepeating(&l10n_util::GetStringUTF16, - IDS_UTILITY_PROCESS_PRINTING_SERVICE_NAME); -#endif -} - base::Optional AtomBrowserClient::GetServiceManifestOverlay(base::StringPiece name) { if (name == content::mojom::kBrowserServiceName) @@ -748,9 +728,10 @@ net::NetLog* AtomBrowserClient::GetNetLog() { return g_browser_process->net_log(); } -content::BrowserMainParts* AtomBrowserClient::CreateBrowserMainParts( +std::unique_ptr +AtomBrowserClient::CreateBrowserMainParts( const content::MainFunctionParams& params) { - return new AtomBrowserMainParts(params); + return std::make_unique(params); } void AtomBrowserClient::WebNotificationAllowed( diff --git a/atom/browser/atom_browser_client.h b/atom/browser/atom_browser_client.h index e741e6b5279..2dd3901cdcb 100644 --- a/atom/browser/atom_browser_client.h +++ b/atom/browser/atom_browser_client.h @@ -145,7 +145,6 @@ class AtomBrowserClient : public content::ContentBrowserClient, bool in_memory, const base::FilePath& relative_partition_path) override; network::mojom::NetworkContext* GetSystemNetworkContext() override; - void RegisterOutOfProcessServices(OutOfProcessServiceMap* services) override; base::Optional GetServiceManifestOverlay( base::StringPiece name) override; std::vector GetExtraServiceManifests() override; @@ -154,7 +153,7 @@ class AtomBrowserClient : public content::ContentBrowserClient, content::DevToolsManagerDelegate* GetDevToolsManagerDelegate() override; content::PlatformNotificationService* GetPlatformNotificationService( content::BrowserContext* browser_context) override; - content::BrowserMainParts* CreateBrowserMainParts( + std::unique_ptr CreateBrowserMainParts( const content::MainFunctionParams&) override; base::FilePath GetDefaultDownloadDirectory() override; scoped_refptr diff --git a/atom/browser/atom_browser_context.cc b/atom/browser/atom_browser_context.cc index a931b058bec..98cdcb01151 100644 --- a/atom/browser/atom_browser_context.cc +++ b/atom/browser/atom_browser_context.cc @@ -110,11 +110,12 @@ AtomBrowserContext::~AtomBrowserContext() { NotifyWillBeDestroyed(this); ShutdownStoragePartitions(); - BrowserThread::DeleteSoon(BrowserThread::IO, FROM_HERE, - std::move(resource_context_)); - - if (!base::FeatureList::IsEnabled(network::features::kNetworkService)) + if (!base::FeatureList::IsEnabled(network::features::kNetworkService)) { io_handle_->ShutdownOnUIThread(); + } else { + BrowserThread::DeleteSoon(BrowserThread::IO, FROM_HERE, + std::move(resource_context_)); + } // Notify any keyed services of browser context destruction. BrowserContextDependencyManager::GetInstance()->DestroyBrowserContextServices( diff --git a/atom/browser/atom_resource_dispatcher_host_delegate.cc b/atom/browser/atom_resource_dispatcher_host_delegate.cc index ffde11253f2..b7e3a994bb3 100644 --- a/atom/browser/atom_resource_dispatcher_host_delegate.cc +++ b/atom/browser/atom_resource_dispatcher_host_delegate.cc @@ -27,80 +27,6 @@ using content::BrowserThread; namespace atom { -namespace { - -#if BUILDFLAG(ENABLE_PDF_VIEWER) -void OnPdfResourceIntercepted( - const GURL& original_url, - int render_process_host_id, - int render_frame_id, - const content::ResourceRequestInfo::WebContentsGetter& - web_contents_getter) { - content::WebContents* web_contents = web_contents_getter.Run(); - if (!web_contents) - return; - - auto* web_preferences = WebContentsPreferences::From(web_contents); - if (!web_preferences || !web_preferences->IsEnabled(options::kPlugins)) { - auto* browser_context = web_contents->GetBrowserContext(); - auto* download_manager = - content::BrowserContext::GetDownloadManager(browser_context); - - download_manager->DownloadUrl( - content::DownloadUrlParameters::CreateForWebContentsMainFrame( - web_contents, original_url, NO_TRAFFIC_ANNOTATION_YET)); - return; - } - - // The URL passes the original pdf resource url, that will be requested - // by the webui page. - // chrome://pdf-viewer/index.html?src=https://somepage/123.pdf - content::NavigationController::LoadURLParams params(GURL(base::StringPrintf( - "%sindex.html?%s=%s", kPdfViewerUIOrigin, kPdfPluginSrc, - net::EscapeUrlEncodedData(original_url.spec(), false).c_str()))); - - content::RenderFrameHost* frame_host = - content::RenderFrameHost::FromID(render_process_host_id, render_frame_id); - if (!frame_host) { - return; - } - - params.frame_tree_node_id = frame_host->GetFrameTreeNodeId(); - web_contents->GetController().LoadURLWithParams(params); -} -#endif // BUILDFLAG(ENABLE_PDF_VIEWER) - -} // namespace - AtomResourceDispatcherHostDelegate::AtomResourceDispatcherHostDelegate() {} -bool AtomResourceDispatcherHostDelegate::ShouldInterceptResourceAsStream( - net::URLRequest* request, - const std::string& mime_type, - GURL* origin, - std::string* payload) { -#if BUILDFLAG(ENABLE_PDF_VIEWER) - content::ResourceRequestInfo* info = - content::ResourceRequestInfo::ForRequest(request); - - int render_process_host_id; - int render_frame_id; - if (!info->GetAssociatedRenderFrame(&render_process_host_id, - &render_frame_id)) { - return false; - } - - if (mime_type == "application/pdf") { - *origin = GURL(kPdfViewerUIOrigin); - base::PostTaskWithTraits( - FROM_HERE, {BrowserThread::UI}, - base::BindOnce(&OnPdfResourceIntercepted, request->url(), - render_process_host_id, render_frame_id, - info->GetWebContentsGetterForRequest())); - return true; - } -#endif // BUILDFLAG(ENABLE_PDF_VIEWER) - return false; -} - } // namespace atom diff --git a/atom/browser/atom_resource_dispatcher_host_delegate.h b/atom/browser/atom_resource_dispatcher_host_delegate.h index 252cfa39e9d..6da5f837bf1 100644 --- a/atom/browser/atom_resource_dispatcher_host_delegate.h +++ b/atom/browser/atom_resource_dispatcher_host_delegate.h @@ -16,12 +16,6 @@ class AtomResourceDispatcherHostDelegate public: AtomResourceDispatcherHostDelegate(); - // content::ResourceDispatcherHostDelegate: - bool ShouldInterceptResourceAsStream(net::URLRequest* request, - const std::string& mime_type, - GURL* origin, - std::string* payload) override; - private: DISALLOW_COPY_AND_ASSIGN(AtomResourceDispatcherHostDelegate); }; diff --git a/atom/browser/browser_process_impl.h b/atom/browser/browser_process_impl.h index 3ede992fd62..8bdde78ee87 100644 --- a/atom/browser/browser_process_impl.h +++ b/atom/browser/browser_process_impl.h @@ -48,7 +48,6 @@ class BrowserProcessImpl : public BrowserProcess { void PostDestroyThreads(); void PostMainMessageLoopRun(); - void ResourceDispatcherHostCreated() override {} void EndSession() override {} void FlushLocalStateAndReply(base::OnceClosure reply) override {} bool IsShuttingDown() override; diff --git a/atom/browser/io_thread.cc b/atom/browser/io_thread.cc index 8d6e2786160..65956091580 100644 --- a/atom/browser/io_thread.cc +++ b/atom/browser/io_thread.cc @@ -6,6 +6,7 @@ #include +#include "atom/browser/net/url_request_context_getter.h" #include "components/net_log/chrome_net_log.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/network_service_instance.h" @@ -35,6 +36,24 @@ IOThread::~IOThread() { BrowserThread::SetIOThreadDelegate(nullptr); } +void IOThread::RegisterURLRequestContextGetter( + atom::URLRequestContextGetter* getter) { + base::AutoLock lock(lock_); + + DCHECK(!base::FeatureList::IsEnabled(network::features::kNetworkService)); + DCHECK_EQ(0u, request_context_getters_.count(getter)); + request_context_getters_.insert(getter); +} + +void IOThread::DeregisterURLRequestContextGetter( + atom::URLRequestContextGetter* getter) { + base::AutoLock lock(lock_); + + DCHECK(!base::FeatureList::IsEnabled(network::features::kNetworkService)); + DCHECK_EQ(1u, request_context_getters_.count(getter)); + request_context_getters_.erase(getter); +} + void IOThread::Init() { if (!base::FeatureList::IsEnabled(network::features::kNetworkService)) { std::unique_ptr builder = @@ -55,20 +74,24 @@ void IOThread::Init() { network_service->ConfigureHttpAuthPrefs( std::move(http_auth_dynamic_params_)); - system_network_context_ = - network_service - ->CreateNetworkContextWithBuilder( - std::move(network_context_request_), - std::move(network_context_params_), std::move(builder), - &system_request_context_) - .release(); + system_network_context_ = network_service->CreateNetworkContextWithBuilder( + std::move(network_context_request_), std::move(network_context_params_), + std::move(builder), &system_request_context_); } } void IOThread::CleanUp() { - if (!base::FeatureList::IsEnabled(network::features::kNetworkService)) + if (!base::FeatureList::IsEnabled(network::features::kNetworkService)) { system_request_context_->proxy_resolution_service()->OnShutdown(); + base::AutoLock lock(lock_); + for (auto* getter : request_context_getters_) { + getter->NotifyContextShuttingDown(); + } + + system_network_context_.reset(); + } + if (net_log_) net_log_->ShutDownBeforeThreadPool(); } diff --git a/atom/browser/io_thread.h b/atom/browser/io_thread.h index 5c6fac2f757..6b62ec103fe 100644 --- a/atom/browser/io_thread.h +++ b/atom/browser/io_thread.h @@ -6,12 +6,18 @@ #define ATOM_BROWSER_IO_THREAD_H_ #include +#include #include "atom/browser/net/system_network_context_manager.h" #include "base/macros.h" +#include "base/synchronization/lock.h" #include "content/public/browser/browser_thread_delegate.h" #include "services/network/public/mojom/network_service.mojom.h" +namespace atom { +class URLRequestContextGetter; +} + namespace net { class URLRequestContext; } @@ -27,6 +33,9 @@ class IOThread : public content::BrowserThreadDelegate { SystemNetworkContextManager* system_network_context_manager); ~IOThread() override; + void RegisterURLRequestContextGetter(atom::URLRequestContextGetter* getter); + void DeregisterURLRequestContextGetter(atom::URLRequestContextGetter* getter); + protected: // BrowserThreadDelegate Implementation, runs on the IO thread. void Init() override; @@ -39,13 +48,7 @@ class IOThread : public content::BrowserThreadDelegate { // When the network service is disabled, this holds on to a // content::NetworkContext class that owns |system_request_context_|. - // TODO(deepak1556): primary network context has to be destroyed after - // other active contexts, but since the ownership of latter is not released - // before IO thread is destroyed, it results in a DCHECK failure. - // We leak the reference to primary context to workaround this issue, - // since there is only one instance for the entire lifetime of app, it is - // safe. - network::mojom::NetworkContext* system_network_context_; + std::unique_ptr system_network_context_; net::URLRequestContext* system_request_context_; // These are set on the UI thread, and then consumed during initialization on @@ -59,6 +62,13 @@ class IOThread : public content::BrowserThreadDelegate { network::mojom::HttpAuthStaticParamsPtr http_auth_static_params_; network::mojom::HttpAuthDynamicParamsPtr http_auth_dynamic_params_; + // |lock_| protects access to |request_context_getters_|. + base::Lock lock_; + + // List of all request contexts that needs to be notified when + // IO thread is shutting down. + std::set request_context_getters_; + DISALLOW_COPY_AND_ASSIGN(IOThread); }; diff --git a/atom/browser/media/media_stream_devices_controller.cc b/atom/browser/media/media_stream_devices_controller.cc index eb6623cf1b2..a5ab283b842 100644 --- a/atom/browser/media/media_stream_devices_controller.cc +++ b/atom/browser/media/media_stream_devices_controller.cc @@ -42,9 +42,10 @@ MediaStreamDevicesController::MediaStreamDevicesController( MediaStreamDevicesController::~MediaStreamDevicesController() { if (!callback_.is_null()) { - std::move(callback_).Run(blink::MediaStreamDevices(), - blink::MEDIA_DEVICE_FAILED_DUE_TO_SHUTDOWN, - std::unique_ptr()); + std::move(callback_).Run( + blink::MediaStreamDevices(), + blink::mojom::MediaStreamRequestResult::FAILED_DUE_TO_SHUTDOWN, + std::unique_ptr()); } } @@ -60,7 +61,7 @@ bool MediaStreamDevicesController::TakeAction() { // Deny the request if there is no device attached to the OS. if (!HasAnyAvailableDevice()) { - Deny(blink::MEDIA_DEVICE_NO_HARDWARE); + Deny(blink::mojom::MediaStreamRequestResult::NO_HARDWARE); return true; } @@ -146,12 +147,12 @@ void MediaStreamDevicesController::Accept() { } } - std::move(callback_).Run(devices, blink::MEDIA_DEVICE_OK, + std::move(callback_).Run(devices, blink::mojom::MediaStreamRequestResult::OK, std::unique_ptr()); } void MediaStreamDevicesController::Deny( - blink::MediaStreamRequestResult result) { + blink::mojom::MediaStreamRequestResult result) { std::move(callback_).Run(blink::MediaStreamDevices(), result, std::unique_ptr()); } @@ -188,10 +189,11 @@ void MediaStreamDevicesController::HandleUserMediaRequest() { screen_id.ToString(), "Screen")); } - std::move(callback_).Run(devices, - devices.empty() ? blink::MEDIA_DEVICE_NO_HARDWARE - : blink::MEDIA_DEVICE_OK, - std::unique_ptr()); + std::move(callback_).Run( + devices, + devices.empty() ? blink::mojom::MediaStreamRequestResult::NO_HARDWARE + : blink::mojom::MediaStreamRequestResult::OK, + std::unique_ptr()); } } // namespace atom diff --git a/atom/browser/media/media_stream_devices_controller.h b/atom/browser/media/media_stream_devices_controller.h index f0f496fc74a..058ad18ad7f 100644 --- a/atom/browser/media/media_stream_devices_controller.h +++ b/atom/browser/media/media_stream_devices_controller.h @@ -22,7 +22,7 @@ class MediaStreamDevicesController { // Explicitly accept or deny the request. void Accept(); - void Deny(blink::MediaStreamRequestResult result); + void Deny(blink::mojom::MediaStreamRequestResult result); private: // Handle the request of desktop or tab screen cast. diff --git a/atom/browser/net/system_network_context_manager.cc b/atom/browser/net/system_network_context_manager.cc index e0f11eec923..becd339dc6b 100644 --- a/atom/browser/net/system_network_context_manager.cc +++ b/atom/browser/net/system_network_context_manager.cc @@ -176,7 +176,7 @@ SystemNetworkContextManager::CreateDefaultNetworkContextParams() { network_context_params->enable_referrers = true; network_context_params->proxy_resolver_factory = - ChromeMojoProxyResolverFactory::CreateWithStrongBinding().PassInterface(); + ChromeMojoProxyResolverFactory::CreateWithSelfOwnedReceiver(); return network_context_params; } diff --git a/atom/browser/net/url_request_context_getter.cc b/atom/browser/net/url_request_context_getter.cc index eef38bf1ea5..29e94cba60e 100644 --- a/atom/browser/net/url_request_context_getter.cc +++ b/atom/browser/net/url_request_context_getter.cc @@ -128,9 +128,13 @@ URLRequestContextGetter::Handle::CreateMainRequestContextGetter( content::URLRequestInterceptorScopedVector protocol_interceptors) { DCHECK_CURRENTLY_ON(BrowserThread::UI); DCHECK(!main_request_context_getter_.get()); + DCHECK(g_browser_process->io_thread()); + LazyInitialize(); main_request_context_getter_ = new URLRequestContextGetter( this, protocol_handlers, std::move(protocol_interceptors)); + g_browser_process->io_thread()->RegisterURLRequestContextGetter( + main_request_context_getter_.get()); return main_request_context_getter_; } @@ -209,13 +213,13 @@ void URLRequestContextGetter::Handle::LazyInitialize() { void URLRequestContextGetter::Handle::ShutdownOnUIThread() { DCHECK_CURRENTLY_ON(BrowserThread::UI); - if (main_request_context_getter_.get()) { + + if (main_request_context_getter_) { if (BrowserThread::IsThreadInitialized(BrowserThread::IO)) { base::PostTaskWithTraits( FROM_HERE, {BrowserThread::IO}, base::BindOnce(&URLRequestContextGetter::NotifyContextShuttingDown, - base::RetainedRef(main_request_context_getter_), - std::move(resource_context_))); + base::RetainedRef(main_request_context_getter_))); } } @@ -244,18 +248,20 @@ URLRequestContextGetter::~URLRequestContextGetter() { DCHECK(context_shutting_down_); } -void URLRequestContextGetter::NotifyContextShuttingDown( - std::unique_ptr resource_context) { +void URLRequestContextGetter::NotifyContextShuttingDown() { DCHECK_CURRENTLY_ON(BrowserThread::IO); + DCHECK(g_browser_process->io_thread()); + DCHECK(context_handle_); - // todo(brenca): remove once C70 lands - if (url_request_context_ && url_request_context_->cookie_store()) { - url_request_context_->cookie_store()->FlushStore(base::NullCallback()); - } + if (context_shutting_down_) + return; + + g_browser_process->io_thread()->DeregisterURLRequestContextGetter(this); context_shutting_down_ = true; - resource_context.reset(); + context_handle_->resource_context_.reset(); net::URLRequestContextGetter::NotifyContextShuttingDown(); + network_context_.reset(); } net::URLRequestContext* URLRequestContextGetter::GetURLRequestContext() { diff --git a/atom/browser/net/url_request_context_getter.h b/atom/browser/net/url_request_context_getter.h index c4ec7159dc4..01566c0abd6 100644 --- a/atom/browser/net/url_request_context_getter.h +++ b/atom/browser/net/url_request_context_getter.h @@ -37,7 +37,7 @@ class URLRequestContextGetter : public net::URLRequestContextGetter { // Discard reference to URLRequestContext and inform observers to // shutdown. Must be called only on IO thread. - void NotifyContextShuttingDown(std::unique_ptr); + void NotifyContextShuttingDown(); AtomURLRequestJobFactory* job_factory() const { return top_job_factory_.get(); diff --git a/atom/browser/notifications/win/windows_toast_notification.h b/atom/browser/notifications/win/windows_toast_notification.h index 7c15a60a583..f1d3807f4f4 100644 --- a/atom/browser/notifications/win/windows_toast_notification.h +++ b/atom/browser/notifications/win/windows_toast_notification.h @@ -112,13 +112,13 @@ class ToastEventHandler : public RuntimeClass, IFACEMETHODIMP Invoke( ABI::Windows::UI::Notifications::IToastNotification* sender, - IInspectable* args); + IInspectable* args) override; IFACEMETHODIMP Invoke( ABI::Windows::UI::Notifications::IToastNotification* sender, - ABI::Windows::UI::Notifications::IToastDismissedEventArgs* e); + ABI::Windows::UI::Notifications::IToastDismissedEventArgs* e) override; IFACEMETHODIMP Invoke( ABI::Windows::UI::Notifications::IToastNotification* sender, - ABI::Windows::UI::Notifications::IToastFailedEventArgs* e); + ABI::Windows::UI::Notifications::IToastFailedEventArgs* e) override; private: base::WeakPtr notification_; // weak ref. diff --git a/atom/browser/web_contents_permission_helper.cc b/atom/browser/web_contents_permission_helper.cc index 38b7635f226..9fd57d213b1 100644 --- a/atom/browser/web_contents_permission_helper.cc +++ b/atom/browser/web_contents_permission_helper.cc @@ -40,7 +40,7 @@ void MediaAccessAllowed(const content::MediaStreamRequest& request, if (allowed) controller.TakeAction(); else - controller.Deny(blink::MEDIA_DEVICE_PERMISSION_DENIED); + controller.Deny(blink::mojom::MediaStreamRequestResult::PERMISSION_DENIED); } void OnPointerLockResponse(content::WebContents* web_contents, bool allowed) { diff --git a/electron_paks.gni b/electron_paks.gni index c71978b7a7c..e66e9f98bf5 100644 --- a/electron_paks.gni +++ b/electron_paks.gni @@ -148,15 +148,17 @@ template("electron_paks") { "${root_gen_dir}/chrome/platform_locale_settings_", "${root_gen_dir}/components/strings/components_strings_", "${root_gen_dir}/content/app/strings/content_strings_", + "${root_gen_dir}/device/bluetooth/strings/bluetooth_strings_", + "${root_gen_dir}/services/strings/services_strings_", "${root_gen_dir}/ui/strings/app_locale_settings_", "${root_gen_dir}/ui/strings/ui_strings_", - "${root_gen_dir}/device/bluetooth/strings/bluetooth_strings_", ] deps = [ "//chrome/app/resources:platform_locale_settings", "//components/strings:components_strings", "//content/app/strings", "//device/bluetooth/strings", + "//services/strings", "//ui/strings:app_locale_settings", "//ui/strings:ui_strings", ] diff --git a/electron_strings.grdp b/electron_strings.grdp index 3bde892dc2a..78324e76f5a 100644 --- a/electron_strings.grdp +++ b/electron_strings.grdp @@ -1,15 +1,5 @@ - - - V8 Proxy Resolver - - - - - PDF Compositor Service - - Printing Service diff --git a/patches/common/chromium/.patches b/patches/common/chromium/.patches index 6579c69bb04..49237c5752a 100644 --- a/patches/common/chromium/.patches +++ b/patches/common/chromium/.patches @@ -12,7 +12,6 @@ dom_storage_limits.patch out_of_process_instance.patch render_widget_host_view_base.patch render_widget_host_view_mac.patch -stream_resource_handler.patch thread_capabilities.patch web_contents.patch webview_cross_drag.patch @@ -76,6 +75,6 @@ disable_custom_libcxx_on_windows.patch feat_offscreen_rendering_with_viz_compositor.patch worker_context_will_destroy.patch fix_breakpad_symbol_generation_on_linux_arm.patch -cross_site_document_resource_handler.patch frame_host_manager.patch -woa_compiler_workaround.patch \ No newline at end of file +cross_site_document_resource_handler.patch +woa_compiler_workaround.patch diff --git a/patches/common/chromium/add_contentgpuclient_precreatemessageloop_callback.patch b/patches/common/chromium/add_contentgpuclient_precreatemessageloop_callback.patch index 07aac78dbb4..c0af335c454 100644 --- a/patches/common/chromium/add_contentgpuclient_precreatemessageloop_callback.patch +++ b/patches/common/chromium/add_contentgpuclient_precreatemessageloop_callback.patch @@ -9,7 +9,7 @@ Allows Electron to restore WER when ELECTRON_DEFAULT_ERROR_MODE is set. This should be upstreamed diff --git a/content/gpu/gpu_main.cc b/content/gpu/gpu_main.cc -index 39e87967360a9c7a2856ce4df9c182c782efb2a5..ade3e7905d01b25128f477c68c10edd0f96626c3 100644 +index 82f0c4f62be2f210db2c3ed1169c2a816c59cf1f..20dcb7dd1ee1172cfbf263f14724dd4701fa6eae 100644 --- a/content/gpu/gpu_main.cc +++ b/content/gpu/gpu_main.cc @@ -234,6 +234,10 @@ int GpuMain(const MainFunctionParams& parameters) { @@ -23,7 +23,7 @@ index 39e87967360a9c7a2856ce4df9c182c782efb2a5..ade3e7905d01b25128f477c68c10edd0 // We are experiencing what appear to be memory-stomp issues in the GPU // process. These issues seem to be impacting the message loop and listeners // registered to it. Create the message loop on the heap to guard against -@@ -329,7 +333,6 @@ int GpuMain(const MainFunctionParams& parameters) { +@@ -335,7 +339,6 @@ int GpuMain(const MainFunctionParams& parameters) { GpuProcess gpu_process(io_thread_priority); diff --git a/patches/common/chromium/allow_webview_file_url.patch b/patches/common/chromium/allow_webview_file_url.patch index af306972604..f05a2b0664f 100644 --- a/patches/common/chromium/allow_webview_file_url.patch +++ b/patches/common/chromium/allow_webview_file_url.patch @@ -6,10 +6,10 @@ Subject: allow_webview_file_url.patch Allow webview to load non-web URLs. diff --git a/content/browser/loader/resource_dispatcher_host_impl.cc b/content/browser/loader/resource_dispatcher_host_impl.cc -index 934dee87c444429a65f6be2a953a104caa5c1e46..c378fb89eefc5fc9c4500919480e86967c488290 100644 +index 89e10f6eba87d08a9e2c6f921aab7d30ed6c4b2b..4cae5745aca6993c82a4a331107bf4d820a6c0a7 100644 --- a/content/browser/loader/resource_dispatcher_host_impl.cc +++ b/content/browser/loader/resource_dispatcher_host_impl.cc -@@ -1475,6 +1475,8 @@ void ResourceDispatcherHostImpl::BeginNavigationRequest( +@@ -1429,6 +1429,8 @@ void ResourceDispatcherHostImpl::BeginNavigationRequest( !policy->IsWebSafeScheme(info.common_params.url.scheme()) && !is_external_protocol; diff --git a/patches/common/chromium/autofill_size_calculation.patch b/patches/common/chromium/autofill_size_calculation.patch index 94862b67d4f..3428be65cef 100644 --- a/patches/common/chromium/autofill_size_calculation.patch +++ b/patches/common/chromium/autofill_size_calculation.patch @@ -9,22 +9,30 @@ then some methods call into the original. Let's just return an empty gfx::Rect and do the actual job in the subclass. diff --git a/chrome/browser/ui/autofill/popup_view_common.cc b/chrome/browser/ui/autofill/popup_view_common.cc -index 004e9cb86bee7c10f6a68cdf6ceb60bf39627e1d..a78dc65c413ce72d31a364e1b36dbe067cf579d7 100644 +index 25e2cfce4999bdf6a94d61aae4558470d18f89ed..c9880bcd639eb59ae52c38dbdabbd86ebac3b530 100644 --- a/chrome/browser/ui/autofill/popup_view_common.cc +++ b/chrome/browser/ui/autofill/popup_view_common.cc -@@ -8,9 +8,11 @@ +@@ -8,15 +8,19 @@ #include #include "build/build_config.h" +#if 0 #include "chrome/browser/platform_util.h" - #include "chrome/browser/ui/browser_finder.h" - #include "chrome/browser/ui/browser_window.h" +#endif #include "ui/gfx/geometry/vector2d.h" #if defined(OS_ANDROID) -@@ -176,14 +178,14 @@ gfx::Rect PopupViewCommon::GetWindowBounds(gfx::NativeView container_view) { + #include "ui/android/view_android.h" + #include "ui/android/window_android.h" + #else // defined(OS_ANDROID) ++#if 0 + #include "chrome/browser/ui/browser_finder.h" + #include "chrome/browser/ui/browser_window.h" ++#endif + #include "ui/views/widget/widget.h" + #endif // !defined(OS_ANDROID) + +@@ -176,14 +180,14 @@ gfx::Rect PopupViewCommon::GetWindowBounds(gfx::NativeView container_view) { views::Widget::GetTopLevelWidgetForNativeView(container_view); if (widget) return widget->GetWindowBoundsInScreen(); diff --git a/patches/common/chromium/blink_local_frame.patch b/patches/common/chromium/blink_local_frame.patch index 48115216f89..2aef302f4b6 100644 --- a/patches/common/chromium/blink_local_frame.patch +++ b/patches/common/chromium/blink_local_frame.patch @@ -14,10 +14,10 @@ when there is code doing that. This patch reverts the change to fix the crash in Electron. diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc -index 58df3d9d8ddc27ad0fe84781e8b9251c55757e0f..84f1dd7bd2a15467f253cc0b5ac612ec2609c2cc 100644 +index 06f9c9f62dc94bd093942d9ee523a4279203a177..3ee1caa9ad92cfedd326b364817ce9b5e8db800e 100644 --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc -@@ -392,10 +392,6 @@ void LocalFrame::DetachImpl(FrameDetachType type) { +@@ -393,10 +393,6 @@ void LocalFrame::DetachImpl(FrameDetachType type) { } CHECK(!view_ || !view_->IsAttached()); @@ -28,7 +28,7 @@ index 58df3d9d8ddc27ad0fe84781e8b9251c55757e0f..84f1dd7bd2a15467f253cc0b5ac612ec if (!Client()) return; -@@ -413,6 +409,10 @@ void LocalFrame::DetachImpl(FrameDetachType type) { +@@ -414,6 +410,10 @@ void LocalFrame::DetachImpl(FrameDetachType type) { // Notify ScriptController that the frame is closing, since its cleanup ends // up calling back to LocalFrameClient via WindowProxy. GetScriptController().ClearForClose(); diff --git a/patches/common/chromium/blink_world_context.patch b/patches/common/chromium/blink_world_context.patch index 5c66f4cb1bb..546c84e36c7 100644 --- a/patches/common/chromium/blink_world_context.patch +++ b/patches/common/chromium/blink_world_context.patch @@ -19,7 +19,7 @@ index 82fb3fdfe6bfa8c8d885ee133270b6f2564325a8..f3bad71eab608d3b9ac0e08446c9e520 // 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 c8174f4b93b78b9368ef38ecb56e9eccf0b71467..73c2bed83ce240574065e3699617d091a581e9e9 100644 +index ce93c3ba0fc4255999fed2bb01dfbb4161faa0dd..305ed843db5dd095a4cd9e8784e3025a1370a491 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 @@ -873,6 +873,13 @@ v8::Local WebLocalFrameImpl::GlobalProxy() const { @@ -37,7 +37,7 @@ index c8174f4b93b78b9368ef38ecb56e9eccf0b71467..73c2bed83ce240574065e3699617d091 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 3db1bec7516a40eb2f654574baa108e99ff9fb2d..fb5b43e48e455d64ce986cb5490291fc1c18d8ba 100644 +index b503bf7cef554dfb35c2123cba51c0fba7402c7e..2d38c4cebcd4040bbd417d4ae9189da954d9cfce 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 @@ -146,6 +146,8 @@ class CORE_EXPORT WebLocalFrameImpl final diff --git a/patches/common/chromium/can_create_window.patch b/patches/common/chromium/can_create_window.patch index 8a878428289..37a60f0d079 100644 --- a/patches/common/chromium/can_create_window.patch +++ b/patches/common/chromium/can_create_window.patch @@ -5,10 +5,10 @@ Subject: can_create_window.patch diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc -index 797264d0cb4236ffc91f366cf6be30643cb7bf2b..c0cd0b41088773eb6226f2074d62a798346d1f72 100644 +index 387831a4615746339f4fe16b2b1bf405f7364b54..37d8be6076b9e98ca68acb5f7dc024b0d018879e 100644 --- a/content/browser/frame_host/render_frame_host_impl.cc +++ b/content/browser/frame_host/render_frame_host_impl.cc -@@ -3712,6 +3712,7 @@ void RenderFrameHostImpl::CreateNewWindow( +@@ -3719,6 +3719,7 @@ void RenderFrameHostImpl::CreateNewWindow( last_committed_origin_, params->window_container_type, params->target_url, params->referrer.To(), params->frame_name, params->disposition, *params->features, @@ -32,10 +32,10 @@ index 82882159b0bac6d47d678c485de0aacc7db06c2d..dd2299094b79d82da7ec1cd8f559050b // 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 ce9d0ede84da62061278f7fb0c543fc2e8a0216e..3729dcc9ea3272c943754a92c6ed1d7a1fd8fcf3 100644 +index f4c61acba134daf907a1b9afaaf0327a183287e4..d15061de5254fd4f248fed92f47a1b1fcf34cd68 100644 --- a/content/public/browser/content_browser_client.cc +++ b/content/public/browser/content_browser_client.cc -@@ -518,6 +518,8 @@ bool ContentBrowserClient::CanCreateWindow( +@@ -519,6 +519,8 @@ bool ContentBrowserClient::CanCreateWindow( const std::string& frame_name, WindowOpenDisposition disposition, const blink::mojom::WindowFeatures& features, @@ -45,7 +45,7 @@ index ce9d0ede84da62061278f7fb0c543fc2e8a0216e..3729dcc9ea3272c943754a92c6ed1d7a 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 449941ddc4d43dc4cb164f6af9dcc69991dddc8b..4c84fb3648b3de36015b325246559f8aefe2ebd5 100644 +index 6ab15079fe2e1234aca140dfebd5287d8701c147..8ceccd96c4e143921ace8db69685a9631e168dd2 100644 --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h @@ -177,6 +177,7 @@ class RenderFrameHost; @@ -56,7 +56,7 @@ index 449941ddc4d43dc4cb164f6af9dcc69991dddc8b..4c84fb3648b3de36015b325246559f8a class SerialDelegate; class SiteInstance; class SpeechRecognitionManagerDelegate; -@@ -802,6 +803,8 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -805,6 +806,8 @@ class CONTENT_EXPORT ContentBrowserClient { const std::string& frame_name, WindowOpenDisposition disposition, const blink::mojom::WindowFeatures& features, @@ -66,10 +66,10 @@ index 449941ddc4d43dc4cb164f6af9dcc69991dddc8b..4c84fb3648b3de36015b325246559f8a bool opener_suppressed, bool* no_javascript_access); diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc -index 49e1e5647f700350a07ad88306a06122d0f0f204..39c5ce2a631cc1d78e36dbda506212b87f5a1939 100644 +index 1aa52af90279e16f667cb07677c11141d2efce01..3cb0f9b3e24fb79e43b724d7ad5e6ad99cb7450f 100644 --- a/content/renderer/render_view_impl.cc +++ b/content/renderer/render_view_impl.cc -@@ -77,6 +77,7 @@ +@@ -76,6 +76,7 @@ #include "content/renderer/ime_event_guard.h" #include "content/renderer/internal_document_state_data.h" #include "content/renderer/loader/request_extra_data.h" @@ -77,7 +77,7 @@ index 49e1e5647f700350a07ad88306a06122d0f0f204..39c5ce2a631cc1d78e36dbda506212b8 #include "content/renderer/media/audio/audio_device_factory.h" #include "content/renderer/media/stream/media_stream_device_observer.h" #include "content/renderer/media/video_capture/video_capture_impl_manager.h" -@@ -1358,6 +1359,8 @@ WebView* RenderViewImpl::CreateView( +@@ -1356,6 +1357,8 @@ WebView* RenderViewImpl::CreateView( } params->features = ConvertWebWindowFeaturesToMojoWindowFeatures(features); @@ -87,10 +87,10 @@ index 49e1e5647f700350a07ad88306a06122d0f0f204..39c5ce2a631cc1d78e36dbda506212b8 // 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 3e3f251af3c531fca379f7fa00f67d671bbe2d5f..e77427146729664247e4dd3313f8533a78059bf7 100644 +index 0c8320a60fcfe0bb9353587afcd9e057206fea18..7ae8aec1f042e275ea27911039c18663f22620ea 100644 --- a/content/shell/browser/web_test/web_test_content_browser_client.cc +++ b/content/shell/browser/web_test/web_test_content_browser_client.cc -@@ -299,6 +299,8 @@ bool WebTestContentBrowserClient::CanCreateWindow( +@@ -304,6 +304,8 @@ bool WebTestContentBrowserClient::CanCreateWindow( const std::string& frame_name, WindowOpenDisposition disposition, const blink::mojom::WindowFeatures& features, @@ -100,7 +100,7 @@ index 3e3f251af3c531fca379f7fa00f67d671bbe2d5f..e77427146729664247e4dd3313f8533a bool opener_suppressed, bool* no_javascript_access) { diff --git a/content/shell/browser/web_test/web_test_content_browser_client.h b/content/shell/browser/web_test/web_test_content_browser_client.h -index 8b9ae118bca4678c315d820af6b4dbe850943ed4..acde862d6d48429db5936f2e6735017dc2ef647e 100644 +index c07734ff32037fe4de7a5082d3409ee99ae19870..f0b47cc56ba5565d142e5b38efcefe333ce89e2f 100644 --- a/content/shell/browser/web_test/web_test_content_browser_client.h +++ b/content/shell/browser/web_test/web_test_content_browser_client.h @@ -69,6 +69,8 @@ class WebTestContentBrowserClient : public ShellContentBrowserClient { diff --git a/patches/common/chromium/content_allow_embedder_to_prevent_locking_scheme_registry.patch b/patches/common/chromium/content_allow_embedder_to_prevent_locking_scheme_registry.patch index d1e4be60e05..975875283f6 100644 --- a/patches/common/chromium/content_allow_embedder_to_prevent_locking_scheme_registry.patch +++ b/patches/common/chromium/content_allow_embedder_to_prevent_locking_scheme_registry.patch @@ -12,10 +12,10 @@ Without this patch, calling `registerStandardSchemes` during initialization when in debug mode will cause a DCHECK to fire. diff --git a/content/app/content_main_runner_impl.cc b/content/app/content_main_runner_impl.cc -index 33cbfcc644ee57392aead3081916205bab6aac4b..97913271560fce70da40a4561ba75d289efc26b5 100644 +index a388e279e9ef62d4484182bdde02de264a263186..4e8c72ad1602f576014ea5c8bb1d572e1490a8ff 100644 --- a/content/app/content_main_runner_impl.cc +++ b/content/app/content_main_runner_impl.cc -@@ -750,7 +750,7 @@ int ContentMainRunnerImpl::Initialize(const ContentMainParams& params) { +@@ -752,7 +752,7 @@ int ContentMainRunnerImpl::Initialize(const ContentMainParams& params) { #endif RegisterPathProvider(); diff --git a/patches/common/chromium/content_browser_main_loop.patch b/patches/common/chromium/content_browser_main_loop.patch index 1c06eac95c2..9e81744555a 100644 --- a/patches/common/chromium/content_browser_main_loop.patch +++ b/patches/common/chromium/content_browser_main_loop.patch @@ -8,7 +8,7 @@ run before shutdown. This is required to cleanup WebContents asynchronously in atom::CommonWebContentsDelegate::ResetManageWebContents. diff --git a/content/browser/browser_main_loop.cc b/content/browser/browser_main_loop.cc -index 80a9629832145f498c8f475922f9cfe7d32faed7..4bc87713d33742207d37b74ffd93cc8c4b7c5916 100644 +index dc34314c001aae412b44196805ad202694c180ef..9fd749dcd26555d84bc43aa3df3e8593371330c1 100644 --- a/content/browser/browser_main_loop.cc +++ b/content/browser/browser_main_loop.cc @@ -1529,7 +1529,7 @@ void BrowserMainLoop::MainMessageLoopRun() { diff --git a/patches/common/chromium/cross_site_document_resource_handler.patch b/patches/common/chromium/cross_site_document_resource_handler.patch index e821acfa1a6..d9b2332b9dd 100644 --- a/patches/common/chromium/cross_site_document_resource_handler.patch +++ b/patches/common/chromium/cross_site_document_resource_handler.patch @@ -1,6 +1,6 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: deepak1556 -Date: Thu, 15 Nov 2018 22:04:34 +0530 +Date: Mon, 3 Jun 2019 14:07:40 -0700 Subject: cross_site_document_resource_handler.patch Add a content layer hook to disable CORB for a renderer process, @@ -8,7 +8,7 @@ this patch can be removed once we switch to network service, where the embedders have a chance to design their URLLoaders. diff --git a/content/browser/loader/cross_site_document_resource_handler.cc b/content/browser/loader/cross_site_document_resource_handler.cc -index 2151c5b9698e9a2768875d04a2297956cc4c0d41..8a316a117ab367bcbac947894cbe1bc2428de93e 100644 +index d514c10160dd12f225c42e927977660cacbc9c43..49345f1d4d75c8b96efe485202d89774a05b6e34 100644 --- a/content/browser/loader/cross_site_document_resource_handler.cc +++ b/content/browser/loader/cross_site_document_resource_handler.cc @@ -671,6 +671,9 @@ bool CrossSiteDocumentResourceHandler::ShouldBlockBasedOnHeaders( @@ -22,10 +22,10 @@ index 2151c5b9698e9a2768875d04a2297956cc4c0d41..8a316a117ab367bcbac947894cbe1bc2 } diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc -index 3729dcc9ea3272c943754a92c6ed1d7a1fd8fcf3..787cd81b26508d3e04956721f0e7cec2f457aa60 100644 +index 62d5e17f0599a78d679495d6fa674939d237602e..f40a4ff5f08e906e62dd838eb5af63ade92037d2 100644 --- a/content/public/browser/content_browser_client.cc +++ b/content/public/browser/content_browser_client.cc -@@ -56,6 +56,10 @@ BrowserMainParts* ContentBrowserClient::CreateBrowserMainParts( +@@ -71,6 +71,10 @@ std::unique_ptr ContentBrowserClient::CreateBrowserMainParts( return nullptr; } @@ -37,11 +37,11 @@ index 3729dcc9ea3272c943754a92c6ed1d7a1fd8fcf3..787cd81b26508d3e04956721f0e7cec2 const base::Location& from_here, const scoped_refptr& task_runner, diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h -index 4c84fb3648b3de36015b325246559f8aefe2ebd5..bf9b3a601fc16d5070e4467a258a047f47b059f3 100644 +index 136df7edaaaaaa1eb121ef7cf80aebc47969dc8d..5b889fec05ee9017f5f149fab70c4feab39c86dc 100644 --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h -@@ -219,6 +219,9 @@ class CONTENT_EXPORT ContentBrowserClient { - virtual BrowserMainParts* CreateBrowserMainParts( +@@ -252,6 +252,9 @@ class CONTENT_EXPORT ContentBrowserClient { + virtual std::unique_ptr CreateBrowserMainParts( const MainFunctionParams& parameters); + // Electron: Allows bypassing CORB checks for a renderer process. diff --git a/patches/common/chromium/dcheck.patch b/patches/common/chromium/dcheck.patch index 2e84e5a494f..a783c8bc798 100644 --- a/patches/common/chromium/dcheck.patch +++ b/patches/common/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 25f8796f96bf176ef4bd222eb2426226b3107c83..8e7765eed9b9f24ddc3cb92e97893ff70dbeb683 100644 +index f50c1283c195a9fdffbf737a0368cf4ffe3940d5..c57cda2907fa68d1d8c6095d1bbd7ffb69db7d26 100644 --- a/content/browser/frame_host/navigation_controller_impl.cc +++ b/content/browser/frame_host/navigation_controller_impl.cc @@ -1242,8 +1242,10 @@ NavigationType NavigationControllerImpl::ClassifyNavigation( diff --git a/patches/common/chromium/disable-redraw-lock.patch b/patches/common/chromium/disable-redraw-lock.patch index cbab168160e..13904a5ed89 100644 --- a/patches/common/chromium/disable-redraw-lock.patch +++ b/patches/common/chromium/disable-redraw-lock.patch @@ -15,10 +15,10 @@ 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 f67479a1f9230f6869c281c884251792bf957cf9..deebf94235041cd439e5b94c81a43aa89b158445 100644 +index de88c769b5be6b7f568d999d8bb92792e0e0ae19..ba47d52fd467e01c3d36db48d3b546bfa8468ed5 100644 --- a/ui/views/win/hwnd_message_handler.cc +++ b/ui/views/win/hwnd_message_handler.cc -@@ -285,6 +285,10 @@ constexpr int kSynthesizedMouseMessagesTimeDifference = 500; +@@ -286,6 +286,10 @@ constexpr int kSynthesizedMouseMessagesTimeDifference = 500; } // namespace @@ -29,7 +29,7 @@ index f67479a1f9230f6869c281c884251792bf957cf9..deebf94235041cd439e5b94c81a43aa8 // A scoping class that prevents a window from being able to redraw in response // to invalidations that may occur within it for the lifetime of the object. // -@@ -336,6 +340,7 @@ class HWNDMessageHandler::ScopedRedrawLock { +@@ -337,6 +341,7 @@ class HWNDMessageHandler::ScopedRedrawLock { cancel_unlock_(false), should_lock_(owner_->IsVisible() && !owner->HasChildRenderingWindow() && ::IsWindow(hwnd_) && @@ -37,7 +37,7 @@ index f67479a1f9230f6869c281c884251792bf957cf9..deebf94235041cd439e5b94c81a43aa8 (!(GetWindowLong(hwnd_, GWL_STYLE) & WS_CAPTION) || !ui::win::IsAeroGlassEnabled())) { if (should_lock_) -@@ -936,6 +941,10 @@ bool HWNDMessageHandler::HasChildRenderingWindow() { +@@ -937,6 +942,10 @@ bool HWNDMessageHandler::HasChildRenderingWindow() { hwnd()); } diff --git a/patches/common/chromium/disable_color_correct_rendering.patch b/patches/common/chromium/disable_color_correct_rendering.patch index 32de45a30d1..f78617cbae3 100644 --- a/patches/common/chromium/disable_color_correct_rendering.patch +++ b/patches/common/chromium/disable_color_correct_rendering.patch @@ -65,7 +65,7 @@ index 78a6b5739caed8c3925f303c52ed107be8e4ccfe..ddbf660e594c1a991d4e758fa11b1b2e !command_line->HasSwitch(switches::kUIDisablePartialSwap); #if defined(OS_WIN) diff --git a/components/viz/service/display/gl_renderer.cc b/components/viz/service/display/gl_renderer.cc -index edf8e92edadae9354962a98712e3bc0ac7410fbe..553c181f04180185acfcf865e59c6dea839cc973 100644 +index b7a65f6dae8f2fcba0ba127cb50f0f338a26b9d0..bc1d0d3dd92d1adc6c94803755a23c28ff47771a 100644 --- a/components/viz/service/display/gl_renderer.cc +++ b/components/viz/service/display/gl_renderer.cc @@ -80,6 +80,9 @@ @@ -203,7 +203,7 @@ index edf8e92edadae9354962a98712e3bc0ac7410fbe..553c181f04180185acfcf865e59c6dea + +#undef PATCH_CS diff --git a/content/browser/gpu/gpu_process_host.cc b/content/browser/gpu/gpu_process_host.cc -index f19bbb46ea6f3962f83d10fb400ae55584a17a9e..c5dff79af54a03ef888e4474e5ea53689e8e8cd7 100644 +index f34cfb51693648a7b342d21a61c601090209355a..b488efc71edf5d79e16c25d3d7be2d8ea9fa2ec8 100644 --- a/content/browser/gpu/gpu_process_host.cc +++ b/content/browser/gpu/gpu_process_host.cc @@ -191,6 +191,7 @@ GpuTerminationStatus ConvertToGpuTerminationStatus( @@ -215,10 +215,10 @@ index f19bbb46ea6f3962f83d10fb400ae55584a17a9e..c5dff79af54a03ef888e4474e5ea5368 service_manager::switches::kGpuSandboxAllowSysVShm, service_manager::switches::kGpuSandboxFailuresFatal, diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc -index f58456df8d856346a2350b87ecd84de5b75e0d13..e0b39de61eb43f2ac779e273d3df937e38c201c4 100644 +index 4b8c6d7b1a2676df8ef63117785c1aed8341d12e..6930799c5fc0def1248b46884a3da18290e49671 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -217,6 +217,7 @@ +@@ -216,6 +216,7 @@ #include "ui/base/ui_base_switches.h" #include "ui/base/ui_base_switches_util.h" #include "ui/display/display_switches.h" @@ -226,7 +226,7 @@ index f58456df8d856346a2350b87ecd84de5b75e0d13..e0b39de61eb43f2ac779e273d3df937e #include "ui/gl/gl_switches.h" #include "ui/native_theme/native_theme_features.h" -@@ -2912,6 +2913,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( +@@ -2908,6 +2909,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/common/chromium/disable_detach_webview_frame.patch b/patches/common/chromium/disable_detach_webview_frame.patch index 639be9a59e2..82a08521376 100644 --- a/patches/common/chromium/disable_detach_webview_frame.patch +++ b/patches/common/chromium/disable_detach_webview_frame.patch @@ -12,10 +12,10 @@ this patch was introduced in Chrome 66. Update(zcbenz): The bug is still in Chrome 72. diff --git a/content/browser/frame_host/render_frame_proxy_host.cc b/content/browser/frame_host/render_frame_proxy_host.cc -index 40b42d5c85d693d15aedb6265628fe8da15dae76..1fdf88d06a869da2edad9383456cc89129f7d7cc 100644 +index a28f80496b26f5a833060c88bd25b1e652ca3420..434edc879af6a09dd45630551de8f7b5cc8a3a7e 100644 --- a/content/browser/frame_host/render_frame_proxy_host.cc +++ b/content/browser/frame_host/render_frame_proxy_host.cc -@@ -261,6 +261,12 @@ void RenderFrameProxyHost::BubbleLogicalScroll( +@@ -268,6 +268,12 @@ void RenderFrameProxyHost::BubbleLogicalScroll( void RenderFrameProxyHost::OnDetach() { if (frame_tree_node_->render_manager()->IsMainFrameForInnerDelegate()) { diff --git a/patches/common/chromium/disable_hidden.patch b/patches/common/chromium/disable_hidden.patch index 16da58a6d8b..54a307994af 100644 --- a/patches/common/chromium/disable_hidden.patch +++ b/patches/common/chromium/disable_hidden.patch @@ -5,7 +5,7 @@ Subject: disable_hidden.patch diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc -index bd0343cbb4ba7d91f7541f94d27499b1e1a120e8..e28d6e0077455a461f270988e3c46a89e1c485b2 100644 +index d1cf894d19b1cfa5e11dd44844ff15ed6a42dd58..553167fa07a3acee25434cfd71a968a112d56752 100644 --- a/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc @@ -672,6 +672,9 @@ void RenderWidgetHostImpl::WasHidden() { diff --git a/patches/common/chromium/disable_network_services_by_default.patch b/patches/common/chromium/disable_network_services_by_default.patch index f1f72667a94..45aebd7b112 100644 --- a/patches/common/chromium/disable_network_services_by_default.patch +++ b/patches/common/chromium/disable_network_services_by_default.patch @@ -12,15 +12,15 @@ We should remove this patch after all Electron's code has been migrated to the NetworkService. diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc -index ae63eaa3a0e58905332bcd3b5623c34c2b4a9281..36499b0051936c356801067b1ba7714a5a608f3b 100644 +index 6d52910b8a248519a5eedad42d4f081840db92e7..89635931c4d45447f82156974a3145394098ef68 100644 --- a/services/network/public/cpp/features.cc +++ b/services/network/public/cpp/features.cc -@@ -21,7 +21,7 @@ const base::Feature kNetworkService { - "NetworkService", - #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_FUCHSIA) || \ - (defined(OS_LINUX) && !defined(IS_CHROMECAST)) -- base::FEATURE_ENABLED_BY_DEFAULT -+ base::FEATURE_DISABLED_BY_DEFAULT - #else - base::FEATURE_DISABLED_BY_DEFAULT - #endif +@@ -18,7 +18,7 @@ const base::Feature kNetworkErrorLogging{"NetworkErrorLogging", + base::FEATURE_ENABLED_BY_DEFAULT}; + // Enables the network service. + const base::Feature kNetworkService{"NetworkService", +- base::FEATURE_ENABLED_BY_DEFAULT}; ++ base::FEATURE_DISABLED_BY_DEFAULT}; + + // Out of Blink CORS + const base::Feature kOutOfBlinkCors{"OutOfBlinkCors", diff --git a/patches/common/chromium/disable_user_gesture_requirement_for_beforeunload_dialogs.patch b/patches/common/chromium/disable_user_gesture_requirement_for_beforeunload_dialogs.patch index 0bba8022f72..f894e68d212 100644 --- a/patches/common/chromium/disable_user_gesture_requirement_for_beforeunload_dialogs.patch +++ b/patches/common/chromium/disable_user_gesture_requirement_for_beforeunload_dialogs.patch @@ -6,10 +6,10 @@ Subject: disable_user_gesture_requirement_for_beforeunload_dialogs.patch See https://github.com/electron/electron/issues/10754 diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc -index bb3aff0859f1a6998889aa4b3fb2ca1143c0ed24..eb950ec3352634980447b91e46a652a877eb8782 100644 +index 7be135720a40d819bf19afddce77670d721cfe59..1ceaf378636e16d5e93f5acc6ff42019fc87f680 100644 --- a/third_party/blink/renderer/core/dom/document.cc +++ b/third_party/blink/renderer/core/dom/document.cc -@@ -3649,7 +3649,9 @@ bool Document::DispatchBeforeUnloadEvent(ChromeClient* chrome_client, +@@ -3653,7 +3653,9 @@ bool Document::DispatchBeforeUnloadEvent(ChromeClient* chrome_client, "frame that never had a user gesture since its load. " "https://www.chromestatus.com/feature/5082396709879808"; Intervention::GenerateReport(frame_, "BeforeUnloadNoGesture", message); diff --git a/patches/common/chromium/dom_storage_limits.patch b/patches/common/chromium/dom_storage_limits.patch index ba0d12cdb3c..1db5763ce84 100644 --- a/patches/common/chromium/dom_storage_limits.patch +++ b/patches/common/chromium/dom_storage_limits.patch @@ -60,42 +60,6 @@ index e87afe5b8ee07f7038a7cc9c40832b6cd27884da..61c9a0dfff60f79c7b36ff5c7d741c06 const size_t kPerStorageAreaQuota = 10 * 1024 * 1024; // In the browser process we allow some overage to -diff --git a/content/renderer/dom_storage/dom_storage_cached_area.cc b/content/renderer/dom_storage/dom_storage_cached_area.cc -index 13bcf8e3f2882999e073d0c7ac6d8f1627f0bfa2..6d330cd1de358b477df4c1fed4d814c206a3643d 100644 ---- a/content/renderer/dom_storage/dom_storage_cached_area.cc -+++ b/content/renderer/dom_storage/dom_storage_cached_area.cc -@@ -54,11 +54,13 @@ bool DOMStorageCachedArea::SetItem(int connection_id, - const base::string16& key, - const base::string16& value, - const GURL& page_url) { -+#if 0 - // A quick check to reject obviously overbudget items to avoid - // the priming the cache. - if ((key.length() + value.length()) * sizeof(base::char16) > - kPerStorageAreaQuota) - return false; -+#endif - - PrimeIfNeeded(connection_id); - base::NullableString16 old_value; -diff --git a/content/renderer/dom_storage/local_storage_cached_area.cc b/content/renderer/dom_storage/local_storage_cached_area.cc -index c04e0e8bff1a7a41a1e18aca5403aed16a80aead..d63cec971f0a98f7b8ff30c1f6a0fa843efbecfa 100644 ---- a/content/renderer/dom_storage/local_storage_cached_area.cc -+++ b/content/renderer/dom_storage/local_storage_cached_area.cc -@@ -142,11 +142,13 @@ bool LocalStorageCachedArea::SetItem(const base::string16& key, - const base::string16& value, - const GURL& page_url, - const std::string& storage_area_id) { -+#if 0 - // A quick check to reject obviously overbudget items to avoid priming the - // cache. - if ((key.length() + value.length()) * sizeof(base::char16) > - kPerStorageAreaQuota) - return false; -+#endif - - EnsureLoaded(); - bool result = false; diff --git a/third_party/blink/renderer/modules/storage/cached_storage_area.cc b/third_party/blink/renderer/modules/storage/cached_storage_area.cc index 6a3a3718443aebf24fd60e00f8f01ba76575ebfa..fb8250553164ebaf1a5ccae4a1c8e2f660ea6e14 100644 --- a/third_party/blink/renderer/modules/storage/cached_storage_area.cc diff --git a/patches/common/chromium/exclude-a-few-test-files-from-build.patch b/patches/common/chromium/exclude-a-few-test-files-from-build.patch index 4f5684e006b..b69ba84fb93 100644 --- a/patches/common/chromium/exclude-a-few-test-files-from-build.patch +++ b/patches/common/chromium/exclude-a-few-test-files-from-build.patch @@ -7,10 +7,10 @@ Compilation of those files fails with the Chromium 68. Remove the patch during the Chromium 69 upgrade. diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn -index 99269e86e5b60e1191cc4bfef59f8fb3f8cb2f27..0c90eaaaa5b08e33ea7fce212429a4e9f7a49cf5 100644 +index 070fd58b25aee470a861bd79c27f66470e80a271..ae07383907664394544bf4643044b2b43171a029 100644 --- a/third_party/blink/renderer/platform/BUILD.gn +++ b/third_party/blink/renderer/platform/BUILD.gn -@@ -1749,7 +1749,7 @@ jumbo_source_set("blink_platform_unittests_sources") { +@@ -1713,7 +1713,7 @@ jumbo_source_set("blink_platform_unittests_sources") { "graphics/paint/drawing_display_item_test.cc", "graphics/paint/drawing_recorder_test.cc", "graphics/paint/float_clip_rect_test.cc", diff --git a/patches/common/chromium/feat_offscreen_rendering_with_viz_compositor.patch b/patches/common/chromium/feat_offscreen_rendering_with_viz_compositor.patch index 0cf134f6f42..35fa1cc6fc3 100644 --- a/patches/common/chromium/feat_offscreen_rendering_with_viz_compositor.patch +++ b/patches/common/chromium/feat_offscreen_rendering_with_viz_compositor.patch @@ -98,7 +98,7 @@ index 93c52d2b928cba6e98723e19b005fb7bd7089a58..4dc645e770a2a039ed8e4ff4de555767 private: const HWND hwnd_; diff --git a/components/viz/service/BUILD.gn b/components/viz/service/BUILD.gn -index e2bb3f029f754a5d4d3902af0c0c87da762182eb..10b369fe9ac1e7739c288c4ccf09f621ea444bab 100644 +index f17983a5cc70f8ab1e5c531de8e26fdec04a079b..16aefe38f0c674d97a89d3e511dc104ae0670f26 100644 --- a/components/viz/service/BUILD.gn +++ b/components/viz/service/BUILD.gn @@ -117,6 +117,8 @@ viz_component("service") { diff --git a/patches/common/chromium/frame_host_manager.patch b/patches/common/chromium/frame_host_manager.patch index c4010a56aca..0c30394c90a 100644 --- a/patches/common/chromium/frame_host_manager.patch +++ b/patches/common/chromium/frame_host_manager.patch @@ -1,6 +1,6 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: deepak1556 -Date: Wed, 14 Nov 2018 20:38:46 +0530 +Date: Mon, 3 Jun 2019 14:20:05 -0700 Subject: frame_host_manager.patch Allows embedder to intercept site instances chosen by chromium @@ -42,7 +42,7 @@ index 775b64a8d20f89845812852a2904a1e6875c2b4a..5235b57bbf44fc7b30ca6943c43a290f // another SiteInstance for the same site. void RegisterSiteInstance(SiteInstanceImpl* site_instance); diff --git a/content/browser/frame_host/render_frame_host_manager.cc b/content/browser/frame_host/render_frame_host_manager.cc -index b5301d164138f21ca8ae01abfb153efde51ec324..55f87cc788c7eed13494ebe6ea6eb18027a04996 100644 +index 297b61198dd46114b3d8c89488a71ed01aa299c4..40b848a8b448bed2d167bf5f6c0f25971b603ed2 100644 --- a/content/browser/frame_host/render_frame_host_manager.cc +++ b/content/browser/frame_host/render_frame_host_manager.cc @@ -2127,6 +2127,20 @@ bool RenderFrameHostManager::InitRenderView( @@ -66,7 +66,7 @@ index b5301d164138f21ca8ae01abfb153efde51ec324..55f87cc788c7eed13494ebe6ea6eb180 // First, check if the navigation can switch SiteInstances. If not, the // navigation should use the current SiteInstance. SiteInstance* current_site_instance = render_frame_host_->GetSiteInstance(); -@@ -2159,6 +2173,53 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest( +@@ -2158,6 +2172,53 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest( request.common_params().url); no_renderer_swap_allowed |= request.from_begin_navigation() && !can_renderer_initiate_transfer; @@ -120,7 +120,7 @@ index b5301d164138f21ca8ae01abfb153efde51ec324..55f87cc788c7eed13494ebe6ea6eb180 } else { // Subframe navigations will use the current renderer, unless specifically // allowed to swap processes. -@@ -2170,23 +2231,28 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest( +@@ -2169,23 +2230,28 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest( if (no_renderer_swap_allowed && !should_swap_for_error_isolation) return scoped_refptr(current_site_instance); @@ -167,22 +167,22 @@ index fd184108a7993094c29be3f7ebde658e259ede2c..75aa4a6b7d58a1bebe34efc923953c69 const GURL& url) { return browsing_instance_->GetSiteInstanceForURL( diff --git a/content/browser/site_instance_impl.h b/content/browser/site_instance_impl.h -index a46901055bdf17b6b0dab14edf753b234dc04a12..29c201b0c95eb0c7a35f47d6f3ab5b48c73dbf15 100644 +index a46901055bdf17b6b0dab14edf753b234dc04a12..113660b6eeff81d56a0415b0fa16211efd8d8e14 100644 --- a/content/browser/site_instance_impl.h +++ b/content/browser/site_instance_impl.h @@ -83,6 +83,7 @@ class CONTENT_EXPORT SiteInstanceImpl final : public SiteInstance, BrowserContext* GetBrowserContext() override; const GURL& GetSiteURL() override; scoped_refptr GetRelatedSiteInstance(const GURL& url) override; -+ scoped_refptr CreateRelatedSiteInstance(const GURL& url) override; ++ scoped_refptr CreateRelatedSiteInstance(const GURL& url) override; bool IsRelatedSiteInstance(const SiteInstance* instance) override; 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 787cd81b26508d3e04956721f0e7cec2f457aa60..8e62a5dd26595411757e03078ed0e44646c47a52 100644 +index d15061de5254fd4f248fed92f47a1b1fcf34cd68..62d5e17f0599a78d679495d6fa674939d237602e 100644 --- a/content/public/browser/content_browser_client.cc +++ b/content/public/browser/content_browser_client.cc -@@ -51,6 +51,20 @@ void OverrideOnBindInterface(const service_manager::BindSourceInfo& remote_info, +@@ -52,6 +52,20 @@ void OverrideOnBindInterface(const service_manager::BindSourceInfo& remote_info, handle); } @@ -200,14 +200,14 @@ index 787cd81b26508d3e04956721f0e7cec2f457aa60..8e62a5dd26595411757e03078ed0e446 + return SiteInstanceForNavigationType::ASK_CHROMIUM; +} + - BrowserMainParts* ContentBrowserClient::CreateBrowserMainParts( + std::unique_ptr ContentBrowserClient::CreateBrowserMainParts( const MainFunctionParams& parameters) { return nullptr; diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h -index bf9b3a601fc16d5070e4467a258a047f47b059f3..3c35eddc2498157c2b98bab55991d8aa195954f6 100644 +index 8ceccd96c4e143921ace8db69685a9631e168dd2..136df7edaaaaaa1eb121ef7cf80aebc47969dc8d 100644 --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h -@@ -211,8 +211,40 @@ CONTENT_EXPORT void OverrideOnBindInterface( +@@ -211,8 +211,41 @@ CONTENT_EXPORT void OverrideOnBindInterface( // the observer interfaces.) class CONTENT_EXPORT ContentBrowserClient { public: @@ -226,6 +226,7 @@ index bf9b3a601fc16d5070e4467a258a047f47b059f3..3c35eddc2498157c2b98bab55991d8aa + // Delegate the site instance creation to Chromium. + ASK_CHROMIUM + }; ++ virtual ~ContentBrowserClient() {} + // Electron: Allows disabling the below ShouldOverride patch @@ -233,12 +234,12 @@ index bf9b3a601fc16d5070e4467a258a047f47b059f3..3c35eddc2498157c2b98bab55991d8aa + + // Electron: Allows overriding the SiteInstance when navigating. + virtual SiteInstanceForNavigationType ShouldOverrideSiteInstanceForNavigation( -+ content::RenderFrameHost* current_rfh, -+ content::RenderFrameHost* speculative_rfh, -+ content::BrowserContext* browser_context, -+ const GURL& url, -+ bool has_request_started, -+ content::SiteInstance** affinity_site_instance) const; ++ content::RenderFrameHost* current_rfh, ++ content::RenderFrameHost* speculative_rfh, ++ content::BrowserContext* browser_context, ++ const GURL& url, ++ bool has_request_started, ++ content::SiteInstance** affinity_site_instance) const; + + // Electron: Registers a pending site instance during a navigation. + virtual void RegisterPendingSiteInstance( @@ -249,17 +250,17 @@ index bf9b3a601fc16d5070e4467a258a047f47b059f3..3c35eddc2498157c2b98bab55991d8aa // implementations for the browser startup code. See comments in // browser_main_parts.h. diff --git a/content/public/browser/site_instance.h b/content/public/browser/site_instance.h -index a3e880e20e51d988175f0e8e2c42e7f5c1740104..61bbf88265e717934533117efbc2330661e32b11 100644 +index a3e880e20e51d988175f0e8e2c42e7f5c1740104..faadd39d01530092f4f31a896ecb60f235e7f63f 100644 --- a/content/public/browser/site_instance.h +++ b/content/public/browser/site_instance.h @@ -121,6 +121,11 @@ class CONTENT_EXPORT SiteInstance : public base::RefCounted { // corresponds to a site URL with the host "example.com". virtual const GURL& GetSiteURL() = 0; -+ // Create a SiteInstance for the given URL that shares the current -+ // BrowsingInstance. -+ virtual scoped_refptr CreateRelatedSiteInstance( -+ const GURL& url) = 0; ++ // Create a SiteInstance for the given URL that shares the current ++ // BrowsingInstance. ++ virtual scoped_refptr CreateRelatedSiteInstance( ++ const GURL& url) = 0; + // Gets a SiteInstance for the given URL that shares the current // BrowsingInstance, creating a new SiteInstance if necessary. This ensures diff --git a/patches/common/chromium/gritsettings_resource_ids.patch b/patches/common/chromium/gritsettings_resource_ids.patch index 60901cf49be..a4a8d8d0efe 100644 --- a/patches/common/chromium/gritsettings_resource_ids.patch +++ b/patches/common/chromium/gritsettings_resource_ids.patch @@ -6,10 +6,10 @@ Subject: gritsettings_resource_ids.patch Add electron resources file to the list of resource ids generation. diff --git a/tools/gritsettings/resource_ids b/tools/gritsettings/resource_ids -index 8f879aae6036650326cae426bf52bceb65aa48ec..a71ee07331c3c45d05689c619b3bc5780e62e798 100644 +index 2a7cb2dcb562781310062bc93af3a3d2f5f57fa2..8948459732b4a9ba35a394b4c26be566484c2830 100644 --- a/tools/gritsettings/resource_ids +++ b/tools/gritsettings/resource_ids -@@ -448,6 +448,11 @@ +@@ -452,6 +452,11 @@ "includes": [28880], }, diff --git a/patches/common/chromium/mas-lssetapplicationlaunchservicesserverconnectionstatus.patch b/patches/common/chromium/mas-lssetapplicationlaunchservicesserverconnectionstatus.patch index 9189e4b48cf..04cbeb23f7e 100644 --- a/patches/common/chromium/mas-lssetapplicationlaunchservicesserverconnectionstatus.patch +++ b/patches/common/chromium/mas-lssetapplicationlaunchservicesserverconnectionstatus.patch @@ -7,17 +7,17 @@ Removes usage of the _LSSetApplicationLaunchServicesServerConnectionStatus private API. diff --git a/content/gpu/gpu_main.cc b/content/gpu/gpu_main.cc -index a838f0ccfe1991bf2cf7c394c5e8edba101c30ab..39e87967360a9c7a2856ce4df9c182c782efb2a5 100644 +index f0d320c6772acb67752a997f507c96844e3549b8..82f0c4f62be2f210db2c3ed1169c2a816c59cf1f 100644 --- a/content/gpu/gpu_main.cc +++ b/content/gpu/gpu_main.cc -@@ -278,8 +278,10 @@ int GpuMain(const MainFunctionParams& parameters) { - std::unique_ptr pump(new base::MessagePumpNSRunLoop()); - main_message_loop.reset(new base::MessageLoop(std::move(pump))); +@@ -283,8 +283,10 @@ int GpuMain(const MainFunctionParams& parameters) { + std::make_unique( + base::MessagePump::Type::NS_RUNLOOP); +#ifndef MAS_BUILD // Tell LaunchServices to continue without a connection to the daemon. _LSSetApplicationLaunchServicesServerConnectionStatus(0, nullptr); +#endif #else - main_message_loop.reset( - new base::MessageLoop(base::MessageLoop::TYPE_DEFAULT)); + main_thread_task_executor = + std::make_unique( diff --git a/patches/common/chromium/no_cache_storage_check.patch b/patches/common/chromium/no_cache_storage_check.patch index 39e68314b36..a43307d13ee 100644 --- a/patches/common/chromium/no_cache_storage_check.patch +++ b/patches/common/chromium/no_cache_storage_check.patch @@ -7,7 +7,7 @@ Do not check for unique origin in CacheStorage, in Electron we may have scripts running without an origin. diff --git a/content/browser/cache_storage/legacy/legacy_cache_storage.cc b/content/browser/cache_storage/legacy/legacy_cache_storage.cc -index 6250b9e0300745e632b3208223d00a8b97bd09f9..4663bfba7017241dde7c286541fcb33bd98f4fbe 100644 +index f91df0d1bc58bdc7244c6b248844f2bd51c90fa3..d1935f5a7bc189e9621e83a02c4cf4d1bf72ab60 100644 --- a/content/browser/cache_storage/legacy/legacy_cache_storage.cc +++ b/content/browser/cache_storage/legacy/legacy_cache_storage.cc @@ -106,7 +106,7 @@ class LegacyCacheStorage::CacheLoader { diff --git a/patches/common/chromium/notification_provenance.patch b/patches/common/chromium/notification_provenance.patch index 8e21b68303f..b47bd9300d5 100644 --- a/patches/common/chromium/notification_provenance.patch +++ b/patches/common/chromium/notification_provenance.patch @@ -67,7 +67,7 @@ index cbac30fa7a12db927ba6a15173ba1181e03e0723..4d26fd795a7ce1ffd046c4a0f2ec1779 mojo::MakeRequest(¬ification_service_ptr_)); diff --git a/content/browser/notifications/platform_notification_context_impl.cc b/content/browser/notifications/platform_notification_context_impl.cc -index 9402a2b51567beb042dbcfe05a6f61da457a659e..d046d64e94937ea12ff87c06ea14cc112bfd18ee 100644 +index 6ae821791660dfbda93430a937ba75b596332091..a17515d29eb5ed643e684d33a8ecd92b28902c13 100644 --- a/content/browser/notifications/platform_notification_context_impl.cc +++ b/content/browser/notifications/platform_notification_context_impl.cc @@ -207,12 +207,13 @@ void PlatformNotificationContextImpl::Shutdown() { @@ -87,7 +87,7 @@ index 9402a2b51567beb042dbcfe05a6f61da457a659e..d046d64e94937ea12ff87c06ea14cc11 void PlatformNotificationContextImpl::RemoveService( diff --git a/content/browser/notifications/platform_notification_context_impl.h b/content/browser/notifications/platform_notification_context_impl.h -index 3373171efb690863c70cd10bd465fc4b3dd5320c..64f2c0344eb9978e712f5c39e1f43d9b61c3bf08 100644 +index f1710b69a91931021ba56db544fce551fad52f46..b116b89114a431f8e67a68e7f7cc1c65d33985c7 100644 --- a/content/browser/notifications/platform_notification_context_impl.h +++ b/content/browser/notifications/platform_notification_context_impl.h @@ -24,6 +24,7 @@ @@ -109,10 +109,10 @@ index 3373171efb690863c70cd10bd465fc4b3dd5320c..64f2c0344eb9978e712f5c39e1f43d9b // Removes |service| from the list of owned services, for example because the diff --git a/content/browser/renderer_interface_binders.cc b/content/browser/renderer_interface_binders.cc -index c3955dd7250f0e608dc21e7b553d9b00af43286d..081d717c0bdffe04146e8cb854d0f52bfe644015 100644 +index 3f0c06be2d9afcc02b326097fd99d27434635909..dea30a859da0e00f44d95642a2f469d3aabd2f45 100644 --- a/content/browser/renderer_interface_binders.cc +++ b/content/browser/renderer_interface_binders.cc -@@ -207,7 +207,7 @@ void RendererInterfaceBinders::InitializeParameterizedBinderRegistry() { +@@ -197,7 +197,7 @@ void RendererInterfaceBinders::InitializeParameterizedBinderRegistry() { RenderProcessHost* host, const url::Origin& origin) { static_cast(host->GetStoragePartition()) ->GetPlatformNotificationContext() diff --git a/patches/common/chromium/printing.patch b/patches/common/chromium/printing.patch index 57de06158ad..16ffd1f3ac9 100644 --- a/patches/common/chromium/printing.patch +++ b/patches/common/chromium/printing.patch @@ -9,7 +9,7 @@ majority of changes originally come from these PRs: * https://github.com/electron/electron/pull/8596 diff --git a/chrome/browser/printing/print_job_worker.cc b/chrome/browser/printing/print_job_worker.cc -index 691c476708b6bcef9f231bc990b81dd06c4c0cc4..d124a4558affaf244ea82ab37f823db6e345d499 100644 +index 88a6142eea4c7a219c08fe3463c44711f5c9fada..a1ec557f54cea6e976d357032328f2e10cc30054 100644 --- a/chrome/browser/printing/print_job_worker.cc +++ b/chrome/browser/printing/print_job_worker.cc @@ -21,12 +21,12 @@ @@ -27,7 +27,7 @@ index 691c476708b6bcef9f231bc990b81dd06c4c0cc4..d124a4558affaf244ea82ab37f823db6 #include "printing/printed_document.h" #include "printing/printing_utils.h" diff --git a/chrome/browser/printing/print_view_manager_base.cc b/chrome/browser/printing/print_view_manager_base.cc -index 007b003dd58d44acd6e1351c237fca6463d90602..4ddbf18e335609623aba42cc39a7c977fe8c5229 100644 +index 7ba43aada1ac44827cca264d6f37814e4a91f458..db011ba8370423723ff9d21be30cbf25db1e7537 100644 --- a/chrome/browser/printing/print_view_manager_base.cc +++ b/chrome/browser/printing/print_view_manager_base.cc @@ -27,10 +27,7 @@ @@ -132,7 +132,7 @@ index 007b003dd58d44acd6e1351c237fca6463d90602..4ddbf18e335609623aba42cc39a7c977 return; diff --git a/chrome/browser/printing/print_view_manager_base.h b/chrome/browser/printing/print_view_manager_base.h -index a2569836d04ff968e690215f56f6de3b6d884874..6ddec22641b74d5484c2e0d4f62e5d71d8d783e9 100644 +index cf074791d0e2e17bbf8cf0b000b8d63e235b7deb..0838041cfe45d26dca65b549452535820191ae44 100644 --- a/chrome/browser/printing/print_view_manager_base.h +++ b/chrome/browser/printing/print_view_manager_base.h @@ -39,6 +39,8 @@ class PrintJob; @@ -155,7 +155,7 @@ index a2569836d04ff968e690215f56f6de3b6d884874..6ddec22641b74d5484c2e0d4f62e5d71 #if BUILDFLAG(ENABLE_PRINT_PREVIEW) // Prints the document in |print_data| with settings specified in -@@ -197,6 +201,9 @@ class PrintViewManagerBase : public content::NotificationObserver, +@@ -195,6 +199,9 @@ class PrintViewManagerBase : public content::NotificationObserver, // The current RFH that is printing with a system printing dialog. content::RenderFrameHost* printing_rfh_; diff --git a/patches/common/chromium/render_widget_host_view_mac.patch b/patches/common/chromium/render_widget_host_view_mac.patch index 3ddb0d8941c..bd544d04497 100644 --- a/patches/common/chromium/render_widget_host_view_mac.patch +++ b/patches/common/chromium/render_widget_host_view_mac.patch @@ -5,7 +5,7 @@ Subject: render_widget_host_view_mac.patch diff --git a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm -index 8284524948c54c91e80e61c046ef7a8a7e66ba66..5e0218a0933df9440bcb86ac89373c417d31d206 100644 +index 188fe917cb4e60458ca0aff4a467d18b2be915ea..62f8697c4a11a0df3be84ef8efe0ff90399e39ff 100644 --- a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm +++ b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm @@ -142,6 +142,11 @@ void ExtractUnderlines(NSAttributedString* string, @@ -40,7 +40,7 @@ index 8284524948c54c91e80e61c046ef7a8a7e66ba66..5e0218a0933df9440bcb86ac89373c41 + // We only handle key down events and just simply forward other events. if (eventType != NSKeyDown) { - clientHelper_->ForwardKeyboardEvent(event, latency_info); + hostHelper_->ForwardKeyboardEvent(event, latency_info); @@ -1505,9 +1517,11 @@ - (NSAccessibilityRole)accessibilityRole { // Since this implementation doesn't have to wait any IPC calls, this doesn't // make any key-typing jank. --hbono 7/23/09 @@ -66,7 +66,7 @@ index 8284524948c54c91e80e61c046ef7a8a7e66ba66..5e0218a0933df9440bcb86ac89373c41 return validAttributesForMarkedText_.get(); } diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm -index 605fe2face44403b470fb372fadb22c38b6d1068..e25d4e7abc435cf16522aa66a423f5c0b64eddb9 100644 +index d450d958e760bd4934f47505d4ff18069f210cfe..a9a043d191e0bc08061879bb3494f3ba1a9bea10 100644 --- a/content/browser/renderer_host/render_widget_host_view_mac.mm +++ b/content/browser/renderer_host/render_widget_host_view_mac.mm @@ -62,6 +62,7 @@ diff --git a/patches/common/chromium/resource_file_conflict.patch b/patches/common/chromium/resource_file_conflict.patch index d60813d8d26..6badf413985 100644 --- a/patches/common/chromium/resource_file_conflict.patch +++ b/patches/common/chromium/resource_file_conflict.patch @@ -52,10 +52,10 @@ Some alternatives to this patch: None of these options seems like a substantial maintainability win over this patch to me (@nornagon). diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn -index 2503eb797188cbb22be0ad703a35d30c16dfad9f..f0c614e9e174a2fa362242559026c8c30dee56bf 100644 +index 7b277dc44034b556594bf47736d3ea95e85d2ac2..3d642578ed329b970e23785c09106b4cfdd9445a 100644 --- a/chrome/BUILD.gn +++ b/chrome/BUILD.gn -@@ -1685,7 +1685,7 @@ if (is_chrome_branded && !is_android) { +@@ -1686,7 +1686,7 @@ if (is_chrome_branded && !is_android) { } } @@ -64,7 +64,7 @@ index 2503eb797188cbb22be0ad703a35d30c16dfad9f..f0c614e9e174a2fa362242559026c8c3 chrome_paks("packed_resources") { if (is_mac) { output_dir = "$root_gen_dir/repack" -@@ -1709,6 +1709,12 @@ if (!is_android) { +@@ -1710,6 +1710,12 @@ if (!is_android) { } } diff --git a/patches/common/chromium/scroll_bounce_flag.patch b/patches/common/chromium/scroll_bounce_flag.patch index f6bdd6cd8d8..3bd87d3ee2e 100644 --- a/patches/common/chromium/scroll_bounce_flag.patch +++ b/patches/common/chromium/scroll_bounce_flag.patch @@ -6,10 +6,10 @@ Subject: scroll_bounce_flag.patch Patch to make scrollBounce option work. diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc -index 036f9c735e5409fe69c992a97eb57d7d224e6e81..97a9928d0c9ecd8c18f925e5d660e3de39745386 100644 +index 0fa36e789411c952bc8b1ccbe6d0164d909ac8f3..5753b9c772541f53b7cec24d0efce63cc9ab8dcc 100644 --- a/content/renderer/render_thread_impl.cc +++ b/content/renderer/render_thread_impl.cc -@@ -1520,7 +1520,7 @@ bool RenderThreadImpl::IsGpuMemoryBufferCompositorResourcesEnabled() { +@@ -1509,7 +1509,7 @@ bool RenderThreadImpl::IsGpuMemoryBufferCompositorResourcesEnabled() { } bool RenderThreadImpl::IsElasticOverscrollEnabled() { diff --git a/patches/common/chromium/stream_resource_handler.patch b/patches/common/chromium/stream_resource_handler.patch deleted file mode 100644 index 3c401c3f19e..00000000000 --- a/patches/common/chromium/stream_resource_handler.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: deepak1556 -Date: Thu, 20 Sep 2018 17:46:39 -0700 -Subject: stream_resource_handler.patch - - -diff --git a/content/browser/loader/stream_resource_handler.h b/content/browser/loader/stream_resource_handler.h -index b6f51bba48cd145d6bccaff649d7875cf0520b7d..1ee88dfacee3e9bf3e4393a32ebd719251709fb3 100644 ---- a/content/browser/loader/stream_resource_handler.h -+++ b/content/browser/loader/stream_resource_handler.h -@@ -11,6 +11,7 @@ - #include "base/memory/ref_counted.h" - #include "content/browser/loader/resource_handler.h" - #include "content/browser/loader/stream_writer.h" -+#include "content/common/content_export.h" - - namespace net { - class URLRequest; -@@ -22,7 +23,7 @@ class ResourceController; - class StreamRegistry; - - // Redirect this resource to a stream. --class StreamResourceHandler : public ResourceHandler { -+class CONTENT_EXPORT StreamResourceHandler : public ResourceHandler { - public: - // |origin| will be used to construct the URL for the Stream. See - // WebCore::BlobURL and and WebCore::SecurityOrigin in Blink to understand diff --git a/patches/common/chromium/support_mixed_sandbox_with_zygote.patch b/patches/common/chromium/support_mixed_sandbox_with_zygote.patch index 5b523cc98e9..2ec15b56cb4 100644 --- a/patches/common/chromium/support_mixed_sandbox_with_zygote.patch +++ b/patches/common/chromium/support_mixed_sandbox_with_zygote.patch @@ -22,10 +22,10 @@ However, the patch would need to be reviewed by the security team, as it does touch a security-sensitive class. diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc -index a1ed7949ba0623af8989b7286c11bca797278227..f58456df8d856346a2350b87ecd84de5b75e0d13 100644 +index 515e148c26584b7fc9c3fcd9c266e6a7714ca75d..4b8c6d7b1a2676df8ef63117785c1aed8341d12e 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -417,6 +417,10 @@ class RendererSandboxedProcessLauncherDelegate +@@ -416,6 +416,10 @@ class RendererSandboxedProcessLauncherDelegate : public SandboxedProcessLauncherDelegate { public: RendererSandboxedProcessLauncherDelegate() {} @@ -36,7 +36,7 @@ index a1ed7949ba0623af8989b7286c11bca797278227..f58456df8d856346a2350b87ecd84de5 ~RendererSandboxedProcessLauncherDelegate() override {} -@@ -436,6 +440,9 @@ class RendererSandboxedProcessLauncherDelegate +@@ -435,6 +439,9 @@ class RendererSandboxedProcessLauncherDelegate #if BUILDFLAG(USE_ZYGOTE_HANDLE) service_manager::ZygoteHandle GetZygote() override { @@ -46,7 +46,7 @@ index a1ed7949ba0623af8989b7286c11bca797278227..f58456df8d856346a2350b87ecd84de5 const base::CommandLine& browser_command_line = *base::CommandLine::ForCurrentProcess(); base::CommandLine::StringType renderer_prefix = -@@ -449,6 +456,11 @@ class RendererSandboxedProcessLauncherDelegate +@@ -448,6 +455,11 @@ class RendererSandboxedProcessLauncherDelegate service_manager::SandboxType GetSandboxType() override { return service_manager::SANDBOX_TYPE_RENDERER; } @@ -58,7 +58,7 @@ index a1ed7949ba0623af8989b7286c11bca797278227..f58456df8d856346a2350b87ecd84de5 }; const char kSessionStorageHolderKey[] = "kSessionStorageHolderKey"; -@@ -1729,11 +1741,18 @@ bool RenderProcessHostImpl::Init() { +@@ -1728,11 +1740,18 @@ bool RenderProcessHostImpl::Init() { cmd_line->PrependWrapper(renderer_prefix); AppendRendererCommandLine(cmd_line.get()); diff --git a/patches/common/chromium/unsandboxed_ppapi_processes_skip_zygote.patch b/patches/common/chromium/unsandboxed_ppapi_processes_skip_zygote.patch index fd242fd8ad4..bacf4c4c21e 100644 --- a/patches/common/chromium/unsandboxed_ppapi_processes_skip_zygote.patch +++ b/patches/common/chromium/unsandboxed_ppapi_processes_skip_zygote.patch @@ -5,10 +5,10 @@ Subject: unsandboxed ppapi processes skip zygote diff --git a/content/browser/ppapi_plugin_process_host.cc b/content/browser/ppapi_plugin_process_host.cc -index 817fa41a2dcb4692b33915281b1efc66d1b07334..e7c58a83517061bc127b57e6e0e6875d681b3430 100644 +index 37713154ca38166f5abf34f128211e84a9267553..2afb96a4c46d654630c5519b7654b42654a88b5f 100644 --- a/content/browser/ppapi_plugin_process_host.cc +++ b/content/browser/ppapi_plugin_process_host.cc -@@ -106,6 +106,9 @@ class PpapiPluginSandboxedProcessLauncherDelegate +@@ -121,6 +121,9 @@ class PpapiPluginSandboxedProcessLauncherDelegate service_manager::ZygoteHandle GetZygote() override { const base::CommandLine& browser_command_line = *base::CommandLine::ForCurrentProcess(); diff --git a/patches/common/chromium/web_contents.patch b/patches/common/chromium/web_contents.patch index 80266a987a1..7b9d19e7ee0 100644 --- a/patches/common/chromium/web_contents.patch +++ b/patches/common/chromium/web_contents.patch @@ -5,10 +5,10 @@ Subject: web_contents.patch diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 05f63c0802d4af296064e258e827098fbe97e972..0b3cee64c9a13ed6cc0f187571eb90db12fcb66a 100644 +index 9f68ff38beffa5840fc3f037df2d4a71f0cbc36a..f38b9d34f8c29658af6120d5422acb635fd1539c 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -2068,6 +2068,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { +@@ -2071,6 +2071,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { std::string unique_name; frame_tree_.root()->SetFrameName(params.main_frame_name, unique_name); @@ -21,7 +21,7 @@ index 05f63c0802d4af296064e258e827098fbe97e972..0b3cee64c9a13ed6cc0f187571eb90db WebContentsViewDelegate* delegate = GetContentClient()->browser()->GetWebContentsViewDelegate(this); -@@ -2083,6 +2089,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { +@@ -2086,6 +2092,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { &render_view_host_delegate_view_); } } diff --git a/patches/common/chromium/webview_cross_drag.patch b/patches/common/chromium/webview_cross_drag.patch index 38bbe0a64ed..44e5f911ff0 100644 --- a/patches/common/chromium/webview_cross_drag.patch +++ b/patches/common/chromium/webview_cross_drag.patch @@ -17,7 +17,7 @@ index ee5760ecbe0f836d0e49f53527252a48f4344b03..a413be0448816152f99d234a4e409bf0 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 9423f9c8a225f9d18f6dcd0b9f7de033cbe495df..e7fe311327f698a760c09db2c7677a10c59f5224 100644 +index c4638ac6e86d6a816848cdbbdfa3e70d45086d90..18bd2fb8171568745549d490ee93887418890157 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 { diff --git a/patches/common/chromium/woa_compiler_workaround.patch b/patches/common/chromium/woa_compiler_workaround.patch index 3e1c11aeb35..ff4cbebc46e 100644 --- a/patches/common/chromium/woa_compiler_workaround.patch +++ b/patches/common/chromium/woa_compiler_workaround.patch @@ -1,4 +1,4 @@ -From b3414d055399d0a21f6166a536467ea752b2aa8a Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Richard Townsend Date: Mon, 3 Jun 2019 09:52:49 +0100 Subject: build: pull in a fixed compiler for Windows on Arm @@ -11,27 +11,20 @@ by setting ELECTRON_BUILDING_WOA=1 or similar in the environment. This PR is only intended to be a temporary workaround and will be removed when Electron's Chromium updates to a compiler unaffected by this issue. ---- - tools/clang/scripts/update.py | 6 ++++++ - 1 file changed, 6 insertions(+) diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py -index 876fb66d1ac6..69c2688aaf55 100755 +index c14a188f16c41002088b2f8451ea3cab7f2ff4e9..b067774bc2c1d833142ff848a9faa5d4bac0b4cd 100755 --- a/tools/clang/scripts/update.py +++ b/tools/clang/scripts/update.py -@@ -40,6 +40,12 @@ CLANG_REVISION = '67510fac36d27b2e22c7cd955fc167136b737b93' +@@ -40,6 +40,11 @@ CLANG_REVISION = '67510fac36d27b2e22c7cd955fc167136b737b93' CLANG_SVN_REVISION = '361212' - CLANG_SUB_REVISION = 2 - + CLANG_SUB_REVISION = 3 + +if os.getenv('ELECTRON_BUILDING_WOA'): + CLANG_REVISION = '56bee1a90a71876cb5067b108bf5715fa1c4e843' + CLANG_SVN_REVISION = '361657' + CLANG_SUB_REVISION = 1 -+ + PACKAGE_VERSION = '%s-%s-%s' % (CLANG_SVN_REVISION, CLANG_REVISION[:8], CLANG_SUB_REVISION) RELEASE_VERSION = '9.0.0' --- -2.19.1.windows.1 - diff --git a/patches/common/chromium/worker_context_will_destroy.patch b/patches/common/chromium/worker_context_will_destroy.patch index 67bd79ec5af..60cb7dc1a80 100644 --- a/patches/common/chromium/worker_context_will_destroy.patch +++ b/patches/common/chromium/worker_context_will_destroy.patch @@ -5,10 +5,10 @@ Subject: worker_context_will_destroy.patch diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h -index fa2e153443329bcb5a48fe5c577db74a1aec26ca..6bad6c2e34e73d990d49fca4ad953cfbf8deba83 100644 +index 31fcd7d89bf8f23d32ad385351d272e81aad36a1..373a76a576e2ccdf604036daadf012c24d409858 100644 --- a/content/public/renderer/content_renderer_client.h +++ b/content/public/renderer/content_renderer_client.h -@@ -384,6 +384,11 @@ class CONTENT_EXPORT ContentRendererClient { +@@ -389,6 +389,11 @@ class CONTENT_EXPORT ContentRendererClient { virtual void DidInitializeWorkerContextOnWorkerThread( v8::Local context) {} @@ -21,10 +21,10 @@ index fa2e153443329bcb5a48fe5c577db74a1aec26ca..6bad6c2e34e73d990d49fca4ad953cfb // An empty URL is returned if the URL is not overriden. virtual GURL OverrideFlashEmbedWithHTML(const GURL& url); diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc -index 67f40c54f2e9cfec538576dc9e9da6f495ba62aa..61bbe9cb061d83cbcc01999877d6082020ad76ba 100644 +index 8bdf34b7a2fae5941f986434d2ff39d1f6ab332a..c89bcd9d4ed37c68ec19f0d4976fe64f7ebdbb2b 100644 --- a/content/renderer/renderer_blink_platform_impl.cc +++ b/content/renderer/renderer_blink_platform_impl.cc -@@ -1044,6 +1044,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() { +@@ -953,6 +953,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() { WorkerThreadRegistry::Instance()->WillStopCurrentWorkerThread(); } @@ -38,22 +38,22 @@ index 67f40c54f2e9cfec538576dc9e9da6f495ba62aa..61bbe9cb061d83cbcc01999877d60820 const v8::Local& worker) { GetContentClient()->renderer()->DidInitializeWorkerContextOnWorkerThread( diff --git a/content/renderer/renderer_blink_platform_impl.h b/content/renderer/renderer_blink_platform_impl.h -index 7b550279f319d673ce8e4b6f4ad6e9451685bd5b..81e20536edee59ca31f2f674592e31dafb21d22c 100644 +index a7cc63d04922b00cd2c65283343a9315e86a6bae..5f315876dce8fc0b695c0aa44da9cc54d9ec0fe1 100644 --- a/content/renderer/renderer_blink_platform_impl.h +++ b/content/renderer/renderer_blink_platform_impl.h -@@ -199,6 +199,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { +@@ -188,6 +188,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { void DidStartWorkerThread() override; void WillStopWorkerThread() override; void WorkerContextCreated(const v8::Local& worker) override; + void WorkerContextWillDestroy(const v8::Local& worker) override; - - void RecordMetricsForBackgroundedRendererPurge() override; + bool IsExcludedHeaderForServiceWorkerFetchEvent( + const blink::WebString& header_name) override; diff --git a/third_party/blink/public/platform/platform.h b/third_party/blink/public/platform/platform.h -index 23173b3891d046f96e97f786898c33e67a067c67..ea040ee90e7d544fcca371945e08267d61c7ebe9 100644 +index 19b78466e66fcaf9a1cc44346e2e47f79381bf36..c2c24e3950d647ecd14585e0ed0277c1f8774290 100644 --- a/third_party/blink/public/platform/platform.h +++ b/third_party/blink/public/platform/platform.h -@@ -655,6 +655,7 @@ class BLINK_PLATFORM_EXPORT Platform { +@@ -640,6 +640,7 @@ class BLINK_PLATFORM_EXPORT Platform { virtual void DidStartWorkerThread() {} virtual void WillStopWorkerThread() {} virtual void WorkerContextCreated(const v8::Local& worker) {} @@ -62,10 +62,10 @@ index 23173b3891d046f96e97f786898c33e67a067c67..ea040ee90e7d544fcca371945e08267d const WebSecurityOrigin& script_origin) { return false; diff --git a/third_party/blink/renderer/core/workers/worker_thread.cc b/third_party/blink/renderer/core/workers/worker_thread.cc -index 512c3335456016c6d9afebe607999cff3e9f4709..7c90cb0cd86f528895f6ffebfcde854acb7cd124 100644 +index 6c71516b1906fa2cae5440782595af7a2eea8ab7..c150855e51c6623c950c3875a447217ca091ea50 100644 --- a/third_party/blink/renderer/core/workers/worker_thread.cc +++ b/third_party/blink/renderer/core/workers/worker_thread.cc -@@ -637,6 +637,12 @@ void WorkerThread::PrepareForShutdownOnWorkerThread() { +@@ -640,6 +640,12 @@ void WorkerThread::PrepareForShutdownOnWorkerThread() { nested_runner_->QuitNow(); } diff --git a/patches/common/v8/add_realloc.patch b/patches/common/v8/add_realloc.patch index 6cb825c24ba..129e2a82510 100644 --- a/patches/common/v8/add_realloc.patch +++ b/patches/common/v8/add_realloc.patch @@ -30,7 +30,7 @@ index c54b088404229dccf015e20b6a5bab19d3d94e69..cc603dc4aae69de4b09f06ed0bca48cd * Free the memory block of size |length|, pointed to by |data|. * That memory is guaranteed to be previously allocated by |Allocate|. diff --git a/src/api/api.cc b/src/api/api.cc -index 74fc41ae4935044bc23c11a511abd5342d8f8e5d..a4e275c19097a9083606707d969791194e9b23d0 100644 +index 9b2c117e1ae756e3c9d3f3b0dc36a7b348c53b51..6a501f67ebf900ee30d55bd05ccc58845d71f418 100644 --- a/src/api/api.cc +++ b/src/api/api.cc @@ -515,6 +515,10 @@ void V8::SetSnapshotDataBlob(StartupData* snapshot_blob) { diff --git a/patches/common/v8/build_gn.patch b/patches/common/v8/build_gn.patch index b518354de16..c2431f9d5b0 100644 --- a/patches/common/v8/build_gn.patch +++ b/patches/common/v8/build_gn.patch @@ -5,7 +5,7 @@ Subject: build_gn.patch diff --git a/BUILD.gn b/BUILD.gn -index bb9372d63ba90a1f78db0310bde991d5ff789285..01ef8b8420cb951db372753a4d8b9e987cfb237c 100644 +index cf089979d1446b7628ce3a7e634e4e4d2267024e..fc4571440d5e7b8af281b01d9a66cd563f5ab03d 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -269,7 +269,7 @@ config("internal_config") { @@ -17,7 +17,7 @@ index bb9372d63ba90a1f78db0310bde991d5ff789285..01ef8b8420cb951db372753a4d8b9e98 defines += [ "BUILDING_V8_SHARED" ] } } -@@ -3784,7 +3784,7 @@ if (current_toolchain == v8_generator_toolchain) { +@@ -3788,7 +3788,7 @@ if (current_toolchain == v8_generator_toolchain) { "src/interpreter/bytecodes.h", ] @@ -26,7 +26,7 @@ index bb9372d63ba90a1f78db0310bde991d5ff789285..01ef8b8420cb951db372753a4d8b9e98 deps = [ ":v8_libbase", -@@ -3815,6 +3815,8 @@ if (v8_use_snapshot && current_toolchain == v8_snapshot_toolchain) { +@@ -3819,6 +3819,8 @@ if (v8_use_snapshot && current_toolchain == v8_snapshot_toolchain) { configs = [ ":internal_config" ] diff --git a/patches/common/v8/dcheck.patch b/patches/common/v8/dcheck.patch index c8b0707337d..e2a0dfdb958 100644 --- a/patches/common/v8/dcheck.patch +++ b/patches/common/v8/dcheck.patch @@ -5,7 +5,7 @@ Subject: dcheck.patch diff --git a/src/api/api.cc b/src/api/api.cc -index a0e2766c60eee5e2bd1d7b651b1e16f656f79cdd..53f4449081e5ba082af72d7ab2db37e3eebdba46 100644 +index 1b39655a1221b3df0012f5cc26697841d2c100d6..a6ea06b358f4ff21b3f4313c82b4ec52ca5513b8 100644 --- a/src/api/api.cc +++ b/src/api/api.cc @@ -8236,7 +8236,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) { @@ -18,7 +18,7 @@ index a0e2766c60eee5e2bd1d7b651b1e16f656f79cdd..53f4449081e5ba082af72d7ab2db37e3 isolate->default_microtask_queue()->RunMicrotasks(isolate); } diff --git a/src/heap/heap.cc b/src/heap/heap.cc -index 52387b5bc16e47c7453c13213549d3721e59e46d..8cdb21d3f1463fdbc4fc641c7bc8d30f3f07fe59 100644 +index 209832dddc21b3c7ef3ab6d8586572b5eaf5f337..7416eda8db13019d8db54bf1a54a9ae4e15982d1 100644 --- a/src/heap/heap.cc +++ b/src/heap/heap.cc @@ -5080,9 +5080,9 @@ void Heap::TearDown() { diff --git a/patches/common/v8/deps_provide_more_v8_backwards_compatibility.patch b/patches/common/v8/deps_provide_more_v8_backwards_compatibility.patch index 8eb6fa36b1f..e4011b820fd 100644 --- a/patches/common/v8/deps_provide_more_v8_backwards_compatibility.patch +++ b/patches/common/v8/deps_provide_more_v8_backwards_compatibility.patch @@ -174,7 +174,7 @@ index cc603dc4aae69de4b09f06ed0bca48cdae8eebd3..c59b0fa69880c237e3b60f190160d8b9 #ifdef V8_ENABLE_CHECKS CheckCast(value); diff --git a/src/api/api.cc b/src/api/api.cc -index a4e275c19097a9083606707d969791194e9b23d0..a0e2766c60eee5e2bd1d7b651b1e16f656f79cdd 100644 +index 6a501f67ebf900ee30d55bd05ccc58845d71f418..1b39655a1221b3df0012f5cc26697841d2c100d6 100644 --- a/src/api/api.cc +++ b/src/api/api.cc @@ -2171,6 +2171,10 @@ int PrimitiveArray::Length() const { diff --git a/patches/common/v8/expose_mksnapshot.patch b/patches/common/v8/expose_mksnapshot.patch index 4a3483e57ba..cd28f031715 100644 --- a/patches/common/v8/expose_mksnapshot.patch +++ b/patches/common/v8/expose_mksnapshot.patch @@ -6,10 +6,10 @@ Subject: expose_mksnapshot.patch Needed in order to target mksnapshot for mksnapshot zip. diff --git a/BUILD.gn b/BUILD.gn -index 01ef8b8420cb951db372753a4d8b9e987cfb237c..560357a7c219edaa097697e616d5c04a2e86e2d8 100644 +index fc4571440d5e7b8af281b01d9a66cd563f5ab03d..2d35a0b051f4130485c783807132ddcc543f4de4 100644 --- a/BUILD.gn +++ b/BUILD.gn -@@ -3795,8 +3795,6 @@ if (current_toolchain == v8_generator_toolchain) { +@@ -3799,8 +3799,6 @@ if (current_toolchain == v8_generator_toolchain) { if (v8_use_snapshot && current_toolchain == v8_snapshot_toolchain) { v8_executable("mksnapshot") { diff --git a/patches/common/v8/workaround_an_undefined_symbol_error.patch b/patches/common/v8/workaround_an_undefined_symbol_error.patch index 02ee457a3e0..12f84182576 100644 --- a/patches/common/v8/workaround_an_undefined_symbol_error.patch +++ b/patches/common/v8/workaround_an_undefined_symbol_error.patch @@ -11,11 +11,11 @@ with messages like this in the log: By moving some functions out of the the arm64-assembler header file, this error no longer seems to happen. -diff --git a/src/arm64/assembler-arm64.cc b/src/arm64/assembler-arm64.cc -index 770dbd0827f03d40d30b530504ba0900f56011f1..b5e0e706ce2bda34f286c68e55d8ba993c4cf9db 100644 ---- a/src/arm64/assembler-arm64.cc -+++ b/src/arm64/assembler-arm64.cc -@@ -4013,6 +4013,22 @@ void Assembler::MoveWide(const Register& rd, uint64_t imm, int shift, +diff --git a/src/codegen/arm64/assembler-arm64.cc b/src/codegen/arm64/assembler-arm64.cc +index 1806f82b461a5f7368281bcd3741fd8195a20f11..53da75760ba31bed3e3cf19397474b353bc83fdf 100644 +--- a/src/codegen/arm64/assembler-arm64.cc ++++ b/src/codegen/arm64/assembler-arm64.cc +@@ -3786,6 +3786,22 @@ void Assembler::MoveWide(const Register& rd, uint64_t imm, int shift, ImmMoveWide(static_cast(imm)) | ShiftMoveWide(shift)); } @@ -38,11 +38,11 @@ index 770dbd0827f03d40d30b530504ba0900f56011f1..b5e0e706ce2bda34f286c68e55d8ba99 void Assembler::AddSub(const Register& rd, const Register& rn, const Operand& operand, FlagsUpdate S, AddSubOp op) { DCHECK_EQ(rd.SizeInBits(), rn.SizeInBits()); -diff --git a/src/arm64/assembler-arm64.h b/src/arm64/assembler-arm64.h -index 4791dcdbc7062a5d222d5c11a9c49c811e0e3fe6..bf69046dc3ff6c773261f2257b5cdb0be6822d52 100644 ---- a/src/arm64/assembler-arm64.h -+++ b/src/arm64/assembler-arm64.h -@@ -2226,11 +2226,7 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBase { +diff --git a/src/codegen/arm64/assembler-arm64.h b/src/codegen/arm64/assembler-arm64.h +index 04cd4222417f5ac88f3c5f3278c45f1d128c7c8c..fb5feb23074ac888e85a3676c1cbbb63126e72d5 100644 +--- a/src/codegen/arm64/assembler-arm64.h ++++ b/src/codegen/arm64/assembler-arm64.h +@@ -2148,11 +2148,7 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBase { return rm.code() << Rm_offset; } @@ -55,7 +55,7 @@ index 4791dcdbc7062a5d222d5c11a9c49c811e0e3fe6..bf69046dc3ff6c773261f2257b5cdb0b static Instr Ra(CPURegister ra) { DCHECK_NE(ra.code(), kSPRegInternalCode); -@@ -2254,15 +2250,8 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBase { +@@ -2176,15 +2172,8 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBase { // These encoding functions allow the stack pointer to be encoded, and // disallow the zero register.