Diff
Modified: trunk/LayoutTests/ChangeLog (236997 => 236998)
--- trunk/LayoutTests/ChangeLog 2018-10-10 03:43:47 UTC (rev 236997)
+++ trunk/LayoutTests/ChangeLog 2018-10-10 06:55:24 UTC (rev 236998)
@@ -1,3 +1,16 @@
+2018-10-09 Antoine Quint <[email protected]>
+
+ Remove the frames() timing function
+ https://bugs.webkit.org/show_bug.cgi?id=190034
+ <rdar://problem/44827544>
+
+ Reviewed by Dean Jackson.
+
+ * 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:
+
2018-10-09 Devin Rousso <[email protected]>
Web Inspector: show redirect requests in Network and Timelines tabs
Modified: trunk/LayoutTests/imported/w3c/ChangeLog (236997 => 236998)
--- trunk/LayoutTests/imported/w3c/ChangeLog 2018-10-10 03:43:47 UTC (rev 236997)
+++ trunk/LayoutTests/imported/w3c/ChangeLog 2018-10-10 06:55:24 UTC (rev 236998)
@@ -1,3 +1,17 @@
+2018-10-09 Antoine Quint <[email protected]>
+
+ Remove the frames() timing function
+ https://bugs.webkit.org/show_bug.cgi?id=190034
+ <rdar://problem/44827544>
+
+ Reviewed by Dean Jackson.
+
+ * 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:
+
2018-10-09 Oriol Brufau <[email protected]>
Resolve inset properties to computed style when there is overconstraintment
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-output-expected.txt (236997 => 236998)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-output-expected.txt 2018-10-10 03:43:47 UTC (rev 236997)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-output-expected.txt 2018-10-10 06:55:24 UTC (rev 236998)
@@ -1,10 +1,10 @@
-PASS For an input progress of 0.0, the output of a frames timing function is the first frame
-PASS At a frame boundary, the output of a frames timing function is the next frame
-PASS For an input progress of 1.0, the output of a frames timing function is the final frame
-PASS The number of frames is correctly reflected in the frames timing function output
-PASS The number of frames is correctly reflected in the frames timing function output on CSS Transitions
-PASS frames easing with input progress greater than 1
-PASS frames easing with input progress greater than 1.5
-PASS frames easing with input progress less than 0
+FAIL For an input progress of 0.0, the output of a frames timing function is the first frame assert_equals: expected "0px" but got "auto"
+FAIL At a frame boundary, the output of a frames timing function is the next frame assert_equals: expected "0px" but got "auto"
+FAIL For an input progress of 1.0, the output of a frames timing function is the final frame assert_equals: expected "100px" but got "auto"
+FAIL The number of frames is correctly reflected in the frames timing function output assert_equals: expected "0px" but got "auto"
+FAIL The number of frames is correctly reflected in the frames timing function output on CSS Transitions assert_equals: expected "0px" but got "100px"
+FAIL frames easing with input progress greater than 1 Type error
+FAIL frames easing with input progress greater than 1.5 Type error
+FAIL frames easing with input progress less than 0 Type error
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-syntax-expected.txt (236997 => 236998)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-syntax-expected.txt 2018-10-10 03:43:47 UTC (rev 236997)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-syntax-expected.txt 2018-10-10 06:55:24 UTC (rev 236998)
@@ -1,4 +1,4 @@
PASS The number of frames must be a positive integer greater than 1, or we fallback to the previously-set easing
-PASS The serialization of frames is 'frames(n)', n is the number of frames
+FAIL The serialization of frames is 'frames(n)', n is the number of frames assert_equals: expected "frames(2)" but got "ease"
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-transformed-distance-expected.txt (236997 => 236998)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-transformed-distance-expected.txt 2018-10-10 03:43:47 UTC (rev 236997)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-transformed-distance-expected.txt 2018-10-10 06:55:24 UTC (rev 236998)
@@ -6,7 +6,7 @@
PASS A steps(1) function on a keyframe affects the resulting style
PASS A steps(1, end) function on a keyframe affects the resulting style
PASS A steps(2, end) function on a keyframe affects the resulting style
-PASS A frames function on a keyframe affects the resulting style
+FAIL A frames function on a keyframe affects the resulting style Type error
PASS A linear function on a keyframe affects the resulting style
FAIL A ease function on a keyframe affects the resulting style assert_approx_equals: The width should be approximately 109.47963055884654 at 1100ms expected 109.47963055884654 +/- 0.01 but got 109.46875
PASS A ease-in function on a keyframe affects the resulting style
@@ -21,7 +21,7 @@
PASS Linear-equivalent cubic-bezier keyframe easing applied to an effect with a steps(1) function does not alter the result
PASS Linear-equivalent cubic-bezier keyframe easing applied to an effect with a steps(1, end) function does not alter the result
PASS Linear-equivalent cubic-bezier keyframe easing applied to an effect with a steps(2, end) function does not alter the result
-PASS Linear-equivalent cubic-bezier keyframe easing applied to an effect with a frames function does not alter the result
+FAIL Linear-equivalent cubic-bezier keyframe easing applied to an effect with a frames function does not alter the result Type error
PASS Linear-equivalent cubic-bezier keyframe easing applied to an effect with a linear function does not alter the result
PASS Linear-equivalent cubic-bezier keyframe easing applied to an effect with a ease function does not alter the result
PASS Linear-equivalent cubic-bezier keyframe easing applied to an effect with a ease-in function does not alter the result
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/AnimationEffectTiming/easing-expected.txt (236997 => 236998)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/AnimationEffectTiming/easing-expected.txt 2018-10-10 03:43:47 UTC (rev 236997)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/AnimationEffectTiming/easing-expected.txt 2018-10-10 06:55:24 UTC (rev 236998)
@@ -7,7 +7,7 @@
PASS steps(1) function
PASS steps(1, end) function
PASS steps(2, end) function
-PASS frames function
+FAIL frames function Type error
PASS linear function
PASS ease function
PASS ease-in function
@@ -52,6 +52,6 @@
PASS Canonical easing 'cubic-bezier(0.1, 5, 0.23, 0)' is returned as set
PASS Canonical easing 'steps(3, start)' is returned as set
PASS Canonical easing 'steps(3)' is returned as set
-PASS Canonical easing 'frames(3)' is returned as set
+FAIL Canonical easing 'frames(3)' is returned as set Type error
PASS Allows the easing to be changed while the animation is in progress
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/timing-model/time-transformations/transformed-progress-expected.txt (236997 => 236998)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/timing-model/time-transformations/transformed-progress-expected.txt 2018-10-10 03:43:47 UTC (rev 236997)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/timing-model/time-transformations/transformed-progress-expected.txt 2018-10-10 06:55:24 UTC (rev 236998)
@@ -6,7 +6,7 @@
PASS Transformed progress for steps(1) function
PASS Transformed progress for steps(1, end) function
PASS Transformed progress for steps(2, end) function
-PASS Transformed progress for frames function
+FAIL Transformed progress for frames function Type error
PASS Transformed progress for linear function
PASS Transformed progress for ease function
PASS Transformed progress for ease-in function
@@ -25,6 +25,6 @@
PASS Test bounds point of step-end easing
PASS Test bounds point of step-end easing with iterationStart and delay
PASS Test bounds point of step-end easing with iterationStart not at a transition point
-PASS Test bounds point of frames easing
-PASS Test bounds point of frames easing with iterationStart and delay
+FAIL Test bounds point of frames easing Type error
+FAIL Test bounds point of frames easing with iterationStart and delay Type error
Modified: trunk/LayoutTests/legacy-animation-engine/transitions/frames-timing-function-expected.txt (236997 => 236998)
--- trunk/LayoutTests/legacy-animation-engine/transitions/frames-timing-function-expected.txt 2018-10-10 03:43:47 UTC (rev 236997)
+++ trunk/LayoutTests/legacy-animation-engine/transitions/frames-timing-function-expected.txt 2018-10-10 06:55:24 UTC (rev 236998)
@@ -1,6 +1,6 @@
The box should move horizontally 200px over 1s, in 4 equal increments.
-PASS - "-webkit-transform.4" property for "box" element at 0.25s saw something close to: 50
-PASS - "-webkit-transform.4" property for "box" element at 0.5s saw something close to: 100
-PASS - "-webkit-transform.4" property for "box" element at 0.75s saw something close to: 150
+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)
Modified: trunk/LayoutTests/legacy-animation-engine/transitions/transitions-parsing-expected.txt (236997 => 236998)
--- trunk/LayoutTests/legacy-animation-engine/transitions/transitions-parsing-expected.txt 2018-10-10 03:43:47 UTC (rev 236997)
+++ trunk/LayoutTests/legacy-animation-engine/transitions/transitions-parsing-expected.txt 2018-10-10 06:55:24 UTC (rev 236998)
@@ -220,10 +220,10 @@
PASS computedStyle.transitionTimingFunction is 'steps(5, start)'
PASS style.webkitTransitionTimingFunction is 'steps(5, start)'
PASS computedStyle.webkitTransitionTimingFunction is 'steps(5, start)'
-PASS style.transitionTimingFunction is 'frames(2)'
-PASS computedStyle.transitionTimingFunction is 'frames(2)'
-PASS style.webkitTransitionTimingFunction is 'frames(2)'
-PASS computedStyle.webkitTransitionTimingFunction is 'frames(2)'
+FAIL style.transitionTimingFunction should be frames(2). Was steps(5, start).
+FAIL computedStyle.transitionTimingFunction should be frames(2). Was steps(5, start).
+FAIL style.webkitTransitionTimingFunction should be frames(2). Was steps(5, start).
+FAIL computedStyle.webkitTransitionTimingFunction should be frames(2). Was steps(5, start).
PASS style.transitionTimingFunction is 'ease-in-out, ease-in'
PASS computedStyle.transitionTimingFunction is 'ease-in-out, ease-in'
PASS style.webkitTransitionTimingFunction is 'ease-in-out, ease-in'
Modified: trunk/LayoutTests/transitions/frames-timing-function-expected.txt (236997 => 236998)
--- trunk/LayoutTests/transitions/frames-timing-function-expected.txt 2018-10-10 03:43:47 UTC (rev 236997)
+++ trunk/LayoutTests/transitions/frames-timing-function-expected.txt 2018-10-10 06:55:24 UTC (rev 236998)
@@ -1,6 +1,6 @@
The box should move horizontally 200px over 1s, in 4 equal increments.
-PASS - "-webkit-transform.4" property for "box" element at 0.25s saw something close to: 50
-PASS - "-webkit-transform.4" property for "box" element at 0.5s saw something close to: 100
-PASS - "-webkit-transform.4" property for "box" element at 0.75s saw something close to: 150
+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)
Modified: trunk/LayoutTests/transitions/transitions-parsing-expected.txt (236997 => 236998)
--- trunk/LayoutTests/transitions/transitions-parsing-expected.txt 2018-10-10 03:43:47 UTC (rev 236997)
+++ trunk/LayoutTests/transitions/transitions-parsing-expected.txt 2018-10-10 06:55:24 UTC (rev 236998)
@@ -220,10 +220,10 @@
PASS computedStyle.transitionTimingFunction is 'steps(5, start)'
PASS style.webkitTransitionTimingFunction is 'steps(5, start)'
PASS computedStyle.webkitTransitionTimingFunction is 'steps(5, start)'
-PASS style.transitionTimingFunction is 'frames(2)'
-PASS computedStyle.transitionTimingFunction is 'frames(2)'
-PASS style.webkitTransitionTimingFunction is 'frames(2)'
-PASS computedStyle.webkitTransitionTimingFunction is 'frames(2)'
+FAIL style.transitionTimingFunction should be frames(2). Was steps(5, start).
+FAIL computedStyle.transitionTimingFunction should be frames(2). Was steps(5, start).
+FAIL style.webkitTransitionTimingFunction should be frames(2). Was steps(5, start).
+FAIL computedStyle.webkitTransitionTimingFunction should be frames(2). Was steps(5, start).
PASS style.transitionTimingFunction is 'ease-in-out, ease-in'
PASS computedStyle.transitionTimingFunction is 'ease-in-out, ease-in'
PASS style.webkitTransitionTimingFunction is 'ease-in-out, ease-in'
Modified: trunk/Source/WebCore/ChangeLog (236997 => 236998)
--- trunk/Source/WebCore/ChangeLog 2018-10-10 03:43:47 UTC (rev 236997)
+++ trunk/Source/WebCore/ChangeLog 2018-10-10 06:55:24 UTC (rev 236998)
@@ -1,3 +1,41 @@
+2018-10-09 Antoine Quint <[email protected]>
+
+ Remove the frames() timing function
+ https://bugs.webkit.org/show_bug.cgi?id=190034
+ <rdar://problem/44827544>
+
+ Reviewed by Dean Jackson.
+
+ * 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.
+
2018-10-09 Devin Rousso <[email protected]>
Web Inspector: show redirect requests in Network and Timelines tabs
Modified: trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp (236997 => 236998)
--- trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp 2018-10-10 03:43:47 UTC (rev 236997)
+++ trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp 2018-10-10 06:55:24 UTC (rev 236998)
@@ -1592,10 +1592,6 @@
auto& function = downcast<StepsTimingFunction>(timingFunction);
return CSSStepsTimingFunctionValue::create(function.numberOfSteps(), function.stepAtStart());
}
- case TimingFunction::FramesFunction: {
- auto& function = downcast<FramesTimingFunction>(timingFunction);
- return CSSFramesTimingFunctionValue::create(function.numberOfFrames());
- }
case TimingFunction::SpringFunction: {
auto& function = downcast<SpringTimingFunction>(timingFunction);
return CSSSpringTimingFunctionValue::create(function.mass(), function.stiffness(), function.damping(), function.initialVelocity());
Modified: trunk/Source/WebCore/css/CSSTimingFunctionValue.cpp (236997 => 236998)
--- trunk/Source/WebCore/css/CSSTimingFunctionValue.cpp 2018-10-10 03:43:47 UTC (rev 236997)
+++ trunk/Source/WebCore/css/CSSTimingFunctionValue.cpp 2018-10-10 06:55:24 UTC (rev 236998)
@@ -67,20 +67,6 @@
return m_steps == other.m_steps && m_stepAtStart == other.m_stepAtStart;
}
-String CSSFramesTimingFunctionValue::customCSSText() const
-{
- StringBuilder builder;
- builder.appendLiteral("frames(");
- builder.appendNumber(m_frames);
- builder.appendLiteral(")");
- return builder.toString();
-}
-
-bool CSSFramesTimingFunctionValue::equals(const CSSFramesTimingFunctionValue& other) const
-{
- return m_frames == other.m_frames;
-}
-
String CSSSpringTimingFunctionValue::customCSSText() const
{
StringBuilder builder;
Modified: trunk/Source/WebCore/css/CSSTimingFunctionValue.h (236997 => 236998)
--- trunk/Source/WebCore/css/CSSTimingFunctionValue.h 2018-10-10 03:43:47 UTC (rev 236997)
+++ trunk/Source/WebCore/css/CSSTimingFunctionValue.h 2018-10-10 06:55:24 UTC (rev 236998)
@@ -87,29 +87,6 @@
bool m_stepAtStart;
};
-class CSSFramesTimingFunctionValue final : public CSSValue {
-public:
- static Ref<CSSFramesTimingFunctionValue> create(unsigned frames)
- {
- return adoptRef(*new CSSFramesTimingFunctionValue(frames));
- }
-
- unsigned numberOfFrames() const { return m_frames; }
-
- String customCSSText() const;
-
- bool equals(const CSSFramesTimingFunctionValue&) const;
-
-private:
- CSSFramesTimingFunctionValue(unsigned frames)
- : CSSValue(FramesTimingFunctionClass)
- , m_frames(frames)
- {
- }
-
- unsigned m_frames;
-};
-
class CSSSpringTimingFunctionValue final : public CSSValue {
public:
static Ref<CSSSpringTimingFunctionValue> create(double mass, double stiffness, double damping, double initialVelocity)
@@ -146,5 +123,4 @@
SPECIALIZE_TYPE_TRAITS_CSS_VALUE(CSSCubicBezierTimingFunctionValue, isCubicBezierTimingFunctionValue())
SPECIALIZE_TYPE_TRAITS_CSS_VALUE(CSSStepsTimingFunctionValue, isStepsTimingFunctionValue())
-SPECIALIZE_TYPE_TRAITS_CSS_VALUE(CSSFramesTimingFunctionValue, isFramesTimingFunctionValue())
SPECIALIZE_TYPE_TRAITS_CSS_VALUE(CSSSpringTimingFunctionValue, isSpringTimingFunctionValue())
Modified: trunk/Source/WebCore/css/CSSToStyleMap.cpp (236997 => 236998)
--- trunk/Source/WebCore/css/CSSToStyleMap.cpp 2018-10-10 03:43:47 UTC (rev 236997)
+++ trunk/Source/WebCore/css/CSSToStyleMap.cpp 2018-10-10 06:55:24 UTC (rev 236998)
@@ -500,9 +500,6 @@
} else if (is<CSSStepsTimingFunctionValue>(value)) {
auto& stepsTimingFunction = downcast<CSSStepsTimingFunctionValue>(value);
animation.setTimingFunction(StepsTimingFunction::create(stepsTimingFunction.numberOfSteps(), stepsTimingFunction.stepAtStart()));
- } else if (is<CSSFramesTimingFunctionValue>(value)) {
- auto& framesTimingFunction = downcast<CSSFramesTimingFunctionValue>(value);
- animation.setTimingFunction(FramesTimingFunction::create(framesTimingFunction.numberOfFrames()));
} else if (is<CSSSpringTimingFunctionValue>(value)) {
auto& springTimingFunction = downcast<CSSSpringTimingFunctionValue>(value);
animation.setTimingFunction(SpringTimingFunction::create(springTimingFunction.mass(), springTimingFunction.stiffness(), springTimingFunction.damping(), springTimingFunction.initialVelocity()));
Modified: trunk/Source/WebCore/css/CSSValue.cpp (236997 => 236998)
--- trunk/Source/WebCore/css/CSSValue.cpp 2018-10-10 03:43:47 UTC (rev 236997)
+++ trunk/Source/WebCore/css/CSSValue.cpp 2018-10-10 06:55:24 UTC (rev 236998)
@@ -197,8 +197,6 @@
return compareCSSValues<CSSCubicBezierTimingFunctionValue>(*this, other);
case StepsTimingFunctionClass:
return compareCSSValues<CSSStepsTimingFunctionValue>(*this, other);
- case FramesTimingFunctionClass:
- return compareCSSValues<CSSFramesTimingFunctionValue>(*this, other);
case SpringTimingFunctionClass:
return compareCSSValues<CSSSpringTimingFunctionValue>(*this, other);
case UnicodeRangeClass:
@@ -295,8 +293,6 @@
return downcast<CSSCubicBezierTimingFunctionValue>(*this).customCSSText();
case StepsTimingFunctionClass:
return downcast<CSSStepsTimingFunctionValue>(*this).customCSSText();
- case FramesTimingFunctionClass:
- return downcast<CSSFramesTimingFunctionValue>(*this).customCSSText();
case SpringTimingFunctionClass:
return downcast<CSSSpringTimingFunctionValue>(*this).customCSSText();
case UnicodeRangeClass:
@@ -415,9 +411,6 @@
case StepsTimingFunctionClass:
delete downcast<CSSStepsTimingFunctionValue>(this);
return;
- case FramesTimingFunctionClass:
- delete downcast<CSSFramesTimingFunctionValue>(this);
- return;
case SpringTimingFunctionClass:
delete downcast<CSSSpringTimingFunctionValue>(this);
return;
Modified: trunk/Source/WebCore/css/CSSValue.h (236997 => 236998)
--- trunk/Source/WebCore/css/CSSValue.h 2018-10-10 03:43:47 UTC (rev 236997)
+++ trunk/Source/WebCore/css/CSSValue.h 2018-10-10 06:55:24 UTC (rev 236998)
@@ -102,7 +102,6 @@
bool isShadowValue() const { return m_classType == ShadowClass; }
bool isCubicBezierTimingFunctionValue() const { return m_classType == CubicBezierTimingFunctionClass; }
bool isStepsTimingFunctionValue() const { return m_classType == StepsTimingFunctionClass; }
- bool isFramesTimingFunctionValue() const { return m_classType == FramesTimingFunctionClass; }
bool isSpringTimingFunctionValue() const { return m_classType == SpringTimingFunctionClass; }
bool isLineBoxContainValue() const { return m_classType == LineBoxContainClass; }
bool isCalcValue() const {return m_classType == CalculationClass; }
@@ -153,7 +152,6 @@
// Timing function classes.
CubicBezierTimingFunctionClass,
StepsTimingFunctionClass,
- FramesTimingFunctionClass,
SpringTimingFunctionClass,
// Other class types.
Modified: trunk/Source/WebCore/css/CSSValueKeywords.in (236997 => 236998)
--- trunk/Source/WebCore/css/CSSValueKeywords.in 2018-10-10 03:43:47 UTC (rev 236997)
+++ trunk/Source/WebCore/css/CSSValueKeywords.in 2018-10-10 06:55:24 UTC (rev 236998)
@@ -1237,7 +1237,6 @@
cubic-bezier
spring
steps
-frames
apple-invert-lightness
// colors
Modified: trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp (236997 => 236998)
--- trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp 2018-10-10 03:43:47 UTC (rev 236997)
+++ trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp 2018-10-10 06:55:24 UTC (rev 236998)
@@ -1475,27 +1475,6 @@
return CSSStepsTimingFunctionValue::create(steps->intValue(), stepAtStart);
}
-static RefPtr<CSSValue> consumeFrames(CSSParserTokenRange& range)
-{
- ASSERT(range.peek().functionId() == CSSValueFrames);
- CSSParserTokenRange rangeCopy = range;
- CSSParserTokenRange args = consumeFunction(rangeCopy);
-
- RefPtr<CSSPrimitiveValue> frames = consumePositiveInteger(args);
- if (!frames)
- return nullptr;
-
- auto numberOfFrames = frames->intValue();
- if (numberOfFrames < 2)
- return nullptr;
-
- if (!args.atEnd())
- return nullptr;
-
- range = rangeCopy;
- return CSSFramesTimingFunctionValue::create(numberOfFrames);
-}
-
static RefPtr<CSSValue> consumeCubicBezier(CSSParserTokenRange& range)
{
ASSERT(range.peek().functionId() == CSSValueCubicBezier);
@@ -1566,8 +1545,6 @@
return consumeCubicBezier(range);
if (function == CSSValueSteps)
return consumeSteps(range);
- if (function == CSSValueFrames)
- return consumeFrames(range);
if (context.springTimingFunctionEnabled && function == CSSValueSpring)
return consumeSpringFunction(range);
return nullptr;
Modified: trunk/Source/WebCore/platform/animation/TimingFunction.cpp (236997 => 236998)
--- trunk/Source/WebCore/platform/animation/TimingFunction.cpp 2018-10-10 03:43:47 UTC (rev 236997)
+++ trunk/Source/WebCore/platform/animation/TimingFunction.cpp 2018-10-10 06:55:24 UTC (rev 236998)
@@ -50,11 +50,6 @@
ts << "steps(" << function.numberOfSteps() << ", " << (function.stepAtStart() ? "start" : "end") << ")";
break;
}
- case TimingFunction::FramesFunction: {
- auto& function = downcast<FramesTimingFunction>(timingFunction);
- ts << "frames(" << function.numberOfFrames() << ")";
- break;
- }
case TimingFunction::SpringFunction: {
auto& function = downcast<SpringTimingFunction>(timingFunction);
ts << "spring(" << function.mass() << " " << function.stiffness() << " " << function.damping() << " " << function.initialVelocity() << ")";
@@ -100,16 +95,6 @@
// 6. The output progress value is current step / steps.
return currentStep / steps;
}
- case TimingFunction::FramesFunction: {
- // https://drafts.csswg.org/css-timing/#frames-timing-functions
- auto& function = downcast<FramesTimingFunction>(*this);
- auto numberOfFrames = function.numberOfFrames();
- ASSERT(numberOfFrames > 1);
- auto outputTime = std::floor(inputTime * numberOfFrames) / (numberOfFrames - 1);
- if (inputTime <= 1 && outputTime > 1)
- return 1;
- return outputTime;
- }
case TimingFunction::SpringFunction: {
auto& function = downcast<SpringTimingFunction>(*this);
return SpringSolver(function.mass(), function.stiffness(), function.damping(), function.initialVelocity()).solve(inputTime * duration);
@@ -170,10 +155,6 @@
auto& stepsTimingFunction = downcast<CSSStepsTimingFunctionValue>(value);
return StepsTimingFunction::create(stepsTimingFunction.numberOfSteps(), stepsTimingFunction.stepAtStart());
}
- if (is<CSSFramesTimingFunctionValue>(value)) {
- auto& framesTimingFunction = downcast<CSSFramesTimingFunctionValue>(value);
- return FramesTimingFunction::create(framesTimingFunction.numberOfFrames());
- }
if (is<CSSSpringTimingFunctionValue>(value)) {
auto& springTimingFunction = downcast<CSSSpringTimingFunctionValue>(value);
return SpringTimingFunction::create(springTimingFunction.mass(), springTimingFunction.stiffness(), springTimingFunction.damping(), springTimingFunction.initialVelocity());
Modified: trunk/Source/WebCore/platform/animation/TimingFunction.h (236997 => 236998)
--- trunk/Source/WebCore/platform/animation/TimingFunction.h 2018-10-10 03:43:47 UTC (rev 236997)
+++ trunk/Source/WebCore/platform/animation/TimingFunction.h 2018-10-10 06:55:24 UTC (rev 236998)
@@ -41,13 +41,12 @@
virtual ~TimingFunction() = default;
- enum TimingFunctionType { LinearFunction, CubicBezierFunction, StepsFunction, FramesFunction, SpringFunction };
+ enum TimingFunctionType { LinearFunction, CubicBezierFunction, StepsFunction, SpringFunction };
TimingFunctionType type() const { return m_type; }
bool isLinearTimingFunction() const { return m_type == LinearFunction; }
bool isCubicBezierTimingFunction() const { return m_type == CubicBezierFunction; }
bool isStepsTimingFunction() const { return m_type == StepsFunction; }
- bool isFramesTimingFunction() const { return m_type == FramesFunction; }
bool isSpringTimingFunction() const { return m_type == SpringFunction; }
virtual bool operator==(const TimingFunction&) const = 0;
@@ -233,43 +232,6 @@
bool m_stepAtStart;
};
-class FramesTimingFunction final : public TimingFunction {
-public:
- static Ref<FramesTimingFunction> create(unsigned frames)
- {
- return adoptRef(*new FramesTimingFunction(frames));
- }
- static Ref<FramesTimingFunction> create()
- {
- return adoptRef(*new FramesTimingFunction(2));
- }
-
- bool operator==(const TimingFunction& other) const final
- {
- if (!is<FramesTimingFunction>(other))
- return false;
- auto& otherFrames = downcast<FramesTimingFunction>(other);
- return m_frames == otherFrames.m_frames;
- }
-
- unsigned numberOfFrames() const { return m_frames; }
- void setNumberOfFrames(unsigned frames) { m_frames = frames; }
-
-private:
- FramesTimingFunction(unsigned frames)
- : TimingFunction(FramesFunction)
- , m_frames(frames)
- {
- }
-
- Ref<TimingFunction> clone() const final
- {
- return adoptRef(*new FramesTimingFunction(m_frames));
- }
-
- unsigned m_frames;
-};
-
class SpringTimingFunction final : public TimingFunction {
public:
static Ref<SpringTimingFunction> create(double mass, double stiffness, double damping, double initialVelocity)
@@ -338,5 +300,4 @@
SPECIALIZE_TYPE_TRAITS_TIMINGFUNCTION(WebCore::LinearTimingFunction, isLinearTimingFunction())
SPECIALIZE_TYPE_TRAITS_TIMINGFUNCTION(WebCore::CubicBezierTimingFunction, isCubicBezierTimingFunction())
SPECIALIZE_TYPE_TRAITS_TIMINGFUNCTION(WebCore::StepsTimingFunction, isStepsTimingFunction())
-SPECIALIZE_TYPE_TRAITS_TIMINGFUNCTION(WebCore::FramesTimingFunction, isFramesTimingFunction())
SPECIALIZE_TYPE_TRAITS_TIMINGFUNCTION(WebCore::SpringTimingFunction, isSpringTimingFunction())
Modified: trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp (236997 => 236998)
--- trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp 2018-10-10 03:43:47 UTC (rev 236997)
+++ trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp 2018-10-10 06:55:24 UTC (rev 236998)
@@ -286,21 +286,6 @@
return false;
}
-static bool animationHasFramesTimingFunction(const KeyframeValueList& valueList, const Animation* anim)
-{
- if (is<FramesTimingFunction>(anim->timingFunction()))
- return true;
-
- for (unsigned i = 0; i < valueList.size(); ++i) {
- if (const TimingFunction* timingFunction = valueList.at(i).timingFunction()) {
- if (is<FramesTimingFunction>(timingFunction))
- return true;
- }
- }
-
- return false;
-}
-
static inline bool supportsAcceleratedFilterAnimations()
{
#if PLATFORM(COCOA)
@@ -1006,9 +991,6 @@
if (animationHasStepsTimingFunction(valueList, anim))
return false;
- if (animationHasFramesTimingFunction(valueList, anim))
- return false;
-
return true;
}
Modified: trunk/Source/WebKit/ChangeLog (236997 => 236998)
--- trunk/Source/WebKit/ChangeLog 2018-10-10 03:43:47 UTC (rev 236997)
+++ trunk/Source/WebKit/ChangeLog 2018-10-10 06:55:24 UTC (rev 236998)
@@ -1,3 +1,19 @@
+2018-10-09 Antoine Quint <[email protected]>
+
+ Remove the frames() timing function
+ https://bugs.webkit.org/show_bug.cgi?id=190034
+ <rdar://problem/44827544>
+
+ Reviewed by Dean Jackson.
+
+ * 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):
+
2018-10-09 Youenn Fablet <[email protected]>
ASSERTION FAILED: m_cachesLocks.contains(sessionID) in WebKit::CacheStorageEngineConnection::dereference(PAL::SessionID, unsigned long long)
Modified: trunk/Source/WebKit/Shared/WebCoreArgumentCoders.cpp (236997 => 236998)
--- trunk/Source/WebKit/Shared/WebCoreArgumentCoders.cpp 2018-10-10 03:43:47 UTC (rev 236997)
+++ trunk/Source/WebKit/Shared/WebCoreArgumentCoders.cpp 2018-10-10 06:55:24 UTC (rev 236998)
@@ -505,25 +505,6 @@
return true;
}
-void ArgumentCoder<FramesTimingFunction>::encode(Encoder& encoder, const FramesTimingFunction& timingFunction)
-{
- encoder.encodeEnum(timingFunction.type());
-
- encoder << timingFunction.numberOfFrames();
-}
-
-bool ArgumentCoder<FramesTimingFunction>::decode(Decoder& decoder, FramesTimingFunction& timingFunction)
-{
- // Type is decoded by the caller.
- int numFrames;
- if (!decoder.decode(numFrames))
- return false;
-
- timingFunction.setNumberOfFrames(numFrames);
-
- return true;
-}
-
void ArgumentCoder<SpringTimingFunction>::encode(Encoder& encoder, const SpringTimingFunction& timingFunction)
{
encoder.encodeEnum(timingFunction.type());
Modified: trunk/Source/WebKit/Shared/WebCoreArgumentCoders.h (236997 => 236998)
--- trunk/Source/WebKit/Shared/WebCoreArgumentCoders.h 2018-10-10 03:43:47 UTC (rev 236997)
+++ trunk/Source/WebKit/Shared/WebCoreArgumentCoders.h 2018-10-10 06:55:24 UTC (rev 236998)
@@ -88,7 +88,6 @@
class SecurityOrigin;
class SpringTimingFunction;
class StepsTimingFunction;
-class FramesTimingFunction;
class StickyPositionViewportConstraints;
class TextCheckingRequestData;
class TransformationMatrix;
@@ -217,11 +216,6 @@
static bool decode(Decoder&, WebCore::StepsTimingFunction&);
};
-template<> struct ArgumentCoder<WebCore::FramesTimingFunction> {
- static void encode(Encoder&, const WebCore::FramesTimingFunction&);
- static bool decode(Decoder&, WebCore::FramesTimingFunction&);
-};
-
template<> struct ArgumentCoder<WebCore::SpringTimingFunction> {
static void encode(Encoder&, const WebCore::SpringTimingFunction&);
static bool decode(Decoder&, WebCore::SpringTimingFunction&);
Modified: trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCAAnimationRemote.mm (236997 => 236998)
--- trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCAAnimationRemote.mm 2018-10-10 03:43:47 UTC (rev 236997)
+++ trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCAAnimationRemote.mm 2018-10-10 06:55:24 UTC (rev 236998)
@@ -192,10 +192,6 @@
encoder << *static_cast<StepsTimingFunction*>(timingFunction.get());
break;
- case TimingFunction::FramesFunction:
- encoder << *static_cast<FramesTimingFunction*>(timingFunction.get());
- break;
-
case TimingFunction::SpringFunction:
encoder << *static_cast<SpringTimingFunction*>(timingFunction.get());
break;
@@ -287,12 +283,6 @@
return std::nullopt;
break;
- case TimingFunction::FramesFunction:
- timingFunction = FramesTimingFunction::create();
- if (!decoder.decode(*static_cast<FramesTimingFunction*>(timingFunction.get())))
- return std::nullopt;
- break;
-
case TimingFunction::SpringFunction:
timingFunction = SpringTimingFunction::create();
if (!decoder.decode(*static_cast<SpringTimingFunction*>(timingFunction.get())))