| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "cc/animation/layer_animation_controller.h" | 5 #include "cc/animation/layer_animation_controller.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "cc/animation/animation.h" | 10 #include "cc/animation/animation.h" |
| (...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 205 NOTREACHED(); | 205 NOTREACHED(); |
| 206 } | 206 } |
| 207 } | 207 } |
| 208 } | 208 } |
| 209 | 209 |
| 210 void LayerAnimationController::UpdateState(bool start_ready_animations, | 210 void LayerAnimationController::UpdateState(bool start_ready_animations, |
| 211 AnimationEventsVector* events) { | 211 AnimationEventsVector* events) { |
| 212 if (!HasActiveValueObserver()) | 212 if (!HasActiveValueObserver()) |
| 213 return; | 213 return; |
| 214 | 214 |
| 215 DCHECK(last_tick_time_ != base::TimeTicks()); | 215 // Animate hasn't been called, this happens if an observer has been added |
| 216 // between the Commit and Draw phases. |
| 217 if (last_tick_time_ == base::TimeTicks()) |
| 218 return; |
| 219 |
| 216 if (start_ready_animations) | 220 if (start_ready_animations) |
| 217 PromoteStartedAnimations(last_tick_time_, events); | 221 PromoteStartedAnimations(last_tick_time_, events); |
| 218 | 222 |
| 219 MarkFinishedAnimations(last_tick_time_); | 223 MarkFinishedAnimations(last_tick_time_); |
| 220 MarkAnimationsForDeletion(last_tick_time_, events); | 224 MarkAnimationsForDeletion(last_tick_time_, events); |
| 221 | 225 |
| 222 if (needs_to_start_animations_ && start_ready_animations) { | 226 if (needs_to_start_animations_ && start_ready_animations) { |
| 223 StartAnimations(last_tick_time_); | 227 StartAnimations(last_tick_time_); |
| 224 PromoteStartedAnimations(last_tick_time_, events); | 228 PromoteStartedAnimations(last_tick_time_, events); |
| 225 } | 229 } |
| (...skipping 803 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1029 value_observers_); | 1033 value_observers_); |
| 1030 LayerAnimationValueObserver* obs; | 1034 LayerAnimationValueObserver* obs; |
| 1031 while ((obs = it.GetNext()) != nullptr) | 1035 while ((obs = it.GetNext()) != nullptr) |
| 1032 if (obs->IsActive()) | 1036 if (obs->IsActive()) |
| 1033 return true; | 1037 return true; |
| 1034 } | 1038 } |
| 1035 return false; | 1039 return false; |
| 1036 } | 1040 } |
| 1037 | 1041 |
| 1038 } // namespace cc | 1042 } // namespace cc |
| OLD | NEW |