| Index: ui/base/animation/linear_animation.cc
|
| diff --git a/ui/base/animation/linear_animation.cc b/ui/base/animation/linear_animation.cc
|
| index 60054d9cb78ed2095dbc02fd7d9d1b69d137b68b..33bd1d1a4818effafad12a00056cdb28048aaa64 100644
|
| --- a/ui/base/animation/linear_animation.cc
|
| +++ b/ui/base/animation/linear_animation.cc
|
| @@ -45,6 +45,14 @@ double LinearAnimation::GetCurrentValue() const {
|
| return state_;
|
| }
|
|
|
| +void LinearAnimation::SetCurrentValue(double new_value) {
|
| + new_value = std::max(0.0, std::min(1.0, new_value));
|
| + base::TimeDelta time_delta = base::TimeDelta::FromMicroseconds(
|
| + duration_.InMicroseconds() * (new_value - state_));
|
| + SetStartTime(start_time() - time_delta);
|
| + state_ = new_value;
|
| +}
|
| +
|
| void LinearAnimation::End() {
|
| if (!is_animating())
|
| return;
|
| @@ -79,6 +87,10 @@ void LinearAnimation::Step(base::TimeTicks time_now) {
|
| Stop();
|
| }
|
|
|
| +void LinearAnimation::AnimationStarted() {
|
| + state_ = 0.0;
|
| +}
|
| +
|
| void LinearAnimation::AnimationStopped() {
|
| if (!in_end_)
|
| return;
|
|
|