Windows: Fix white flash during browser creation (issue #1984)

This commit is contained in:
Marshall Greenblatt 2017-01-13 16:35:26 -05:00
parent 914fc6f7af
commit 3f0c94f7e6
3 changed files with 24 additions and 2 deletions

View File

@ -858,8 +858,7 @@ void CefContentBrowserClient::OverrideWebkitPrefs(
content::WebPreferences* prefs) {
renderer_prefs::PopulateWebPreferences(rvh, *prefs);
if (rvh->GetWidget()->GetView() &&
rvh->GetWidget()->GetView()->GetNativeView()) {
if (rvh->GetWidget()->GetView()) {
rvh->GetWidget()->GetView()->SetBackgroundColor(
prefs->base_background_color);
}

View File

@ -309,4 +309,10 @@ patches = [
'name': 'crashpad_tp_1995',
'path': '../third_party/crashpad/',
},
{
# Fix white flash during browser creation.
# https://bitbucket.org/chromiumembedded/cef/issues/1984
'name': 'rwh_background_color_1984',
'path': '../',
},
]

View File

@ -0,0 +1,17 @@
diff --git content/browser/renderer_host/render_widget_host_view_aura.cc content/browser/renderer_host/render_widget_host_view_aura.cc
index 8a73ab8..11f2d54 100644
--- content/browser/renderer_host/render_widget_host_view_aura.cc
+++ content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -761,8 +761,10 @@ void RenderWidgetHostViewAura::SetBackgroundColor(SkColor color) {
RenderWidgetHostViewBase::SetBackgroundColor(color);
bool opaque = GetBackgroundOpaque();
host_->SetBackgroundOpaque(opaque);
- window_->layer()->SetFillsBoundsOpaquely(opaque);
- window_->layer()->SetColor(color);
+ if (window_) {
+ window_->layer()->SetFillsBoundsOpaquely(opaque);
+ window_->layer()->SetColor(color);
+ }
}
bool RenderWidgetHostViewAura::IsMouseLocked() {