| 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 3e7f681a5b115e20f1d6b714e764b66ba4fbafc5..1c4cc82bc5109544b7cb4858f7b7d9616594da53 100644
|
| --- a/components/viz/frame_sinks/mojo_frame_sink_manager.cc
|
| +++ b/components/viz/frame_sinks/mojo_frame_sink_manager.cc
|
| @@ -26,10 +26,15 @@ MojoFrameSinkManager::MojoFrameSinkManager(bool use_surface_references,
|
| display_provider_(display_provider),
|
| binding_(this) {
|
| manager_.AddObserver(this);
|
| + dependency_tracker_ = base::MakeUnique<cc::SurfaceDependencyTracker>(
|
| + &manager_, manager_.GetPrimaryBeginFrameSource());
|
| + manager_.SetDependencyTracker(dependency_tracker_.get());
|
| }
|
|
|
| MojoFrameSinkManager::~MojoFrameSinkManager() {
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| + manager_.SetDependencyTracker(nullptr);
|
| + dependency_tracker_.reset();
|
| manager_.RemoveObserver(this);
|
| }
|
|
|
| @@ -57,16 +62,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),
|
|
|