From 3adb801ca855a1cf739b27f8369026b0dd289f77 Mon Sep 17 00:00:00 2001 From: Marshall Greenblatt Date: Thu, 23 Apr 2020 13:47:10 -0400 Subject: [PATCH] Fix background color assignment for popups (fixes issue #2482) --- libcef/browser/browser_host_impl.cc | 7 +++++++ libcef/browser/content_browser_client.cc | 5 ----- patch/patch.cfg | 5 ----- patch/patches/renderer_host_1070713.patch | 13 ------------- 4 files changed, 7 insertions(+), 23 deletions(-) delete mode 100644 patch/patches/renderer_host_1070713.patch diff --git a/libcef/browser/browser_host_impl.cc b/libcef/browser/browser_host_impl.cc index 24bdc5b46..96b1f3fe4 100644 --- a/libcef/browser/browser_host_impl.cc +++ b/libcef/browser/browser_host_impl.cc @@ -2534,6 +2534,13 @@ void CefBrowserHostImpl::RenderViewCreated( RenderFrameCreated(render_view_host->GetMainFrame()); platform_delegate_->RenderViewCreated(render_view_host); + + // Make sure the background color is set on the WebView and the Widget. + render_view_host->OnWebkitPreferencesChanged(); + if (render_view_host->GetWidget()->GetView()) { + render_view_host->GetWidget()->GetView()->SetBackgroundColor( + GetBackgroundColor()); + } } void CefBrowserHostImpl::RenderViewDeleted( diff --git a/libcef/browser/content_browser_client.cc b/libcef/browser/content_browser_client.cc index d087837d1..fcb00e12a 100644 --- a/libcef/browser/content_browser_client.cc +++ b/libcef/browser/content_browser_client.cc @@ -1051,11 +1051,6 @@ void CefContentBrowserClient::OverrideWebkitPrefs( // Using RVH instead of RFH here because rvh->GetMainFrame() may be nullptr // when this method is called. renderer_prefs::PopulateWebPreferences(rvh, *prefs); - - if (rvh->GetWidget()->GetView()) { - rvh->GetWidget()->GetView()->SetBackgroundColor( - prefs->base_background_color); - } } void CefContentBrowserClient::BrowserURLHandlerCreated( diff --git a/patch/patch.cfg b/patch/patch.cfg index 71495d4bf..a9973fb6b 100644 --- a/patch/patch.cfg +++ b/patch/patch.cfg @@ -487,10 +487,5 @@ patches = [ # Fix ScreenlockMonitorDeviceSource window creation error. # https://bugs.chromium.org/p/chromium/issues/detail?id=1058556 'name': 'win_screenlock_1058556', - }, - { - # Fix unbound AssociatedRemote error in SetBackgroundOpaque. - # https://bugs.chromium.org/p/chromium/issues/detail?id=1070713 - 'name': 'renderer_host_1070713', } ] diff --git a/patch/patches/renderer_host_1070713.patch b/patch/patches/renderer_host_1070713.patch deleted file mode 100644 index 8ad6883ac..000000000 --- a/patch/patches/renderer_host_1070713.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git content/browser/renderer_host/render_view_host_impl.cc content/browser/renderer_host/render_view_host_impl.cc -index 01a4e3dc134b..cddb71886d4f 100644 ---- content/browser/renderer_host/render_view_host_impl.cc -+++ content/browser/renderer_host/render_view_host_impl.cc -@@ -455,6 +455,8 @@ bool RenderViewHostImpl::IsRenderViewLive() { - } - - void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) { -+ if (!GetWidget()->GetAssociatedFrameWidget().is_bound()) -+ return; - GetWidget()->GetAssociatedFrameWidget()->SetBackgroundOpaque(opaque); - } -