Index: content/browser/renderer_host/render_widget_host_view_mac.mm |
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm |
index 278fa99ce7b410524fe7104bff357f364682d4b5..ff472ce4e1ce655867f83df3d204b6eb4fac2bb0 100644 |
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm |
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm |
@@ -653,10 +653,12 @@ void RenderWidgetHostViewMac::DestroyBrowserCompositorView() { |
// Destroy the BrowserCompositorView to transition Suspended -> Destroyed. |
if (browser_compositor_state_ == BrowserCompositorSuspended) { |
- browser_compositor_->accelerated_widget_mac()->ResetNSView(); |
- browser_compositor_->compositor()->SetScaleAndSize(1.0, gfx::Size(0, 0)); |
- browser_compositor_->compositor()->SetRootLayer(nullptr); |
- BrowserCompositorMac::Recycle(browser_compositor_.Pass()); |
+ if (browser_compositor_) { |
+ browser_compositor_->accelerated_widget_mac()->ResetNSView(); |
+ browser_compositor_->compositor()->SetScaleAndSize(1.0, gfx::Size(0, 0)); |
+ browser_compositor_->compositor()->SetRootLayer(nullptr); |
+ BrowserCompositorMac::Recycle(browser_compositor_.Pass()); |
+ } |
browser_compositor_state_ = BrowserCompositorDestroyed; |
} |
} |
@@ -891,7 +893,7 @@ void RenderWidgetHostViewMac::WasOccluded() { |
// occur in this specific order. However, because thumbnail generation is |
// asychronous, that operation won't run before SuspendBrowserCompositorView() |
// completes. As a result you won't get a thumbnail for the page unless you |
- // happen to switch back to it. See http://crbug.com/530707 . |
+ // execute these two statements in this specific order. |
render_widget_host_->WasHidden(); |
SuspendBrowserCompositorView(); |
} |