Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(937)

Unified Diff: content/browser/compositor/gpu_process_transport_factory.cc

Issue 1821863002: Hook up ui::Compositor to Display's BeginFrameSource (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix unittests Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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(

Powered by Google App Engine
This is Rietveld 408576698