Chromium Code Reviews| Index: components/mus/surfaces/surfaces_context_provider.cc |
| diff --git a/components/mus/surfaces/surfaces_context_provider.cc b/components/mus/surfaces/surfaces_context_provider.cc |
| index 2e91b9897c17332a5a34e6ca830824c1dc2e9684..1b32c377cac46e27822ad082f9b81f738976e62f 100644 |
| --- a/components/mus/surfaces/surfaces_context_provider.cc |
| +++ b/components/mus/surfaces/surfaces_context_provider.cc |
| @@ -60,6 +60,12 @@ SurfacesContextProvider::SurfacesContextProvider( |
| service->gpu_channel_local(), widget, gfx::Size(), |
| shared_command_buffer, stream_id, stream_priority, attributes, |
| active_url, gpu_preference, task_runner); |
| + command_buffer_proxy_impl_->SetSwapBuffersCompletionCallback( |
| + base::Bind(&SurfacesContextProvider::OnGpuSwapBuffersCompleted, |
| + base::Unretained(this))); |
| + command_buffer_proxy_impl_->SetUpdateVSyncParametersCallback( |
| + base::Bind(&SurfacesContextProvider::OnUpdateVSyncParameters, |
| + base::Unretained(this))); |
| } |
| } |
| @@ -170,6 +176,23 @@ void SurfacesContextProvider::GpuCompletedSwapBuffers(gfx::SwapResult result) { |
| } |
| } |
| +void SurfacesContextProvider::OnGpuSwapBuffersCompleted( |
| + const std::vector<ui::LatencyInfo>& latency_info, |
| + gfx::SwapResult result, |
| + const gpu::GpuProcessHostedCALayerTreeParamsMac* params_mac) { |
| + if (!swap_buffers_completion_callback_.is_null()) { |
| + swap_buffers_completion_callback_.Run(result); |
| + } |
| +} |
| + |
| +void SurfacesContextProvider::OnUpdateVSyncParameters( |
| + base::TimeTicks timebase, |
| + base::TimeDelta interval) { |
| + if (delegate_) |
|
piman
2016/06/09 19:31:32
nit: use {} per style.
Peng
2016/06/09 20:32:45
Done.
|
| + delegate_->OnVSyncParametersUpdated(timebase.ToInternalValue(), |
| + interval.ToInternalValue()); |
| +} |
| + |
| void SurfacesContextProvider::SetSwapBuffersCompletionCallback( |
| gl::GLSurface::SwapCompletionCallback callback) { |
| swap_buffers_completion_callback_ = callback; |