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 | 8 |
9 #include "cc/animation/animation.h" | 9 #include "cc/animation/animation.h" |
10 #include "cc/animation/animation_delegate.h" | 10 #include "cc/animation/animation_delegate.h" |
(...skipping 669 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
680 if (!animations_[i]->has_set_start_time() && | 680 if (!animations_[i]->has_set_start_time() && |
681 !animations_[i]->needs_synchronized_start_time()) | 681 !animations_[i]->needs_synchronized_start_time()) |
682 animations_[i]->set_start_time(monotonic_time); | 682 animations_[i]->set_start_time(monotonic_time); |
683 if (events) { | 683 if (events) { |
684 AnimationEvent started_event(AnimationEvent::Started, | 684 AnimationEvent started_event(AnimationEvent::Started, |
685 id_, | 685 id_, |
686 animations_[i]->group(), | 686 animations_[i]->group(), |
687 animations_[i]->target_property(), | 687 animations_[i]->target_property(), |
688 monotonic_time); | 688 monotonic_time); |
689 started_event.is_impl_only = animations_[i]->is_impl_only(); | 689 started_event.is_impl_only = animations_[i]->is_impl_only(); |
690 events->push_back(started_event); | 690 if (started_event.is_impl_only) |
| 691 NotifyAnimationStarted(started_event); |
| 692 else |
| 693 events->push_back(started_event); |
691 } | 694 } |
692 } | 695 } |
693 } | 696 } |
694 } | 697 } |
695 | 698 |
696 void LayerAnimationController::MarkFinishedAnimations( | 699 void LayerAnimationController::MarkFinishedAnimations( |
697 base::TimeTicks monotonic_time) { | 700 base::TimeTicks monotonic_time) { |
698 for (size_t i = 0; i < animations_.size(); ++i) { | 701 for (size_t i = 0; i < animations_.size(); ++i) { |
699 if (animations_[i]->IsFinishedAt(monotonic_time) && | 702 if (animations_[i]->IsFinishedAt(monotonic_time) && |
700 animations_[i]->run_state() != Animation::Aborted && | 703 animations_[i]->run_state() != Animation::Aborted && |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
760 for (size_t j = i; j < animations_.size(); j++) { | 763 for (size_t j = i; j < animations_.size(); j++) { |
761 if (animations_[j]->group() == group_id && | 764 if (animations_[j]->group() == group_id && |
762 animations_[j]->run_state() != Animation::Aborted) { | 765 animations_[j]->run_state() != Animation::Aborted) { |
763 if (events) { | 766 if (events) { |
764 AnimationEvent finished_event(AnimationEvent::Finished, | 767 AnimationEvent finished_event(AnimationEvent::Finished, |
765 id_, | 768 id_, |
766 animations_[j]->group(), | 769 animations_[j]->group(), |
767 animations_[j]->target_property(), | 770 animations_[j]->target_property(), |
768 monotonic_time); | 771 monotonic_time); |
769 finished_event.is_impl_only = animations_[j]->is_impl_only(); | 772 finished_event.is_impl_only = animations_[j]->is_impl_only(); |
770 events->push_back(finished_event); | 773 if (finished_event.is_impl_only) |
| 774 NotifyAnimationFinished(finished_event); |
| 775 else |
| 776 events->push_back(finished_event); |
771 } | 777 } |
772 animations_[j]->SetRunState(Animation::WaitingForDeletion, | 778 animations_[j]->SetRunState(Animation::WaitingForDeletion, |
773 monotonic_time); | 779 monotonic_time); |
774 } | 780 } |
775 } | 781 } |
776 marked_animations_for_deletions = true; | 782 marked_animations_for_deletions = true; |
777 } | 783 } |
778 } | 784 } |
779 if (marked_animations_for_deletions) | 785 if (marked_animations_for_deletions) |
780 NotifyObserversAnimationWaitingForDeletion(); | 786 NotifyObserversAnimationWaitingForDeletion(); |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
965 value_observers_); | 971 value_observers_); |
966 LayerAnimationValueObserver* obs; | 972 LayerAnimationValueObserver* obs; |
967 while ((obs = it.GetNext()) != NULL) | 973 while ((obs = it.GetNext()) != NULL) |
968 if (obs->IsActive()) | 974 if (obs->IsActive()) |
969 return true; | 975 return true; |
970 } | 976 } |
971 return false; | 977 return false; |
972 } | 978 } |
973 | 979 |
974 } // namespace cc | 980 } // namespace cc |
OLD | NEW |