summaryrefslogtreecommitdiffstats
path: root/cc/animation/animation_registrar.cc
diff options
context:
space:
mode:
authorloyso <loyso@chromium.org>2016-01-14 14:55:30 -0800
committerCommit bot <commit-bot@chromium.org>2016-01-14 22:56:47 +0000
commite926437dd8e656f66cf83aec9823085cccf807e2 (patch)
treed53d305f0f4956468671a4723488c06d1d662687 /cc/animation/animation_registrar.cc
parent2900f44f50bf81c8cef2118dbb0d719dae7ae927 (diff)
downloadchromium_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.cc25
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;
}
}