Index: ui/gfx/compositor/layer_animator.cc |
diff --git a/ui/gfx/compositor/layer_animator.cc b/ui/gfx/compositor/layer_animator.cc |
index 1ec2b78ee0bb02ff6a95307d11244b3bf0544c0a..daa59c1b7d3bb7d95a9914a65242ad4be9dde798 100644 |
--- a/ui/gfx/compositor/layer_animator.cc |
+++ b/ui/gfx/compositor/layer_animator.cc |
@@ -299,8 +299,9 @@ void LayerAnimator::FinishAnimation(LayerAnimationSequence* sequence) { |
} |
void LayerAnimator::FinishAnyAnimationWithZeroDuration() { |
- // We need to make a copy because Progress may indirectly cause new animations |
- // to start running. |
+ // Special case: if we've started a 0 duration animation, just finish it now |
+ // and get rid of it. We need to make a copy because Progress may indirectly |
+ // cause new animations to start running. |
RunningAnimations running_animations_copy = running_animations_; |
for (size_t i = 0; i < running_animations_copy.size(); ++i) { |
if (running_animations_copy[i].sequence->duration() == base::TimeDelta()) { |