| 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 713812a1012a9e7a75bde89fbb3c362a4d9426a0..86ef71ff280d10b2dac2253270629d29a3206740 100644
|
| --- a/content/browser/compositor/gpu_process_transport_factory.cc
|
| +++ b/content/browser/compositor/gpu_process_transport_factory.cc
|
| @@ -28,6 +28,7 @@
|
| #include "cc/surfaces/direct_compositor_frame_sink.h"
|
| #include "cc/surfaces/display.h"
|
| #include "cc/surfaces/display_scheduler.h"
|
| +#include "cc/surfaces/framesink_manager.h"
|
| #include "cc/surfaces/surface_manager.h"
|
| #include "components/display_compositor/compositor_overlay_candidate_validator.h"
|
| #include "components/display_compositor/gl_helper.h"
|
| @@ -180,6 +181,7 @@ GpuProcessTransportFactory::GpuProcessTransportFactory()
|
| cc::SetClientNameForMetrics("Browser");
|
|
|
| surface_manager_ = base::WrapUnique(new cc::SurfaceManager);
|
| + framesink_manager_ = base::WrapUnique(new cc::FrameSinkManager);
|
|
|
| task_graph_runner_->Start("CompositorTileWorker1",
|
| base::SimpleThread::Options());
|
| @@ -589,12 +591,12 @@ void GpuProcessTransportFactory::EstablishedGpuChannel(
|
| vulkan_context_provider
|
| ? base::MakeUnique<cc::DirectCompositorFrameSink>(
|
| compositor->frame_sink_id(), surface_manager_.get(),
|
| - data->display.get(),
|
| + framesink_manager_.get(), data->display.get(),
|
| static_cast<scoped_refptr<cc::VulkanContextProvider>>(
|
| vulkan_context_provider))
|
| : base::MakeUnique<cc::DirectCompositorFrameSink>(
|
| compositor->frame_sink_id(), surface_manager_.get(),
|
| - data->display.get(), context_provider,
|
| + framesink_manager_.get(), data->display.get(), context_provider,
|
| shared_worker_context_provider_, GetGpuMemoryBufferManager(),
|
| HostSharedBitmapManager::current());
|
| data->display->Resize(compositor->size());
|
| @@ -786,6 +788,10 @@ cc::SurfaceManager* GpuProcessTransportFactory::GetSurfaceManager() {
|
| return surface_manager_.get();
|
| }
|
|
|
| +cc::FrameSinkManager* GpuProcessTransportFactory::GetFrameSinkManager() {
|
| + return framesink_manager_.get();
|
| +}
|
| +
|
| display_compositor::GLHelper* GpuProcessTransportFactory::GetGLHelper() {
|
| if (!gl_helper_ && !per_compositor_data_.empty()) {
|
| scoped_refptr<cc::ContextProvider> provider =
|
|
|