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 f0bdc4d444873ec4103052cce90e4b078d955c89..1001a683d4f235c467e7d99d8c6bf1f39012b922 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))); |
} |
} |
@@ -383,7 +389,8 @@ void GpuProcessTransportFactory::EstablishedGpuChannel( |
new cc::OnscreenDisplayClient( |
std::move(surface), manager, HostSharedBitmapManager::current(), |
BrowserGpuMemoryBufferManager::current(), |
- compositor->GetRendererSettings(), compositor->task_runner())); |
+ compositor->GetRendererSettings(), compositor->task_runner(), |
+ compositor->surface_id_allocator()->id_namespace())); |
scoped_ptr<cc::SurfaceDisplayOutputSurface> output_surface( |
new cc::SurfaceDisplayOutputSurface( |