Index: ui/compositor/layer_animator_collection.cc |
diff --git a/ui/compositor/layer_animator_collection.cc b/ui/compositor/layer_animator_collection.cc |
index 42dee6c259dd31f0ceb8d03df46bd7ad4daa7de4..ce4d70874d805d5d8353b029fe00cf589c359e4b 100644 |
--- a/ui/compositor/layer_animator_collection.cc |
+++ b/ui/compositor/layer_animator_collection.cc |
@@ -17,7 +17,7 @@ LayerAnimatorCollection::LayerAnimatorCollection(Compositor* compositor) |
} |
LayerAnimatorCollection::~LayerAnimatorCollection() { |
- if (compositor_ && compositor_->HasAnimationObserver(this)) |
+ if (compositor_) |
compositor_->RemoveAnimationObserver(this); |
} |
@@ -57,4 +57,11 @@ void LayerAnimatorCollection::OnAnimationStep(base::TimeTicks now) { |
compositor_->RemoveAnimationObserver(this); |
} |
+void LayerAnimatorCollection::OnCompositingShuttingDown( |
+ Compositor* compositor) { |
+ DCHECK_EQ(compositor_, compositor); |
+ compositor_->RemoveAnimationObserver(this); |
+ compositor_ = nullptr; |
+} |
+ |
} // namespace ui |