Log Message
Correctly blend column-width and column-count CSS properties https://bugs.webkit.org/show_bug.cgi?id=222969
Reviewed by Antti Koivisto. LayoutTests/imported/w3c: Add an extra 160 PASS results. We now pass all the column-width and column-count interpolation tests. * web-platform-tests/css/css-multicol/animation/column-count-interpolation-expected.txt: * web-platform-tests/css/css-multicol/animation/column-width-interpolation-expected.txt: * web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt: * web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt: * web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt: Source/WebCore: We used to simply blend column-width and column-count as float and unsigned short properties with no minimum value and no accounting for the "auto" value which only blends discretely. We generalize some of the code added for the z-index wrapper by creating a new AutoPropertyWrapper which takes into two method arguments for the hasAuto() and setHasAuto() methods on RenderStyle and an optional minimum value, which we set to 0 for column-width, 1 for column-count and don't specify for z-index since it doesn't have a minimum value. * animation/CSSPropertyAnimation.cpp: (WebCore::AutoPropertyWrapper::AutoPropertyWrapper): (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): (WebCore::ZIndexPropertyWrapper::ZIndexPropertyWrapper): Deleted.
Modified Paths
- trunk/LayoutTests/imported/w3c/ChangeLog
- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/animation/column-count-interpolation-expected.txt
- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/animation/column-width-interpolation-expected.txt
- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt
- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt
- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt
- trunk/Source/WebCore/ChangeLog
- trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp
Diff
Modified: trunk/LayoutTests/imported/w3c/ChangeLog (274146 => 274147)
--- trunk/LayoutTests/imported/w3c/ChangeLog 2021-03-09 15:10:00 UTC (rev 274146)
+++ trunk/LayoutTests/imported/w3c/ChangeLog 2021-03-09 15:51:48 UTC (rev 274147)
@@ -1,3 +1,18 @@
+2021-03-09 Antoine Quint <[email protected]>
+
+ Correctly blend column-width and column-count CSS properties
+ https://bugs.webkit.org/show_bug.cgi?id=222969
+
+ Reviewed by Antti Koivisto.
+
+ Add an extra 160 PASS results. We now pass all the column-width and column-count interpolation tests.
+
+ * web-platform-tests/css/css-multicol/animation/column-count-interpolation-expected.txt:
+ * web-platform-tests/css/css-multicol/animation/column-width-interpolation-expected.txt:
+ * web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt:
+ * web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt:
+ * web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt:
+
2021-03-08 Antoine Quint <[email protected]>
Select CSS properties animating as float should not allow negative values
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/animation/column-count-interpolation-expected.txt (274146 => 274147)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/animation/column-count-interpolation-expected.txt 2021-03-09 15:10:00 UTC (rev 274146)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/animation/column-count-interpolation-expected.txt 2021-03-09 15:51:48 UTC (rev 274147)
@@ -23,34 +23,34 @@
PASS Web Animations: property <column-count> from neutral to [20] at (0.7) should be [17]
PASS Web Animations: property <column-count> from neutral to [20] at (1) should be [20]
PASS Web Animations: property <column-count> from neutral to [20] at (1.5) should be [25]
-FAIL CSS Transitions: property <column-count> from [auto] to [20] at (-0.3) should be [20] assert_equals: expected "20 " but got "65530 "
-FAIL CSS Transitions: property <column-count> from [auto] to [20] at (0) should be [20] assert_equals: expected "20 " but got "0 "
-FAIL CSS Transitions: property <column-count> from [auto] to [20] at (0.3) should be [20] assert_equals: expected "20 " but got "6 "
-FAIL CSS Transitions: property <column-count> from [auto] to [20] at (0.5) should be [20] assert_equals: expected "20 " but got "10 "
-FAIL CSS Transitions: property <column-count> from [auto] to [20] at (0.6) should be [20] assert_equals: expected "20 " but got "12 "
+PASS CSS Transitions: property <column-count> from [auto] to [20] at (-0.3) should be [20]
+PASS CSS Transitions: property <column-count> from [auto] to [20] at (0) should be [20]
+PASS CSS Transitions: property <column-count> from [auto] to [20] at (0.3) should be [20]
+PASS CSS Transitions: property <column-count> from [auto] to [20] at (0.5) should be [20]
+PASS CSS Transitions: property <column-count> from [auto] to [20] at (0.6) should be [20]
PASS CSS Transitions: property <column-count> from [auto] to [20] at (1) should be [20]
-FAIL CSS Transitions: property <column-count> from [auto] to [20] at (1.5) should be [20] assert_equals: expected "20 " but got "30 "
-FAIL CSS Transitions with transition: all: property <column-count> from [auto] to [20] at (-0.3) should be [20] assert_equals: expected "20 " but got "65530 "
-FAIL CSS Transitions with transition: all: property <column-count> from [auto] to [20] at (0) should be [20] assert_equals: expected "20 " but got "0 "
-FAIL CSS Transitions with transition: all: property <column-count> from [auto] to [20] at (0.3) should be [20] assert_equals: expected "20 " but got "6 "
-FAIL CSS Transitions with transition: all: property <column-count> from [auto] to [20] at (0.5) should be [20] assert_equals: expected "20 " but got "10 "
-FAIL CSS Transitions with transition: all: property <column-count> from [auto] to [20] at (0.6) should be [20] assert_equals: expected "20 " but got "12 "
+PASS CSS Transitions: property <column-count> from [auto] to [20] at (1.5) should be [20]
+PASS CSS Transitions with transition: all: property <column-count> from [auto] to [20] at (-0.3) should be [20]
+PASS CSS Transitions with transition: all: property <column-count> from [auto] to [20] at (0) should be [20]
+PASS CSS Transitions with transition: all: property <column-count> from [auto] to [20] at (0.3) should be [20]
+PASS CSS Transitions with transition: all: property <column-count> from [auto] to [20] at (0.5) should be [20]
+PASS CSS Transitions with transition: all: property <column-count> from [auto] to [20] at (0.6) should be [20]
PASS CSS Transitions with transition: all: property <column-count> from [auto] to [20] at (1) should be [20]
-FAIL CSS Transitions with transition: all: property <column-count> from [auto] to [20] at (1.5) should be [20] assert_equals: expected "20 " but got "30 "
-FAIL CSS Animations: property <column-count> from [auto] to [20] at (-0.3) should be [auto] assert_equals: expected "auto " but got "65530 "
-FAIL CSS Animations: property <column-count> from [auto] to [20] at (0) should be [auto] assert_equals: expected "auto " but got "0 "
-FAIL CSS Animations: property <column-count> from [auto] to [20] at (0.3) should be [auto] assert_equals: expected "auto " but got "6 "
-FAIL CSS Animations: property <column-count> from [auto] to [20] at (0.5) should be [20] assert_equals: expected "20 " but got "10 "
-FAIL CSS Animations: property <column-count> from [auto] to [20] at (0.6) should be [20] assert_equals: expected "20 " but got "12 "
+PASS CSS Transitions with transition: all: property <column-count> from [auto] to [20] at (1.5) should be [20]
+PASS CSS Animations: property <column-count> from [auto] to [20] at (-0.3) should be [auto]
+PASS CSS Animations: property <column-count> from [auto] to [20] at (0) should be [auto]
+PASS CSS Animations: property <column-count> from [auto] to [20] at (0.3) should be [auto]
+PASS CSS Animations: property <column-count> from [auto] to [20] at (0.5) should be [20]
+PASS CSS Animations: property <column-count> from [auto] to [20] at (0.6) should be [20]
PASS CSS Animations: property <column-count> from [auto] to [20] at (1) should be [20]
-FAIL CSS Animations: property <column-count> from [auto] to [20] at (1.5) should be [20] assert_equals: expected "20 " but got "30 "
-FAIL Web Animations: property <column-count> from [auto] to [20] at (-0.3) should be [auto] assert_equals: expected "auto " but got "65530 "
-FAIL Web Animations: property <column-count> from [auto] to [20] at (0) should be [auto] assert_equals: expected "auto " but got "0 "
-FAIL Web Animations: property <column-count> from [auto] to [20] at (0.3) should be [auto] assert_equals: expected "auto " but got "6 "
-FAIL Web Animations: property <column-count> from [auto] to [20] at (0.5) should be [20] assert_equals: expected "20 " but got "10 "
-FAIL Web Animations: property <column-count> from [auto] to [20] at (0.6) should be [20] assert_equals: expected "20 " but got "12 "
+PASS CSS Animations: property <column-count> from [auto] to [20] at (1.5) should be [20]
+PASS Web Animations: property <column-count> from [auto] to [20] at (-0.3) should be [auto]
+PASS Web Animations: property <column-count> from [auto] to [20] at (0) should be [auto]
+PASS Web Animations: property <column-count> from [auto] to [20] at (0.3) should be [auto]
+PASS Web Animations: property <column-count> from [auto] to [20] at (0.5) should be [20]
+PASS Web Animations: property <column-count> from [auto] to [20] at (0.6) should be [20]
PASS Web Animations: property <column-count> from [auto] to [20] at (1) should be [20]
-FAIL Web Animations: property <column-count> from [auto] to [20] at (1.5) should be [20] assert_equals: expected "20 " but got "30 "
+PASS Web Animations: property <column-count> from [auto] to [20] at (1.5) should be [20]
PASS CSS Transitions: property <column-count> from [inherit] to [20] at (-0.5) should be [35]
PASS CSS Transitions: property <column-count> from [inherit] to [20] at (0) should be [30]
PASS CSS Transitions: property <column-count> from [inherit] to [20] at (0.3) should be [27]
@@ -80,79 +80,79 @@
PASS CSS Transitions: property <column-count> from [10] to [1] at (0.3) should be [7]
PASS CSS Transitions: property <column-count> from [10] to [1] at (0.7) should be [4]
PASS CSS Transitions: property <column-count> from [10] to [1] at (1) should be [1]
-FAIL CSS Transitions: property <column-count> from [10] to [1] at (1.5) should be [1] assert_equals: expected "1 " but got "65532 "
+PASS CSS Transitions: property <column-count> from [10] to [1] at (1.5) should be [1]
PASS CSS Transitions with transition: all: property <column-count> from [10] to [1] at (-0.5) should be [15]
PASS CSS Transitions with transition: all: property <column-count> from [10] to [1] at (0) should be [10]
PASS CSS Transitions with transition: all: property <column-count> from [10] to [1] at (0.3) should be [7]
PASS CSS Transitions with transition: all: property <column-count> from [10] to [1] at (0.7) should be [4]
PASS CSS Transitions with transition: all: property <column-count> from [10] to [1] at (1) should be [1]
-FAIL CSS Transitions with transition: all: property <column-count> from [10] to [1] at (1.5) should be [1] assert_equals: expected "1 " but got "65532 "
+PASS CSS Transitions with transition: all: property <column-count> from [10] to [1] at (1.5) should be [1]
PASS CSS Animations: property <column-count> from [10] to [1] at (-0.5) should be [15]
PASS CSS Animations: property <column-count> from [10] to [1] at (0) should be [10]
PASS CSS Animations: property <column-count> from [10] to [1] at (0.3) should be [7]
PASS CSS Animations: property <column-count> from [10] to [1] at (0.7) should be [4]
PASS CSS Animations: property <column-count> from [10] to [1] at (1) should be [1]
-FAIL CSS Animations: property <column-count> from [10] to [1] at (1.5) should be [1] assert_equals: expected "1 " but got "65532 "
+PASS CSS Animations: property <column-count> from [10] to [1] at (1.5) should be [1]
PASS Web Animations: property <column-count> from [10] to [1] at (-0.5) should be [15]
PASS Web Animations: property <column-count> from [10] to [1] at (0) should be [10]
PASS Web Animations: property <column-count> from [10] to [1] at (0.3) should be [7]
PASS Web Animations: property <column-count> from [10] to [1] at (0.7) should be [4]
PASS Web Animations: property <column-count> from [10] to [1] at (1) should be [1]
-FAIL Web Animations: property <column-count> from [10] to [1] at (1.5) should be [1] assert_equals: expected "1 " but got "65532 "
-FAIL CSS Transitions: property <column-count> from [initial] to [5] at (-0.3) should be [5] assert_equals: expected "5 " but got "65535 "
-FAIL CSS Transitions: property <column-count> from [initial] to [5] at (0) should be [5] assert_equals: expected "5 " but got "0 "
-FAIL CSS Transitions: property <column-count> from [initial] to [5] at (0.3) should be [5] assert_equals: expected "5 " but got "2 "
-FAIL CSS Transitions: property <column-count> from [initial] to [5] at (0.5) should be [5] assert_equals: expected "5 " but got "3 "
-FAIL CSS Transitions: property <column-count> from [initial] to [5] at (0.6) should be [5] assert_equals: expected "5 " but got "3 "
+PASS Web Animations: property <column-count> from [10] to [1] at (1.5) should be [1]
+PASS CSS Transitions: property <column-count> from [initial] to [5] at (-0.3) should be [5]
+PASS CSS Transitions: property <column-count> from [initial] to [5] at (0) should be [5]
+PASS CSS Transitions: property <column-count> from [initial] to [5] at (0.3) should be [5]
+PASS CSS Transitions: property <column-count> from [initial] to [5] at (0.5) should be [5]
+PASS CSS Transitions: property <column-count> from [initial] to [5] at (0.6) should be [5]
PASS CSS Transitions: property <column-count> from [initial] to [5] at (1) should be [5]
-FAIL CSS Transitions: property <column-count> from [initial] to [5] at (1.5) should be [5] assert_equals: expected "5 " but got "8 "
-FAIL CSS Transitions with transition: all: property <column-count> from [initial] to [5] at (-0.3) should be [5] assert_equals: expected "5 " but got "65535 "
-FAIL CSS Transitions with transition: all: property <column-count> from [initial] to [5] at (0) should be [5] assert_equals: expected "5 " but got "0 "
-FAIL CSS Transitions with transition: all: property <column-count> from [initial] to [5] at (0.3) should be [5] assert_equals: expected "5 " but got "2 "
-FAIL CSS Transitions with transition: all: property <column-count> from [initial] to [5] at (0.5) should be [5] assert_equals: expected "5 " but got "3 "
-FAIL CSS Transitions with transition: all: property <column-count> from [initial] to [5] at (0.6) should be [5] assert_equals: expected "5 " but got "3 "
+PASS CSS Transitions: property <column-count> from [initial] to [5] at (1.5) should be [5]
+PASS CSS Transitions with transition: all: property <column-count> from [initial] to [5] at (-0.3) should be [5]
+PASS CSS Transitions with transition: all: property <column-count> from [initial] to [5] at (0) should be [5]
+PASS CSS Transitions with transition: all: property <column-count> from [initial] to [5] at (0.3) should be [5]
+PASS CSS Transitions with transition: all: property <column-count> from [initial] to [5] at (0.5) should be [5]
+PASS CSS Transitions with transition: all: property <column-count> from [initial] to [5] at (0.6) should be [5]
PASS CSS Transitions with transition: all: property <column-count> from [initial] to [5] at (1) should be [5]
-FAIL CSS Transitions with transition: all: property <column-count> from [initial] to [5] at (1.5) should be [5] assert_equals: expected "5 " but got "8 "
-FAIL CSS Animations: property <column-count> from [initial] to [5] at (-0.3) should be [initial] assert_equals: expected "auto " but got "65535 "
-FAIL CSS Animations: property <column-count> from [initial] to [5] at (0) should be [initial] assert_equals: expected "auto " but got "0 "
-FAIL CSS Animations: property <column-count> from [initial] to [5] at (0.3) should be [initial] assert_equals: expected "auto " but got "2 "
-FAIL CSS Animations: property <column-count> from [initial] to [5] at (0.5) should be [5] assert_equals: expected "5 " but got "3 "
-FAIL CSS Animations: property <column-count> from [initial] to [5] at (0.6) should be [5] assert_equals: expected "5 " but got "3 "
+PASS CSS Transitions with transition: all: property <column-count> from [initial] to [5] at (1.5) should be [5]
+PASS CSS Animations: property <column-count> from [initial] to [5] at (-0.3) should be [initial]
+PASS CSS Animations: property <column-count> from [initial] to [5] at (0) should be [initial]
+PASS CSS Animations: property <column-count> from [initial] to [5] at (0.3) should be [initial]
+PASS CSS Animations: property <column-count> from [initial] to [5] at (0.5) should be [5]
+PASS CSS Animations: property <column-count> from [initial] to [5] at (0.6) should be [5]
PASS CSS Animations: property <column-count> from [initial] to [5] at (1) should be [5]
-FAIL CSS Animations: property <column-count> from [initial] to [5] at (1.5) should be [5] assert_equals: expected "5 " but got "8 "
-FAIL Web Animations: property <column-count> from [initial] to [5] at (-0.3) should be [initial] assert_equals: expected "auto " but got "65535 "
-FAIL Web Animations: property <column-count> from [initial] to [5] at (0) should be [initial] assert_equals: expected "auto " but got "0 "
-FAIL Web Animations: property <column-count> from [initial] to [5] at (0.3) should be [initial] assert_equals: expected "auto " but got "2 "
-FAIL Web Animations: property <column-count> from [initial] to [5] at (0.5) should be [5] assert_equals: expected "5 " but got "3 "
-FAIL Web Animations: property <column-count> from [initial] to [5] at (0.6) should be [5] assert_equals: expected "5 " but got "3 "
+PASS CSS Animations: property <column-count> from [initial] to [5] at (1.5) should be [5]
+PASS Web Animations: property <column-count> from [initial] to [5] at (-0.3) should be [initial]
+PASS Web Animations: property <column-count> from [initial] to [5] at (0) should be [initial]
+PASS Web Animations: property <column-count> from [initial] to [5] at (0.3) should be [initial]
+PASS Web Animations: property <column-count> from [initial] to [5] at (0.5) should be [5]
+PASS Web Animations: property <column-count> from [initial] to [5] at (0.6) should be [5]
PASS Web Animations: property <column-count> from [initial] to [5] at (1) should be [5]
-FAIL Web Animations: property <column-count> from [initial] to [5] at (1.5) should be [5] assert_equals: expected "5 " but got "8 "
-FAIL CSS Transitions: property <column-count> from [unset] to [5] at (-0.3) should be [5] assert_equals: expected "5 " but got "65535 "
-FAIL CSS Transitions: property <column-count> from [unset] to [5] at (0) should be [5] assert_equals: expected "5 " but got "0 "
-FAIL CSS Transitions: property <column-count> from [unset] to [5] at (0.3) should be [5] assert_equals: expected "5 " but got "2 "
-FAIL CSS Transitions: property <column-count> from [unset] to [5] at (0.5) should be [5] assert_equals: expected "5 " but got "3 "
-FAIL CSS Transitions: property <column-count> from [unset] to [5] at (0.6) should be [5] assert_equals: expected "5 " but got "3 "
+PASS Web Animations: property <column-count> from [initial] to [5] at (1.5) should be [5]
+PASS CSS Transitions: property <column-count> from [unset] to [5] at (-0.3) should be [5]
+PASS CSS Transitions: property <column-count> from [unset] to [5] at (0) should be [5]
+PASS CSS Transitions: property <column-count> from [unset] to [5] at (0.3) should be [5]
+PASS CSS Transitions: property <column-count> from [unset] to [5] at (0.5) should be [5]
+PASS CSS Transitions: property <column-count> from [unset] to [5] at (0.6) should be [5]
PASS CSS Transitions: property <column-count> from [unset] to [5] at (1) should be [5]
-FAIL CSS Transitions: property <column-count> from [unset] to [5] at (1.5) should be [5] assert_equals: expected "5 " but got "8 "
-FAIL CSS Transitions with transition: all: property <column-count> from [unset] to [5] at (-0.3) should be [5] assert_equals: expected "5 " but got "65535 "
-FAIL CSS Transitions with transition: all: property <column-count> from [unset] to [5] at (0) should be [5] assert_equals: expected "5 " but got "0 "
-FAIL CSS Transitions with transition: all: property <column-count> from [unset] to [5] at (0.3) should be [5] assert_equals: expected "5 " but got "2 "
-FAIL CSS Transitions with transition: all: property <column-count> from [unset] to [5] at (0.5) should be [5] assert_equals: expected "5 " but got "3 "
-FAIL CSS Transitions with transition: all: property <column-count> from [unset] to [5] at (0.6) should be [5] assert_equals: expected "5 " but got "3 "
+PASS CSS Transitions: property <column-count> from [unset] to [5] at (1.5) should be [5]
+PASS CSS Transitions with transition: all: property <column-count> from [unset] to [5] at (-0.3) should be [5]
+PASS CSS Transitions with transition: all: property <column-count> from [unset] to [5] at (0) should be [5]
+PASS CSS Transitions with transition: all: property <column-count> from [unset] to [5] at (0.3) should be [5]
+PASS CSS Transitions with transition: all: property <column-count> from [unset] to [5] at (0.5) should be [5]
+PASS CSS Transitions with transition: all: property <column-count> from [unset] to [5] at (0.6) should be [5]
PASS CSS Transitions with transition: all: property <column-count> from [unset] to [5] at (1) should be [5]
-FAIL CSS Transitions with transition: all: property <column-count> from [unset] to [5] at (1.5) should be [5] assert_equals: expected "5 " but got "8 "
-FAIL CSS Animations: property <column-count> from [unset] to [5] at (-0.3) should be [unset] assert_equals: expected "auto " but got "65535 "
-FAIL CSS Animations: property <column-count> from [unset] to [5] at (0) should be [unset] assert_equals: expected "auto " but got "0 "
-FAIL CSS Animations: property <column-count> from [unset] to [5] at (0.3) should be [unset] assert_equals: expected "auto " but got "2 "
-FAIL CSS Animations: property <column-count> from [unset] to [5] at (0.5) should be [5] assert_equals: expected "5 " but got "3 "
-FAIL CSS Animations: property <column-count> from [unset] to [5] at (0.6) should be [5] assert_equals: expected "5 " but got "3 "
+PASS CSS Transitions with transition: all: property <column-count> from [unset] to [5] at (1.5) should be [5]
+PASS CSS Animations: property <column-count> from [unset] to [5] at (-0.3) should be [unset]
+PASS CSS Animations: property <column-count> from [unset] to [5] at (0) should be [unset]
+PASS CSS Animations: property <column-count> from [unset] to [5] at (0.3) should be [unset]
+PASS CSS Animations: property <column-count> from [unset] to [5] at (0.5) should be [5]
+PASS CSS Animations: property <column-count> from [unset] to [5] at (0.6) should be [5]
PASS CSS Animations: property <column-count> from [unset] to [5] at (1) should be [5]
-FAIL CSS Animations: property <column-count> from [unset] to [5] at (1.5) should be [5] assert_equals: expected "5 " but got "8 "
-FAIL Web Animations: property <column-count> from [unset] to [5] at (-0.3) should be [unset] assert_equals: expected "auto " but got "65535 "
-FAIL Web Animations: property <column-count> from [unset] to [5] at (0) should be [unset] assert_equals: expected "auto " but got "0 "
-FAIL Web Animations: property <column-count> from [unset] to [5] at (0.3) should be [unset] assert_equals: expected "auto " but got "2 "
-FAIL Web Animations: property <column-count> from [unset] to [5] at (0.5) should be [5] assert_equals: expected "5 " but got "3 "
-FAIL Web Animations: property <column-count> from [unset] to [5] at (0.6) should be [5] assert_equals: expected "5 " but got "3 "
+PASS CSS Animations: property <column-count> from [unset] to [5] at (1.5) should be [5]
+PASS Web Animations: property <column-count> from [unset] to [5] at (-0.3) should be [unset]
+PASS Web Animations: property <column-count> from [unset] to [5] at (0) should be [unset]
+PASS Web Animations: property <column-count> from [unset] to [5] at (0.3) should be [unset]
+PASS Web Animations: property <column-count> from [unset] to [5] at (0.5) should be [5]
+PASS Web Animations: property <column-count> from [unset] to [5] at (0.6) should be [5]
PASS Web Animations: property <column-count> from [unset] to [5] at (1) should be [5]
-FAIL Web Animations: property <column-count> from [unset] to [5] at (1.5) should be [5] assert_equals: expected "5 " but got "8 "
+PASS Web Animations: property <column-count> from [unset] to [5] at (1.5) should be [5]
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/animation/column-width-interpolation-expected.txt (274146 => 274147)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/animation/column-width-interpolation-expected.txt 2021-03-09 15:10:00 UTC (rev 274146)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/animation/column-width-interpolation-expected.txt 2021-03-09 15:51:48 UTC (rev 274147)
@@ -31,34 +31,34 @@
PASS Web Animations: property <column-width> from neutral to [20px] at (0.6) should be [16px]
PASS Web Animations: property <column-width> from neutral to [20px] at (1) should be [20px]
PASS Web Animations: property <column-width> from neutral to [20px] at (1.5) should be [25px]
-FAIL CSS Transitions: property <column-width> from [initial] to [20px] at (-0.3) should be [20px] assert_equals: expected "20px " but got "0px "
-FAIL CSS Transitions: property <column-width> from [initial] to [20px] at (0) should be [20px] assert_equals: expected "20px " but got "0px "
-FAIL CSS Transitions: property <column-width> from [initial] to [20px] at (0.3) should be [20px] assert_equals: expected "20px " but got "6px "
-FAIL CSS Transitions: property <column-width> from [initial] to [20px] at (0.5) should be [20px] assert_equals: expected "20px " but got "10px "
-FAIL CSS Transitions: property <column-width> from [initial] to [20px] at (0.6) should be [20px] assert_equals: expected "20px " but got "12px "
+PASS CSS Transitions: property <column-width> from [initial] to [20px] at (-0.3) should be [20px]
+PASS CSS Transitions: property <column-width> from [initial] to [20px] at (0) should be [20px]
+PASS CSS Transitions: property <column-width> from [initial] to [20px] at (0.3) should be [20px]
+PASS CSS Transitions: property <column-width> from [initial] to [20px] at (0.5) should be [20px]
+PASS CSS Transitions: property <column-width> from [initial] to [20px] at (0.6) should be [20px]
PASS CSS Transitions: property <column-width> from [initial] to [20px] at (1) should be [20px]
-FAIL CSS Transitions: property <column-width> from [initial] to [20px] at (1.5) should be [20px] assert_equals: expected "20px " but got "30px "
-FAIL CSS Transitions with transition: all: property <column-width> from [initial] to [20px] at (-0.3) should be [20px] assert_equals: expected "20px " but got "0px "
-FAIL CSS Transitions with transition: all: property <column-width> from [initial] to [20px] at (0) should be [20px] assert_equals: expected "20px " but got "0px "
-FAIL CSS Transitions with transition: all: property <column-width> from [initial] to [20px] at (0.3) should be [20px] assert_equals: expected "20px " but got "6px "
-FAIL CSS Transitions with transition: all: property <column-width> from [initial] to [20px] at (0.5) should be [20px] assert_equals: expected "20px " but got "10px "
-FAIL CSS Transitions with transition: all: property <column-width> from [initial] to [20px] at (0.6) should be [20px] assert_equals: expected "20px " but got "12px "
+PASS CSS Transitions: property <column-width> from [initial] to [20px] at (1.5) should be [20px]
+PASS CSS Transitions with transition: all: property <column-width> from [initial] to [20px] at (-0.3) should be [20px]
+PASS CSS Transitions with transition: all: property <column-width> from [initial] to [20px] at (0) should be [20px]
+PASS CSS Transitions with transition: all: property <column-width> from [initial] to [20px] at (0.3) should be [20px]
+PASS CSS Transitions with transition: all: property <column-width> from [initial] to [20px] at (0.5) should be [20px]
+PASS CSS Transitions with transition: all: property <column-width> from [initial] to [20px] at (0.6) should be [20px]
PASS CSS Transitions with transition: all: property <column-width> from [initial] to [20px] at (1) should be [20px]
-FAIL CSS Transitions with transition: all: property <column-width> from [initial] to [20px] at (1.5) should be [20px] assert_equals: expected "20px " but got "30px "
-FAIL CSS Animations: property <column-width> from [initial] to [20px] at (-0.3) should be [initial] assert_equals: expected "auto " but got "0px "
-FAIL CSS Animations: property <column-width> from [initial] to [20px] at (0) should be [initial] assert_equals: expected "auto " but got "0px "
-FAIL CSS Animations: property <column-width> from [initial] to [20px] at (0.3) should be [initial] assert_equals: expected "auto " but got "6px "
-FAIL CSS Animations: property <column-width> from [initial] to [20px] at (0.5) should be [20px] assert_equals: expected "20px " but got "10px "
-FAIL CSS Animations: property <column-width> from [initial] to [20px] at (0.6) should be [20px] assert_equals: expected "20px " but got "12px "
+PASS CSS Transitions with transition: all: property <column-width> from [initial] to [20px] at (1.5) should be [20px]
+PASS CSS Animations: property <column-width> from [initial] to [20px] at (-0.3) should be [initial]
+PASS CSS Animations: property <column-width> from [initial] to [20px] at (0) should be [initial]
+PASS CSS Animations: property <column-width> from [initial] to [20px] at (0.3) should be [initial]
+PASS CSS Animations: property <column-width> from [initial] to [20px] at (0.5) should be [20px]
+PASS CSS Animations: property <column-width> from [initial] to [20px] at (0.6) should be [20px]
PASS CSS Animations: property <column-width> from [initial] to [20px] at (1) should be [20px]
-FAIL CSS Animations: property <column-width> from [initial] to [20px] at (1.5) should be [20px] assert_equals: expected "20px " but got "30px "
-FAIL Web Animations: property <column-width> from [initial] to [20px] at (-0.3) should be [initial] assert_equals: expected "auto " but got "0px "
-FAIL Web Animations: property <column-width> from [initial] to [20px] at (0) should be [initial] assert_equals: expected "auto " but got "0px "
-FAIL Web Animations: property <column-width> from [initial] to [20px] at (0.3) should be [initial] assert_equals: expected "auto " but got "6px "
-FAIL Web Animations: property <column-width> from [initial] to [20px] at (0.5) should be [20px] assert_equals: expected "20px " but got "10px "
-FAIL Web Animations: property <column-width> from [initial] to [20px] at (0.6) should be [20px] assert_equals: expected "20px " but got "12px "
+PASS CSS Animations: property <column-width> from [initial] to [20px] at (1.5) should be [20px]
+PASS Web Animations: property <column-width> from [initial] to [20px] at (-0.3) should be [initial]
+PASS Web Animations: property <column-width> from [initial] to [20px] at (0) should be [initial]
+PASS Web Animations: property <column-width> from [initial] to [20px] at (0.3) should be [initial]
+PASS Web Animations: property <column-width> from [initial] to [20px] at (0.5) should be [20px]
+PASS Web Animations: property <column-width> from [initial] to [20px] at (0.6) should be [20px]
PASS Web Animations: property <column-width> from [initial] to [20px] at (1) should be [20px]
-FAIL Web Animations: property <column-width> from [initial] to [20px] at (1.5) should be [20px] assert_equals: expected "20px " but got "30px "
+PASS Web Animations: property <column-width> from [initial] to [20px] at (1.5) should be [20px]
PASS CSS Transitions: property <column-width> from [inherit] to [20px] at (-20) should be [230px]
PASS CSS Transitions: property <column-width> from [inherit] to [20px] at (-1) should be [40px]
PASS CSS Transitions: property <column-width> from [inherit] to [20px] at (-0.3) should be [33px]
@@ -91,34 +91,34 @@
PASS Web Animations: property <column-width> from [inherit] to [20px] at (0.6) should be [24px]
PASS Web Animations: property <column-width> from [inherit] to [20px] at (1) should be [20px]
PASS Web Animations: property <column-width> from [inherit] to [20px] at (1.5) should be [15px]
-FAIL CSS Transitions: property <column-width> from [unset] to [20px] at (-0.3) should be [20px] assert_equals: expected "20px " but got "0px "
-FAIL CSS Transitions: property <column-width> from [unset] to [20px] at (0) should be [20px] assert_equals: expected "20px " but got "0px "
-FAIL CSS Transitions: property <column-width> from [unset] to [20px] at (0.3) should be [20px] assert_equals: expected "20px " but got "6px "
-FAIL CSS Transitions: property <column-width> from [unset] to [20px] at (0.5) should be [20px] assert_equals: expected "20px " but got "10px "
-FAIL CSS Transitions: property <column-width> from [unset] to [20px] at (0.6) should be [20px] assert_equals: expected "20px " but got "12px "
+PASS CSS Transitions: property <column-width> from [unset] to [20px] at (-0.3) should be [20px]
+PASS CSS Transitions: property <column-width> from [unset] to [20px] at (0) should be [20px]
+PASS CSS Transitions: property <column-width> from [unset] to [20px] at (0.3) should be [20px]
+PASS CSS Transitions: property <column-width> from [unset] to [20px] at (0.5) should be [20px]
+PASS CSS Transitions: property <column-width> from [unset] to [20px] at (0.6) should be [20px]
PASS CSS Transitions: property <column-width> from [unset] to [20px] at (1) should be [20px]
-FAIL CSS Transitions: property <column-width> from [unset] to [20px] at (1.5) should be [20px] assert_equals: expected "20px " but got "30px "
-FAIL CSS Transitions with transition: all: property <column-width> from [unset] to [20px] at (-0.3) should be [20px] assert_equals: expected "20px " but got "0px "
-FAIL CSS Transitions with transition: all: property <column-width> from [unset] to [20px] at (0) should be [20px] assert_equals: expected "20px " but got "0px "
-FAIL CSS Transitions with transition: all: property <column-width> from [unset] to [20px] at (0.3) should be [20px] assert_equals: expected "20px " but got "6px "
-FAIL CSS Transitions with transition: all: property <column-width> from [unset] to [20px] at (0.5) should be [20px] assert_equals: expected "20px " but got "10px "
-FAIL CSS Transitions with transition: all: property <column-width> from [unset] to [20px] at (0.6) should be [20px] assert_equals: expected "20px " but got "12px "
+PASS CSS Transitions: property <column-width> from [unset] to [20px] at (1.5) should be [20px]
+PASS CSS Transitions with transition: all: property <column-width> from [unset] to [20px] at (-0.3) should be [20px]
+PASS CSS Transitions with transition: all: property <column-width> from [unset] to [20px] at (0) should be [20px]
+PASS CSS Transitions with transition: all: property <column-width> from [unset] to [20px] at (0.3) should be [20px]
+PASS CSS Transitions with transition: all: property <column-width> from [unset] to [20px] at (0.5) should be [20px]
+PASS CSS Transitions with transition: all: property <column-width> from [unset] to [20px] at (0.6) should be [20px]
PASS CSS Transitions with transition: all: property <column-width> from [unset] to [20px] at (1) should be [20px]
-FAIL CSS Transitions with transition: all: property <column-width> from [unset] to [20px] at (1.5) should be [20px] assert_equals: expected "20px " but got "30px "
-FAIL CSS Animations: property <column-width> from [unset] to [20px] at (-0.3) should be [unset] assert_equals: expected "auto " but got "0px "
-FAIL CSS Animations: property <column-width> from [unset] to [20px] at (0) should be [unset] assert_equals: expected "auto " but got "0px "
-FAIL CSS Animations: property <column-width> from [unset] to [20px] at (0.3) should be [unset] assert_equals: expected "auto " but got "6px "
-FAIL CSS Animations: property <column-width> from [unset] to [20px] at (0.5) should be [20px] assert_equals: expected "20px " but got "10px "
-FAIL CSS Animations: property <column-width> from [unset] to [20px] at (0.6) should be [20px] assert_equals: expected "20px " but got "12px "
+PASS CSS Transitions with transition: all: property <column-width> from [unset] to [20px] at (1.5) should be [20px]
+PASS CSS Animations: property <column-width> from [unset] to [20px] at (-0.3) should be [unset]
+PASS CSS Animations: property <column-width> from [unset] to [20px] at (0) should be [unset]
+PASS CSS Animations: property <column-width> from [unset] to [20px] at (0.3) should be [unset]
+PASS CSS Animations: property <column-width> from [unset] to [20px] at (0.5) should be [20px]
+PASS CSS Animations: property <column-width> from [unset] to [20px] at (0.6) should be [20px]
PASS CSS Animations: property <column-width> from [unset] to [20px] at (1) should be [20px]
-FAIL CSS Animations: property <column-width> from [unset] to [20px] at (1.5) should be [20px] assert_equals: expected "20px " but got "30px "
-FAIL Web Animations: property <column-width> from [unset] to [20px] at (-0.3) should be [unset] assert_equals: expected "auto " but got "0px "
-FAIL Web Animations: property <column-width> from [unset] to [20px] at (0) should be [unset] assert_equals: expected "auto " but got "0px "
-FAIL Web Animations: property <column-width> from [unset] to [20px] at (0.3) should be [unset] assert_equals: expected "auto " but got "6px "
-FAIL Web Animations: property <column-width> from [unset] to [20px] at (0.5) should be [20px] assert_equals: expected "20px " but got "10px "
-FAIL Web Animations: property <column-width> from [unset] to [20px] at (0.6) should be [20px] assert_equals: expected "20px " but got "12px "
+PASS CSS Animations: property <column-width> from [unset] to [20px] at (1.5) should be [20px]
+PASS Web Animations: property <column-width> from [unset] to [20px] at (-0.3) should be [unset]
+PASS Web Animations: property <column-width> from [unset] to [20px] at (0) should be [unset]
+PASS Web Animations: property <column-width> from [unset] to [20px] at (0.3) should be [unset]
+PASS Web Animations: property <column-width> from [unset] to [20px] at (0.5) should be [20px]
+PASS Web Animations: property <column-width> from [unset] to [20px] at (0.6) should be [20px]
PASS Web Animations: property <column-width> from [unset] to [20px] at (1) should be [20px]
-FAIL Web Animations: property <column-width> from [unset] to [20px] at (1.5) should be [20px] assert_equals: expected "20px " but got "30px "
+PASS Web Animations: property <column-width> from [unset] to [20px] at (1.5) should be [20px]
PASS CSS Transitions: property <column-width> from [50px] to [100px] at (-20) should be [1em]
PASS CSS Transitions: property <column-width> from [50px] to [100px] at (-1) should be [1em]
PASS CSS Transitions: property <column-width> from [50px] to [100px] at (-0.3) should be [35px]
@@ -151,32 +151,32 @@
PASS Web Animations: property <column-width> from [50px] to [100px] at (0.6) should be [80px]
PASS Web Animations: property <column-width> from [50px] to [100px] at (1) should be [100px]
PASS Web Animations: property <column-width> from [50px] to [100px] at (1.5) should be [125px]
-FAIL CSS Transitions: property <column-width> from [50px] to [auto] at (-0.3) should be [auto] assert_equals: expected "auto " but got "65px "
-FAIL CSS Transitions: property <column-width> from [50px] to [auto] at (0) should be [auto] assert_equals: expected "auto " but got "50px "
-FAIL CSS Transitions: property <column-width> from [50px] to [auto] at (0.3) should be [auto] assert_equals: expected "auto " but got "35px "
-FAIL CSS Transitions: property <column-width> from [50px] to [auto] at (0.5) should be [auto] assert_equals: expected "auto " but got "25px "
-FAIL CSS Transitions: property <column-width> from [50px] to [auto] at (0.6) should be [auto] assert_equals: expected "auto " but got "20px "
-FAIL CSS Transitions: property <column-width> from [50px] to [auto] at (1) should be [auto] assert_equals: expected "auto " but got "0px "
-FAIL CSS Transitions: property <column-width> from [50px] to [auto] at (1.5) should be [auto] assert_equals: expected "auto " but got "0px "
-FAIL CSS Transitions with transition: all: property <column-width> from [50px] to [auto] at (-0.3) should be [auto] assert_equals: expected "auto " but got "65px "
-FAIL CSS Transitions with transition: all: property <column-width> from [50px] to [auto] at (0) should be [auto] assert_equals: expected "auto " but got "50px "
-FAIL CSS Transitions with transition: all: property <column-width> from [50px] to [auto] at (0.3) should be [auto] assert_equals: expected "auto " but got "35px "
-FAIL CSS Transitions with transition: all: property <column-width> from [50px] to [auto] at (0.5) should be [auto] assert_equals: expected "auto " but got "25px "
-FAIL CSS Transitions with transition: all: property <column-width> from [50px] to [auto] at (0.6) should be [auto] assert_equals: expected "auto " but got "20px "
-FAIL CSS Transitions with transition: all: property <column-width> from [50px] to [auto] at (1) should be [auto] assert_equals: expected "auto " but got "0px "
-FAIL CSS Transitions with transition: all: property <column-width> from [50px] to [auto] at (1.5) should be [auto] assert_equals: expected "auto " but got "0px "
-FAIL CSS Animations: property <column-width> from [50px] to [auto] at (-0.3) should be [50px] assert_equals: expected "50px " but got "65px "
+PASS CSS Transitions: property <column-width> from [50px] to [auto] at (-0.3) should be [auto]
+PASS CSS Transitions: property <column-width> from [50px] to [auto] at (0) should be [auto]
+PASS CSS Transitions: property <column-width> from [50px] to [auto] at (0.3) should be [auto]
+PASS CSS Transitions: property <column-width> from [50px] to [auto] at (0.5) should be [auto]
+PASS CSS Transitions: property <column-width> from [50px] to [auto] at (0.6) should be [auto]
+PASS CSS Transitions: property <column-width> from [50px] to [auto] at (1) should be [auto]
+PASS CSS Transitions: property <column-width> from [50px] to [auto] at (1.5) should be [auto]
+PASS CSS Transitions with transition: all: property <column-width> from [50px] to [auto] at (-0.3) should be [auto]
+PASS CSS Transitions with transition: all: property <column-width> from [50px] to [auto] at (0) should be [auto]
+PASS CSS Transitions with transition: all: property <column-width> from [50px] to [auto] at (0.3) should be [auto]
+PASS CSS Transitions with transition: all: property <column-width> from [50px] to [auto] at (0.5) should be [auto]
+PASS CSS Transitions with transition: all: property <column-width> from [50px] to [auto] at (0.6) should be [auto]
+PASS CSS Transitions with transition: all: property <column-width> from [50px] to [auto] at (1) should be [auto]
+PASS CSS Transitions with transition: all: property <column-width> from [50px] to [auto] at (1.5) should be [auto]
+PASS CSS Animations: property <column-width> from [50px] to [auto] at (-0.3) should be [50px]
PASS CSS Animations: property <column-width> from [50px] to [auto] at (0) should be [50px]
-FAIL CSS Animations: property <column-width> from [50px] to [auto] at (0.3) should be [50px] assert_equals: expected "50px " but got "35px "
-FAIL CSS Animations: property <column-width> from [50px] to [auto] at (0.5) should be [auto] assert_equals: expected "auto " but got "25px "
-FAIL CSS Animations: property <column-width> from [50px] to [auto] at (0.6) should be [auto] assert_equals: expected "auto " but got "20px "
-FAIL CSS Animations: property <column-width> from [50px] to [auto] at (1) should be [auto] assert_equals: expected "auto " but got "0px "
-FAIL CSS Animations: property <column-width> from [50px] to [auto] at (1.5) should be [auto] assert_equals: expected "auto " but got "0px "
-FAIL Web Animations: property <column-width> from [50px] to [auto] at (-0.3) should be [50px] assert_equals: expected "50px " but got "65px "
+PASS CSS Animations: property <column-width> from [50px] to [auto] at (0.3) should be [50px]
+PASS CSS Animations: property <column-width> from [50px] to [auto] at (0.5) should be [auto]
+PASS CSS Animations: property <column-width> from [50px] to [auto] at (0.6) should be [auto]
+PASS CSS Animations: property <column-width> from [50px] to [auto] at (1) should be [auto]
+PASS CSS Animations: property <column-width> from [50px] to [auto] at (1.5) should be [auto]
+PASS Web Animations: property <column-width> from [50px] to [auto] at (-0.3) should be [50px]
PASS Web Animations: property <column-width> from [50px] to [auto] at (0) should be [50px]
-FAIL Web Animations: property <column-width> from [50px] to [auto] at (0.3) should be [50px] assert_equals: expected "50px " but got "35px "
-FAIL Web Animations: property <column-width> from [50px] to [auto] at (0.5) should be [auto] assert_equals: expected "auto " but got "25px "
-FAIL Web Animations: property <column-width> from [50px] to [auto] at (0.6) should be [auto] assert_equals: expected "auto " but got "20px "
-FAIL Web Animations: property <column-width> from [50px] to [auto] at (1) should be [auto] assert_equals: expected "auto " but got "0px "
-FAIL Web Animations: property <column-width> from [50px] to [auto] at (1.5) should be [auto] assert_equals: expected "auto " but got "0px "
+PASS Web Animations: property <column-width> from [50px] to [auto] at (0.3) should be [50px]
+PASS Web Animations: property <column-width> from [50px] to [auto] at (0.5) should be [auto]
+PASS Web Animations: property <column-width> from [50px] to [auto] at (0.6) should be [auto]
+PASS Web Animations: property <column-width> from [50px] to [auto] at (1) should be [auto]
+PASS Web Animations: property <column-width> from [50px] to [auto] at (1.5) should be [auto]
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt (274146 => 274147)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt 2021-03-09 15:10:00 UTC (rev 274146)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt 2021-03-09 15:51:48 UTC (rev 274147)
@@ -116,7 +116,7 @@
FAIL column-count: positive integer assert_equals: The value should be 3 at 0ms expected "3" but got "2"
PASS column-count (type: discrete) has testAccumulation function
PASS column-count: "10" onto "auto"
-FAIL column-count: "auto" onto "10" assert_equals: The value should be auto at 0ms expected "auto" but got "0"
+PASS column-count: "auto" onto "10"
PASS column-gap (type: length) has testAccumulation function
FAIL column-gap: length assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
FAIL column-gap: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
@@ -144,7 +144,7 @@
FAIL column-width: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
PASS column-width (type: discrete) has testAccumulation function
PASS column-width: "1px" onto "auto"
-FAIL column-width: "auto" onto "1px" assert_equals: The value should be auto at 0ms expected "auto" but got "0px"
+PASS column-width: "auto" onto "1px"
PASS cursor (type: discrete) has testAccumulation function
PASS cursor: "wait" onto "pointer"
PASS cursor: "pointer" onto "wait"
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt (274146 => 274147)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt 2021-03-09 15:10:00 UTC (rev 274146)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt 2021-03-09 15:51:48 UTC (rev 274147)
@@ -116,7 +116,7 @@
FAIL column-count: positive integer assert_equals: The value should be 3 at 0ms expected "3" but got "2"
PASS column-count (type: discrete) has testAddition function
PASS column-count: "10" onto "auto"
-FAIL column-count: "auto" onto "10" assert_equals: The value should be auto at 0ms expected "auto" but got "0"
+PASS column-count: "auto" onto "10"
PASS column-gap (type: length) has testAddition function
FAIL column-gap: length assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
FAIL column-gap: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
@@ -144,7 +144,7 @@
FAIL column-width: length of rem assert_equals: The value should be 20px at 0ms expected "20px" but got "10px"
PASS column-width (type: discrete) has testAddition function
PASS column-width: "1px" onto "auto"
-FAIL column-width: "auto" onto "1px" assert_equals: The value should be auto at 0ms expected "auto" but got "0px"
+PASS column-width: "auto" onto "1px"
PASS cursor (type: discrete) has testAddition function
PASS cursor: "wait" onto "pointer"
PASS cursor: "pointer" onto "wait"
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt (274146 => 274147)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt 2021-03-09 15:10:00 UTC (rev 274146)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt 2021-03-09 15:51:48 UTC (rev 274147)
@@ -136,9 +136,9 @@
PASS column-count (type: positiveInteger) has testInterpolation function
PASS column-count supports animating as a positive integer
PASS column-count (type: discrete) has testInterpolation function
-FAIL column-count uses discrete animation when animating between "auto" and "10" with linear easing assert_equals: The value should be auto at 0ms expected "auto" but got "0"
-FAIL column-count uses discrete animation when animating between "auto" and "10" with effect easing assert_equals: The value should be auto at 0ms expected "auto" but got "0"
-FAIL column-count uses discrete animation when animating between "auto" and "10" with keyframe easing assert_equals: The value should be auto at 0ms expected "auto" but got "0"
+PASS column-count uses discrete animation when animating between "auto" and "10" with linear easing
+PASS column-count uses discrete animation when animating between "auto" and "10" with effect easing
+PASS column-count uses discrete animation when animating between "auto" and "10" with keyframe easing
PASS column-gap (type: length) has testInterpolation function
PASS column-gap supports animating as a length
PASS column-gap supports animating as a length of rem
@@ -168,9 +168,9 @@
PASS column-width supports animating as a length
PASS column-width supports animating as a length of rem
PASS column-width (type: discrete) has testInterpolation function
-FAIL column-width uses discrete animation when animating between "auto" and "1px" with linear easing assert_equals: The value should be auto at 0ms expected "auto" but got "0px"
-FAIL column-width uses discrete animation when animating between "auto" and "1px" with effect easing assert_equals: The value should be auto at 0ms expected "auto" but got "0px"
-FAIL column-width uses discrete animation when animating between "auto" and "1px" with keyframe easing assert_equals: The value should be auto at 0ms expected "auto" but got "0px"
+PASS column-width uses discrete animation when animating between "auto" and "1px" with linear easing
+PASS column-width uses discrete animation when animating between "auto" and "1px" with effect easing
+PASS column-width uses discrete animation when animating between "auto" and "1px" with keyframe easing
PASS cursor (type: discrete) has testInterpolation function
PASS cursor uses discrete animation when animating between "pointer" and "wait" with linear easing
PASS cursor uses discrete animation when animating between "pointer" and "wait" with effect easing
Modified: trunk/Source/WebCore/ChangeLog (274146 => 274147)
--- trunk/Source/WebCore/ChangeLog 2021-03-09 15:10:00 UTC (rev 274146)
+++ trunk/Source/WebCore/ChangeLog 2021-03-09 15:51:48 UTC (rev 274147)
@@ -1,3 +1,23 @@
+2021-03-09 Antoine Quint <[email protected]>
+
+ Correctly blend column-width and column-count CSS properties
+ https://bugs.webkit.org/show_bug.cgi?id=222969
+
+ Reviewed by Antti Koivisto.
+
+ We used to simply blend column-width and column-count as float and unsigned short properties
+ with no minimum value and no accounting for the "auto" value which only blends discretely.
+
+ We generalize some of the code added for the z-index wrapper by creating a new AutoPropertyWrapper
+ which takes into two method arguments for the hasAuto() and setHasAuto() methods on RenderStyle
+ and an optional minimum value, which we set to 0 for column-width, 1 for column-count and don't
+ specify for z-index since it doesn't have a minimum value.
+
+ * animation/CSSPropertyAnimation.cpp:
+ (WebCore::AutoPropertyWrapper::AutoPropertyWrapper):
+ (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
+ (WebCore::ZIndexPropertyWrapper::ZIndexPropertyWrapper): Deleted.
+
2021-03-09 Carlos Garcia Campos <[email protected]>
Suspend widget hierarchy updates while executing node insertion
Modified: trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp (274146 => 274147)
--- trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp 2021-03-09 15:10:00 UTC (rev 274146)
+++ trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp 2021-03-09 15:51:48 UTC (rev 274147)
@@ -1698,34 +1698,47 @@
}
};
-class ZIndexPropertyWrapper : public PropertyWrapper<int> {
+template <typename T>
+class AutoPropertyWrapper : public PropertyWrapper<T> {
WTF_MAKE_FAST_ALLOCATED;
public:
- ZIndexPropertyWrapper()
- : PropertyWrapper<int>(CSSPropertyZIndex, &RenderStyle::specifiedZIndex, &RenderStyle::setSpecifiedZIndex)
+ AutoPropertyWrapper(CSSPropertyID prop, T (RenderStyle::*getter)() const, void (RenderStyle::*setter)(T), bool (RenderStyle::*autoGetter)() const, void (RenderStyle::*autoSetter)(), Optional<T> minValue = WTF::nullopt)
+ : PropertyWrapper<T>(prop, getter, setter)
+ , m_autoGetter(autoGetter)
+ , m_autoSetter(autoSetter)
+ , m_minValue(minValue)
{
}
bool canInterpolate(const RenderStyle* from, const RenderStyle* to) const override
{
- return !from->hasAutoSpecifiedZIndex() && !to->hasAutoSpecifiedZIndex();
+ return !(from->*m_autoGetter)() && !(to->*m_autoGetter)();
}
void blend(const CSSPropertyBlendingClient* anim, RenderStyle* dst, const RenderStyle* from, const RenderStyle* to, double progress) const override
{
- PropertyWrapper::blend(anim, dst, from, to, progress);
+ auto blendedValue = blendFunc(anim, this->value(from), this->value(to), progress);
+ if (this->m_minValue)
+ blendedValue = blendedValue > *this->m_minValue ? blendedValue : *this->m_minValue;
+ (dst->*this->m_setter)(blendedValue);
+
if (canInterpolate(from, to))
return;
ASSERT(!progress || progress == 1.0);
if (!progress) {
- if (from->hasAutoSpecifiedZIndex())
- dst->setHasAutoSpecifiedZIndex();
+ if ((from->*m_autoGetter)())
+ (dst->*m_autoSetter)();
} else {
- if (to->hasAutoSpecifiedZIndex())
- dst->setHasAutoSpecifiedZIndex();
+ if ((to->*m_autoGetter)())
+ (dst->*m_autoSetter)();
}
}
+
+private:
+ bool (RenderStyle::*m_autoGetter)() const;
+ void (RenderStyle::*m_autoSetter)();
+ Optional<T> m_minValue;
};
class NonNegativeFloatPropertyWrapper : public PropertyWrapper<float> {
@@ -1856,11 +1869,11 @@
new PropertyWrapper<unsigned short>(CSSPropertyColumnRuleWidth, &RenderStyle::columnRuleWidth, &RenderStyle::setColumnRuleWidth),
new LengthVariantPropertyWrapper<GapLength>(CSSPropertyColumnGap, &RenderStyle::columnGap, &RenderStyle::setColumnGap),
new LengthVariantPropertyWrapper<GapLength>(CSSPropertyRowGap, &RenderStyle::rowGap, &RenderStyle::setRowGap),
- new PropertyWrapper<unsigned short>(CSSPropertyColumnCount, &RenderStyle::columnCount, &RenderStyle::setColumnCount),
- new NonNegativeFloatPropertyWrapper(CSSPropertyColumnWidth, &RenderStyle::columnWidth, &RenderStyle::setColumnWidth),
+ new AutoPropertyWrapper<unsigned short>(CSSPropertyColumnCount, &RenderStyle::columnCount, &RenderStyle::setColumnCount, &RenderStyle::hasAutoColumnCount, &RenderStyle::setHasAutoColumnCount, 1),
+ new AutoPropertyWrapper<float>(CSSPropertyColumnWidth, &RenderStyle::columnWidth, &RenderStyle::setColumnWidth, &RenderStyle::hasAutoColumnWidth, &RenderStyle::setHasAutoColumnWidth, 0),
new PropertyWrapper<float>(CSSPropertyWebkitBorderHorizontalSpacing, &RenderStyle::horizontalBorderSpacing, &RenderStyle::setHorizontalBorderSpacing),
new PropertyWrapper<float>(CSSPropertyWebkitBorderVerticalSpacing, &RenderStyle::verticalBorderSpacing, &RenderStyle::setVerticalBorderSpacing),
- new ZIndexPropertyWrapper,
+ new AutoPropertyWrapper<int>(CSSPropertyZIndex, &RenderStyle::specifiedZIndex, &RenderStyle::setSpecifiedZIndex, &RenderStyle::hasAutoSpecifiedZIndex, &RenderStyle::setHasAutoSpecifiedZIndex),
new PropertyWrapper<unsigned short>(CSSPropertyOrphans, &RenderStyle::orphans, &RenderStyle::setOrphans),
new PropertyWrapper<unsigned short>(CSSPropertyWidows, &RenderStyle::widows, &RenderStyle::setWidows),
new LengthPropertyWrapper(CSSPropertyLineHeight, &RenderStyle::specifiedLineHeight, &RenderStyle::setLineHeight),
_______________________________________________ webkit-changes mailing list [email protected] https://lists.webkit.org/mailman/listinfo/webkit-changes
