Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / webkit / renderer / compositor_bindings / web_animation_impl.cc
index c401d5c..92d2fd4 100644 (file)
@@ -95,13 +95,51 @@ 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 DirectionNormal;
+    case cc::Animation::Reverse:
+      return DirectionReverse;
+    case cc::Animation::Alternate:
+      return DirectionAlternate;
+    case cc::Animation::AlternateReverse:
+      return DirectionAlternateReverse;
+    default:
+      NOTREACHED();
+  }
+  return DirectionNormal;
+}
+
+void WebAnimationImpl::setDirection(Direction direction) {
+  switch (direction) {
+    case DirectionNormal:
+      animation_->set_direction(cc::Animation::Normal);
+      break;
+    case DirectionReverse:
+      animation_->set_direction(cc::Animation::Reverse);
+      break;
+    case DirectionAlternate:
+      animation_->set_direction(cc::Animation::Alternate);
+      break;
+    case DirectionAlternateReverse:
+      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);
+  if (alternates)
+    animation_->set_direction(cc::Animation::Alternate);
+  else
+    animation_->set_direction(cc::Animation::Normal);
 }
+#endif
 
 scoped_ptr<cc::Animation> WebAnimationImpl::PassAnimation() {
   animation_->set_needs_synchronized_start_time(true);