diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-08-24 08:29:43 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-08-24 08:29:43 +0200 |
commit | 2e2ba8ff45915f40ed3e014101269c175f2a89a0 (patch) | |
tree | 3b94a9a9fa83efa384b8dac611cf8c6495532a62 /Source/WebKit/chromium/src/WebAnimationImpl.cpp | |
parent | f53e6f8e798362ed712d4a51633b0d0b03dbc213 (diff) | |
download | qtwebkit-2e2ba8ff45915f40ed3e014101269c175f2a89a0.tar.gz |
Imported WebKit commit bf0b0213bbf3886c96610020602012ca7d11b084 (http://svn.webkit.org/repository/webkit/trunk@126545)
New snapshot with clang and python build fixes
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 |