diff --git a/patches/chromium/.patches b/patches/chromium/.patches index fc7b778173f5..a5ebda64b53f 100644 --- a/patches/chromium/.patches +++ b/patches/chromium/.patches @@ -103,6 +103,6 @@ web_contents.patch fix_route_mouse_event_navigations_through_the_web_contents_delegate.patch disable_unload_metrics.patch fix_add_check_for_sandbox_then_result.patch -moves_background_color_setter_of_webview_to_blinks_webprefs_logic.patch +extend_apply_webpreferences.patch fix_expose_decrementcapturercount_in_web_contents_impl.patch add_setter_for_browsermainloop_result_code.patch diff --git a/patches/chromium/moves_background_color_setter_of_webview_to_blinks_webprefs_logic.patch b/patches/chromium/extend_apply_webpreferences.patch similarity index 86% rename from patches/chromium/moves_background_color_setter_of_webview_to_blinks_webprefs_logic.patch rename to patches/chromium/extend_apply_webpreferences.patch index 8678cc1f825b..4209134a00a1 100644 --- a/patches/chromium/moves_background_color_setter_of_webview_to_blinks_webprefs_logic.patch +++ b/patches/chromium/extend_apply_webpreferences.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Samuel Attard Date: Mon, 8 Mar 2021 16:27:39 -0800 -Subject: moves background_color setter of WebView to blinks webprefs logic +Subject: extend ApplyWebPreferences with Electron-specific logic background_color can be updated at runtime, as such we need to apply the new background color to the WebView in the ApplyPreferences method. @@ -12,7 +12,7 @@ Ideally we could add an embedder observer pattern here but that can be done in future work. diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc -index affad073f806c509779c041128708fb074fee8ad..b2615fc4ea5e9ae96182fb611a419c7c5630e983 100644 +index affad073f806c509779c041128708fb074fee8ad..0d3486f136f77375a8977cefeef1e1dea7549045 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc @@ -155,6 +155,7 @@ @@ -23,7 +23,7 @@ index affad073f806c509779c041128708fb074fee8ad..b2615fc4ea5e9ae96182fb611a419c7c #include "third_party/blink/renderer/platform/graphics/image.h" #include "third_party/blink/renderer/platform/graphics/paint/cull_rect.h" #include "third_party/blink/renderer/platform/graphics/paint/paint_record_builder.h" -@@ -1755,6 +1756,14 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs, +@@ -1755,6 +1756,16 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs, RuntimeEnabledFeatures::SetTranslateServiceEnabled( prefs.translate_service_available); @@ -35,6 +35,8 @@ index affad073f806c509779c041128708fb074fee8ad..b2615fc4ea5e9ae96182fb611a419c7c + color = static_cast(blink_color); + } + web_view->SetBaseBackgroundColor(color); ++ ++ SetUseExternalPopupMenus(!prefs.offscreen); } void WebViewImpl::ThemeChanged() { diff --git a/shell/browser/web_contents_preferences.cc b/shell/browser/web_contents_preferences.cc index b814f45b808f..8ae6a1e4df8f 100644 --- a/shell/browser/web_contents_preferences.cc +++ b/shell/browser/web_contents_preferences.cc @@ -325,13 +325,6 @@ void WebContentsPreferences::AppendCommandLineSwitches( } } - // --offscreen - // TODO(loc): Offscreen is duplicated in WebPreferences because it's needed - // earlier than we can get WebPreferences at the moment. - if (IsEnabled(options::kOffscreen)) { - command_line->AppendSwitch(options::kOffscreen); - } - #if defined(OS_MAC) // Enable scroll bounce. if (IsEnabled(options::kScrollBounce)) diff --git a/shell/renderer/renderer_client_base.cc b/shell/renderer/renderer_client_base.cc index 7e6cf1b31b08..50c9b8520f65 100644 --- a/shell/renderer/renderer_client_base.cc +++ b/shell/renderer/renderer_client_base.cc @@ -148,17 +148,6 @@ void RendererClientBase::BindProcess(v8::Isolate* isolate, void RendererClientBase::RenderThreadStarted() { auto* command_line = base::CommandLine::ForCurrentProcess(); -#if BUILDFLAG(USE_EXTERNAL_POPUP_MENU) - // On macOS, popup menus are rendered by the main process by default. - // This causes problems in OSR, since when the popup is rendered separately, - // it won't be captured in the rendered image. - // TODO(loc): This will be wrong for in-process child windows, as this - // function won't run again for them. - if (command_line->HasSwitch(options::kOffscreen)) { - blink::WebView::SetUseExternalPopupMenus(false); - } -#endif - #if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS) auto* thread = content::RenderThread::Get();