| 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), | 
|  |