Index: ui/compositor/compositor.cc |
diff --git a/ui/compositor/compositor.cc b/ui/compositor/compositor.cc |
index 603bf487ed24351e78771d66954301522a63d3cb..43a88a6717c3fe1237ef8c6d5d44aa66011c0407 100644 |
--- a/ui/compositor/compositor.cc |
+++ b/ui/compositor/compositor.cc |
@@ -289,9 +289,25 @@ bool Compositor::HasObserver(CompositorObserver* observer) { |
return observer_list_.HasObserver(observer); |
} |
+void Compositor::AddAnimationObserver(CompositorAnimationObserver* observer) { |
+ animation_observer_list_.AddObserver(observer); |
+ host_->SetNeedsAnimate(); |
+} |
+ |
+void Compositor::RemoveAnimationObserver( |
+ CompositorAnimationObserver* observer) { |
+ animation_observer_list_.RemoveObserver(observer); |
+} |
+ |
+bool Compositor::HasAnimationObserver(CompositorAnimationObserver* observer) { |
+ return animation_observer_list_.HasObserver(observer); |
+} |
+ |
void Compositor::Animate(base::TimeTicks frame_begin_time) { |
- layer_animator_collection_.Progress(frame_begin_time); |
- if (layer_animator_collection_.HasActiveAnimators()) |
+ FOR_EACH_OBSERVER(CompositorAnimationObserver, |
+ animation_observer_list_, |
+ OnAnimationStep(frame_begin_time)); |
+ if (animation_observer_list_.might_have_observers()) |
host_->SetNeedsAnimate(); |
} |
@@ -360,10 +376,6 @@ void Compositor::DidAbortSwapBuffers() { |
OnCompositingAborted(this)); |
} |
-void Compositor::ScheduleAnimationForLayerCollection() { |
- host_->SetNeedsAnimate(); |
-} |
- |
const cc::LayerTreeDebugState& Compositor::GetLayerTreeDebugState() const { |
return host_->debug_state(); |
} |