Diff
Modified: trunk/LayoutTests/ChangeLog (251657 => 251658)
--- trunk/LayoutTests/ChangeLog 2019-10-28 16:59:08 UTC (rev 251657)
+++ trunk/LayoutTests/ChangeLog 2019-10-28 17:01:55 UTC (rev 251658)
@@ -1,3 +1,25 @@
+2019-10-28 Antoine Quint <grao...@apple.com>
+
+ CSS Transitions and CSS Animations properties should treat unitless 0 as an invalid value for times
+ https://bugs.webkit.org/show_bug.cgi?id=203484
+
+ Reviewed by Antti Koivisto.
+
+ Use 0s instead of 0 in places where unitless times were used but shouldn't have been.
+
+ * animations/fill-mode-forwards-zero-duration.html:
+ * compositing/animation/keyframe-order.html:
+ * css1/units/zero-duration-without-units.html:
+ * legacy-animation-engine/animations/fill-mode-forwards-zero-duration.html:
+ * legacy-animation-engine/compositing/animation/keyframe-order.html:
+ * legacy-animation-engine/css1/units/zero-duration-without-units.html:
+ * legacy-animation-engine/transitions/zero-duration-in-list.html:
+ * legacy-animation-engine/transitions/zero-duration-without-units.html:
+ * transitions/zero-duration-in-list.html:
+ * transitions/zero-duration-without-units.html:
+ * webanimations/css-animations-expected.txt:
+ * webanimations/css-animations.html:
+
2019-10-28 Carlos Alberto Lopez Perez <clo...@igalia.com>
[GTK][WPE] Enable CSS typed OM
Modified: trunk/LayoutTests/animations/fill-mode-forwards-zero-duration.html (251657 => 251658)
--- trunk/LayoutTests/animations/fill-mode-forwards-zero-duration.html 2019-10-28 16:59:08 UTC (rev 251657)
+++ trunk/LayoutTests/animations/fill-mode-forwards-zero-duration.html 2019-10-28 17:01:55 UTC (rev 251658)
@@ -9,7 +9,7 @@
height: 100px;
width: 100px;
background-color: blue;
- animation: anim1 0 2s linear forwards;
+ animation: anim1 0s 2s linear forwards;
}
@keyframes anim1 {
from { left: 400px; }
Modified: trunk/LayoutTests/compositing/animation/keyframe-order.html (251657 => 251658)
--- trunk/LayoutTests/compositing/animation/keyframe-order.html 2019-10-28 16:59:08 UTC (rev 251657)
+++ trunk/LayoutTests/compositing/animation/keyframe-order.html 2019-10-28 17:01:55 UTC (rev 251658)
@@ -21,7 +21,7 @@
}
.spinner.animating {
- -webkit-animation: imageSpin 999999999s linear 0 infinite
+ -webkit-animation: imageSpin 999999999s linear 0s infinite
}
.inner {
Modified: trunk/LayoutTests/css1/units/zero-duration-without-units.html (251657 => 251658)
--- trunk/LayoutTests/css1/units/zero-duration-without-units.html 2019-10-28 16:59:08 UTC (rev 251657)
+++ trunk/LayoutTests/css1/units/zero-duration-without-units.html 2019-10-28 17:01:55 UTC (rev 251658)
@@ -12,7 +12,7 @@
background-color: blue;
-webkit-transition-property: top, left;
-webkit-transition-duration: 1s;
- -webkit-transition-duration: 0;
+ -webkit-transition-duration: 0s;
-webkit-transition-timing-function: linear;
}
</style>
Modified: trunk/LayoutTests/imported/w3c/ChangeLog (251657 => 251658)
--- trunk/LayoutTests/imported/w3c/ChangeLog 2019-10-28 16:59:08 UTC (rev 251657)
+++ trunk/LayoutTests/imported/w3c/ChangeLog 2019-10-28 17:01:55 UTC (rev 251658)
@@ -1,3 +1,16 @@
+2019-10-28 Antoine Quint <grao...@apple.com>
+
+ CSS Transitions and CSS Animations properties should treat unitless 0 as an invalid value for times
+ https://bugs.webkit.org/show_bug.cgi?id=203484
+
+ Reviewed by Antti Koivisto.
+
+ Mark WPT progressions.
+
+ * web-platform-tests/css/css-animations/parsing/animation-delay-invalid-expected.txt:
+ * web-platform-tests/css/css-animations/parsing/animation-duration-invalid-expected.txt:
+ * web-platform-tests/css/css-transitions/parsing/transition-delay-invalid-expected.txt:
+
2019-10-27 Antoine Quint <grao...@apple.com>
[Web Animations] The easing property for a CSSTransition effect is always "linear"
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/parsing/animation-delay-invalid-expected.txt (251657 => 251658)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/parsing/animation-delay-invalid-expected.txt 2019-10-28 16:59:08 UTC (rev 251657)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/parsing/animation-delay-invalid-expected.txt 2019-10-28 17:01:55 UTC (rev 251658)
@@ -1,6 +1,6 @@
PASS e.style['animation-delay'] = "infinite" should not set the property value
-FAIL e.style['animation-delay'] = "0" should not set the property value assert_equals: expected "" but got "0ms"
+PASS e.style['animation-delay'] = "0" should not set the property value
PASS e.style['animation-delay'] = "1s 2s" should not set the property value
PASS e.style['animation-delay'] = "initial, -3s" should not set the property value
PASS e.style['animation-delay'] = "-3s, initial" should not set the property value
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/parsing/animation-duration-invalid-expected.txt (251657 => 251658)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/parsing/animation-duration-invalid-expected.txt 2019-10-28 16:59:08 UTC (rev 251657)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-animations/parsing/animation-duration-invalid-expected.txt 2019-10-28 17:01:55 UTC (rev 251658)
@@ -1,6 +1,6 @@
PASS e.style['animation-duration'] = "-3s" should not set the property value
-FAIL e.style['animation-duration'] = "0" should not set the property value assert_equals: expected "" but got "0ms"
+PASS e.style['animation-duration'] = "0" should not set the property value
PASS e.style['animation-duration'] = "infinite" should not set the property value
PASS e.style['animation-duration'] = "1s 2s" should not set the property value
PASS e.style['animation-duration'] = "initial, 1s" should not set the property value
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/parsing/transition-delay-invalid-expected.txt (251657 => 251658)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/parsing/transition-delay-invalid-expected.txt 2019-10-28 16:59:08 UTC (rev 251657)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/parsing/transition-delay-invalid-expected.txt 2019-10-28 17:01:55 UTC (rev 251658)
@@ -1,6 +1,6 @@
PASS e.style['transition-delay'] = "infinite" should not set the property value
-FAIL e.style['transition-delay'] = "0" should not set the property value assert_equals: expected "" but got "0ms"
+PASS e.style['transition-delay'] = "0" should not set the property value
PASS e.style['transition-delay'] = "500ms 0.5s" should not set the property value
PASS e.style['transition-delay'] = "-3s, initial" should not set the property value
PASS e.style['transition-delay'] = "initial, -3s" should not set the property value
Modified: trunk/LayoutTests/legacy-animation-engine/animations/fill-mode-forwards-zero-duration.html (251657 => 251658)
--- trunk/LayoutTests/legacy-animation-engine/animations/fill-mode-forwards-zero-duration.html 2019-10-28 16:59:08 UTC (rev 251657)
+++ trunk/LayoutTests/legacy-animation-engine/animations/fill-mode-forwards-zero-duration.html 2019-10-28 17:01:55 UTC (rev 251658)
@@ -9,7 +9,7 @@
height: 100px;
width: 100px;
background-color: blue;
- animation: anim1 0 2s linear forwards;
+ animation: anim1 0s 2s linear forwards;
}
@keyframes anim1 {
from { left: 400px; }
Modified: trunk/LayoutTests/legacy-animation-engine/compositing/animation/keyframe-order.html (251657 => 251658)
--- trunk/LayoutTests/legacy-animation-engine/compositing/animation/keyframe-order.html 2019-10-28 16:59:08 UTC (rev 251657)
+++ trunk/LayoutTests/legacy-animation-engine/compositing/animation/keyframe-order.html 2019-10-28 17:01:55 UTC (rev 251658)
@@ -21,7 +21,7 @@
}
.spinner.animating {
- -webkit-animation: imageSpin 999999999s linear 0 infinite
+ -webkit-animation: imageSpin 999999999s linear 0s infinite
}
.inner {
Modified: trunk/LayoutTests/legacy-animation-engine/css1/units/zero-duration-without-units.html (251657 => 251658)
--- trunk/LayoutTests/legacy-animation-engine/css1/units/zero-duration-without-units.html 2019-10-28 16:59:08 UTC (rev 251657)
+++ trunk/LayoutTests/legacy-animation-engine/css1/units/zero-duration-without-units.html 2019-10-28 17:01:55 UTC (rev 251658)
@@ -11,7 +11,7 @@
background-color: blue;
-webkit-transition-property: top, left;
-webkit-transition-duration: 1s;
- -webkit-transition-duration: 0;
+ -webkit-transition-duration: 0s;
-webkit-transition-timing-function: linear;
}
</style>
Modified: trunk/LayoutTests/legacy-animation-engine/transitions/zero-duration-in-list.html (251657 => 251658)
--- trunk/LayoutTests/legacy-animation-engine/transitions/zero-duration-in-list.html 2019-10-28 16:59:08 UTC (rev 251657)
+++ trunk/LayoutTests/legacy-animation-engine/transitions/zero-duration-in-list.html 2019-10-28 17:01:55 UTC (rev 251658)
@@ -9,7 +9,7 @@
height: 100px;
width: 100px;
background-color: blue;
- -webkit-transition-duration: 0, 0.5s;
+ -webkit-transition-duration: 0s, 0.5s;
-webkit-transition-timing-function: linear;
-webkit-transition-property: top, left;
}
Modified: trunk/LayoutTests/legacy-animation-engine/transitions/zero-duration-without-units.html (251657 => 251658)
--- trunk/LayoutTests/legacy-animation-engine/transitions/zero-duration-without-units.html 2019-10-28 16:59:08 UTC (rev 251657)
+++ trunk/LayoutTests/legacy-animation-engine/transitions/zero-duration-without-units.html 2019-10-28 17:01:55 UTC (rev 251658)
@@ -9,7 +9,7 @@
background-color: blue;
-webkit-transition-property: top;
-webkit-transition-duration: 1s;
- -webkit-transition-duration: 0;
+ -webkit-transition-duration: 0s;
}
</style>
<script>
Modified: trunk/LayoutTests/transitions/zero-duration-in-list.html (251657 => 251658)
--- trunk/LayoutTests/transitions/zero-duration-in-list.html 2019-10-28 16:59:08 UTC (rev 251657)
+++ trunk/LayoutTests/transitions/zero-duration-in-list.html 2019-10-28 17:01:55 UTC (rev 251658)
@@ -9,7 +9,7 @@
height: 100px;
width: 100px;
background-color: blue;
- -webkit-transition-duration: 0, 0.5s;
+ -webkit-transition-duration: 0s, 0.5s;
-webkit-transition-timing-function: linear;
-webkit-transition-property: top, left;
}
Modified: trunk/LayoutTests/transitions/zero-duration-without-units.html (251657 => 251658)
--- trunk/LayoutTests/transitions/zero-duration-without-units.html 2019-10-28 16:59:08 UTC (rev 251657)
+++ trunk/LayoutTests/transitions/zero-duration-without-units.html 2019-10-28 17:01:55 UTC (rev 251658)
@@ -9,7 +9,7 @@
background-color: blue;
-webkit-transition-property: top;
-webkit-transition-duration: 1s;
- -webkit-transition-duration: 0;
+ -webkit-transition-duration: 0s;
}
</style>
<script>
Modified: trunk/LayoutTests/webanimations/css-animations-expected.txt (251657 => 251658)
--- trunk/LayoutTests/webanimations/css-animations-expected.txt 2019-10-28 16:59:08 UTC (rev 251657)
+++ trunk/LayoutTests/webanimations/css-animations-expected.txt 2019-10-28 17:01:55 UTC (rev 251658)
@@ -11,5 +11,5 @@
PASS Calling finish() on the animation no longer lists the animation after it has been running.
PASS Seeking the animation to its end time no longer lists the animation after it has been running.
PASS Setting the target's animation-name to none no longer lists the animation after it has been running.
-PASS Setting the target's animation-duration to 0 no longer lists the animation after it has been running.
+PASS Setting the target's animation-duration to 0s no longer lists the animation after it has been running.
Modified: trunk/LayoutTests/webanimations/css-animations.html (251657 => 251658)
--- trunk/LayoutTests/webanimations/css-animations.html 2019-10-28 16:59:08 UTC (rev 251657)
+++ trunk/LayoutTests/webanimations/css-animations.html 2019-10-28 17:01:55 UTC (rev 251658)
@@ -91,7 +91,7 @@
assert_equals(target.getAnimations()[0].effect.getTiming().delay, -1000, "The animation's delay matches the initial animation-delay property.");
- target.style.animationDelay = 0;
+ target.style.animationDelay = "0s";
assert_equals(target.getAnimations()[0].effect.getTiming().delay, 0, "The animation's delay matches the updated animation-delay property.");
}, "Web Animations should reflect the animation-delay property.");
@@ -221,7 +221,7 @@
runAnimationCompletionTest(animation => animation.finish(), "Calling finish() on the animation");
runAnimationCompletionTest(animation => animation.currentTime = animation.effect.getTiming().duration, "Seeking the animation to its end time");
runAnimationCompletionTest(animation => animation.effect.target.style.animationName = "none", "Setting the target's animation-name to none");
-runAnimationCompletionTest(animation => animation.effect.target.style.animationDuration = 0, "Setting the target's animation-duration to 0");
+runAnimationCompletionTest(animation => animation.effect.target.style.animationDuration = "0s", "Setting the target's animation-duration to 0s");
</script>
</body>
\ No newline at end of file
Modified: trunk/Source/WebCore/ChangeLog (251657 => 251658)
--- trunk/Source/WebCore/ChangeLog 2019-10-28 16:59:08 UTC (rev 251657)
+++ trunk/Source/WebCore/ChangeLog 2019-10-28 17:01:55 UTC (rev 251658)
@@ -1,3 +1,17 @@
+2019-10-28 Antoine Quint <grao...@apple.com>
+
+ CSS Transitions and CSS Animations properties should treat unitless 0 as an invalid value for times
+ https://bugs.webkit.org/show_bug.cgi?id=203484
+
+ Reviewed by Antti Koivisto.
+
+ The CSS specification does not allow for "0" as a valid time (https://drafts.csswg.org/css-values-3/#time).
+ We change the way we parse time values to only allow for "0" if the UnitlessQuirk is set to Allow, which is
+ only the case for the -webkit-marquee-speed property.
+
+ * css/parser/CSSPropertyParserHelpers.cpp:
+ (WebCore::CSSPropertyParserHelpers::consumeTime):
+
2019-10-27 Antoine Quint <grao...@apple.com>
[Web Animations] The easing property for a CSSTransition effect is always "linear"
Modified: trunk/Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp (251657 => 251658)
--- trunk/Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp 2019-10-28 16:59:08 UTC (rev 251657)
+++ trunk/Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp 2019-10-28 17:01:55 UTC (rev 251658)
@@ -447,7 +447,7 @@
{
const CSSParserToken& token = range.peek();
CSSPrimitiveValue::UnitType unit = token.unitType();
- bool acceptUnitless = token.type() == NumberToken && shouldAcceptUnitlessValue(token.numericValue(), cssParserMode, unitless);
+ bool acceptUnitless = token.type() == NumberToken && unitless == UnitlessQuirk::Allow && shouldAcceptUnitlessValue(token.numericValue(), cssParserMode, unitless);
if (acceptUnitless)
unit = CSSPrimitiveValue::UnitType::CSS_MS;
if (token.type() == DimensionToken || acceptUnitless) {
Modified: trunk/Source/WebInspectorUI/ChangeLog (251657 => 251658)
--- trunk/Source/WebInspectorUI/ChangeLog 2019-10-28 16:59:08 UTC (rev 251657)
+++ trunk/Source/WebInspectorUI/ChangeLog 2019-10-28 17:01:55 UTC (rev 251658)
@@ -1,3 +1,17 @@
+2019-10-28 Antoine Quint <grao...@apple.com>
+
+ CSS Transitions and CSS Animations properties should treat unitless 0 as an invalid value for times
+ https://bugs.webkit.org/show_bug.cgi?id=203484
+
+ Reviewed by Antti Koivisto.
+
+ Use 0s instead of 0 in places where unitless times were used but shouldn't have been.
+
+ * UserInterface/Views/FindBanner.css:
+ (.no-find-banner-transition:matches(.find-banner, .supports-find-banner)):
+ * UserInterface/Views/TabBar.css:
+ (.tab-bar > .item > .close):
+
2019-10-25 Devin Rousso <drou...@apple.com>
Web Inspector: Styles: un-experimentalize showing rule icons
Modified: trunk/Source/WebInspectorUI/UserInterface/Views/FindBanner.css (251657 => 251658)
--- trunk/Source/WebInspectorUI/UserInterface/Views/FindBanner.css 2019-10-28 16:59:08 UTC (rev 251657)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/FindBanner.css 2019-10-28 17:01:55 UTC (rev 251658)
@@ -52,7 +52,7 @@
}
.no-find-banner-transition:matches(.find-banner, .supports-find-banner) {
- transition-duration: 0 !important;
+ transition-duration: 0s !important;
}
.supports-find-banner {
Modified: trunk/Source/WebInspectorUI/UserInterface/Views/TabBar.css (251657 => 251658)
--- trunk/Source/WebInspectorUI/UserInterface/Views/TabBar.css 2019-10-28 16:59:08 UTC (rev 251657)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/TabBar.css 2019-10-28 17:01:55 UTC (rev 251658)
@@ -190,7 +190,7 @@
transition-property: background-color, opacity;
transition-duration: 250ms, 500ms;
- transition-delay: 0, 50ms;
+ transition-delay: 0s, 50ms;
-webkit-margin-end: 4px;
}