haikuwebkit/LayoutTests/transitions/frames-timing-function-expe...

7 lines
459 B
Plaintext
Raw Permalink Normal View History

Add support for the frames() timing function https://bugs.webkit.org/show_bug.cgi?id=181585 <rdar://problem/36463317> Reviewed by Dean. Source/WebCore: Implement the frames() timing function as specified in the CSS Timing Functions Level 1 specification, specifically https://www.w3.org/TR/css-timing-1/#frames-timing-functions. A frames timing function is a type of timing function that divides the input time into a specified number of intervals of equal length. Test: transitions/frames-timing-function.html * css/CSSComputedStyleDeclaration.cpp: (WebCore::createTimingFunctionValue): * css/CSSTimingFunctionValue.cpp: (WebCore::CSSFramesTimingFunctionValue::customCSSText const): (WebCore::CSSFramesTimingFunctionValue::equals const): * css/CSSTimingFunctionValue.h: * css/CSSToStyleMap.cpp: (WebCore::CSSToStyleMap::mapAnimationTimingFunction): * css/CSSValue.cpp: (WebCore::CSSValue::equals const): (WebCore::CSSValue::cssText const): (WebCore::CSSValue::destroy): * css/CSSValue.h: (WebCore::CSSValue::isFramesTimingFunctionValue const): * css/CSSValueKeywords.in: * css/parser/CSSPropertyParser.cpp: (WebCore::consumeSteps): (WebCore::consumeFrames): (WebCore::consumeAnimationTimingFunction): * platform/animation/TimingFunction.cpp: (WebCore::operator<<): (WebCore::TimingFunction::transformTime const): * platform/animation/TimingFunction.h: (WebCore::TimingFunction::isFramesTimingFunction const): * platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::animationHasFramesTimingFunction): (WebCore::GraphicsLayerCA::animationCanBeAccelerated const): Source/WebKit: Add the ability to endode and decode the frames() timing function. * Shared/WebCoreArgumentCoders.cpp: (IPC::ArgumentCoder<FramesTimingFunction>::encode): (IPC::ArgumentCoder<FramesTimingFunction>::decode): * Shared/WebCoreArgumentCoders.h: * WebProcess/WebPage/RemoteLayerTree/PlatformCAAnimationRemote.mm: (WebKit::PlatformCAAnimationRemote::Properties::encode const): (WebKit::PlatformCAAnimationRemote::Properties::decode): LayoutTests: Add a new test that checks that the frames() timing function applies as expected and expand an existing test to check that the frames() timing function is parsed correctly. We also mark progressions in imported WPT tests. * imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-output-expected.txt: * imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-syntax-expected.txt: * transitions/frames-timing-function-expected.txt: Added. * transitions/frames-timing-function.html: Added. * transitions/transitions-parsing-expected.txt: * transitions/transitions-parsing.html: Canonical link: https://commits.webkit.org/197453@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226886 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-01-12 13:26:50 +00:00
The box should move horizontally 200px over 1s, in 4 equal increments.
Remove the frames() timing function https://bugs.webkit.org/show_bug.cgi?id=190034 <rdar://problem/44827544> Reviewed by Dean Jackson. LayoutTests/imported/w3c: * web-platform-tests/css-timing-1/frames-timing-functions-output-expected.txt: * web-platform-tests/css-timing-1/frames-timing-functions-syntax-expected.txt: * web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-transformed-distance-expected.txt: * web-platform-tests/web-animations/interfaces/AnimationEffectTiming/easing-expected.txt: * web-platform-tests/web-animations/timing-model/time-transformations/transformed-progress-expected.txt: Source/WebCore: * css/CSSComputedStyleDeclaration.cpp: (WebCore::createTimingFunctionValue): * css/CSSTimingFunctionValue.cpp: (WebCore::CSSFramesTimingFunctionValue::customCSSText const): Deleted. (WebCore::CSSFramesTimingFunctionValue::equals const): Deleted. * css/CSSTimingFunctionValue.h: * css/CSSToStyleMap.cpp: (WebCore::CSSToStyleMap::mapAnimationTimingFunction): * css/CSSValue.cpp: (WebCore::CSSValue::equals const): (WebCore::CSSValue::cssText const): (WebCore::CSSValue::destroy): * css/CSSValue.h: (WebCore::CSSValue::isStepsTimingFunctionValue const): (WebCore::CSSValue::isFramesTimingFunctionValue const): Deleted. * css/CSSValueKeywords.in: * css/parser/CSSPropertyParser.cpp: (WebCore::consumeAnimationTimingFunction): (WebCore::consumeFrames): Deleted. * platform/animation/TimingFunction.cpp: (WebCore::operator<<): (WebCore::TimingFunction::transformTime const): (WebCore::TimingFunction::createFromCSSValue): * platform/animation/TimingFunction.h: (WebCore::TimingFunction::isStepsTimingFunction const): (WebCore::TimingFunction::isFramesTimingFunction const): Deleted. * platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::animationCanBeAccelerated const): (WebCore::animationHasFramesTimingFunction): Deleted. Source/WebKit: * Shared/WebCoreArgumentCoders.cpp: (IPC::ArgumentCoder<FramesTimingFunction>::encode): Deleted. (IPC::ArgumentCoder<FramesTimingFunction>::decode): Deleted. * Shared/WebCoreArgumentCoders.h: * WebProcess/WebPage/RemoteLayerTree/PlatformCAAnimationRemote.mm: (WebKit::PlatformCAAnimationRemote::Properties::encode const): (WebKit::PlatformCAAnimationRemote::Properties::decode): LayoutTests: * legacy-animation-engine/transitions/frames-timing-function-expected.txt: * legacy-animation-engine/transitions/transitions-parsing-expected.txt: * transitions/frames-timing-function-expected.txt: * transitions/transitions-parsing-expected.txt: Canonical link: https://commits.webkit.org/205379@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@236998 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-10-10 06:55:24 +00:00
FAIL - "-webkit-transform.4" property for "box" element at 0.25s expected: 50 but saw: matrix(1, 0, 0, 1, 81.71330261230469, 0)
FAIL - "-webkit-transform.4" property for "box" element at 0.5s expected: 100 but saw: matrix(1, 0, 0, 1, 160.4827880859375, 0)
FAIL - "-webkit-transform.4" property for "box" element at 0.75s expected: 150 but saw: matrix(1, 0, 0, 1, 192.13755798339844, 0)
Add support for the frames() timing function https://bugs.webkit.org/show_bug.cgi?id=181585 <rdar://problem/36463317> Reviewed by Dean. Source/WebCore: Implement the frames() timing function as specified in the CSS Timing Functions Level 1 specification, specifically https://www.w3.org/TR/css-timing-1/#frames-timing-functions. A frames timing function is a type of timing function that divides the input time into a specified number of intervals of equal length. Test: transitions/frames-timing-function.html * css/CSSComputedStyleDeclaration.cpp: (WebCore::createTimingFunctionValue): * css/CSSTimingFunctionValue.cpp: (WebCore::CSSFramesTimingFunctionValue::customCSSText const): (WebCore::CSSFramesTimingFunctionValue::equals const): * css/CSSTimingFunctionValue.h: * css/CSSToStyleMap.cpp: (WebCore::CSSToStyleMap::mapAnimationTimingFunction): * css/CSSValue.cpp: (WebCore::CSSValue::equals const): (WebCore::CSSValue::cssText const): (WebCore::CSSValue::destroy): * css/CSSValue.h: (WebCore::CSSValue::isFramesTimingFunctionValue const): * css/CSSValueKeywords.in: * css/parser/CSSPropertyParser.cpp: (WebCore::consumeSteps): (WebCore::consumeFrames): (WebCore::consumeAnimationTimingFunction): * platform/animation/TimingFunction.cpp: (WebCore::operator<<): (WebCore::TimingFunction::transformTime const): * platform/animation/TimingFunction.h: (WebCore::TimingFunction::isFramesTimingFunction const): * platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::animationHasFramesTimingFunction): (WebCore::GraphicsLayerCA::animationCanBeAccelerated const): Source/WebKit: Add the ability to endode and decode the frames() timing function. * Shared/WebCoreArgumentCoders.cpp: (IPC::ArgumentCoder<FramesTimingFunction>::encode): (IPC::ArgumentCoder<FramesTimingFunction>::decode): * Shared/WebCoreArgumentCoders.h: * WebProcess/WebPage/RemoteLayerTree/PlatformCAAnimationRemote.mm: (WebKit::PlatformCAAnimationRemote::Properties::encode const): (WebKit::PlatformCAAnimationRemote::Properties::decode): LayoutTests: Add a new test that checks that the frames() timing function applies as expected and expand an existing test to check that the frames() timing function is parsed correctly. We also mark progressions in imported WPT tests. * imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-output-expected.txt: * imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-syntax-expected.txt: * transitions/frames-timing-function-expected.txt: Added. * transitions/frames-timing-function.html: Added. * transitions/transitions-parsing-expected.txt: * transitions/transitions-parsing.html: Canonical link: https://commits.webkit.org/197453@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226886 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-01-12 13:26:50 +00:00