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 = |