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 7b46c9ba8f311467cb99edf5c05c43993e29bdc5..077ff2f0d8977ed127070605c2eec2e48f33569f 100644 |
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm |
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm |
@@ -714,10 +714,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; |
} |
} |
@@ -952,7 +954,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(); |
} |