Chromium Code Reviews| Index: cc/animation/animation.h | 
| diff --git a/cc/animation/animation.h b/cc/animation/animation.h | 
| index 3cfc8bb82abe29e042a7db7123727a1e2fd6d105..2fec80a2410ce9f51da7055f3c1a6d7962825e1b 100644 | 
| --- a/cc/animation/animation.h | 
| +++ b/cc/animation/animation.h | 
| @@ -7,6 +7,7 @@ | 
| #include "base/basictypes.h" | 
| #include "base/memory/scoped_ptr.h" | 
| +#include "base/time/time.h" | 
| #include "cc/base/cc_export.h" | 
| namespace cc { | 
| @@ -60,7 +61,7 @@ class CC_EXPORT Animation { | 
| TargetProperty target_property() const { return target_property_; } | 
| RunState run_state() const { return run_state_; } | 
| - void SetRunState(RunState run_state, double monotonic_time); | 
| + void SetRunState(RunState run_state, base::TimeTicks monotonic_time); | 
| // This is the number of times that the animation will play. If this | 
| // value is zero the animation will not play. If it is negative, then | 
| @@ -68,15 +69,25 @@ class CC_EXPORT Animation { | 
| int iterations() const { return iterations_; } | 
| void set_iterations(int n) { iterations_ = n; } | 
| - double start_time() const { return start_time_; } | 
| - void set_start_time(double monotonic_time) { start_time_ = monotonic_time; } | 
| - bool has_set_start_time() const { return !!start_time_; } | 
| + base::TimeTicks start_time() const { return start_time_; } | 
| + double ticks_inseconds(base::TimeTicks base_time) const { | 
| 
 
enne (OOO)
2014/04/11 14:41:10
I don't think this merits a member function.  Just
 
 | 
| + return (base_time - base::TimeTicks()).InSecondsF(); | 
| + } | 
| + double delta_inseconds(base::TimeDelta delta) const { | 
| 
 
enne (OOO)
2014/04/11 14:41:10
This doesn't need to be a member function either.
 
 | 
| + return delta.InSecondsF(); | 
| + } | 
| + void set_start_time(base::TimeTicks monotonic_time) { | 
| + start_time_ = monotonic_time; | 
| + } | 
| + bool has_set_start_time() const { return (start_time_ != base::TimeTicks()); } | 
| - double time_offset() const { return time_offset_; } | 
| - void set_time_offset(double monotonic_time) { time_offset_ = monotonic_time; } | 
| + base::TimeDelta time_offset() const { return time_offset_; } | 
| + void set_time_offset(base::TimeDelta monotonic_time) { | 
| + time_offset_ = monotonic_time; | 
| + } | 
| - void Suspend(double monotonic_time); | 
| - void Resume(double monotonic_time); | 
| + void Suspend(base::TimeTicks monotonic_time); | 
| + void Resume(base::TimeTicks monotonic_time); | 
| // If alternates_direction is true, on odd numbered iterations we reverse the | 
| // curve. | 
| @@ -85,7 +96,7 @@ class CC_EXPORT Animation { | 
| alternates_direction_ = alternates; | 
| } | 
| - bool IsFinishedAt(double monotonic_time) const; | 
| + bool IsFinishedAt(base::TimeTicks monotonic_time) const; | 
| bool is_finished() const { | 
| return run_state_ == Finished || | 
| run_state_ == Aborted || | 
| @@ -116,9 +127,10 @@ class CC_EXPORT Animation { | 
| // Takes the given absolute time, and using the start time and the number | 
| // of iterations, returns the relative time in the current iteration. | 
| - double TrimTimeToCurrentIteration(double monotonic_time) const; | 
| + double TrimTimeToCurrentIteration(base::TimeTicks monotonic_time) const; | 
| scoped_ptr<Animation> CloneAndInitialize(RunState initial_run_state) const; | 
| + | 
| bool is_controlling_instance() const { return is_controlling_instance_; } | 
| void PushPropertiesTo(Animation* other) const; | 
| @@ -147,14 +159,14 @@ class CC_EXPORT Animation { | 
| TargetProperty target_property_; | 
| RunState run_state_; | 
| int iterations_; | 
| - double start_time_; | 
| + base::TimeTicks start_time_; | 
| bool alternates_direction_; | 
| // The time offset effectively pushes the start of the animation back in time. | 
| // This is used for resuming paused animations -- an animation is added with a | 
| // non-zero time offset, causing the animation to skip ahead to the desired | 
| // point in time. | 
| - double time_offset_; | 
| + base::TimeDelta time_offset_; | 
| bool needs_synchronized_start_time_; | 
| bool received_finished_event_; | 
| @@ -168,8 +180,8 @@ class CC_EXPORT Animation { | 
| // spent while paused. This is not included in AnimationState since it | 
| // there is absolutely no need for clients of this controller to know | 
| // about these values. | 
| - double pause_time_; | 
| - double total_paused_time_; | 
| + base::TimeTicks pause_time_; | 
| + base::TimeTicks total_paused_time_; | 
| 
 
enne (OOO)
2014/04/11 14:41:10
total_paused_time_ seems like it should be a delta
 
 | 
| // Animations lead dual lives. An active animation will be conceptually owned | 
| // by two controllers, one on the impl thread and one on the main. In reality, |