| 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 68b34768d253b8c8c3a35b4005eec4b18cae408b..6b759cee848fc22a310e525221104b0a0af13b9c 100644
|
| --- a/content/browser/renderer_host/render_widget_host_view_mac.mm
|
| +++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
|
| @@ -597,9 +597,6 @@
|
| ->GetInputEventRouter()
|
| ->AddSurfaceIdNamespaceOwner(GetSurfaceIdNamespace(), this);
|
| }
|
| -
|
| - if (!render_widget_host_->is_hidden())
|
| - EnsureBrowserCompositorView();
|
| }
|
|
|
| RenderWidgetHostViewMac::~RenderWidgetHostViewMac() {
|
| @@ -643,7 +640,6 @@
|
| // RenderWidgetHostViewMac, RenderWidgetHostView implementation:
|
|
|
| void RenderWidgetHostViewMac::EnsureBrowserCompositorView() {
|
| - DCHECK(!render_widget_host_->is_hidden());
|
| TRACE_EVENT0("browser",
|
| "RenderWidgetHostViewMac::EnsureBrowserCompositorView");
|
|
|
| @@ -720,7 +716,6 @@
|
|
|
| // This should only be reached if |render_widget_host_| is hidden, destroyed,
|
| // or in the process of being destroyed.
|
| - DCHECK(!render_widget_host_ || render_widget_host_->is_hidden());
|
| DestroyBrowserCompositorView();
|
| }
|
|
|
| @@ -892,18 +887,16 @@
|
| void RenderWidgetHostViewMac::Show() {
|
| ScopedCAActionDisabler disabler;
|
| [cocoa_view_ setHidden:NO];
|
| - if (!render_widget_host_->is_hidden()) {
|
| - DCHECK_EQ(browser_compositor_state_, BrowserCompositorActive);
|
| - return;
|
| - }
|
| -
|
| - WasUnOccluded();
|
| + if (!render_widget_host_->is_hidden())
|
| + return;
|
|
|
| // Re-create the browser compositor. If the DelegatedFrameHost has a cached
|
| // frame from the last time it was visible, then it will immediately be
|
| // drawn. If not, then the compositor will remain locked until a new delegated
|
| // frame is swapped.
|
| EnsureBrowserCompositorView();
|
| +
|
| + WasUnOccluded();
|
|
|
| // If there is not a frame being currently drawn, kick one, so that the below
|
| // pause will have a frame to wait on.
|
| @@ -924,11 +917,6 @@
|
| // completes. As a result you won't get a thumbnail for the page unless you
|
| // execute these two statements in this specific order.
|
| render_widget_host_->WasHidden();
|
| - // Re-check hidden flag, as the thumbnail generation could have called
|
| - // WasUnOccluded and unhidden itself.
|
| - if (!render_widget_host_->is_hidden()) {
|
| - return;
|
| - }
|
| SuspendBrowserCompositorView();
|
| }
|
| DestroySuspendedBrowserCompositorViewIfNeeded();
|
| @@ -944,7 +932,6 @@
|
| render_widget_host_->GetLatencyComponentId(),
|
| 0);
|
| render_widget_host_->WasShown(renderer_latency_info);
|
| - EnsureBrowserCompositorView();
|
| }
|
|
|
| void RenderWidgetHostViewMac::WasOccluded() {
|
| @@ -1507,7 +1494,8 @@
|
| gfx::Size dip_size = gfx::ConvertSizeToDIP(scale_factor, pixel_size);
|
|
|
| root_layer_->SetBounds(gfx::Rect(dip_size));
|
| - if (browser_compositor_ && browser_compositor_->compositor()) {
|
| + if (!render_widget_host_->is_hidden()) {
|
| + EnsureBrowserCompositorView();
|
| browser_compositor_->compositor()->SetScaleAndSize(
|
| scale_factor, pixel_size);
|
| }
|
|
|