Title: [284856] trunk/Source/WebCore
Revision
284856
Author
grao...@webkit.org
Date
2021-10-26 00:06:27 -0700 (Tue, 26 Oct 2021)

Log Message

Refactor CSSToStyleMap::mapAnimationTimingFunction() to use TimingFunction::createFromCSSValue()
https://bugs.webkit.org/show_bug.cgi?id=232246

Reviewed by Dean Jackson.

* css/CSSToStyleMap.cpp:
(WebCore::CSSToStyleMap::mapAnimationTimingFunction):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (284855 => 284856)


--- trunk/Source/WebCore/ChangeLog	2021-10-26 04:40:59 UTC (rev 284855)
+++ trunk/Source/WebCore/ChangeLog	2021-10-26 07:06:27 UTC (rev 284856)
@@ -1,3 +1,13 @@
+2021-10-26  Antoine Quint  <grao...@webkit.org>
+
+        Refactor CSSToStyleMap::mapAnimationTimingFunction() to use TimingFunction::createFromCSSValue()
+        https://bugs.webkit.org/show_bug.cgi?id=232246
+
+        Reviewed by Dean Jackson.
+
+        * css/CSSToStyleMap.cpp:
+        (WebCore::CSSToStyleMap::mapAnimationTimingFunction):
+
 2021-10-25  Nikolaos Mouchtaris  <nmouchta...@apple.com>
 
         Fix issue for transform-origin in SVG

Modified: trunk/Source/WebCore/css/CSSToStyleMap.cpp (284855 => 284856)


--- trunk/Source/WebCore/css/CSSToStyleMap.cpp	2021-10-26 04:40:59 UTC (rev 284855)
+++ trunk/Source/WebCore/css/CSSToStyleMap.cpp	2021-10-26 07:06:27 UTC (rev 284856)
@@ -456,50 +456,10 @@
 
 void CSSToStyleMap::mapAnimationTimingFunction(Animation& animation, const CSSValue& value)
 {
-    if (value.treatAsInitialValue(CSSPropertyAnimationTimingFunction)) {
+    if (value.treatAsInitialValue(CSSPropertyAnimationTimingFunction))
         animation.setTimingFunction(Animation::initialTimingFunction());
-        return;
-    }
-
-    if (is<CSSPrimitiveValue>(value)) {
-        switch (downcast<CSSPrimitiveValue>(value).valueID()) {
-        case CSSValueLinear:
-            animation.setTimingFunction(LinearTimingFunction::create());
-            break;
-        case CSSValueEase:
-            animation.setTimingFunction(CubicBezierTimingFunction::create());
-            break;
-        case CSSValueEaseIn:
-            animation.setTimingFunction(CubicBezierTimingFunction::create(CubicBezierTimingFunction::EaseIn));
-            break;
-        case CSSValueEaseOut:
-            animation.setTimingFunction(CubicBezierTimingFunction::create(CubicBezierTimingFunction::EaseOut));
-            break;
-        case CSSValueEaseInOut:
-            animation.setTimingFunction(CubicBezierTimingFunction::create(CubicBezierTimingFunction::EaseInOut));
-            break;
-        case CSSValueStepStart:
-            animation.setTimingFunction(StepsTimingFunction::create(1, StepsTimingFunction::StepPosition::Start));
-            break;
-        case CSSValueStepEnd:
-            animation.setTimingFunction(StepsTimingFunction::create(1, StepsTimingFunction::StepPosition::End));
-            break;
-        default:
-            break;
-        }
-        return;
-    }
-
-    if (is<CSSCubicBezierTimingFunctionValue>(value)) {
-        auto& cubicTimingFunction = downcast<CSSCubicBezierTimingFunctionValue>(value);
-        animation.setTimingFunction(CubicBezierTimingFunction::create(cubicTimingFunction.x1(), cubicTimingFunction.y1(), cubicTimingFunction.x2(), cubicTimingFunction.y2()));
-    } else if (is<CSSStepsTimingFunctionValue>(value)) {
-        auto& stepsTimingFunction = downcast<CSSStepsTimingFunctionValue>(value);
-        animation.setTimingFunction(StepsTimingFunction::create(stepsTimingFunction.numberOfSteps(), stepsTimingFunction.stepPosition()));
-    } else if (is<CSSSpringTimingFunctionValue>(value)) {
-        auto& springTimingFunction = downcast<CSSSpringTimingFunctionValue>(value);
-        animation.setTimingFunction(SpringTimingFunction::create(springTimingFunction.mass(), springTimingFunction.stiffness(), springTimingFunction.damping(), springTimingFunction.initialVelocity()));
-    }
+    else if (auto timingFunction = TimingFunction::createFromCSSValue(value))
+        animation.setTimingFunction(WTFMove(timingFunction));
 }
 
 void CSSToStyleMap::mapNinePieceImage(CSSPropertyID property, CSSValue* value, NinePieceImage& image)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to