Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(17)

Unified Diff: ui/compositor/compositor.cc

Issue 291843012: compositor: Tick the UI animations from cc, instead of from timer callbacks. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/compositor/compositor.cc
diff --git a/ui/compositor/compositor.cc b/ui/compositor/compositor.cc
index 7a1b2928a8890ac7d73b46511fa8191782788865..973a7c5e7e5b218255c3eb979c524b4df0b32d26 100644
--- a/ui/compositor/compositor.cc
+++ b/ui/compositor/compositor.cc
@@ -26,6 +26,7 @@
#include "ui/compositor/compositor_vsync_manager.h"
#include "ui/compositor/dip_util.h"
#include "ui/compositor/layer.h"
+#include "ui/compositor/layer_animator_collection.h"
#include "ui/gfx/frame_time.h"
#include "ui/gl/gl_context.h"
#include "ui/gl/gl_switches.h"
@@ -317,6 +318,10 @@ bool Compositor::HasObserver(CompositorObserver* observer) {
return observer_list_.HasObserver(observer);
}
+void Compositor::Animate(base::TimeTicks frame_begin_time) {
+ LayerAnimatorCollection::GetInstance()->Progress(frame_begin_time);
+}
+
void Compositor::Layout() {
// We're sending damage that will be addressed during this composite
// cycle, so we don't need to schedule another composite to address it.
@@ -335,6 +340,8 @@ void Compositor::DidCommit() {
FOR_EACH_OBSERVER(CompositorObserver,
observer_list_,
OnCompositingDidCommit(this));
+ if (LayerAnimatorCollection::GetInstance()->HasActiveAnimators())
+ host_->SetNeedsAnimate();
ajuma 2014/05/23 17:10:00 This should be moved to the end of ::Animate above
sadrul 2014/05/23 18:02:42 Done.
}
void Compositor::DidCommitAndDrawFrame() {

Powered by Google App Engine
This is Rietveld 408576698