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 964af70950fd317c6cae5be9480859c29253accf..2e0c88997552c1dd22bf65a39ab600f49d96b5cb 100644 |
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm |
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm |
@@ -793,14 +793,15 @@ void RenderWidgetHostViewMac::WasShown() { |
} |
void RenderWidgetHostViewMac::WasHidden() { |
- if (render_widget_host_->is_hidden()) |
- return; |
- |
- DestroyBrowserCompositorView(); |
+ // We want to call DestroyBrowserCompositorView on inactive tabs, but not on |
+ // an active tab that is being occluded. |
+ if (![cocoa_view_ window]) |
+ DestroyBrowserCompositorView(); |
// If we have a renderer, then inform it that we are being hidden so it can |
// reduce its resource utilization. |
- render_widget_host_->WasHidden(); |
+ if (!render_widget_host_->is_hidden()) |
+ render_widget_host_->WasHidden(); |
} |
void RenderWidgetHostViewMac::SetSize(const gfx::Size& size) { |