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 800693e55152609bc6a829a1dfc7c09f0de4f255..213cbd15f07502c3ffdfa372c688b951255a71f2 100644 |
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm |
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm |
@@ -1779,8 +1779,8 @@ void RenderWidgetHostViewMac::AcceleratedSurfacePostSubBuffer( |
} |
void RenderWidgetHostViewMac::AcceleratedSurfaceSuspend() { |
ccameron
2014/07/22 06:40:42
I grabbed this while in the neighborhood. It made
|
- if (compositing_iosurface_) |
- compositing_iosurface_->UnrefIOSurface(); |
+ if (render_widget_host_->is_hidden()) |
+ DestroyCompositedIOSurfaceAndLayer(); |
} |
void RenderWidgetHostViewMac::AcceleratedSurfaceRelease() { |
@@ -2179,7 +2179,7 @@ void RenderWidgetHostViewMac::PauseForPendingResizeOrRepaintsAndDraw() { |
// to keep the window and the window's contents in sync. |
[cocoa_view_ displayIfNeeded]; |
[software_layer_ displayIfNeeded]; |
- [compositing_iosurface_layer_ displayIfNeeded]; |
+ [compositing_iosurface_layer_ displayIfNeededAndAck]; |
} |
void RenderWidgetHostViewMac::LayoutLayers() { |
@@ -2223,8 +2223,7 @@ void RenderWidgetHostViewMac::LayoutLayers() { |
// displayed. Calling displayIfNeeded will ensure that the right size |
// frame is drawn to the screen. |
// http://crbug.com/350817 |
- [compositing_iosurface_layer_ setNeedsDisplay]; |
- [compositing_iosurface_layer_ displayIfNeeded]; |
+ [compositing_iosurface_layer_ setNeedsDisplayAndDisplayAndAck]; |
} |
} |
} |