⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 284856 in webkit


Ignore:
Timestamp:
Oct 26, 2021, 12:06:27 AM (5 years ago)
Author:
graouts@webkit.org
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):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r284853 r284856  
     12021-10-26  Antoine Quint  <graouts@webkit.org>
     2
     3        Refactor CSSToStyleMap::mapAnimationTimingFunction() to use TimingFunction::createFromCSSValue()
     4        https://bugs.webkit.org/show_bug.cgi?id=232246
     5
     6        Reviewed by Dean Jackson.
     7
     8        * css/CSSToStyleMap.cpp:
     9        (WebCore::CSSToStyleMap::mapAnimationTimingFunction):
     10
    1112021-10-25  Nikolaos Mouchtaris  <nmouchtaris@apple.com>
    212
  • trunk/Source/WebCore/css/CSSToStyleMap.cpp

    r282143 r284856  
    457457void CSSToStyleMap::mapAnimationTimingFunction(Animation& animation, const CSSValue& value)
    458458{
    459     if (value.treatAsInitialValue(CSSPropertyAnimationTimingFunction)) {
     459    if (value.treatAsInitialValue(CSSPropertyAnimationTimingFunction))
    460460        animation.setTimingFunction(Animation::initialTimingFunction());
    461         return;
    462     }
    463 
    464     if (is<CSSPrimitiveValue>(value)) {
    465         switch (downcast<CSSPrimitiveValue>(value).valueID()) {
    466         case CSSValueLinear:
    467             animation.setTimingFunction(LinearTimingFunction::create());
    468             break;
    469         case CSSValueEase:
    470             animation.setTimingFunction(CubicBezierTimingFunction::create());
    471             break;
    472         case CSSValueEaseIn:
    473             animation.setTimingFunction(CubicBezierTimingFunction::create(CubicBezierTimingFunction::EaseIn));
    474             break;
    475         case CSSValueEaseOut:
    476             animation.setTimingFunction(CubicBezierTimingFunction::create(CubicBezierTimingFunction::EaseOut));
    477             break;
    478         case CSSValueEaseInOut:
    479             animation.setTimingFunction(CubicBezierTimingFunction::create(CubicBezierTimingFunction::EaseInOut));
    480             break;
    481         case CSSValueStepStart:
    482             animation.setTimingFunction(StepsTimingFunction::create(1, StepsTimingFunction::StepPosition::Start));
    483             break;
    484         case CSSValueStepEnd:
    485             animation.setTimingFunction(StepsTimingFunction::create(1, StepsTimingFunction::StepPosition::End));
    486             break;
    487         default:
    488             break;
    489         }
    490         return;
    491     }
    492 
    493     if (is<CSSCubicBezierTimingFunctionValue>(value)) {
    494         auto& cubicTimingFunction = downcast<CSSCubicBezierTimingFunctionValue>(value);
    495         animation.setTimingFunction(CubicBezierTimingFunction::create(cubicTimingFunction.x1(), cubicTimingFunction.y1(), cubicTimingFunction.x2(), cubicTimingFunction.y2()));
    496     } else if (is<CSSStepsTimingFunctionValue>(value)) {
    497         auto& stepsTimingFunction = downcast<CSSStepsTimingFunctionValue>(value);
    498         animation.setTimingFunction(StepsTimingFunction::create(stepsTimingFunction.numberOfSteps(), stepsTimingFunction.stepPosition()));
    499     } else if (is<CSSSpringTimingFunctionValue>(value)) {
    500         auto& springTimingFunction = downcast<CSSSpringTimingFunctionValue>(value);
    501         animation.setTimingFunction(SpringTimingFunction::create(springTimingFunction.mass(), springTimingFunction.stiffness(), springTimingFunction.damping(), springTimingFunction.initialVelocity()));
    502     }
     461    else if (auto timingFunction = TimingFunction::createFromCSSValue(value))
     462        animation.setTimingFunction(WTFMove(timingFunction));
    503463}
    504464
Note: See TracChangeset for help on using the changeset viewer.