diff options
author | loyso <loyso@chromium.org> | 2016-01-14 14:55:30 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-01-14 22:56:47 +0000 |
commit | e926437dd8e656f66cf83aec9823085cccf807e2 (patch) | |
tree | d53d305f0f4956468671a4723488c06d1d662687 /cc/animation/animation_registrar.cc | |
parent | 2900f44f50bf81c8cef2118dbb0d719dae7ae927 (diff) | |
download | chromium_src-e926437dd8e656f66cf83aec9823085cccf807e2.zip chromium_src-e926437dd8e656f66cf83aec9823085cccf807e2.tar.gz chromium_src-e926437dd8e656f66cf83aec9823085cccf807e2.tar.bz2 |
CC Animation: Replace AnimiationEventsVector with AnimiationEvents class.
It allows us to use the forward declaration for AnimiationEvents.
This is a preparation to make AnimiationEvents an abstract class,
unknown for CC.
BUG=575053
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1584743002
Cr-Commit-Position: refs/heads/master@{#369591}
Diffstat (limited to 'cc/animation/animation_registrar.cc')
-rw-r--r-- | cc/animation/animation_registrar.cc | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/cc/animation/animation_registrar.cc b/cc/animation/animation_registrar.cc index c300026..e5ecf83 100644 --- a/cc/animation/animation_registrar.cc +++ b/cc/animation/animation_registrar.cc @@ -8,6 +8,7 @@ #include "base/trace_event/trace_event.h" #include "base/trace_event/trace_event_argument.h" +#include "cc/animation/animation_events.h" #include "cc/animation/layer_animation_controller.h" namespace cc { @@ -85,7 +86,7 @@ bool AnimationRegistrar::AnimateLayers(base::TimeTicks monotonic_time) { } bool AnimationRegistrar::UpdateAnimationState(bool start_ready_animations, - AnimationEventsVector* events) { + AnimationEvents* events) { if (!needs_animate_layers()) return false; @@ -98,10 +99,15 @@ bool AnimationRegistrar::UpdateAnimationState(bool start_ready_animations, return true; } +scoped_ptr<AnimationEvents> AnimationRegistrar::CreateEvents() { + return make_scoped_ptr(new AnimationEvents()); +} + void AnimationRegistrar::SetAnimationEvents( - scoped_ptr<AnimationEventsVector> events) { - for (size_t event_index = 0; event_index < events->size(); ++event_index) { - int event_layer_id = (*events)[event_index].layer_id; + scoped_ptr<AnimationEvents> events) { + for (size_t event_index = 0; event_index < events->events_.size(); + ++event_index) { + int event_layer_id = events->events_[event_index].layer_id; // Use the map of all controllers, not just active ones, since non-active // controllers may still receive events for impl-only animations. @@ -109,21 +115,22 @@ void AnimationRegistrar::SetAnimationEvents( all_animation_controllers_; auto iter = animation_controllers.find(event_layer_id); if (iter != animation_controllers.end()) { - switch ((*events)[event_index].type) { + switch (events->events_[event_index].type) { case AnimationEvent::STARTED: - (*iter).second->NotifyAnimationStarted((*events)[event_index]); + (*iter).second->NotifyAnimationStarted(events->events_[event_index]); break; case AnimationEvent::FINISHED: - (*iter).second->NotifyAnimationFinished((*events)[event_index]); + (*iter).second->NotifyAnimationFinished(events->events_[event_index]); break; case AnimationEvent::ABORTED: - (*iter).second->NotifyAnimationAborted((*events)[event_index]); + (*iter).second->NotifyAnimationAborted(events->events_[event_index]); break; case AnimationEvent::PROPERTY_UPDATE: - (*iter).second->NotifyAnimationPropertyUpdate((*events)[event_index]); + (*iter).second->NotifyAnimationPropertyUpdate( + events->events_[event_index]); break; } } |