Index: webkit/renderer/compositor_bindings/web_animation_impl.cc |
diff --git a/webkit/renderer/compositor_bindings/web_animation_impl.cc b/webkit/renderer/compositor_bindings/web_animation_impl.cc |
index c401d5c974128060ca7a6f59530fa726ff1dd463..c769f5b2693ef38748d6f8decb20993742e083a3 100644 |
--- a/webkit/renderer/compositor_bindings/web_animation_impl.cc |
+++ b/webkit/renderer/compositor_bindings/web_animation_impl.cc |
@@ -95,13 +95,48 @@ void WebAnimationImpl::setTimeOffset(double monotonic_time) { |
animation_->set_time_offset(monotonic_time); |
} |
+#if WEB_ANIMATION_SUPPORTS_FULL_DIRECTION |
+blink::WebAnimation::Direction WebAnimationImpl::direction() const { |
+ switch (animation_->direction()) { |
+ case cc::Animation::Normal: |
+ return Normal; |
+ case cc::Animation::Reverse: |
+ return Reverse; |
+ case cc::Animation::Alternate: |
+ return Alternate; |
+ case cc::Animation::AlternateReverse: |
+ return AlternateReverse; |
+ default: |
+ NOTREACHED(); |
+ } |
+ return Normal; |
+} |
+ |
+void WebAnimationImpl::setDirection(Direction direction) { |
+ switch (direction) { |
+ case Normal: |
+ animation_->set_direction(cc::Animation::Normal); |
+ break; |
+ case Reverse: |
+ animation_->set_direction(cc::Animation::Reverse); |
+ break; |
+ case Alternate: |
+ animation_->set_direction(cc::Animation::Alternate); |
+ break; |
+ case AlternateReverse: |
+ animation_->set_direction(cc::Animation::AlternateReverse); |
+ break; |
+ } |
+} |
+#else |
bool WebAnimationImpl::alternatesDirection() const { |
- return animation_->alternates_direction(); |
+ return animation_->direction() == cc::Animation::Alternate; |
} |
void WebAnimationImpl::setAlternatesDirection(bool alternates) { |
- animation_->set_alternates_direction(alternates); |
+ return animation_->set_direction(cc::Animation::Alternate); |
} |
+#endif |
scoped_ptr<cc::Animation> WebAnimationImpl::PassAnimation() { |
animation_->set_needs_synchronized_start_time(true); |