| 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 e4a9f42be8091d18bd02a8a15b805fa84da4d6fc..df1948626cdd5c1956dc141beb7d575246d356f2 100644
|
| --- a/content/browser/renderer_host/render_widget_host_view_mac.mm
|
| +++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
|
| @@ -655,10 +655,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(std::move(browser_compositor_));
|
| + }
|
| browser_compositor_state_ = BrowserCompositorDestroyed;
|
| }
|
| }
|
| @@ -893,7 +895,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();
|
| }
|
|
|