diff options
Diffstat (limited to 'Source/WebKit/chromium/src/WebAnimationImpl.cpp')
-rw-r--r-- | Source/WebKit/chromium/src/WebAnimationImpl.cpp | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/Source/WebKit/chromium/src/WebAnimationImpl.cpp b/Source/WebKit/chromium/src/WebAnimationImpl.cpp index 187272ef2..e5d9ef2a3 100644 --- a/Source/WebKit/chromium/src/WebAnimationImpl.cpp +++ b/Source/WebKit/chromium/src/WebAnimationImpl.cpp @@ -29,6 +29,8 @@ #include "AnimationIdVendor.h" #include "CCActiveAnimation.h" #include "CCAnimationCurve.h" +#include "WebFloatAnimationCurveImpl.h" +#include "WebTransformAnimationCurveImpl.h" #include <public/WebAnimation.h> #include <public/WebAnimationCurve.h> #include <wtf/OwnPtr.h> @@ -46,7 +48,30 @@ WebAnimation* WebAnimation::create(const WebAnimationCurve& curve, TargetPropert WebAnimation* WebAnimation::create(const WebAnimationCurve& curve, int animationId, int groupId, TargetProperty targetProperty) { - return new WebAnimationImpl(CCActiveAnimation::create(curve, animationId, groupId, static_cast<WebCore::CCActiveAnimation::TargetProperty>(targetProperty))); + return new WebAnimationImpl(curve, animationId, groupId, targetProperty); +} + +WebAnimationImpl::WebAnimationImpl(const WebAnimationCurve& webCurve, int animationId, int groupId, TargetProperty targetProperty) +{ + WebAnimationCurve::AnimationCurveType curveType = webCurve.type(); + OwnPtr<WebCore::CCAnimationCurve> curve; + switch (curveType) { + case WebAnimationCurve::AnimationCurveTypeFloat: { + const WebFloatAnimationCurveImpl* floatCurveImpl = static_cast<const WebFloatAnimationCurveImpl*>(&webCurve); + curve = floatCurveImpl->cloneToCCAnimationCurve(); + break; + } + case WebAnimationCurve::AnimationCurveTypeTransform: { + const WebTransformAnimationCurveImpl* transformCurveImpl = static_cast<const WebTransformAnimationCurveImpl*>(&webCurve); + curve = transformCurveImpl->cloneToCCAnimationCurve(); + break; + } + } + m_animation = CCActiveAnimation::create(curve.release(), animationId, groupId, static_cast<WebCore::CCActiveAnimation::TargetProperty>(targetProperty)); +} + +WebAnimationImpl::~WebAnimationImpl() +{ } WebAnimation::TargetProperty WebAnimationImpl::targetProperty() const |