Changeset 284856 in webkit
- Timestamp:
- Oct 26, 2021, 12:06:27 AM (5 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 2 edited
-
ChangeLog (modified) (1 diff)
-
css/CSSToStyleMap.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r284853 r284856 1 2021-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 1 11 2021-10-25 Nikolaos Mouchtaris <nmouchtaris@apple.com> 2 12 -
trunk/Source/WebCore/css/CSSToStyleMap.cpp
r282143 r284856 457 457 void CSSToStyleMap::mapAnimationTimingFunction(Animation& animation, const CSSValue& value) 458 458 { 459 if (value.treatAsInitialValue(CSSPropertyAnimationTimingFunction)) {459 if (value.treatAsInitialValue(CSSPropertyAnimationTimingFunction)) 460 460 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)); 503 463 } 504 464
Note:
See TracChangeset
for help on using the changeset viewer.