38 lines
1.5 KiB
Diff
38 lines
1.5 KiB
Diff
diff --git content/browser/renderer_host/render_widget_host_view_aura.cc content/browser/renderer_host/render_widget_host_view_aura.cc
|
|
index cbee55a9f87c..c31a358239ff 100644
|
|
--- content/browser/renderer_host/render_widget_host_view_aura.cc
|
|
+++ content/browser/renderer_host/render_widget_host_view_aura.cc
|
|
@@ -738,10 +738,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() const {
|
|
void RenderWidgetHostViewAura::UpdateBackgroundColor() {
|
|
DCHECK(GetBackgroundColor());
|
|
|
|
- SkColor color = *GetBackgroundColor();
|
|
- bool opaque = SkColorGetA(color) == SK_AlphaOPAQUE;
|
|
- window_->layer()->SetFillsBoundsOpaquely(opaque);
|
|
- window_->layer()->SetColor(color);
|
|
+ if (window_) {
|
|
+ SkColor color = *GetBackgroundColor();
|
|
+ bool opaque = SkColorGetA(color) == SK_AlphaOPAQUE;
|
|
+ window_->layer()->SetFillsBoundsOpaquely(opaque);
|
|
+ window_->layer()->SetColor(color);
|
|
+ }
|
|
}
|
|
|
|
void RenderWidgetHostViewAura::WindowTitleChanged() {
|
|
@@ -2053,6 +2055,15 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) {
|
|
if (frame_sink_id_.is_valid())
|
|
window_->SetEmbedFrameSinkId(frame_sink_id_);
|
|
|
|
+ // Do this after |window_| is created to avoid crashes on Win10.
|
|
+ // See https://crbug.com/761389.
|
|
+ RenderViewHost* rvh = RenderViewHost::From(host_);
|
|
+ if (rvh) {
|
|
+ // TODO(mostynb): actually use prefs. Landing this as a separate CL
|
|
+ // first to rebaseline some unreliable layout tests.
|
|
+ ignore_result(rvh->GetWebkitPreferences());
|
|
+ }
|
|
+
|
|
if (!features::IsMultiProcessMash())
|
|
return;
|
|
|