| Index: content/browser/renderer_host/render_process_host_impl.cc
|
| diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
|
| index 70ab68a48db001ab1c60a6b7134ca50a7c68cfaa..b1ab1f021c7da07b942052368eba26b727052494 100644
|
| --- a/content/browser/renderer_host/render_process_host_impl.cc
|
| +++ b/content/browser/renderer_host/render_process_host_impl.cc
|
| @@ -1404,12 +1404,14 @@ bool RenderProcessHostImpl::OnMessageReceived(const IPC::Message& msg) {
|
| Send(reply);
|
| }
|
|
|
| +#if defined(OS_MACOSX)
|
| // If this is a SwapBuffers, we need to ack it if we're not going to handle
|
| // it so that the GPU process doesn't get stuck in unscheduled state.
|
| IPC_BEGIN_MESSAGE_MAP(RenderProcessHostImpl, msg)
|
| IPC_MESSAGE_HANDLER(ViewHostMsg_CompositorSurfaceBuffersSwapped,
|
| OnCompositorSurfaceBuffersSwappedNoHost)
|
| IPC_END_MESSAGE_MAP()
|
| +#endif
|
| return true;
|
| }
|
| return listener->OnMessageReceived(msg);
|
| @@ -2140,6 +2142,7 @@ void RenderProcessHostImpl::OnSavedPageAsMHTML(int job_id, int64 data_size) {
|
| MHTMLGenerationManager::GetInstance()->MHTMLGenerated(job_id, data_size);
|
| }
|
|
|
| +#if defined(OS_MACOSX)
|
| void RenderProcessHostImpl::OnCompositorSurfaceBuffersSwappedNoHost(
|
| const ViewHostMsg_CompositorSurfaceBuffersSwapped_Params& params) {
|
| TRACE_EVENT0("renderer_host",
|
| @@ -2147,12 +2150,19 @@ void RenderProcessHostImpl::OnCompositorSurfaceBuffersSwappedNoHost(
|
| if (!ui::LatencyInfo::Verify(params.latency_info,
|
| "ViewHostMsg_CompositorSurfaceBuffersSwapped"))
|
| return;
|
| +
|
| + if (params.use_native_widget) {
|
| + RenderWidgetHelper::OnNativeSurfaceBuffersSwappedOnUIThread(params);
|
| + return;
|
| + }
|
| +
|
| AcceleratedSurfaceMsg_BufferPresented_Params ack_params;
|
| ack_params.sync_point = 0;
|
| RenderWidgetHostImpl::AcknowledgeBufferPresent(params.route_id,
|
| params.gpu_process_host_id,
|
| ack_params);
|
| }
|
| +#endif
|
|
|
| void RenderProcessHostImpl::OnGpuSwitching() {
|
| // We are updating all widgets including swapped out ones.
|
|
|