Chromium Code Reviews| Index: ui/gfx/animation/slide_animation.cc |
| diff --git a/ui/gfx/animation/slide_animation.cc b/ui/gfx/animation/slide_animation.cc |
| index 780e8ec8b0fa70593b13042edc5b228484e067d2..e410935cbd520fb09313e5c7b882b1de5b2bdab7 100644 |
| --- a/ui/gfx/animation/slide_animation.cc |
| +++ b/ui/gfx/animation/slide_animation.cc |
| @@ -6,6 +6,9 @@ |
| #include <math.h> |
| +#include "base/auto_reset.h" |
| +#include "ui/gfx/animation/animation_delegate.h" |
| + |
| namespace gfx { |
| // How long animations should take by default. |
| @@ -46,6 +49,8 @@ void SlideAnimation::Show() { |
| // Make sure we actually have something to do. |
| if (slide_duration_ == 0) { |
| AnimateToState(1.0); // Skip to the end of the animation. |
| + if (delegate()) |
| + delegate()->AnimationProgressed(this); |
|
James Cook
2017/02/08 00:31:28
Do you know offhand if any of Chrome's other users
bruthig
2017/02/10 18:49:10
I did a quick audit and it appears there might be
|
| return; |
| } else if (value_current_ == value_end_) { |
| return; |
| @@ -56,6 +61,11 @@ void SlideAnimation::Show() { |
| Start(); |
| } |
| +void SlideAnimation::ShowImmediately() { |
| + base::AutoReset<int> auto_reset_duration(&slide_duration_, 0); |
| + Show(); |
| +} |
| + |
| void SlideAnimation::Hide() { |
| // If we're already hiding (or hidden), we have nothing to do. |
| if (!showing_) |
| @@ -67,7 +77,9 @@ void SlideAnimation::Hide() { |
| // Make sure we actually have something to do. |
| if (slide_duration_ == 0) { |
| - AnimateToState(0.0); // Skip to the end of the animation. |
| + AnimateToState(1.0); // Skip to the end of the animation. |
| + if (delegate()) |
| + delegate()->AnimationProgressed(this); |
| return; |
| } else if (value_current_ == value_end_) { |
| return; |
| @@ -78,6 +90,11 @@ void SlideAnimation::Hide() { |
| Start(); |
| } |
| +void SlideAnimation::HideImmediately() { |
| + base::AutoReset<int> auto_reset_duration(&slide_duration_, 0); |
| + Hide(); |
| +} |
| + |
| void SlideAnimation::SetSlideDuration(int duration) { |
| slide_duration_ = duration; |
| } |