| Index: components/viz/frame_sinks/mojo_frame_sink_manager.cc
|
| diff --git a/components/viz/frame_sinks/mojo_frame_sink_manager.cc b/components/viz/frame_sinks/mojo_frame_sink_manager.cc
|
| index a41c1a4c6b5f898b69dae81e9b76c6a0390d4f7b..0bceffc3a63e10b089eab256bc7a60d1b77401a2 100644
|
| --- a/components/viz/frame_sinks/mojo_frame_sink_manager.cc
|
| +++ b/components/viz/frame_sinks/mojo_frame_sink_manager.cc
|
| @@ -26,10 +26,17 @@ MojoFrameSinkManager::MojoFrameSinkManager(bool use_surface_references,
|
| display_provider_(display_provider),
|
| binding_(this) {
|
| manager_.AddObserver(this);
|
| + begin_frame_source_ = manager_.CreatePrimaryBeginFrameSource();
|
| + dependency_tracker_ = base::MakeUnique<cc::SurfaceDependencyTracker>(
|
| + &manager_, begin_frame_source_.get());
|
| + manager_.SetDependencyTracker(dependency_tracker_.get());
|
| }
|
|
|
| MojoFrameSinkManager::~MojoFrameSinkManager() {
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| + manager_.SetDependencyTracker(nullptr);
|
| + dependency_tracker_.reset();
|
| + begin_frame_source_.reset();
|
| manager_.RemoveObserver(this);
|
| }
|
|
|
| @@ -57,16 +64,6 @@ void MojoFrameSinkManager::CreateRootCompositorFrameSink(
|
| std::unique_ptr<cc::Display> display = display_provider_->CreateDisplay(
|
| frame_sink_id, surface_handle, &begin_frame_source);
|
|
|
| - // Lazily inject a SurfaceDependencyTracker into SurfaceManager if surface
|
| - // synchronization is enabled.
|
| - if (!manager_.dependency_tracker() &&
|
| - base::CommandLine::ForCurrentProcess()->HasSwitch(
|
| - cc::switches::kEnableSurfaceSynchronization)) {
|
| - std::unique_ptr<cc::SurfaceDependencyTracker> dependency_tracker(
|
| - new cc::SurfaceDependencyTracker(&manager_, begin_frame_source.get()));
|
| - manager_.SetDependencyTracker(std::move(dependency_tracker));
|
| - }
|
| -
|
| compositor_frame_sinks_[frame_sink_id] =
|
| base::MakeUnique<GpuRootCompositorFrameSink>(
|
| this, &manager_, frame_sink_id, std::move(display),
|
|
|