Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-ui/animation/caret-color-interpolation-expected.txt (275091 => 275092)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-ui/animation/caret-color-interpolation-expected.txt 2021-03-26 11:07:44 UTC (rev 275091)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-ui/animation/caret-color-interpolation-expected.txt 2021-03-26 11:16:59 UTC (rev 275092)
@@ -23,84 +23,84 @@
PASS Web Animations: property <caret-color> from neutral to [green] at (0.6) should be [rgb(102, 179, 0)]
PASS Web Animations: property <caret-color> from neutral to [green] at (1) should be [rgb(0, 128, 0)]
PASS Web Animations: property <caret-color> from neutral to [green] at (1.5) should be [rgb(0, 65, 0)]
-FAIL CSS Transitions: property <caret-color> from [initial] to [green] at (-0.3) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgba ( 0 , 0 , 0 , 0 ) "
-FAIL CSS Transitions: property <caret-color> from [initial] to [green] at (0) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgba ( 0 , 0 , 0 , 0 ) "
-FAIL CSS Transitions: property <caret-color> from [initial] to [green] at (0.3) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgba ( 0 , 128 , 0 , 0.3 ) "
-FAIL CSS Transitions: property <caret-color> from [initial] to [green] at (0.5) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgba ( 0 , 128 , 0 , 0.5 ) "
-FAIL CSS Transitions: property <caret-color> from [initial] to [green] at (0.6) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgba ( 0 , 128 , 0 , 0.6 ) "
+PASS CSS Transitions: property <caret-color> from [initial] to [green] at (-0.3) should be [green]
+PASS CSS Transitions: property <caret-color> from [initial] to [green] at (0) should be [green]
+PASS CSS Transitions: property <caret-color> from [initial] to [green] at (0.3) should be [green]
+PASS CSS Transitions: property <caret-color> from [initial] to [green] at (0.5) should be [green]
+PASS CSS Transitions: property <caret-color> from [initial] to [green] at (0.6) should be [green]
PASS CSS Transitions: property <caret-color> from [initial] to [green] at (1) should be [green]
-FAIL CSS Transitions: property <caret-color> from [initial] to [green] at (1.5) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgb ( 0 , 192 , 0 ) "
-FAIL CSS Transitions with transition: all: property <caret-color> from [initial] to [green] at (-0.3) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgba ( 0 , 0 , 0 , 0 ) "
-FAIL CSS Transitions with transition: all: property <caret-color> from [initial] to [green] at (0) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgba ( 0 , 0 , 0 , 0 ) "
-FAIL CSS Transitions with transition: all: property <caret-color> from [initial] to [green] at (0.3) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgba ( 0 , 128 , 0 , 0.3 ) "
-FAIL CSS Transitions with transition: all: property <caret-color> from [initial] to [green] at (0.5) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgba ( 0 , 128 , 0 , 0.5 ) "
-FAIL CSS Transitions with transition: all: property <caret-color> from [initial] to [green] at (0.6) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgba ( 0 , 128 , 0 , 0.6 ) "
+PASS CSS Transitions: property <caret-color> from [initial] to [green] at (1.5) should be [green]
+PASS CSS Transitions with transition: all: property <caret-color> from [initial] to [green] at (-0.3) should be [green]
+PASS CSS Transitions with transition: all: property <caret-color> from [initial] to [green] at (0) should be [green]
+PASS CSS Transitions with transition: all: property <caret-color> from [initial] to [green] at (0.3) should be [green]
+PASS CSS Transitions with transition: all: property <caret-color> from [initial] to [green] at (0.5) should be [green]
+PASS CSS Transitions with transition: all: property <caret-color> from [initial] to [green] at (0.6) should be [green]
PASS CSS Transitions with transition: all: property <caret-color> from [initial] to [green] at (1) should be [green]
-FAIL CSS Transitions with transition: all: property <caret-color> from [initial] to [green] at (1.5) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgb ( 0 , 192 , 0 ) "
-FAIL CSS Animations: property <caret-color> from [initial] to [green] at (-0.3) should be [initial] assert_equals: expected "rgb ( 0 , 0 , 0 ) " but got "rgba ( 0 , 0 , 0 , 0 ) "
-FAIL CSS Animations: property <caret-color> from [initial] to [green] at (0) should be [initial] assert_equals: expected "rgb ( 0 , 0 , 0 ) " but got "rgba ( 0 , 0 , 0 , 0 ) "
-FAIL CSS Animations: property <caret-color> from [initial] to [green] at (0.3) should be [initial] assert_equals: expected "rgb ( 0 , 0 , 0 ) " but got "rgba ( 0 , 128 , 0 , 0.3 ) "
-FAIL CSS Animations: property <caret-color> from [initial] to [green] at (0.5) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgba ( 0 , 128 , 0 , 0.5 ) "
-FAIL CSS Animations: property <caret-color> from [initial] to [green] at (0.6) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgba ( 0 , 128 , 0 , 0.6 ) "
+PASS CSS Transitions with transition: all: property <caret-color> from [initial] to [green] at (1.5) should be [green]
+PASS CSS Animations: property <caret-color> from [initial] to [green] at (-0.3) should be [initial]
+PASS CSS Animations: property <caret-color> from [initial] to [green] at (0) should be [initial]
+PASS CSS Animations: property <caret-color> from [initial] to [green] at (0.3) should be [initial]
+PASS CSS Animations: property <caret-color> from [initial] to [green] at (0.5) should be [green]
+PASS CSS Animations: property <caret-color> from [initial] to [green] at (0.6) should be [green]
PASS CSS Animations: property <caret-color> from [initial] to [green] at (1) should be [green]
-FAIL CSS Animations: property <caret-color> from [initial] to [green] at (1.5) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgb ( 0 , 192 , 0 ) "
-FAIL Web Animations: property <caret-color> from [initial] to [green] at (-0.3) should be [initial] assert_equals: expected "rgb ( 0 , 0 , 0 ) " but got "rgba ( 0 , 0 , 0 , 0 ) "
-FAIL Web Animations: property <caret-color> from [initial] to [green] at (0) should be [initial] assert_equals: expected "rgb ( 0 , 0 , 0 ) " but got "rgba ( 0 , 0 , 0 , 0 ) "
-FAIL Web Animations: property <caret-color> from [initial] to [green] at (0.3) should be [initial] assert_equals: expected "rgb ( 0 , 0 , 0 ) " but got "rgba ( 0 , 128 , 0 , 0.3 ) "
-FAIL Web Animations: property <caret-color> from [initial] to [green] at (0.5) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgba ( 0 , 128 , 0 , 0.5 ) "
-FAIL Web Animations: property <caret-color> from [initial] to [green] at (0.6) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgba ( 0 , 128 , 0 , 0.6 ) "
+PASS CSS Animations: property <caret-color> from [initial] to [green] at (1.5) should be [green]
+PASS Web Animations: property <caret-color> from [initial] to [green] at (-0.3) should be [initial]
+PASS Web Animations: property <caret-color> from [initial] to [green] at (0) should be [initial]
+PASS Web Animations: property <caret-color> from [initial] to [green] at (0.3) should be [initial]
+PASS Web Animations: property <caret-color> from [initial] to [green] at (0.5) should be [green]
+PASS Web Animations: property <caret-color> from [initial] to [green] at (0.6) should be [green]
PASS Web Animations: property <caret-color> from [initial] to [green] at (1) should be [green]
-FAIL Web Animations: property <caret-color> from [initial] to [green] at (1.5) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgb ( 0 , 192 , 0 ) "
-FAIL CSS Transitions: property <caret-color> from [auto] to [green] at (-0.3) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgba ( 0 , 0 , 0 , 0 ) "
-FAIL CSS Transitions: property <caret-color> from [auto] to [green] at (0) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgba ( 0 , 0 , 0 , 0 ) "
-FAIL CSS Transitions: property <caret-color> from [auto] to [green] at (0.3) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgba ( 0 , 128 , 0 , 0.3 ) "
-FAIL CSS Transitions: property <caret-color> from [auto] to [green] at (0.5) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgba ( 0 , 128 , 0 , 0.5 ) "
-FAIL CSS Transitions: property <caret-color> from [auto] to [green] at (0.6) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgba ( 0 , 128 , 0 , 0.6 ) "
+PASS Web Animations: property <caret-color> from [initial] to [green] at (1.5) should be [green]
+PASS CSS Transitions: property <caret-color> from [auto] to [green] at (-0.3) should be [green]
+PASS CSS Transitions: property <caret-color> from [auto] to [green] at (0) should be [green]
+PASS CSS Transitions: property <caret-color> from [auto] to [green] at (0.3) should be [green]
+PASS CSS Transitions: property <caret-color> from [auto] to [green] at (0.5) should be [green]
+PASS CSS Transitions: property <caret-color> from [auto] to [green] at (0.6) should be [green]
PASS CSS Transitions: property <caret-color> from [auto] to [green] at (1) should be [green]
-FAIL CSS Transitions: property <caret-color> from [auto] to [green] at (1.5) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgb ( 0 , 192 , 0 ) "
-FAIL CSS Transitions with transition: all: property <caret-color> from [auto] to [green] at (-0.3) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgba ( 0 , 0 , 0 , 0 ) "
-FAIL CSS Transitions with transition: all: property <caret-color> from [auto] to [green] at (0) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgba ( 0 , 0 , 0 , 0 ) "
-FAIL CSS Transitions with transition: all: property <caret-color> from [auto] to [green] at (0.3) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgba ( 0 , 128 , 0 , 0.3 ) "
-FAIL CSS Transitions with transition: all: property <caret-color> from [auto] to [green] at (0.5) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgba ( 0 , 128 , 0 , 0.5 ) "
-FAIL CSS Transitions with transition: all: property <caret-color> from [auto] to [green] at (0.6) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgba ( 0 , 128 , 0 , 0.6 ) "
+PASS CSS Transitions: property <caret-color> from [auto] to [green] at (1.5) should be [green]
+PASS CSS Transitions with transition: all: property <caret-color> from [auto] to [green] at (-0.3) should be [green]
+PASS CSS Transitions with transition: all: property <caret-color> from [auto] to [green] at (0) should be [green]
+PASS CSS Transitions with transition: all: property <caret-color> from [auto] to [green] at (0.3) should be [green]
+PASS CSS Transitions with transition: all: property <caret-color> from [auto] to [green] at (0.5) should be [green]
+PASS CSS Transitions with transition: all: property <caret-color> from [auto] to [green] at (0.6) should be [green]
PASS CSS Transitions with transition: all: property <caret-color> from [auto] to [green] at (1) should be [green]
-FAIL CSS Transitions with transition: all: property <caret-color> from [auto] to [green] at (1.5) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgb ( 0 , 192 , 0 ) "
-FAIL CSS Animations: property <caret-color> from [auto] to [green] at (-0.3) should be [auto] assert_equals: expected "rgb ( 0 , 0 , 0 ) " but got "rgba ( 0 , 0 , 0 , 0 ) "
-FAIL CSS Animations: property <caret-color> from [auto] to [green] at (0) should be [auto] assert_equals: expected "rgb ( 0 , 0 , 0 ) " but got "rgba ( 0 , 0 , 0 , 0 ) "
-FAIL CSS Animations: property <caret-color> from [auto] to [green] at (0.3) should be [auto] assert_equals: expected "rgb ( 0 , 0 , 0 ) " but got "rgba ( 0 , 128 , 0 , 0.3 ) "
-FAIL CSS Animations: property <caret-color> from [auto] to [green] at (0.5) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgba ( 0 , 128 , 0 , 0.5 ) "
-FAIL CSS Animations: property <caret-color> from [auto] to [green] at (0.6) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgba ( 0 , 128 , 0 , 0.6 ) "
+PASS CSS Transitions with transition: all: property <caret-color> from [auto] to [green] at (1.5) should be [green]
+PASS CSS Animations: property <caret-color> from [auto] to [green] at (-0.3) should be [auto]
+PASS CSS Animations: property <caret-color> from [auto] to [green] at (0) should be [auto]
+PASS CSS Animations: property <caret-color> from [auto] to [green] at (0.3) should be [auto]
+PASS CSS Animations: property <caret-color> from [auto] to [green] at (0.5) should be [green]
+PASS CSS Animations: property <caret-color> from [auto] to [green] at (0.6) should be [green]
PASS CSS Animations: property <caret-color> from [auto] to [green] at (1) should be [green]
-FAIL CSS Animations: property <caret-color> from [auto] to [green] at (1.5) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgb ( 0 , 192 , 0 ) "
-FAIL Web Animations: property <caret-color> from [auto] to [green] at (-0.3) should be [auto] assert_equals: expected "rgb ( 0 , 0 , 0 ) " but got "rgba ( 0 , 0 , 0 , 0 ) "
-FAIL Web Animations: property <caret-color> from [auto] to [green] at (0) should be [auto] assert_equals: expected "rgb ( 0 , 0 , 0 ) " but got "rgba ( 0 , 0 , 0 , 0 ) "
-FAIL Web Animations: property <caret-color> from [auto] to [green] at (0.3) should be [auto] assert_equals: expected "rgb ( 0 , 0 , 0 ) " but got "rgba ( 0 , 128 , 0 , 0.3 ) "
-FAIL Web Animations: property <caret-color> from [auto] to [green] at (0.5) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgba ( 0 , 128 , 0 , 0.5 ) "
-FAIL Web Animations: property <caret-color> from [auto] to [green] at (0.6) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgba ( 0 , 128 , 0 , 0.6 ) "
+PASS CSS Animations: property <caret-color> from [auto] to [green] at (1.5) should be [green]
+PASS Web Animations: property <caret-color> from [auto] to [green] at (-0.3) should be [auto]
+PASS Web Animations: property <caret-color> from [auto] to [green] at (0) should be [auto]
+PASS Web Animations: property <caret-color> from [auto] to [green] at (0.3) should be [auto]
+PASS Web Animations: property <caret-color> from [auto] to [green] at (0.5) should be [green]
+PASS Web Animations: property <caret-color> from [auto] to [green] at (0.6) should be [green]
PASS Web Animations: property <caret-color> from [auto] to [green] at (1) should be [green]
-FAIL Web Animations: property <caret-color> from [auto] to [green] at (1.5) should be [green] assert_equals: expected "rgb ( 0 , 128 , 0 ) " but got "rgb ( 0 , 192 , 0 ) "
-FAIL CSS Transitions: property <caret-color> from [currentColor] to [green] at (-0.3) should be [rgb(0, 0, 0)] assert_equals: expected "rgb ( 0 , 0 , 0 ) " but got "rgba ( 0 , 0 , 0 , 0 ) "
-FAIL CSS Transitions: property <caret-color> from [currentColor] to [green] at (0) should be [rgb(0, 0, 0)] assert_equals: expected "rgb ( 0 , 0 , 0 ) " but got "rgba ( 0 , 0 , 0 , 0 ) "
-FAIL CSS Transitions: property <caret-color> from [currentColor] to [green] at (0.3) should be [rgb(0, 38, 0)] assert_equals: expected "rgb ( 0 , 38 , 0 ) " but got "rgba ( 0 , 128 , 0 , 0.3 ) "
-FAIL CSS Transitions: property <caret-color> from [currentColor] to [green] at (0.6) should be [rgb(0, 77, 0)] assert_equals: expected "rgb ( 0 , 77 , 0 ) " but got "rgba ( 0 , 128 , 0 , 0.6 ) "
+PASS Web Animations: property <caret-color> from [auto] to [green] at (1.5) should be [green]
+PASS CSS Transitions: property <caret-color> from [currentColor] to [green] at (-0.3) should be [rgb(0, 0, 0)]
+PASS CSS Transitions: property <caret-color> from [currentColor] to [green] at (0) should be [rgb(0, 0, 0)]
+PASS CSS Transitions: property <caret-color> from [currentColor] to [green] at (0.3) should be [rgb(0, 38, 0)]
+PASS CSS Transitions: property <caret-color> from [currentColor] to [green] at (0.6) should be [rgb(0, 77, 0)]
PASS CSS Transitions: property <caret-color> from [currentColor] to [green] at (1) should be [rgb(0, 128, 0)]
PASS CSS Transitions: property <caret-color> from [currentColor] to [green] at (1.5) should be [rgb(0, 192, 0)]
-FAIL CSS Transitions with transition: all: property <caret-color> from [currentColor] to [green] at (-0.3) should be [rgb(0, 0, 0)] assert_equals: expected "rgb ( 0 , 0 , 0 ) " but got "rgba ( 0 , 0 , 0 , 0 ) "
-FAIL CSS Transitions with transition: all: property <caret-color> from [currentColor] to [green] at (0) should be [rgb(0, 0, 0)] assert_equals: expected "rgb ( 0 , 0 , 0 ) " but got "rgba ( 0 , 0 , 0 , 0 ) "
-FAIL CSS Transitions with transition: all: property <caret-color> from [currentColor] to [green] at (0.3) should be [rgb(0, 38, 0)] assert_equals: expected "rgb ( 0 , 38 , 0 ) " but got "rgba ( 0 , 128 , 0 , 0.3 ) "
-FAIL CSS Transitions with transition: all: property <caret-color> from [currentColor] to [green] at (0.6) should be [rgb(0, 77, 0)] assert_equals: expected "rgb ( 0 , 77 , 0 ) " but got "rgba ( 0 , 128 , 0 , 0.6 ) "
+PASS CSS Transitions with transition: all: property <caret-color> from [currentColor] to [green] at (-0.3) should be [rgb(0, 0, 0)]
+PASS CSS Transitions with transition: all: property <caret-color> from [currentColor] to [green] at (0) should be [rgb(0, 0, 0)]
+PASS CSS Transitions with transition: all: property <caret-color> from [currentColor] to [green] at (0.3) should be [rgb(0, 38, 0)]
+PASS CSS Transitions with transition: all: property <caret-color> from [currentColor] to [green] at (0.6) should be [rgb(0, 77, 0)]
PASS CSS Transitions with transition: all: property <caret-color> from [currentColor] to [green] at (1) should be [rgb(0, 128, 0)]
PASS CSS Transitions with transition: all: property <caret-color> from [currentColor] to [green] at (1.5) should be [rgb(0, 192, 0)]
-FAIL CSS Animations: property <caret-color> from [currentColor] to [green] at (-0.3) should be [rgb(0, 0, 0)] assert_equals: expected "rgb ( 0 , 0 , 0 ) " but got "rgba ( 0 , 0 , 0 , 0 ) "
-FAIL CSS Animations: property <caret-color> from [currentColor] to [green] at (0) should be [rgb(0, 0, 0)] assert_equals: expected "rgb ( 0 , 0 , 0 ) " but got "rgba ( 0 , 0 , 0 , 0 ) "
-FAIL CSS Animations: property <caret-color> from [currentColor] to [green] at (0.3) should be [rgb(0, 38, 0)] assert_equals: expected "rgb ( 0 , 38 , 0 ) " but got "rgba ( 0 , 128 , 0 , 0.3 ) "
-FAIL CSS Animations: property <caret-color> from [currentColor] to [green] at (0.6) should be [rgb(0, 77, 0)] assert_equals: expected "rgb ( 0 , 77 , 0 ) " but got "rgba ( 0 , 128 , 0 , 0.6 ) "
+PASS CSS Animations: property <caret-color> from [currentColor] to [green] at (-0.3) should be [rgb(0, 0, 0)]
+PASS CSS Animations: property <caret-color> from [currentColor] to [green] at (0) should be [rgb(0, 0, 0)]
+PASS CSS Animations: property <caret-color> from [currentColor] to [green] at (0.3) should be [rgb(0, 38, 0)]
+PASS CSS Animations: property <caret-color> from [currentColor] to [green] at (0.6) should be [rgb(0, 77, 0)]
PASS CSS Animations: property <caret-color> from [currentColor] to [green] at (1) should be [rgb(0, 128, 0)]
PASS CSS Animations: property <caret-color> from [currentColor] to [green] at (1.5) should be [rgb(0, 192, 0)]
-FAIL Web Animations: property <caret-color> from [currentColor] to [green] at (-0.3) should be [rgb(0, 0, 0)] assert_equals: expected "rgb ( 0 , 0 , 0 ) " but got "rgba ( 0 , 0 , 0 , 0 ) "
-FAIL Web Animations: property <caret-color> from [currentColor] to [green] at (0) should be [rgb(0, 0, 0)] assert_equals: expected "rgb ( 0 , 0 , 0 ) " but got "rgba ( 0 , 0 , 0 , 0 ) "
-FAIL Web Animations: property <caret-color> from [currentColor] to [green] at (0.3) should be [rgb(0, 38, 0)] assert_equals: expected "rgb ( 0 , 38 , 0 ) " but got "rgba ( 0 , 128 , 0 , 0.3 ) "
-FAIL Web Animations: property <caret-color> from [currentColor] to [green] at (0.6) should be [rgb(0, 77, 0)] assert_equals: expected "rgb ( 0 , 77 , 0 ) " but got "rgba ( 0 , 128 , 0 , 0.6 ) "
+PASS Web Animations: property <caret-color> from [currentColor] to [green] at (-0.3) should be [rgb(0, 0, 0)]
+PASS Web Animations: property <caret-color> from [currentColor] to [green] at (0) should be [rgb(0, 0, 0)]
+PASS Web Animations: property <caret-color> from [currentColor] to [green] at (0.3) should be [rgb(0, 38, 0)]
+PASS Web Animations: property <caret-color> from [currentColor] to [green] at (0.6) should be [rgb(0, 77, 0)]
PASS Web Animations: property <caret-color> from [currentColor] to [green] at (1) should be [rgb(0, 128, 0)]
PASS Web Animations: property <caret-color> from [currentColor] to [green] at (1.5) should be [rgb(0, 192, 0)]
PASS CSS Transitions: property <caret-color> from [inherit] to [green] at (-0.3) should be [rgb(0, 0, 255)]
Modified: trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp (275091 => 275092)
--- trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp 2021-03-26 11:07:44 UTC (rev 275091)
+++ trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp 2021-03-26 11:16:59 UTC (rev 275092)
@@ -1234,7 +1234,7 @@
enum MaybeInvalidColorTag { MaybeInvalidColor };
-class PropertyWrapperVisitedAffectedColor final : public AnimationPropertyWrapperBase {
+class PropertyWrapperVisitedAffectedColor : public AnimationPropertyWrapperBase {
WTF_MAKE_FAST_ALLOCATED;
public:
PropertyWrapperVisitedAffectedColor(CSSPropertyID property, const Color& (RenderStyle::*getter)() const, void (RenderStyle::*setter)(const Color&), const Color& (RenderStyle::*visitedGetter)() const, void (RenderStyle::*visitedSetter)(const Color&))
@@ -1250,18 +1250,22 @@
{
}
-private:
- bool equals(const RenderStyle* a, const RenderStyle* b) const final
+protected:
+ bool equals(const RenderStyle* a, const RenderStyle* b) const override
{
return m_wrapper->equals(a, b) && m_visitedWrapper->equals(a, b);
}
- void blend(const CSSPropertyBlendingClient* client, RenderStyle* destination, const RenderStyle* from, const RenderStyle* to, double progress) const final
+ void blend(const CSSPropertyBlendingClient* client, RenderStyle* destination, const RenderStyle* from, const RenderStyle* to, double progress) const override
{
m_wrapper->blend(client, destination, from, to, progress);
m_visitedWrapper->blend(client, destination, from, to, progress);
}
+ std::unique_ptr<AnimationPropertyWrapperBase> m_wrapper;
+ std::unique_ptr<AnimationPropertyWrapperBase> m_visitedWrapper;
+
+private:
#if !LOG_DISABLED
void logBlend(const RenderStyle* from, const RenderStyle* to, const RenderStyle* result, double progress) const final
{
@@ -1269,9 +1273,58 @@
m_visitedWrapper->logBlend(from, to, result, progress);
}
#endif
+};
- std::unique_ptr<AnimationPropertyWrapperBase> m_wrapper;
- std::unique_ptr<AnimationPropertyWrapperBase> m_visitedWrapper;
+static bool canInterpolateCaretColor(const RenderStyle* from, const RenderStyle* to, bool visited)
+{
+ if (visited)
+ return !from->hasVisitedLinkAutoCaretColor() && !to->hasVisitedLinkAutoCaretColor();
+ return !from->hasAutoCaretColor() && !to->hasAutoCaretColor();
+}
+
+class CaretColorPropertyWrapper final : public PropertyWrapperVisitedAffectedColor {
+ WTF_MAKE_FAST_ALLOCATED;
+public:
+ CaretColorPropertyWrapper()
+ : PropertyWrapperVisitedAffectedColor(CSSPropertyCaretColor, MaybeInvalidColor, &RenderStyle::caretColor, &RenderStyle::setCaretColor, &RenderStyle::visitedLinkCaretColor, &RenderStyle::setVisitedLinkCaretColor)
+ {
+ }
+
+private:
+ bool equals(const RenderStyle* a, const RenderStyle* b) const final
+ {
+ return a->hasAutoCaretColor() == b->hasAutoCaretColor()
+ && a->hasVisitedLinkAutoCaretColor() == b->hasVisitedLinkAutoCaretColor()
+ && PropertyWrapperVisitedAffectedColor::equals(a, b);
+ }
+
+ bool canInterpolate(const RenderStyle* from, const RenderStyle* to) const final
+ {
+ return canInterpolateCaretColor(from, to, false) || canInterpolateCaretColor(from, to, true);
+ }
+
+ void blend(const CSSPropertyBlendingClient* client, RenderStyle* destination, const RenderStyle* from, const RenderStyle* to, double progress) const final
+ {
+ if (canInterpolateCaretColor(from, to, false))
+ m_wrapper->blend(client, destination, from, to, progress);
+ else {
+ auto* blendingRenderStyle = progress < 0.5 ? from : to;
+ if (blendingRenderStyle->hasAutoCaretColor())
+ destination->setHasAutoCaretColor();
+ else
+ destination->setCaretColor(blendingRenderStyle->caretColor());
+ }
+
+ if (canInterpolateCaretColor(from, to, true))
+ m_visitedWrapper->blend(client, destination, from, to, progress);
+ else {
+ auto* blendingRenderStyle = progress < 0.5 ? from : to;
+ if (blendingRenderStyle->hasVisitedLinkAutoCaretColor())
+ destination->setHasVisitedLinkAutoCaretColor();
+ else
+ destination->setVisitedLinkCaretColor(blendingRenderStyle->visitedLinkCaretColor());
+ }
+ }
};
// Wrapper base class for an animatable property in a FillLayer
@@ -2024,7 +2077,7 @@
new LengthPropertyWrapper(CSSPropertyPaddingTop, &RenderStyle::paddingTop, &RenderStyle::setPaddingTop, { LengthPropertyWrapper::Flags::NegativeLengthsAreInvalid }),
new LengthPropertyWrapper(CSSPropertyPaddingBottom, &RenderStyle::paddingBottom, &RenderStyle::setPaddingBottom, { LengthPropertyWrapper::Flags::NegativeLengthsAreInvalid }),
- new PropertyWrapperVisitedAffectedColor(CSSPropertyCaretColor, &RenderStyle::caretColor, &RenderStyle::setCaretColor, &RenderStyle::visitedLinkCaretColor, &RenderStyle::setVisitedLinkCaretColor),
+ new CaretColorPropertyWrapper,
new PropertyWrapperVisitedAffectedColor(CSSPropertyColor, &RenderStyle::color, &RenderStyle::setColor, &RenderStyle::visitedLinkColor, &RenderStyle::setVisitedLinkColor),