Index: content/browser/renderer_host/render_widget_host_impl.cc |
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc |
index 456f6df7f52d0cef38aa64d6cb7f977223f3b113..d954b256b04f349f3ad82066af3202854f1bb215 100644 |
--- a/content/browser/renderer_host/render_widget_host_impl.cc |
+++ b/content/browser/renderer_host/render_widget_host_impl.cc |
@@ -427,8 +427,10 @@ bool RenderWidgetHostImpl::OnMessageReceived(const IPC::Message &msg) { |
IPC_MESSAGE_HANDLER(ViewHostMsg_RequestMove, OnRequestMove) |
IPC_MESSAGE_HANDLER(ViewHostMsg_SetTooltipText, OnSetTooltipText) |
IPC_MESSAGE_HANDLER(ViewHostMsg_PaintAtSize_ACK, OnPaintAtSizeAck) |
+#if defined(OS_MACOSX) |
IPC_MESSAGE_HANDLER(ViewHostMsg_CompositorSurfaceBuffersSwapped, |
OnCompositorSurfaceBuffersSwapped) |
+#endif |
IPC_MESSAGE_HANDLER_GENERIC(ViewHostMsg_SwapCompositorFrame, |
msg_is_ok = OnSwapCompositorFrame(msg)) |
IPC_MESSAGE_HANDLER(ViewHostMsg_DidOverscroll, OnOverscrolled) |
@@ -1744,6 +1746,7 @@ void RenderWidgetHostImpl::OnPaintAtSizeAck(int tag, const gfx::Size& size) { |
Details<std::pair<int, gfx::Size> >(&details)); |
} |
+#if defined(OS_MACOSX) |
void RenderWidgetHostImpl::OnCompositorSurfaceBuffersSwapped( |
const ViewHostMsg_CompositorSurfaceBuffersSwapped_Params& params) { |
TRACE_EVENT0("renderer_host", |
@@ -1765,7 +1768,9 @@ void RenderWidgetHostImpl::OnCompositorSurfaceBuffersSwapped( |
gpu_params.latency_info = params.latency_info; |
view_->AcceleratedSurfaceBuffersSwapped(gpu_params, |
params.gpu_process_host_id); |
+ view_->DidReceieveRendererFrame(); |
} |
+#endif // OS_MACOSX |
bool RenderWidgetHostImpl::OnSwapCompositorFrame( |
const IPC::Message& message) { |
@@ -1777,6 +1782,7 @@ bool RenderWidgetHostImpl::OnSwapCompositorFrame( |
if (view_) { |
view_->OnSwapCompositorFrame(frame.Pass()); |
+ view_->DidReceiveRendererFrame(); |
} else { |
cc::CompositorFrameAck ack; |
if (frame->gl_frame_data) { |
@@ -1936,6 +1942,7 @@ void RenderWidgetHostImpl::DidUpdateBackingStore( |
view_being_painted_ = true; |
view_->DidUpdateBackingStore(params.scroll_rect, params.scroll_delta, |
params.copy_rects, params.latency_info); |
+ view_->DidReceiveRendererFrame(); |
view_being_painted_ = false; |
} |
@@ -2641,6 +2648,10 @@ void RenderWidgetHostImpl::FrameSwapped(const ui::LatencyInfo& latency_info) { |
Send(new ViewMsg_SetBrowserRenderingStats(routing_id_, rendering_stats_)); |
} |
+void RenderWidgetHostImpl::DidReceieveRendererFrame() { |
+ view_->DidReceiveRendererFrame(); |
+} |
+ |
// static |
void RenderWidgetHostImpl::CompositorFrameDrawn( |
const ui::LatencyInfo& latency_info) { |