From 33b20482a6777682d879cfb3ef57808a46f4484e Mon Sep 17 00:00:00 2001 From: "keishi@webkit.org" Date: Mon, 2 Jul 2012 05:11:32 +0000 Subject: [PATCH] Unreviewed, rolling out r121650. http://trac.webkit.org/changeset/121650 https://bugs.webkit.org/show_bug.cgi?id=90303 runhooks is failing for chromium win bots and WebAnimationTest.DefaultSettings is crashing Source/Platform: * Platform.gypi: * chromium/public/WebAnimation.h: Removed. * chromium/public/WebAnimationCurve.h: Removed. * chromium/public/WebFloatAnimationCurve.h: Removed. * chromium/public/WebFloatKeyframe.h: Removed. * chromium/public/WebTransformAnimationCurve.h: Removed. * chromium/public/WebTransformKeyframe.h: Removed. Source/WebKit/chromium: * WebKit.gyp: * WebKit.gypi: * src/WebAnimation.cpp: Removed. * src/WebAnimationCurveCommon.cpp: Removed. * src/WebAnimationCurveCommon.h: Removed. * src/WebFloatAnimationCurve.cpp: Removed. * src/WebTransformAnimationCurve.cpp: Removed. * tests/WebAnimationTest.cpp: Removed. * tests/WebFloatAnimationCurveTest.cpp: Removed. * tests/WebTransformAnimationCurveTest.cpp: Removed. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121655 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- Source/Platform/ChangeLog | 17 ++ Source/Platform/Platform.gypi | 6 - Source/Platform/chromium/public/WebAnimation.h | 93 ------- .../Platform/chromium/public/WebAnimationCurve.h | 64 ----- .../chromium/public/WebFloatAnimationCurve.h | 73 ----- Source/Platform/chromium/public/WebFloatKeyframe.h | 43 --- .../chromium/public/WebTransformAnimationCurve.h | 74 ----- .../chromium/public/WebTransformKeyframe.h | 45 ---- Source/WebKit/chromium/ChangeLog | 20 ++ Source/WebKit/chromium/WebKit.gyp | 5 - Source/WebKit/chromium/WebKit.gypi | 3 - Source/WebKit/chromium/src/WebAnimation.cpp | 101 ------- .../chromium/src/WebAnimationCurveCommon.cpp | 53 ---- .../WebKit/chromium/src/WebAnimationCurveCommon.h | 39 --- .../WebKit/chromium/src/WebFloatAnimationCurve.cpp | 72 ----- .../chromium/src/WebTransformAnimationCurve.cpp | 72 ----- Source/WebKit/chromium/tests/WebAnimationTest.cpp | 65 ----- .../chromium/tests/WebFloatAnimationCurveTest.cpp | 236 ---------------- .../tests/WebTransformAnimationCurveTest.cpp | 297 --------------------- 19 files changed, 37 insertions(+), 1341 deletions(-) delete mode 100644 Source/Platform/chromium/public/WebAnimation.h delete mode 100644 Source/Platform/chromium/public/WebAnimationCurve.h delete mode 100644 Source/Platform/chromium/public/WebFloatAnimationCurve.h delete mode 100644 Source/Platform/chromium/public/WebFloatKeyframe.h delete mode 100644 Source/Platform/chromium/public/WebTransformAnimationCurve.h delete mode 100644 Source/Platform/chromium/public/WebTransformKeyframe.h delete mode 100644 Source/WebKit/chromium/src/WebAnimation.cpp delete mode 100644 Source/WebKit/chromium/src/WebAnimationCurveCommon.cpp delete mode 100644 Source/WebKit/chromium/src/WebAnimationCurveCommon.h delete mode 100644 Source/WebKit/chromium/src/WebFloatAnimationCurve.cpp delete mode 100644 Source/WebKit/chromium/src/WebTransformAnimationCurve.cpp delete mode 100644 Source/WebKit/chromium/tests/WebAnimationTest.cpp delete mode 100644 Source/WebKit/chromium/tests/WebFloatAnimationCurveTest.cpp delete mode 100644 Source/WebKit/chromium/tests/WebTransformAnimationCurveTest.cpp diff --git a/Source/Platform/ChangeLog b/Source/Platform/ChangeLog index bbf2d59..abc39fb 100644 --- a/Source/Platform/ChangeLog +++ b/Source/Platform/ChangeLog @@ -1,3 +1,20 @@ +2012-07-01 Keishi Hattori + + Unreviewed, rolling out r121650. + http://trac.webkit.org/changeset/121650 + https://bugs.webkit.org/show_bug.cgi?id=90303 + + runhooks is failing for chromium win bots and + WebAnimationTest.DefaultSettings is crashing + + * Platform.gypi: + * chromium/public/WebAnimation.h: Removed. + * chromium/public/WebAnimationCurve.h: Removed. + * chromium/public/WebFloatAnimationCurve.h: Removed. + * chromium/public/WebFloatKeyframe.h: Removed. + * chromium/public/WebTransformAnimationCurve.h: Removed. + * chromium/public/WebTransformKeyframe.h: Removed. + 2012-07-01 Ian Vollick [chromium] Create a WebKit::Web* wrapper for the cc animation classes diff --git a/Source/Platform/Platform.gypi b/Source/Platform/Platform.gypi index 6290ca9..7d564f7 100644 --- a/Source/Platform/Platform.gypi +++ b/Source/Platform/Platform.gypi @@ -32,8 +32,6 @@ 'variables': { 'platform_files': [ 'chromium/public/Platform.h', - 'chromium/public/WebAnimation.h' - 'chromium/public/WebAnimationCurve.h', 'chromium/public/WebAudioBus.h', 'chromium/public/WebAudioDevice.h', 'chromium/public/WebBlobData.h', @@ -56,8 +54,6 @@ 'chromium/public/WebFileUtilities.h', 'chromium/public/WebFilterOperation.h', 'chromium/public/WebFilterOperations.h', - 'chromium/public/WebFloatAnimationCurve.h', - 'chromium/public/WebFloatKeyframe.h', 'chromium/public/WebFloatPoint.h', 'chromium/public/WebFloatQuad.h', 'chromium/public/WebFloatRect.h', @@ -112,8 +108,6 @@ 'chromium/public/WebThread.h', 'chromium/public/WebThreadSafeData.h', 'chromium/public/WebTransformationMatrix.h', - 'chromium/public/WebTransformAnimationCurve.h', - 'chromium/public/WebTransformKeyframe.h', 'chromium/public/WebTransformOperations.h', 'chromium/public/WebPrerender.h', 'chromium/public/WebURL.h', diff --git a/Source/Platform/chromium/public/WebAnimation.h b/Source/Platform/chromium/public/WebAnimation.h deleted file mode 100644 index b715e05..0000000 --- a/Source/Platform/chromium/public/WebAnimation.h +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright (C) 2012 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef WebAnimation_h -#define WebAnimation_h - -#include "WebCommon.h" -#include "WebNonCopyable.h" -#include "WebPrivateOwnPtr.h" - -#if WEBKIT_IMPLEMENTATION -#include -#endif - -namespace WebCore { -class CCActiveAnimation; -} - -namespace WebKit { - -class WebAnimationCurve; - -// A compositor driven animation. -class WebAnimation : public WebNonCopyable { -public: - enum TargetProperty { - WebAnimationTransform = 1, - WebAnimationOpacity - }; - - WebAnimation(const WebAnimationCurve& curve, TargetProperty targetProperty) - { - initialize(curve, targetProperty); - } - - ~WebAnimation() - { - destroy(); - } - - // This is the number of times that the animation will play. If this - // value is zero the animation will not play. If it is negative, then - // the animation will loop indefinitely. - WEBKIT_EXPORT int iterations() const; - WEBKIT_EXPORT void setIterations(int); - - WEBKIT_EXPORT double startTime() const; - WEBKIT_EXPORT void setStartTime(double monotonicTime); - WEBKIT_EXPORT bool hasSetStartTime() const; - - WEBKIT_EXPORT double timeOffset() const; - WEBKIT_EXPORT void setTimeOffset(double monotonicTime); - - // If alternatesDirection is true, on odd numbered iterations we reverse the curve. - WEBKIT_EXPORT bool alternatesDirection() const; - WEBKIT_EXPORT void setAlternatesDirection(bool); - -#if WEBKIT_IMPLEMENTATION - operator PassOwnPtr() const; -#endif - -private: - WEBKIT_EXPORT void initialize(const WebAnimationCurve&, TargetProperty); - WEBKIT_EXPORT void initialize(const WebAnimation&); - WEBKIT_EXPORT void destroy(); - - WebPrivateOwnPtr m_private; -}; - -} // namespace WebKit - -#endif // WebAnimation_h diff --git a/Source/Platform/chromium/public/WebAnimationCurve.h b/Source/Platform/chromium/public/WebAnimationCurve.h deleted file mode 100644 index e9ecc1e..0000000 --- a/Source/Platform/chromium/public/WebAnimationCurve.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright (C) 2012 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef WebAnimationCurve_h -#define WebAnimationCurve_h - -#include "WebCommon.h" -#include "WebNonCopyable.h" - -#if WEBKIT_IMPLEMENTATION -#include -#endif - -namespace WebCore { -class CCAnimationCurve; -} - -namespace WebKit { - -class WebAnimationCurve : public WebNonCopyable { -public: - virtual ~WebAnimationCurve() { } - - enum TimingFunctionType { - TimingFunctionTypeEase, - TimingFunctionTypeEaseIn, - TimingFunctionTypeEaseOut, - TimingFunctionTypeEaseInOut, - TimingFunctionTypeLinear - }; - -#if WEBKIT_IMPLEMENTATION - virtual operator PassOwnPtr() const = 0; -#endif - -protected: - WebAnimationCurve() { } -}; - -} // namespace WebKit - -#endif // WebAnimationCurve_h - diff --git a/Source/Platform/chromium/public/WebFloatAnimationCurve.h b/Source/Platform/chromium/public/WebFloatAnimationCurve.h deleted file mode 100644 index 65a7f24..0000000 --- a/Source/Platform/chromium/public/WebFloatAnimationCurve.h +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright (C) 2012 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef WebFloatAnimationCurve_h -#define WebFloatAnimationCurve_h - -#include "WebAnimationCurve.h" - -#include "WebCommon.h" -#include "WebFloatKeyframe.h" -#include "WebPrivateOwnPtr.h" - -#if WEBKIT_IMPLEMENTATION -#include -#endif - -namespace WebCore { -class CCAnimationCurve; -class CCKeyframedFloatAnimationCurve; -} - -namespace WebKit { - -// A keyframed float animation curve. -class WebFloatAnimationCurve : public WebAnimationCurve { -public: - WebFloatAnimationCurve() { initialize(); } - virtual ~WebFloatAnimationCurve() { destroy(); } - - // Adds the keyframe with the default timing function (ease). - WEBKIT_EXPORT void add(const WebFloatKeyframe&); - WEBKIT_EXPORT void add(const WebFloatKeyframe&, TimingFunctionType); - // Adds the keyframe with a custom, bezier timing function. Note, it is - // assumed that x0 = y0 = 0, and x3 = y3 = 1. - WEBKIT_EXPORT void add(const WebFloatKeyframe&, double x1, double y1, double x2, double y2); - - WEBKIT_EXPORT float getValue(double time) const; - -#if WEBKIT_IMPLEMENTATION - virtual operator PassOwnPtr() const; -#endif - -private: - WEBKIT_EXPORT void initialize(); - WEBKIT_EXPORT void destroy(); - - WebPrivateOwnPtr m_private; -}; - -} // namespace WebKit - -#endif // WebFloatAnimationCurve_h diff --git a/Source/Platform/chromium/public/WebFloatKeyframe.h b/Source/Platform/chromium/public/WebFloatKeyframe.h deleted file mode 100644 index d276418..0000000 --- a/Source/Platform/chromium/public/WebFloatKeyframe.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (C) 2012 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef WebFloatKeyframe_h -#define WebFloatKeyframe_h - -namespace WebKit { - -struct WebFloatKeyframe { - WebFloatKeyframe(double time, float value) - : time(time) - , value(value) - { - } - - double time; - float value; -}; - -} // namespace WebKit - -#endif // WebFloatKeyframe_h diff --git a/Source/Platform/chromium/public/WebTransformAnimationCurve.h b/Source/Platform/chromium/public/WebTransformAnimationCurve.h deleted file mode 100644 index 99cb670..0000000 --- a/Source/Platform/chromium/public/WebTransformAnimationCurve.h +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright (C) 2012 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef WebTransformAnimationCurve_h -#define WebTransformAnimationCurve_h - -#include "WebAnimationCurve.h" - -#include "WebCommon.h" -#include "WebPrivateOwnPtr.h" -#include "WebTransformKeyframe.h" -#include "WebTransformationMatrix.h" - -#if WEBKIT_IMPLEMENTATION -#include -#endif - -namespace WebCore { -class CCAnimationCurve; -class CCKeyframedTransformAnimationCurve; -} - -namespace WebKit { - -// A keyframed transform animation curve. -class WebTransformAnimationCurve : public WebAnimationCurve { -public: - WebTransformAnimationCurve() { initialize(); } - virtual ~WebTransformAnimationCurve() { destroy(); } - - // Adds the keyframe with the default timing function (ease). - WEBKIT_EXPORT void add(const WebTransformKeyframe&); - WEBKIT_EXPORT void add(const WebTransformKeyframe&, TimingFunctionType); - // Adds the keyframe with a custom, bezier timing function. Note, it is - // assumed that x0 = y0 = 0, and x3 = y3 = 1. - WEBKIT_EXPORT void add(const WebTransformKeyframe&, double x1, double y1, double x2, double y2); - - WEBKIT_EXPORT WebTransformationMatrix getValue(double time) const; - -#if WEBKIT_IMPLEMENTATION - virtual operator PassOwnPtr() const; -#endif - -protected: - WEBKIT_EXPORT void initialize(); - WEBKIT_EXPORT void destroy(); - - WebPrivateOwnPtr m_private; -}; - -} // namespace WebKit - -#endif // WebTransformAnimationCurve_h diff --git a/Source/Platform/chromium/public/WebTransformKeyframe.h b/Source/Platform/chromium/public/WebTransformKeyframe.h deleted file mode 100644 index c99ef55..0000000 --- a/Source/Platform/chromium/public/WebTransformKeyframe.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (C) 2012 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef WebTransformKeyframe_h -#define WebTransformKeyframe_h - -#include "WebTransformOperations.h" - -namespace WebKit { - -struct WebTransformKeyframe { - WebTransformKeyframe(double time, const WebTransformOperations& value) - : time(time) - , value(value) - { - } - - double time; - WebTransformOperations value; -}; - -} // namespace WebKit - -#endif // WebTransformKeyframe_h diff --git a/Source/WebKit/chromium/ChangeLog b/Source/WebKit/chromium/ChangeLog index 8b9d110..bbf8f7b 100644 --- a/Source/WebKit/chromium/ChangeLog +++ b/Source/WebKit/chromium/ChangeLog @@ -1,3 +1,23 @@ +2012-07-01 Keishi Hattori + + Unreviewed, rolling out r121650. + http://trac.webkit.org/changeset/121650 + https://bugs.webkit.org/show_bug.cgi?id=90303 + + runhooks is failing for chromium win bots and + WebAnimationTest.DefaultSettings is crashing + + * WebKit.gyp: + * WebKit.gypi: + * src/WebAnimation.cpp: Removed. + * src/WebAnimationCurveCommon.cpp: Removed. + * src/WebAnimationCurveCommon.h: Removed. + * src/WebFloatAnimationCurve.cpp: Removed. + * src/WebTransformAnimationCurve.cpp: Removed. + * tests/WebAnimationTest.cpp: Removed. + * tests/WebFloatAnimationCurveTest.cpp: Removed. + * tests/WebTransformAnimationCurveTest.cpp: Removed. + 2012-07-01 Ian Vollick [chromium] Create a WebKit::Web* wrapper for the cc animation classes diff --git a/Source/WebKit/chromium/WebKit.gyp b/Source/WebKit/chromium/WebKit.gyp index 2feecc7..78e428b 100644 --- a/Source/WebKit/chromium/WebKit.gyp +++ b/Source/WebKit/chromium/WebKit.gyp @@ -477,11 +477,8 @@ 'src/WebTextCheckingCompletionImpl.cpp', 'src/WebTextCheckingResult.cpp', 'src/WebAccessibilityObject.cpp', - 'src/WebAnimation.cpp', 'src/WebAnimationControllerImpl.cpp', 'src/WebAnimationControllerImpl.h', - 'src/WebAnimationCurveCommon.cpp', - 'src/WebAnimationCurveCommon.h', 'src/WebArrayBuffer.cpp', 'src/WebArrayBufferView.cpp', 'src/WebBindings.cpp', @@ -530,7 +527,6 @@ 'src/WebFileChooserCompletionImpl.h', 'src/WebFileSystemCallbacksImpl.cpp', 'src/WebFileSystemCallbacksImpl.h', - 'src/WebFloatAnimationCurve.cpp', 'src/WebFontCache.cpp', 'src/WebFontDescription.cpp', 'src/WebFontImpl.cpp', @@ -655,7 +651,6 @@ 'src/WebSurroundingText.cpp', 'src/WebTextInputInfo.cpp', 'src/WebTextRun.cpp', - 'src/WebTransformAnimationCurve.cpp', 'src/WebURLLoadTiming.cpp', 'src/WebScopedUserGesture.cpp', 'src/WebTextFieldDecoratorClient.cpp', diff --git a/Source/WebKit/chromium/WebKit.gypi b/Source/WebKit/chromium/WebKit.gypi index 7b3e68c..5e28903 100644 --- a/Source/WebKit/chromium/WebKit.gypi +++ b/Source/WebKit/chromium/WebKit.gypi @@ -149,9 +149,7 @@ 'tests/TreeSynchronizerTest.cpp', 'tests/TreeTestHelpers.cpp', 'tests/TreeTestHelpers.h', - 'tests/WebAnimationTest.cpp', 'tests/WebCompositorInputHandlerImplTest.cpp', - 'tests/WebFloatAnimationCurveTest.cpp', 'tests/WebFrameTest.cpp', 'tests/WebLayerTest.cpp', 'tests/WebLayerTreeViewTest.cpp', @@ -160,7 +158,6 @@ 'tests/WebPageSerializerTest.cpp', 'tests/WebSocketDeflaterTest.cpp', 'tests/WebSocketExtensionDispatcherTest.cpp', - 'tests/WebTransformAnimationCurveTest.cpp', 'tests/WebTransformationMatrixTest.cpp', 'tests/WebTransformOperationsTest.cpp', 'tests/WebURLRequestTest.cpp', diff --git a/Source/WebKit/chromium/src/WebAnimation.cpp b/Source/WebKit/chromium/src/WebAnimation.cpp deleted file mode 100644 index 7dddfc2..0000000 --- a/Source/WebKit/chromium/src/WebAnimation.cpp +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Copyright (C) 2012 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include "config.h" - -#include - -#include "AnimationIdVendor.h" -#include "cc/CCActiveAnimation.h" -#include "cc/CCAnimationCurve.h" -#include -#include -#include - -using WebCore::AnimationIdVendor; -using WebCore::CCActiveAnimation; - -namespace WebKit { - -int WebAnimation::iterations() const -{ - return m_private->iterations(); -} - -void WebAnimation::setIterations(int n) -{ - m_private->setIterations(n); -} - -double WebAnimation::startTime() const -{ - return m_private->startTime(); -} - -void WebAnimation::setStartTime(double monotonicTime) -{ - m_private->setStartTime(monotonicTime); -} - -double WebAnimation::timeOffset() const -{ - return m_private->timeOffset(); -} - -void WebAnimation::setTimeOffset(double monotonicTime) -{ - m_private->setTimeOffset(monotonicTime); -} - -bool WebAnimation::alternatesDirection() const -{ - return m_private->alternatesDirection(); -} - -void WebAnimation::setAlternatesDirection(bool alternates) -{ - m_private->setAlternatesDirection(alternates); -} - -WebAnimation::operator PassOwnPtr() const -{ - OwnPtr toReturn(m_private->cloneForImplThread()); - toReturn->setNeedsSynchronizedStartTime(true); - return toReturn.release(); -} - -void WebAnimation::initialize(const WebAnimationCurve& curve, TargetProperty targetProperty) -{ - m_private.reset(CCActiveAnimation::create(curve, - AnimationIdVendor::getNextAnimationId(), - AnimationIdVendor::getNextGroupId(), - static_cast(targetProperty)).leakPtr()); -} - -void WebAnimation::destroy() -{ - m_private.reset(0); -} - -} // namespace WebKit diff --git a/Source/WebKit/chromium/src/WebAnimationCurveCommon.cpp b/Source/WebKit/chromium/src/WebAnimationCurveCommon.cpp deleted file mode 100644 index b5b98b0..0000000 --- a/Source/WebKit/chromium/src/WebAnimationCurveCommon.cpp +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright (C) 2012 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include "config.h" - -#include "WebAnimationCurveCommon.h" - -#include "cc/CCTimingFunction.h" - -#include -#include - -namespace WebKit { - -PassOwnPtr createTimingFunction(WebAnimationCurve::TimingFunctionType type) -{ - switch (type) { - case WebAnimationCurve::TimingFunctionTypeEase: - return WebCore::CCEaseTimingFunction::create(); - case WebAnimationCurve::TimingFunctionTypeEaseIn: - return WebCore::CCEaseInTimingFunction::create(); - case WebAnimationCurve::TimingFunctionTypeEaseOut: - return WebCore::CCEaseOutTimingFunction::create(); - case WebAnimationCurve::TimingFunctionTypeEaseInOut: - return WebCore::CCEaseInOutTimingFunction::create(); - case WebAnimationCurve::TimingFunctionTypeLinear: - return nullptr; - } - return nullptr; -} - -} // namespace WebKit diff --git a/Source/WebKit/chromium/src/WebAnimationCurveCommon.h b/Source/WebKit/chromium/src/WebAnimationCurveCommon.h deleted file mode 100644 index 562b6eb..0000000 --- a/Source/WebKit/chromium/src/WebAnimationCurveCommon.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (C) 2012 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef WebAnimationCurveCommon_h -#define WebAnimationCurveCommon_h - -#include -#include - -namespace WebCore { -class CCTimingFunction; -} - -namespace WebKit { -PassOwnPtr createTimingFunction(WebAnimationCurve::TimingFunctionType); -} - -#endif // WebAnimationCurveCommon_h diff --git a/Source/WebKit/chromium/src/WebFloatAnimationCurve.cpp b/Source/WebKit/chromium/src/WebFloatAnimationCurve.cpp deleted file mode 100644 index d8cc9bb..0000000 --- a/Source/WebKit/chromium/src/WebFloatAnimationCurve.cpp +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (C) 2012 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include "config.h" - -#include - -#include "WebAnimationCurveCommon.h" -#include "cc/CCKeyframedAnimationCurve.h" -#include "cc/CCTimingFunction.h" -#include -#include - -namespace WebKit { - -void WebFloatAnimationCurve::add(const WebFloatKeyframe& keyframe) -{ - add(keyframe, TimingFunctionTypeEase); -} - -void WebFloatAnimationCurve::add(const WebFloatKeyframe& keyframe, TimingFunctionType type) -{ - m_private->addKeyframe(WebCore::CCFloatKeyframe::create(keyframe.time, keyframe.value, createTimingFunction(type))); -} - -void WebFloatAnimationCurve::add(const WebFloatKeyframe& keyframe, double x1, double y1, double x2, double y2) -{ - m_private->addKeyframe(WebCore::CCFloatKeyframe::create(keyframe.time, keyframe.value, WebCore::CCCubicBezierTimingFunction::create(x1, y1, x2, y2))); -} - -float WebFloatAnimationCurve::getValue(double time) const -{ - return m_private->getValue(time); -} - -WebFloatAnimationCurve::operator PassOwnPtr() const -{ - return m_private->clone(); -} - -void WebFloatAnimationCurve::initialize() -{ - m_private.reset(WebCore::CCKeyframedFloatAnimationCurve::create().leakPtr()); -} - -void WebFloatAnimationCurve::destroy() -{ - m_private.reset(0); -} - -} // namespace WebKit diff --git a/Source/WebKit/chromium/src/WebTransformAnimationCurve.cpp b/Source/WebKit/chromium/src/WebTransformAnimationCurve.cpp deleted file mode 100644 index ca95fa3..0000000 --- a/Source/WebKit/chromium/src/WebTransformAnimationCurve.cpp +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (C) 2012 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include "config.h" - -#include - -#include "WebAnimationCurveCommon.h" -#include "cc/CCKeyframedAnimationCurve.h" -#include "cc/CCTimingFunction.h" -#include -#include - -namespace WebKit { - -void WebTransformAnimationCurve::add(const WebTransformKeyframe& keyframe) -{ - add(keyframe, TimingFunctionTypeEase); -} - -void WebTransformAnimationCurve::add(const WebTransformKeyframe& keyframe, TimingFunctionType type) -{ - m_private->addKeyframe(WebCore::CCTransformKeyframe::create(keyframe.time, keyframe.value, createTimingFunction(type))); -} - -void WebTransformAnimationCurve::add(const WebTransformKeyframe& keyframe, double x1, double y1, double x2, double y2) -{ - m_private->addKeyframe(WebCore::CCTransformKeyframe::create(keyframe.time, keyframe.value, WebCore::CCCubicBezierTimingFunction::create(x1, y1, x2, y2))); -} - -WebTransformationMatrix WebTransformAnimationCurve::getValue(double time) const -{ - return m_private->getValue(time); -} - -WebTransformAnimationCurve::operator PassOwnPtr() const -{ - return m_private->clone(); -} - -void WebTransformAnimationCurve::initialize() -{ - m_private.reset(WebCore::CCKeyframedTransformAnimationCurve::create().leakPtr()); -} - -void WebTransformAnimationCurve::destroy() -{ - m_private.reset(0); -} - -} // namespace WebKit diff --git a/Source/WebKit/chromium/tests/WebAnimationTest.cpp b/Source/WebKit/chromium/tests/WebAnimationTest.cpp deleted file mode 100644 index ac0f2d5..0000000 --- a/Source/WebKit/chromium/tests/WebAnimationTest.cpp +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (C) 2012 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include "config.h" - -#include - -#include -#include -#include -#include - -using namespace WebKit; - -namespace { - -TEST(WebAnimationTest, DefaultSettings) -{ - WebFloatAnimationCurve curve; - WebAnimation animation(curve, WebAnimation::WebAnimationOpacity); - - // Ensure that the defaults are correct. - EXPECT_EQ(1, animation.iterations()); - EXPECT_EQ(0, animation.startTime()); - EXPECT_EQ(0, animation.timeOffset()); - EXPECT_FALSE(animation.alternatesDirection()); -} - -TEST(WebAnimationTest, ModifiedSettings) -{ - WebFloatAnimationCurve curve; - WebAnimation animation(curve, WebAnimation::WebAnimationOpacity); - animation.setIterations(2); - animation.setStartTime(2); - animation.setTimeOffset(2); - animation.setAlternatesDirection(true); - - EXPECT_EQ(2, animation.iterations()); - EXPECT_EQ(2, animation.startTime()); - EXPECT_EQ(2, animation.timeOffset()); - EXPECT_TRUE(animation.alternatesDirection()); -} - -} // namespace diff --git a/Source/WebKit/chromium/tests/WebFloatAnimationCurveTest.cpp b/Source/WebKit/chromium/tests/WebFloatAnimationCurveTest.cpp deleted file mode 100644 index bdfe4ec..0000000 --- a/Source/WebKit/chromium/tests/WebFloatAnimationCurveTest.cpp +++ /dev/null @@ -1,236 +0,0 @@ -/* - * Copyright (C) 2012 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include "config.h" - -#include - -#include "cc/CCTimingFunction.h" - -#include -#include -#include - -using namespace WebKit; - -namespace { - -// Tests that a float animation with one keyframe works as expected. -TEST(WebFloatAnimationCurveTest, OneFloatKeyframe) -{ - WebFloatAnimationCurve curve; - curve.add(WebFloatKeyframe(0, 2), WebAnimationCurve::TimingFunctionTypeLinear); - EXPECT_FLOAT_EQ(2, curve.getValue(-1)); - EXPECT_FLOAT_EQ(2, curve.getValue(0)); - EXPECT_FLOAT_EQ(2, curve.getValue(0.5)); - EXPECT_FLOAT_EQ(2, curve.getValue(1)); - EXPECT_FLOAT_EQ(2, curve.getValue(2)); -} - -// Tests that a float animation with two keyframes works as expected. -TEST(WebFloatAnimationCurveTest, TwoFloatKeyframe) -{ - WebFloatAnimationCurve curve; - curve.add(WebFloatKeyframe(0, 2), WebAnimationCurve::TimingFunctionTypeLinear); - curve.add(WebFloatKeyframe(1, 4), WebAnimationCurve::TimingFunctionTypeLinear); - EXPECT_FLOAT_EQ(2, curve.getValue(-1)); - EXPECT_FLOAT_EQ(2, curve.getValue(0)); - EXPECT_FLOAT_EQ(3, curve.getValue(0.5)); - EXPECT_FLOAT_EQ(4, curve.getValue(1)); - EXPECT_FLOAT_EQ(4, curve.getValue(2)); -} - -// Tests that a float animation with three keyframes works as expected. -TEST(WebFloatAnimationCurveTest, ThreeFloatKeyframe) -{ - WebFloatAnimationCurve curve; - curve.add(WebFloatKeyframe(0, 2), WebAnimationCurve::TimingFunctionTypeLinear); - curve.add(WebFloatKeyframe(1, 4), WebAnimationCurve::TimingFunctionTypeLinear); - curve.add(WebFloatKeyframe(2, 8), WebAnimationCurve::TimingFunctionTypeLinear); - EXPECT_FLOAT_EQ(2, curve.getValue(-1)); - EXPECT_FLOAT_EQ(2, curve.getValue(0)); - EXPECT_FLOAT_EQ(3, curve.getValue(0.5)); - EXPECT_FLOAT_EQ(4, curve.getValue(1)); - EXPECT_FLOAT_EQ(6, curve.getValue(1.5)); - EXPECT_FLOAT_EQ(8, curve.getValue(2)); - EXPECT_FLOAT_EQ(8, curve.getValue(3)); -} - -// Tests that a float animation with multiple keys at a given time works sanely. -TEST(WebFloatAnimationCurveTest, RepeatedFloatKeyTimes) -{ - WebFloatAnimationCurve curve; - curve.add(WebFloatKeyframe(0, 4), WebAnimationCurve::TimingFunctionTypeLinear); - curve.add(WebFloatKeyframe(1, 4), WebAnimationCurve::TimingFunctionTypeLinear); - curve.add(WebFloatKeyframe(1, 6), WebAnimationCurve::TimingFunctionTypeLinear); - curve.add(WebFloatKeyframe(2, 6), WebAnimationCurve::TimingFunctionTypeLinear); - - EXPECT_FLOAT_EQ(4, curve.getValue(-1)); - EXPECT_FLOAT_EQ(4, curve.getValue(0)); - EXPECT_FLOAT_EQ(4, curve.getValue(0.5)); - - // There is a discontinuity at 1. Any value between 4 and 6 is valid. - float value = curve.getValue(1); - EXPECT_TRUE(value >= 4 && value <= 6); - - EXPECT_FLOAT_EQ(6, curve.getValue(1.5)); - EXPECT_FLOAT_EQ(6, curve.getValue(2)); - EXPECT_FLOAT_EQ(6, curve.getValue(3)); -} - -// Tests that the keyframes may be added out of order. -TEST(WebFloatAnimationCurveTest, UnsortedKeyframes) -{ - WebFloatAnimationCurve curve; - curve.add(WebFloatKeyframe(2, 8), WebAnimationCurve::TimingFunctionTypeLinear); - curve.add(WebFloatKeyframe(0, 2), WebAnimationCurve::TimingFunctionTypeLinear); - curve.add(WebFloatKeyframe(1, 4), WebAnimationCurve::TimingFunctionTypeLinear); - - EXPECT_FLOAT_EQ(2, curve.getValue(-1)); - EXPECT_FLOAT_EQ(2, curve.getValue(0)); - EXPECT_FLOAT_EQ(3, curve.getValue(0.5)); - EXPECT_FLOAT_EQ(4, curve.getValue(1)); - EXPECT_FLOAT_EQ(6, curve.getValue(1.5)); - EXPECT_FLOAT_EQ(8, curve.getValue(2)); - EXPECT_FLOAT_EQ(8, curve.getValue(3)); -} - -// Tests that a cubic bezier timing function works as expected. -TEST(WebFloatAnimationCurveTest, CubicBezierTimingFunction) -{ - WebFloatAnimationCurve curve; - curve.add(WebFloatKeyframe(0, 0), 0.25, 0, 0.75, 1); - curve.add(WebFloatKeyframe(1, 1), WebAnimationCurve::TimingFunctionTypeLinear); - - EXPECT_FLOAT_EQ(0, curve.getValue(0)); - EXPECT_LT(0, curve.getValue(0.25)); - EXPECT_GT(0.25, curve.getValue(0.25)); - EXPECT_FLOAT_EQ(0.5, curve.getValue(0.5)); - EXPECT_LT(0.75, curve.getValue(0.75)); - EXPECT_GT(1, curve.getValue(0.75)); - EXPECT_FLOAT_EQ(1, curve.getValue(1)); -} - -// Tests that an ease timing function works as expected. -TEST(WebFloatAnimationCurveTest, EaseTimingFunction) -{ - WebFloatAnimationCurve curve; - curve.add(WebFloatKeyframe(0, 0), WebAnimationCurve::TimingFunctionTypeEase); - curve.add(WebFloatKeyframe(1, 1), WebAnimationCurve::TimingFunctionTypeLinear); - - OwnPtr timingFunction(WebCore::CCEaseTimingFunction::create()); - for (int i = 0; i <= 4; ++i) { - const double time = i * 0.25; - EXPECT_FLOAT_EQ(timingFunction->getValue(time), curve.getValue(time)); - } -} - -// Tests using a linear timing function. -TEST(WebFloatAnimationCurveTest, LinearTimingFunction) -{ - WebFloatAnimationCurve curve; - curve.add(WebFloatKeyframe(0, 0), WebAnimationCurve::TimingFunctionTypeLinear); - curve.add(WebFloatKeyframe(1, 1), WebAnimationCurve::TimingFunctionTypeLinear); - - for (int i = 0; i <= 4; ++i) { - const double time = i * 0.25; - EXPECT_FLOAT_EQ(time, curve.getValue(time)); - } -} - -// Tests that an ease in timing function works as expected. -TEST(WebFloatAnimationCurveTest, EaseInTimingFunction) -{ - WebFloatAnimationCurve curve; - curve.add(WebFloatKeyframe(0, 0), WebAnimationCurve::TimingFunctionTypeEaseIn); - curve.add(WebFloatKeyframe(1, 1), WebAnimationCurve::TimingFunctionTypeLinear); - - OwnPtr timingFunction(WebCore::CCEaseInTimingFunction::create()); - for (int i = 0; i <= 4; ++i) { - const double time = i * 0.25; - EXPECT_FLOAT_EQ(timingFunction->getValue(time), curve.getValue(time)); - } -} - -// Tests that an ease in timing function works as expected. -TEST(WebFloatAnimationCurveTest, EaseOutTimingFunction) -{ - WebFloatAnimationCurve curve; - curve.add(WebFloatKeyframe(0, 0), WebAnimationCurve::TimingFunctionTypeEaseOut); - curve.add(WebFloatKeyframe(1, 1), WebAnimationCurve::TimingFunctionTypeLinear); - - OwnPtr timingFunction(WebCore::CCEaseOutTimingFunction::create()); - for (int i = 0; i <= 4; ++i) { - const double time = i * 0.25; - EXPECT_FLOAT_EQ(timingFunction->getValue(time), curve.getValue(time)); - } -} - -// Tests that an ease in timing function works as expected. -TEST(WebFloatAnimationCurveTest, EaseInOutTimingFunction) -{ - WebFloatAnimationCurve curve; - curve.add(WebFloatKeyframe(0, 0), WebAnimationCurve::TimingFunctionTypeEaseInOut); - curve.add(WebFloatKeyframe(1, 1), WebAnimationCurve::TimingFunctionTypeLinear); - - OwnPtr timingFunction(WebCore::CCEaseInOutTimingFunction::create()); - for (int i = 0; i <= 4; ++i) { - const double time = i * 0.25; - EXPECT_FLOAT_EQ(timingFunction->getValue(time), curve.getValue(time)); - } -} - -// Tests that an ease in timing function works as expected. -TEST(WebFloatAnimationCurveTest, CustomBezierTimingFunction) -{ - WebFloatAnimationCurve curve; - double x1 = 0.3; - double y1 = 0.2; - double x2 = 0.8; - double y2 = 0.7; - curve.add(WebFloatKeyframe(0, 0), x1, y1, x2, y2); - curve.add(WebFloatKeyframe(1, 1), WebAnimationCurve::TimingFunctionTypeLinear); - - OwnPtr timingFunction(WebCore::CCCubicBezierTimingFunction::create(x1, y1, x2, y2)); - for (int i = 0; i <= 4; ++i) { - const double time = i * 0.25; - EXPECT_FLOAT_EQ(timingFunction->getValue(time), curve.getValue(time)); - } -} - -// Tests that the default timing function is indeed ease. -TEST(WebFloatAnimationCurveTest, DefaultTimingFunction) -{ - WebFloatAnimationCurve curve; - curve.add(WebFloatKeyframe(0, 0)); - curve.add(WebFloatKeyframe(1, 1), WebAnimationCurve::TimingFunctionTypeLinear); - - OwnPtr timingFunction(WebCore::CCEaseTimingFunction::create()); - for (int i = 0; i <= 4; ++i) { - const double time = i * 0.25; - EXPECT_FLOAT_EQ(timingFunction->getValue(time), curve.getValue(time)); - } -} - -} // namespace diff --git a/Source/WebKit/chromium/tests/WebTransformAnimationCurveTest.cpp b/Source/WebKit/chromium/tests/WebTransformAnimationCurveTest.cpp deleted file mode 100644 index f18f87b..0000000 --- a/Source/WebKit/chromium/tests/WebTransformAnimationCurveTest.cpp +++ /dev/null @@ -1,297 +0,0 @@ -/* - * Copyright (C) 2012 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include "config.h" - -#include - -#include "cc/CCTimingFunction.h" - -#include -#include -#include -#include -#include - -using namespace WebKit; - -namespace { - -// Tests that a transform animation with one keyframe works as expected. -TEST(WebTransformAnimationCurveTest, OneTransformKeyframe) -{ - WebTransformAnimationCurve curve; - WebKit::WebTransformOperations operations; - operations.appendTranslate(2, 0, 0); - curve.add(WebTransformKeyframe(0, operations), WebAnimationCurve::TimingFunctionTypeLinear); - - EXPECT_FLOAT_EQ(2, curve.getValue(-1).m41()); - EXPECT_FLOAT_EQ(2, curve.getValue(0).m41()); - EXPECT_FLOAT_EQ(2, curve.getValue(0.5).m41()); - EXPECT_FLOAT_EQ(2, curve.getValue(1).m41()); - EXPECT_FLOAT_EQ(2, curve.getValue(2).m41()); -} - -// Tests that a transform animation with two keyframes works as expected. -TEST(WebTransformAnimationCurveTest, TwoTransformKeyframe) -{ - WebTransformAnimationCurve curve; - WebKit::WebTransformOperations operations1; - operations1.appendTranslate(2, 0, 0); - WebKit::WebTransformOperations operations2; - operations2.appendTranslate(4, 0, 0); - curve.add(WebTransformKeyframe(0, operations1), WebAnimationCurve::TimingFunctionTypeLinear); - curve.add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFunctionTypeLinear); - EXPECT_FLOAT_EQ(2, curve.getValue(-1).m41()); - EXPECT_FLOAT_EQ(2, curve.getValue(0).m41()); - EXPECT_FLOAT_EQ(3, curve.getValue(0.5).m41()); - EXPECT_FLOAT_EQ(4, curve.getValue(1).m41()); - EXPECT_FLOAT_EQ(4, curve.getValue(2).m41()); -} - -// Tests that a transform animation with three keyframes works as expected. -TEST(WebTransformAnimationCurveTest, ThreeTransformKeyframe) -{ - WebTransformAnimationCurve curve; - WebKit::WebTransformOperations operations1; - operations1.appendTranslate(2, 0, 0); - WebKit::WebTransformOperations operations2; - operations2.appendTranslate(4, 0, 0); - WebKit::WebTransformOperations operations3; - operations3.appendTranslate(8, 0, 0); - curve.add(WebTransformKeyframe(0, operations1), WebAnimationCurve::TimingFunctionTypeLinear); - curve.add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFunctionTypeLinear); - curve.add(WebTransformKeyframe(2, operations3), WebAnimationCurve::TimingFunctionTypeLinear); - EXPECT_FLOAT_EQ(2, curve.getValue(-1).m41()); - EXPECT_FLOAT_EQ(2, curve.getValue(0).m41()); - EXPECT_FLOAT_EQ(3, curve.getValue(0.5).m41()); - EXPECT_FLOAT_EQ(4, curve.getValue(1).m41()); - EXPECT_FLOAT_EQ(6, curve.getValue(1.5).m41()); - EXPECT_FLOAT_EQ(8, curve.getValue(2).m41()); - EXPECT_FLOAT_EQ(8, curve.getValue(3).m41()); -} - -// Tests that a transform animation with multiple keys at a given time works sanely. -TEST(WebTransformAnimationCurveTest, RepeatedTransformKeyTimes) -{ - // A step function. - WebTransformAnimationCurve curve; - WebKit::WebTransformOperations operations1; - operations1.appendTranslate(4, 0, 0); - WebKit::WebTransformOperations operations2; - operations2.appendTranslate(4, 0, 0); - WebKit::WebTransformOperations operations3; - operations3.appendTranslate(6, 0, 0); - WebKit::WebTransformOperations operations4; - operations4.appendTranslate(6, 0, 0); - curve.add(WebTransformKeyframe(0, operations1), WebAnimationCurve::TimingFunctionTypeLinear); - curve.add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFunctionTypeLinear); - curve.add(WebTransformKeyframe(1, operations3), WebAnimationCurve::TimingFunctionTypeLinear); - curve.add(WebTransformKeyframe(2, operations4), WebAnimationCurve::TimingFunctionTypeLinear); - - EXPECT_FLOAT_EQ(4, curve.getValue(-1).m41()); - EXPECT_FLOAT_EQ(4, curve.getValue(0).m41()); - EXPECT_FLOAT_EQ(4, curve.getValue(0.5).m41()); - - // There is a discontinuity at 1. Any value between 4 and 6 is valid. - WebTransformationMatrix value = curve.getValue(1); - EXPECT_TRUE(value.m41() >= 4 && value.m41() <= 6); - - EXPECT_FLOAT_EQ(6, curve.getValue(1.5).m41()); - EXPECT_FLOAT_EQ(6, curve.getValue(2).m41()); - EXPECT_FLOAT_EQ(6, curve.getValue(3).m41()); -} - -// Tests that the keyframes may be added out of order. -TEST(WebTransformAnimationCurveTest, UnsortedKeyframes) -{ - WebTransformAnimationCurve curve; - WebKit::WebTransformOperations operations1; - operations1.appendTranslate(2, 0, 0); - WebKit::WebTransformOperations operations2; - operations2.appendTranslate(4, 0, 0); - WebKit::WebTransformOperations operations3; - operations3.appendTranslate(8, 0, 0); - curve.add(WebTransformKeyframe(2, operations3), WebAnimationCurve::TimingFunctionTypeLinear); - curve.add(WebTransformKeyframe(0, operations1), WebAnimationCurve::TimingFunctionTypeLinear); - curve.add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFunctionTypeLinear); - - EXPECT_FLOAT_EQ(2, curve.getValue(-1).m41()); - EXPECT_FLOAT_EQ(2, curve.getValue(0).m41()); - EXPECT_FLOAT_EQ(3, curve.getValue(0.5).m41()); - EXPECT_FLOAT_EQ(4, curve.getValue(1).m41()); - EXPECT_FLOAT_EQ(6, curve.getValue(1.5).m41()); - EXPECT_FLOAT_EQ(8, curve.getValue(2).m41()); - EXPECT_FLOAT_EQ(8, curve.getValue(3).m41()); -} - -// Tests that a cubic bezier timing function works as expected. -TEST(WebTransformAnimationCurveTest, CubicBezierTimingFunction) -{ - WebTransformAnimationCurve curve; - WebKit::WebTransformOperations operations1; - operations1.appendTranslate(0, 0, 0); - WebKit::WebTransformOperations operations2; - operations2.appendTranslate(1, 0, 0); - curve.add(WebTransformKeyframe(0, operations1), 0.25, 0, 0.75, 1); - curve.add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFunctionTypeLinear); - EXPECT_FLOAT_EQ(0, curve.getValue(0).m41()); - EXPECT_LT(0, curve.getValue(0.25).m41()); - EXPECT_GT(0.25, curve.getValue(0.25).m41()); - EXPECT_FLOAT_EQ(0.5, curve.getValue(0.5).m41()); - EXPECT_LT(0.75, curve.getValue(0.75).m41()); - EXPECT_GT(1, curve.getValue(0.75).m41()); - EXPECT_FLOAT_EQ(1, curve.getValue(1).m41()); -} - -// Tests that an ease timing function works as expected. -TEST(WebTransformAnimationCurveTest, EaseTimingFunction) -{ - WebTransformAnimationCurve curve; - WebKit::WebTransformOperations operations1; - operations1.appendTranslate(0, 0, 0); - WebKit::WebTransformOperations operations2; - operations2.appendTranslate(1, 0, 0); - curve.add(WebTransformKeyframe(0, operations1), WebAnimationCurve::TimingFunctionTypeEase); - curve.add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFunctionTypeLinear); - - OwnPtr timingFunction(WebCore::CCEaseTimingFunction::create()); - for (int i = 0; i <= 4; ++i) { - const double time = i * 0.25; - EXPECT_FLOAT_EQ(timingFunction->getValue(time), curve.getValue(time).m41()); - } -} - -// Tests using a linear timing function. -TEST(WebTransformAnimationCurveTest, LinearTimingFunction) -{ - WebTransformAnimationCurve curve; - WebKit::WebTransformOperations operations1; - operations1.appendTranslate(0, 0, 0); - WebKit::WebTransformOperations operations2; - operations2.appendTranslate(1, 0, 0); - curve.add(WebTransformKeyframe(0, operations1), WebAnimationCurve::TimingFunctionTypeLinear); - curve.add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFunctionTypeLinear); - - for (int i = 0; i <= 4; ++i) { - const double time = i * 0.25; - EXPECT_FLOAT_EQ(time, curve.getValue(time).m41()); - } -} - -// Tests that an ease in timing function works as expected. -TEST(WebTransformAnimationCurveTest, EaseInTimingFunction) -{ - WebTransformAnimationCurve curve; - WebKit::WebTransformOperations operations1; - operations1.appendTranslate(0, 0, 0); - WebKit::WebTransformOperations operations2; - operations2.appendTranslate(1, 0, 0); - curve.add(WebTransformKeyframe(0, operations1), WebAnimationCurve::TimingFunctionTypeEaseIn); - curve.add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFunctionTypeLinear); - - OwnPtr timingFunction(WebCore::CCEaseInTimingFunction::create()); - for (int i = 0; i <= 4; ++i) { - const double time = i * 0.25; - EXPECT_FLOAT_EQ(timingFunction->getValue(time), curve.getValue(time).m41()); - } -} - -// Tests that an ease in timing function works as expected. -TEST(WebTransformAnimationCurveTest, EaseOutTimingFunction) -{ - WebTransformAnimationCurve curve; - WebKit::WebTransformOperations operations1; - operations1.appendTranslate(0, 0, 0); - WebKit::WebTransformOperations operations2; - operations2.appendTranslate(1, 0, 0); - curve.add(WebTransformKeyframe(0, operations1), WebAnimationCurve::TimingFunctionTypeEaseOut); - curve.add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFunctionTypeLinear); - - OwnPtr timingFunction(WebCore::CCEaseOutTimingFunction::create()); - for (int i = 0; i <= 4; ++i) { - const double time = i * 0.25; - EXPECT_FLOAT_EQ(timingFunction->getValue(time), curve.getValue(time).m41()); - } -} - -// Tests that an ease in timing function works as expected. -TEST(WebTransformAnimationCurveTest, EaseInOutTimingFunction) -{ - WebTransformAnimationCurve curve; - WebKit::WebTransformOperations operations1; - operations1.appendTranslate(0, 0, 0); - WebKit::WebTransformOperations operations2; - operations2.appendTranslate(1, 0, 0); - curve.add(WebTransformKeyframe(0, operations1), WebAnimationCurve::TimingFunctionTypeEaseInOut); - curve.add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFunctionTypeLinear); - - OwnPtr timingFunction(WebCore::CCEaseInOutTimingFunction::create()); - for (int i = 0; i <= 4; ++i) { - const double time = i * 0.25; - EXPECT_FLOAT_EQ(timingFunction->getValue(time), curve.getValue(time).m41()); - } -} - -// Tests that an ease in timing function works as expected. -TEST(WebTransformAnimationCurveTest, CustomBezierTimingFunction) -{ - WebTransformAnimationCurve curve; - double x1 = 0.3; - double y1 = 0.2; - double x2 = 0.8; - double y2 = 0.7; - WebKit::WebTransformOperations operations1; - operations1.appendTranslate(0, 0, 0); - WebKit::WebTransformOperations operations2; - operations2.appendTranslate(1, 0, 0); - curve.add(WebTransformKeyframe(0, operations1), x1, y1, x2, y2); - curve.add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFunctionTypeLinear); - - OwnPtr timingFunction(WebCore::CCCubicBezierTimingFunction::create(x1, y1, x2, y2)); - for (int i = 0; i <= 4; ++i) { - const double time = i * 0.25; - EXPECT_FLOAT_EQ(timingFunction->getValue(time), curve.getValue(time).m41()); - } -} - -// Tests that the default timing function is indeed ease. -TEST(WebTransformAnimationCurveTest, DefaultTimingFunction) -{ - WebTransformAnimationCurve curve; - WebKit::WebTransformOperations operations1; - operations1.appendTranslate(0, 0, 0); - WebKit::WebTransformOperations operations2; - operations2.appendTranslate(1, 0, 0); - curve.add(WebTransformKeyframe(0, operations1)); - curve.add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFunctionTypeLinear); - - OwnPtr timingFunction(WebCore::CCEaseTimingFunction::create()); - for (int i = 0; i <= 4; ++i) { - const double time = i * 0.25; - EXPECT_FLOAT_EQ(timingFunction->getValue(time), curve.getValue(time).m41()); - } -} - -} // namespace -- 2.7.4