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 7d1cf0c2d283a6620d1de210bc8fc8348d66ee4d..ed39cf6881074ec4c479998fc88980239020bc19 100644 |
--- a/content/browser/compositor/gpu_process_transport_factory.cc |
+++ b/content/browser/compositor/gpu_process_transport_factory.cc |
@@ -549,7 +549,7 @@ void GpuProcessTransportFactory::EstablishedGpuChannel( |
#endif |
std::unique_ptr<cc::DisplayScheduler> scheduler(new cc::DisplayScheduler( |
- begin_frame_source.get(), compositor->task_runner().get(), |
+ compositor->task_runner().get(), |
display_output_surface->capabilities().max_frames_pending)); |
// The Display owns and uses the |display_output_surface| created above. |
@@ -727,6 +727,18 @@ void GpuProcessTransportFactory::SetDisplayVSyncParameters( |
data->begin_frame_source->OnUpdateVSyncParameters(timebase, interval); |
} |
+void GpuProcessTransportFactory::SwapBeginFrameSource( |
+ ui::Compositor* compositor, |
+ std::unique_ptr<cc::BeginFrameSource>* begin_frame_source) { |
+ PerCompositorDataMap::iterator it = per_compositor_data_.find(compositor); |
+ if (it == per_compositor_data_.end()) |
+ return; |
+ PerCompositorData* data = it->second.get(); |
+ DCHECK(data); |
+ if (data->display) |
+ data->display->SwapBeginFrameSource(begin_frame_source); |
+} |
+ |
void GpuProcessTransportFactory::SetOutputIsSecure(ui::Compositor* compositor, |
bool secure) { |
PerCompositorDataMap::iterator it = per_compositor_data_.find(compositor); |