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 510dec1e135d990e89ed2b10e04093964c7e7f18..ce23b6606b2b03fb7e22278db70c37be14916e30 100644 |
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm |
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm |
@@ -408,6 +408,9 @@ RenderWidgetHostViewMac::RenderWidgetHostViewMac(RenderWidgetHost* widget) |
last_frame_was_accelerated_(false), |
text_input_type_(ui::TEXT_INPUT_TYPE_NONE), |
can_compose_inline_(true), |
+ compositing_iosurface_layer_async_timer_( |
+ FROM_HERE, base::TimeDelta::FromMilliseconds(200), |
Avi (use Gerrit)
2014/02/14 02:11:29
... you say 200ms here.
ccameron
2014/02/14 02:32:19
Changed to 250
|
+ this, &RenderWidgetHostViewMac::TimerSinceGotAcceleratedFrameFired), |
allow_overlapping_views_(false), |
use_core_animation_(false), |
pending_latency_info_delay_(0), |
@@ -1405,7 +1408,8 @@ void RenderWidgetHostViewMac::CompositorSwapBuffers( |
if (!about_to_validate_and_paint_) { |
if (use_core_animation_) { |
DCHECK(compositing_iosurface_layer_); |
- [compositing_iosurface_layer_ setNeedsDisplay]; |
+ compositing_iosurface_layer_async_timer_.Reset(); |
+ [compositing_iosurface_layer_ gotNewFrame]; |
} else { |
if (!DrawIOSurfaceWithoutCoreAnimation()) { |
[cocoa_view_ setNeedsDisplay:YES]; |
@@ -1903,6 +1907,10 @@ void RenderWidgetHostViewMac::GotSoftwareFrame() { |
} |
} |
+void RenderWidgetHostViewMac::TimerSinceGotAcceleratedFrameFired() { |
+ [compositing_iosurface_layer_ timerSinceGotNewFrameFired]; |
+} |
+ |
void RenderWidgetHostViewMac::SetActive(bool active) { |
if (render_widget_host_) { |
render_widget_host_->SetActive(active); |