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 26561aedaf911294ba40b45db6252b493208ce28..b0df8b26125abeca8bec3fb372149548893021e1 100644 |
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm |
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm |
@@ -168,9 +168,6 @@ namespace { |
// Maximum number of characters we allow in a tooltip. |
const size_t kMaxTooltipLength = 1024; |
-// Invalidation NSRect to trigger a drawRect on BuffersSwapped. |
-const NSRect kGpuSwapBuffersDirtyRect = { {0, 0}, {1, 1} }; |
- |
// TODO(suzhe): Upstream this function. |
WebKit::WebColor WebColorFromNSColor(NSColor *color) { |
CGFloat r, g, b, a; |
@@ -992,22 +989,10 @@ bool RenderWidgetHostViewMac::CompositorSwapBuffers(uint64 surface_handle) { |
// No need to draw the surface if we are inside a drawRect. It will be done |
// later. |
if (!about_to_validate_and_paint_) { |
- // Trigger a drawRect, but don't invalidate the whole window because it |
- // is expensive to clear it with transparency to expose the GL underneath. |
- [cocoa_view_ setNeedsDisplayInRect:kGpuSwapBuffersDirtyRect]; |
- |
- // While resizing, OSX fails to call drawRect on the NSView unless the |
- // window size has changed. That means we won't see animations update if the |
- // user has the mouse button held down, but is not currently changing the |
- // size of the window. To work around that, display here while resizing. |
- // Also, OSX will never call drawRect faster than vsync rate, so if |
- // disable-gpu-vsync is set, we need to display now. |
- if (compositing_iosurface_->is_vsync_disabled() || |
- [cocoa_view_ inLiveResize]) { |
- [cocoa_view_ displayIfNeeded]; |
- } |
+ compositing_iosurface_->DrawIOSurface(cocoa_view_, |
+ ScaleFactor(cocoa_view_)); |
} |
- return false; |
+ return true; |
} |
void RenderWidgetHostViewMac::AckPendingSwapBuffers() { |
@@ -2162,12 +2147,7 @@ void RenderWidgetHostViewMac::SetTextInputActive(bool active) { |
if (renderWidgetHostView_->last_frame_was_accelerated_ && |
renderWidgetHostView_->compositing_iosurface_.get()) { |
- bool is_swap_without_dirty = |
- (dirtyRect.origin.x == kGpuSwapBuffersDirtyRect.origin.x && |
- dirtyRect.origin.y == kGpuSwapBuffersDirtyRect.origin.y && |
- dirtyRect.size.width == kGpuSwapBuffersDirtyRect.size.width && |
- dirtyRect.size.height == kGpuSwapBuffersDirtyRect.size.height); |
- if (!is_swap_without_dirty) { |
+ { |
TRACE_EVENT2("gpu", "NSRectFill clear", "w", damagedRect.width(), |
"h", damagedRect.height()); |
// Draw transparency to expose the GL underlay. NSRectFill is extremely |
@@ -2184,9 +2164,6 @@ void RenderWidgetHostViewMac::SetTextInputActive(bool active) { |
// that on. |
renderWidgetHostView_->compositing_iosurface_->DrawIOSurface( |
self, ScaleFactor(self)); |
- // For latency_tests.cc: |
- UNSHIPPED_TRACE_EVENT_INSTANT0("test_gpu", "CompositorSwapBuffersComplete"); |
- renderWidgetHostView_->AckPendingSwapBuffers(); |
return; |
} |