Index: cc/surfaces/surface_dependency_tracker.cc |
diff --git a/cc/surfaces/surface_dependency_tracker.cc b/cc/surfaces/surface_dependency_tracker.cc |
index 934586bbb53757c654ba28c6d660b1359ff06ced..df201520f458dd5f6cac01f82445d1eec440b407 100644 |
--- a/cc/surfaces/surface_dependency_tracker.cc |
+++ b/cc/surfaces/surface_dependency_tracker.cc |
@@ -26,6 +26,9 @@ SurfaceDependencyTracker::SurfaceDependencyTracker( |
SurfaceDependencyTracker::~SurfaceDependencyTracker() { |
surface_manager_->RemoveObserver(this); |
begin_frame_source_->RemoveObserver(this); |
+ for (Surface* pending_surface : pending_surfaces_) |
+ pending_surface->RemoveObserver(this); |
+ pending_surfaces_.clear(); |
} |
void SurfaceDependencyTracker::RequestSurfaceResolution(Surface* surface) { |