| 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 7f3cb354dc05c946fc6ce1534b5eb6a1ebcd1fea..af770742e77a00eb78df7cd135afad3fc0bc4dee 100644
|
| --- a/content/browser/renderer_host/render_widget_host_view_mac.mm
|
| +++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
|
| @@ -615,6 +615,7 @@ void RenderWidgetHostViewMac::EnsureBrowserCompositorView() {
|
| if (browser_compositor_state_ == BrowserCompositorSuspended) {
|
| delegated_frame_host_->SetCompositor(browser_compositor_->compositor());
|
| delegated_frame_host_->WasShown(ui::LatencyInfo());
|
| + browser_compositor_->compositor()->SetDeferCommits(false);
|
| browser_compositor_state_ = BrowserCompositorActive;
|
| }
|
| }
|
| @@ -625,6 +626,10 @@ void RenderWidgetHostViewMac::SuspendBrowserCompositorView() {
|
|
|
| // Hide the DelegatedFrameHost to transition from Active -> Suspended.
|
| if (browser_compositor_state_ == BrowserCompositorActive) {
|
| + // Ensure that any changes made to the ui::Compositor do not result in new
|
| + // frames being produced. Note that this does not ensure that
|
| + // already-in-flight frames will be aborted.
|
| + browser_compositor_->compositor()->SetDeferCommits(true);
|
| // Marking the DelegatedFrameHost as removed from the window hierarchy is
|
| // necessary to remove all connections to its old ui::Compositor.
|
| delegated_frame_host_->WasHidden();
|
|
|