Index: ui/gfx/compositor/layer_animator.cc |
diff --git a/ui/gfx/compositor/layer_animator.cc b/ui/gfx/compositor/layer_animator.cc |
index 7bc96983e5849249dc38fe64ff9f9aa7d8858154..588231c61301d2bdf4a1e525a2f181f04e290911 100644 |
--- a/ui/gfx/compositor/layer_animator.cc |
+++ b/ui/gfx/compositor/layer_animator.cc |
@@ -304,8 +304,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()) { |