-
alexis@webkit.org authored
Querying transition-timing-function value on the computed style does not return keywords when it should. https://bugs.webkit.org/show_bug.cgi?id=105442 Reviewed by Simon Fraser. Source/WebCore: http://www.w3.org/TR/css3-transitions/#transition-timing-function-property contains a set of predefined timing functions which under the hood are implemented using cubic-bezier but it's an implementation detail that should not be exposed. It seems to be more clear to return a CSS keyword rather than the cubic-bezier form when querying the value of the property on the computed style. In fact the spec even say that for example the initial value is "ease" and not cubic-bezier(0.25, 0.1, 0.25, 1.0). We could also imagine that in the future these predefined values could contain other values not represented by a cubic-bezier form. This behavior also align with the "linear" keyword which return "linear" rather than cubic-bezier(0.0, 0.0, 1.0, 1.0). Test: transitions/transitions-parsing.html has been updated to cover the new behavior as well as making sure that an explicitly set value of cubic-bezier(0.25, 0.1, 0.25, 1.0) does not return "ease" but the cubic-bezier() form. * css/CSSComputedStyleDeclaration.cpp: (WebCore::createAnimationValue): (WebCore): (WebCore::getTimingFunctionValue): * css/CSSToStyleMap.cpp: (WebCore::CSSToStyleMap::mapAnimationTimingFunction): * platform/animation/TimingFunction.h: (WebCore::CubicBezierTimingFunction::create): (CubicBezierTimingFunction): (WebCore::CubicBezierTimingFunction::operator==): (WebCore::CubicBezierTimingFunction::timingFunctionPreset): Store the preset value of the timing function if it is one when creating it so we can use it later from the computed style. (WebCore::CubicBezierTimingFunction::CubicBezierTimingFunction): Source/WebKit2: Update the code to pass the animations from one process to another as the constructor of TimingFunction changed to take an extra parameter holding the type of the cubic-bezier form. * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp: (CoreIPC::encodeTimingFunction): (CoreIPC::decodeTimingFunction): LayoutTests: Update the tests to match the correct behavior of returning a keyword rather than a cubic-bezier() form when using predefined values for the transition-timing-function property. * animations/animation-shorthand-name-order-expected.txt: * animations/animation-shorthand-name-order.html: * animations/animation-shorthand-removed.html: * animations/animation-shorthand.html: * animations/computed-style-expected.txt: * animations/computed-style.html: * fast/css/getComputedStyle/computed-style-expected.txt: * fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: * svg/css/getComputedStyle-basic-expected.txt: * transitions/inherit-other-props-expected.txt: * transitions/inherit-other-props.html: * transitions/transitions-parsing-expected.txt: * transitions/transitions-parsing.html: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138728 268f45cc-cd09-0410-ab3c-d52691b4dbfc
05500357