Index: content/browser/frame_host/render_widget_host_view_guest.cc |
diff --git a/content/browser/frame_host/render_widget_host_view_guest.cc b/content/browser/frame_host/render_widget_host_view_guest.cc |
index ba5453609c5dc87a88270e3fc959c6626fddb593..60eda40763da77ff07662f096fe97437a8e0bd50 100644 |
--- a/content/browser/frame_host/render_widget_host_view_guest.cc |
+++ b/content/browser/frame_host/render_widget_host_view_guest.cc |
@@ -377,7 +377,15 @@ void RenderWidgetHostViewGuest::CopyFromCompositingSurface( |
} |
void RenderWidgetHostViewGuest::SetBackgroundOpaque(bool opaque) { |
- platform_view_->SetBackgroundOpaque(opaque); |
+ // Content embedders can toggle opaque backgrounds through this API. |
+ // We plumb the value here so that BrowserPlugin updates its compositing |
+ // state in response to this change. We also want to preserve this flag |
+ // after recovering from a crash so we let BrowserPluginGuest store it. |
+ if (!guest_) |
+ return; |
+ RenderWidgetHostViewBase::SetBackgroundOpaque(opaque); |
+ host_->SetBackgroundOpaque(opaque); |
+ guest_->SetContentsOpaque(opaque); |
} |
bool RenderWidgetHostViewGuest::LockMouse() { |