Index: content/browser/compositor/gpu_process_transport_factory.cc |
diff --git a/content/browser/compositor/gpu_process_transport_factory.cc b/content/browser/compositor/gpu_process_transport_factory.cc |
index 01dcecdb1df43eddbaee37febe53d3a0450cb1ec..23674cf92f7091aa098b191b0ceffecf55509063 100644 |
--- a/content/browser/compositor/gpu_process_transport_factory.cc |
+++ b/content/browser/compositor/gpu_process_transport_factory.cc |
@@ -324,10 +324,14 @@ void GpuProcessTransportFactory::EstablishedGpuChannel( |
} |
scoped_ptr<BrowserCompositorOutputSurface> surface; |
+ scoped_ptr<cc::SyntheticBeginFrameSource> synthetic_begin_frame_source = |
+ cc::SyntheticBeginFrameSource::Create( |
+ compositor->task_runner().get(), |
+ cc::BeginFrameArgs::DefaultInterval()); |
if (!create_gpu_output_surface) { |
surface = make_scoped_ptr(new SoftwareBrowserCompositorOutputSurface( |
CreateSoftwareOutputDevice(compositor.get()), |
- compositor->vsync_manager())); |
+ compositor->vsync_manager(), std::move(synthetic_begin_frame_source))); |
} else { |
DCHECK(context_provider); |
ContextProvider::Capabilities capabilities = |
@@ -335,7 +339,7 @@ void GpuProcessTransportFactory::EstablishedGpuChannel( |
if (!data->surface_id) { |
surface = make_scoped_ptr(new OffscreenBrowserCompositorOutputSurface( |
context_provider, shared_worker_context_provider_, |
- compositor->vsync_manager(), |
+ compositor->vsync_manager(), std::move(synthetic_begin_frame_source), |
scoped_ptr<BrowserCompositorOverlayCandidateValidator>())); |
} else if (capabilities.gpu.surfaceless) { |
GLenum target = GL_TEXTURE_2D; |
@@ -348,6 +352,7 @@ void GpuProcessTransportFactory::EstablishedGpuChannel( |
make_scoped_ptr(new GpuSurfacelessBrowserCompositorOutputSurface( |
context_provider, shared_worker_context_provider_, |
data->surface_id, compositor->vsync_manager(), |
+ std::move(synthetic_begin_frame_source), |
CreateOverlayCandidateValidator(compositor->widget()), target, |
format, BrowserGpuMemoryBufferManager::current())); |
} else { |
@@ -358,7 +363,8 @@ void GpuProcessTransportFactory::EstablishedGpuChannel( |
#endif |
surface = make_scoped_ptr(new GpuBrowserCompositorOutputSurface( |
context_provider, shared_worker_context_provider_, |
- compositor->vsync_manager(), std::move(validator))); |
+ compositor->vsync_manager(), std::move(synthetic_begin_frame_source), |
+ std::move(validator))); |
} |
} |