Title: [275202] trunk
Revision
275202
Author
[email protected]
Date
2021-03-30 03:02:28 -0700 (Tue, 30 Mar 2021)

Log Message

Account for "cover" and "contain" when interpolating background-size
https://bugs.webkit.org/show_bug.cgi?id=223879

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Add 40 PASS results for the background-size interpolation test.

* web-platform-tests/css/css-backgrounds/animations/background-size-interpolation-expected.txt:

Source/WebCore:

* animation/CSSPropertyAnimation.cpp:

Modified Paths

Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (275201 => 275202)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2021-03-30 08:51:16 UTC (rev 275201)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2021-03-30 10:02:28 UTC (rev 275202)
@@ -1,3 +1,14 @@
+2021-03-30  Antoine Quint  <[email protected]>
+
+        Account for "cover" and "contain" when interpolating background-size
+        https://bugs.webkit.org/show_bug.cgi?id=223879
+
+        Reviewed by Antti Koivisto.
+
+        Add 40 PASS results for the background-size interpolation test.
+
+        * web-platform-tests/css/css-backgrounds/animations/background-size-interpolation-expected.txt:
+
 2021-03-29  Antoine Quint  <[email protected]>
 
         Enable "hanging" and "each-line" keywords for the text-indent CSS property

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/animations/background-size-interpolation-expected.txt (275201 => 275202)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/animations/background-size-interpolation-expected.txt	2021-03-30 08:51:16 UTC (rev 275201)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/animations/background-size-interpolation-expected.txt	2021-03-30 10:02:28 UTC (rev 275202)
@@ -125,48 +125,48 @@
 PASS CSS Transitions with transition: all: property <background-size> from [0px auto, 0px 0px, contain, cover] to [40px auto, 40px 40px, contain, cover] at (0.75) should be [30px auto, 30px 30px, contain, cover]
 PASS CSS Transitions with transition: all: property <background-size> from [0px auto, 0px 0px, contain, cover] to [40px auto, 40px 40px, contain, cover] at (1) should be [40px auto, 40px 40px, contain, cover]
 PASS CSS Transitions with transition: all: property <background-size> from [0px auto, 0px 0px, contain, cover] to [40px auto, 40px 40px, contain, cover] at (1.25) should be [50px auto, 50px 50px, contain, cover]
-FAIL CSS Animations: property <background-size> from [0px auto, 0px 0px, contain, cover] to [40px auto, 40px 40px, contain, cover] at (-0.25) should be [ 0px auto,  0px  0px, contain, cover] assert_equals: expected "0px , 0px 0px , contain , cover " but got "0px , 0px 0px , auto , auto "
-FAIL CSS Animations: property <background-size> from [0px auto, 0px 0px, contain, cover] to [40px auto, 40px 40px, contain, cover] at (0) should be [ 0px auto,  0px  0px, contain, cover] assert_equals: expected "0px , 0px 0px , contain , cover " but got "0px , 0px 0px , auto , auto "
-FAIL CSS Animations: property <background-size> from [0px auto, 0px 0px, contain, cover] to [40px auto, 40px 40px, contain, cover] at (0.25) should be [10px auto, 10px 10px, contain, cover] assert_equals: expected "10px , 10px 10px , contain , cover " but got "10px , 10px 10px , auto , auto "
-FAIL CSS Animations: property <background-size> from [0px auto, 0px 0px, contain, cover] to [40px auto, 40px 40px, contain, cover] at (0.5) should be [20px auto, 20px 20px, contain, cover] assert_equals: expected "20px , 20px 20px , contain , cover " but got "20px , 20px 20px , auto , auto "
-FAIL CSS Animations: property <background-size> from [0px auto, 0px 0px, contain, cover] to [40px auto, 40px 40px, contain, cover] at (0.75) should be [30px auto, 30px 30px, contain, cover] assert_equals: expected "30px , 30px 30px , contain , cover " but got "30px , 30px 30px , auto , auto "
-FAIL CSS Animations: property <background-size> from [0px auto, 0px 0px, contain, cover] to [40px auto, 40px 40px, contain, cover] at (1) should be [40px auto, 40px 40px, contain, cover] assert_equals: expected "40px , 40px 40px , contain , cover " but got "40px , 40px 40px , auto , auto "
-FAIL CSS Animations: property <background-size> from [0px auto, 0px 0px, contain, cover] to [40px auto, 40px 40px, contain, cover] at (1.25) should be [50px auto, 50px 50px, contain, cover] assert_equals: expected "50px , 50px 50px , contain , cover " but got "50px , 50px 50px , auto , auto "
-FAIL Web Animations: property <background-size> from [0px auto, 0px 0px, contain, cover] to [40px auto, 40px 40px, contain, cover] at (-0.25) should be [ 0px auto,  0px  0px, contain, cover] assert_equals: expected "0px , 0px 0px , contain , cover " but got "0px , 0px 0px , auto , auto "
-FAIL Web Animations: property <background-size> from [0px auto, 0px 0px, contain, cover] to [40px auto, 40px 40px, contain, cover] at (0) should be [ 0px auto,  0px  0px, contain, cover] assert_equals: expected "0px , 0px 0px , contain , cover " but got "0px , 0px 0px , auto , auto "
-FAIL Web Animations: property <background-size> from [0px auto, 0px 0px, contain, cover] to [40px auto, 40px 40px, contain, cover] at (0.25) should be [10px auto, 10px 10px, contain, cover] assert_equals: expected "10px , 10px 10px , contain , cover " but got "10px , 10px 10px , auto , auto "
-FAIL Web Animations: property <background-size> from [0px auto, 0px 0px, contain, cover] to [40px auto, 40px 40px, contain, cover] at (0.5) should be [20px auto, 20px 20px, contain, cover] assert_equals: expected "20px , 20px 20px , contain , cover " but got "20px , 20px 20px , auto , auto "
-FAIL Web Animations: property <background-size> from [0px auto, 0px 0px, contain, cover] to [40px auto, 40px 40px, contain, cover] at (0.75) should be [30px auto, 30px 30px, contain, cover] assert_equals: expected "30px , 30px 30px , contain , cover " but got "30px , 30px 30px , auto , auto "
-FAIL Web Animations: property <background-size> from [0px auto, 0px 0px, contain, cover] to [40px auto, 40px 40px, contain, cover] at (1) should be [40px auto, 40px 40px, contain, cover] assert_equals: expected "40px , 40px 40px , contain , cover " but got "40px , 40px 40px , auto , auto "
-FAIL Web Animations: property <background-size> from [0px auto, 0px 0px, contain, cover] to [40px auto, 40px 40px, contain, cover] at (1.25) should be [50px auto, 50px 50px, contain, cover] assert_equals: expected "50px , 50px 50px , contain , cover " but got "50px , 50px 50px , auto , auto "
-FAIL CSS Transitions: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (-0.3) should be [40px 40px, 40px 40px, cover, contain] assert_equals: expected "40px 40px , 40px 40px , cover , contain " but got "0px 0px , 0px 0px , cover , contain "
-FAIL CSS Transitions: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (0) should be [40px 40px, 40px 40px, cover, contain] assert_equals: expected "40px 40px , 40px 40px , cover , contain " but got "0px 0px , 0px 0px , cover , contain "
-FAIL CSS Transitions: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (0.3) should be [40px 40px, 40px 40px, cover, contain] assert_equals: expected "40px 40px , 40px 40px , cover , contain " but got "12px 12px , 12px 12px , cover , contain "
-FAIL CSS Transitions: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (0.5) should be [40px 40px, 40px 40px, cover, contain] assert_equals: expected "40px 40px , 40px 40px , cover , contain " but got "20px 20px , 20px 20px , cover , contain "
-FAIL CSS Transitions: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (0.6) should be [40px 40px, 40px 40px, cover, contain] assert_equals: expected "40px 40px , 40px 40px , cover , contain " but got "24px 24px , 24px 24px , cover , contain "
+PASS CSS Animations: property <background-size> from [0px auto, 0px 0px, contain, cover] to [40px auto, 40px 40px, contain, cover] at (-0.25) should be [ 0px auto,  0px  0px, contain, cover]
+PASS CSS Animations: property <background-size> from [0px auto, 0px 0px, contain, cover] to [40px auto, 40px 40px, contain, cover] at (0) should be [ 0px auto,  0px  0px, contain, cover]
+PASS CSS Animations: property <background-size> from [0px auto, 0px 0px, contain, cover] to [40px auto, 40px 40px, contain, cover] at (0.25) should be [10px auto, 10px 10px, contain, cover]
+PASS CSS Animations: property <background-size> from [0px auto, 0px 0px, contain, cover] to [40px auto, 40px 40px, contain, cover] at (0.5) should be [20px auto, 20px 20px, contain, cover]
+PASS CSS Animations: property <background-size> from [0px auto, 0px 0px, contain, cover] to [40px auto, 40px 40px, contain, cover] at (0.75) should be [30px auto, 30px 30px, contain, cover]
+PASS CSS Animations: property <background-size> from [0px auto, 0px 0px, contain, cover] to [40px auto, 40px 40px, contain, cover] at (1) should be [40px auto, 40px 40px, contain, cover]
+PASS CSS Animations: property <background-size> from [0px auto, 0px 0px, contain, cover] to [40px auto, 40px 40px, contain, cover] at (1.25) should be [50px auto, 50px 50px, contain, cover]
+PASS Web Animations: property <background-size> from [0px auto, 0px 0px, contain, cover] to [40px auto, 40px 40px, contain, cover] at (-0.25) should be [ 0px auto,  0px  0px, contain, cover]
+PASS Web Animations: property <background-size> from [0px auto, 0px 0px, contain, cover] to [40px auto, 40px 40px, contain, cover] at (0) should be [ 0px auto,  0px  0px, contain, cover]
+PASS Web Animations: property <background-size> from [0px auto, 0px 0px, contain, cover] to [40px auto, 40px 40px, contain, cover] at (0.25) should be [10px auto, 10px 10px, contain, cover]
+PASS Web Animations: property <background-size> from [0px auto, 0px 0px, contain, cover] to [40px auto, 40px 40px, contain, cover] at (0.5) should be [20px auto, 20px 20px, contain, cover]
+PASS Web Animations: property <background-size> from [0px auto, 0px 0px, contain, cover] to [40px auto, 40px 40px, contain, cover] at (0.75) should be [30px auto, 30px 30px, contain, cover]
+PASS Web Animations: property <background-size> from [0px auto, 0px 0px, contain, cover] to [40px auto, 40px 40px, contain, cover] at (1) should be [40px auto, 40px 40px, contain, cover]
+PASS Web Animations: property <background-size> from [0px auto, 0px 0px, contain, cover] to [40px auto, 40px 40px, contain, cover] at (1.25) should be [50px auto, 50px 50px, contain, cover]
+PASS CSS Transitions: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (-0.3) should be [40px 40px, 40px 40px, cover, contain]
+PASS CSS Transitions: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (0) should be [40px 40px, 40px 40px, cover, contain]
+PASS CSS Transitions: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (0.3) should be [40px 40px, 40px 40px, cover, contain]
+PASS CSS Transitions: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (0.5) should be [40px 40px, 40px 40px, cover, contain]
+PASS CSS Transitions: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (0.6) should be [40px 40px, 40px 40px, cover, contain]
 PASS CSS Transitions: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (1) should be [40px 40px, 40px 40px, cover, contain]
-FAIL CSS Transitions: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (1.5) should be [40px 40px, 40px 40px, cover, contain] assert_equals: expected "40px 40px , 40px 40px , cover , contain " but got "60px 60px , 60px 60px , cover , contain "
-FAIL CSS Transitions with transition: all: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (-0.3) should be [40px 40px, 40px 40px, cover, contain] assert_equals: expected "40px 40px , 40px 40px , cover , contain " but got "0px 0px , 0px 0px , cover , contain "
-FAIL CSS Transitions with transition: all: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (0) should be [40px 40px, 40px 40px, cover, contain] assert_equals: expected "40px 40px , 40px 40px , cover , contain " but got "0px 0px , 0px 0px , cover , contain "
-FAIL CSS Transitions with transition: all: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (0.3) should be [40px 40px, 40px 40px, cover, contain] assert_equals: expected "40px 40px , 40px 40px , cover , contain " but got "12px 12px , 12px 12px , cover , contain "
-FAIL CSS Transitions with transition: all: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (0.5) should be [40px 40px, 40px 40px, cover, contain] assert_equals: expected "40px 40px , 40px 40px , cover , contain " but got "20px 20px , 20px 20px , cover , contain "
-FAIL CSS Transitions with transition: all: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (0.6) should be [40px 40px, 40px 40px, cover, contain] assert_equals: expected "40px 40px , 40px 40px , cover , contain " but got "24px 24px , 24px 24px , cover , contain "
+PASS CSS Transitions: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (1.5) should be [40px 40px, 40px 40px, cover, contain]
+PASS CSS Transitions with transition: all: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (-0.3) should be [40px 40px, 40px 40px, cover, contain]
+PASS CSS Transitions with transition: all: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (0) should be [40px 40px, 40px 40px, cover, contain]
+PASS CSS Transitions with transition: all: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (0.3) should be [40px 40px, 40px 40px, cover, contain]
+PASS CSS Transitions with transition: all: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (0.5) should be [40px 40px, 40px 40px, cover, contain]
+PASS CSS Transitions with transition: all: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (0.6) should be [40px 40px, 40px 40px, cover, contain]
 PASS CSS Transitions with transition: all: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (1) should be [40px 40px, 40px 40px, cover, contain]
-FAIL CSS Transitions with transition: all: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (1.5) should be [40px 40px, 40px 40px, cover, contain] assert_equals: expected "40px 40px , 40px 40px , cover , contain " but got "60px 60px , 60px 60px , cover , contain "
-FAIL CSS Animations: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (-0.3) should be [0px 0px, 0px 0px, contain, cover] assert_equals: expected "0px 0px , 0px 0px , contain , cover " but got "0px 0px , 0px 0px , auto , auto "
-FAIL CSS Animations: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (0) should be [0px 0px, 0px 0px, contain, cover] assert_equals: expected "0px 0px , 0px 0px , contain , cover " but got "0px 0px , 0px 0px , auto , auto "
-FAIL CSS Animations: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (0.3) should be [0px 0px, 0px 0px, contain, cover] assert_equals: expected "0px 0px , 0px 0px , contain , cover " but got "12px 12px , 12px 12px , auto , auto "
-FAIL CSS Animations: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (0.5) should be [40px 40px, 40px 40px, cover, contain] assert_equals: expected "40px 40px , 40px 40px , cover , contain " but got "20px 20px , 20px 20px , auto , auto "
-FAIL CSS Animations: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (0.6) should be [40px 40px, 40px 40px, cover, contain] assert_equals: expected "40px 40px , 40px 40px , cover , contain " but got "24px 24px , 24px 24px , auto , auto "
-FAIL CSS Animations: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (1) should be [40px 40px, 40px 40px, cover, contain] assert_equals: expected "40px 40px , 40px 40px , cover , contain " but got "40px 40px , 40px 40px , auto , auto "
-FAIL CSS Animations: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (1.5) should be [40px 40px, 40px 40px, cover, contain] assert_equals: expected "40px 40px , 40px 40px , cover , contain " but got "60px 60px , 60px 60px , auto , auto "
-FAIL Web Animations: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (-0.3) should be [0px 0px, 0px 0px, contain, cover] assert_equals: expected "0px 0px , 0px 0px , contain , cover " but got "0px 0px , 0px 0px , auto , auto "
-FAIL Web Animations: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (0) should be [0px 0px, 0px 0px, contain, cover] assert_equals: expected "0px 0px , 0px 0px , contain , cover " but got "0px 0px , 0px 0px , auto , auto "
-FAIL Web Animations: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (0.3) should be [0px 0px, 0px 0px, contain, cover] assert_equals: expected "0px 0px , 0px 0px , contain , cover " but got "12px 12px , 12px 12px , auto , auto "
-FAIL Web Animations: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (0.5) should be [40px 40px, 40px 40px, cover, contain] assert_equals: expected "40px 40px , 40px 40px , cover , contain " but got "20px 20px , 20px 20px , auto , auto "
-FAIL Web Animations: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (0.6) should be [40px 40px, 40px 40px, cover, contain] assert_equals: expected "40px 40px , 40px 40px , cover , contain " but got "24px 24px , 24px 24px , auto , auto "
-FAIL Web Animations: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (1) should be [40px 40px, 40px 40px, cover, contain] assert_equals: expected "40px 40px , 40px 40px , cover , contain " but got "40px 40px , 40px 40px , auto , auto "
-FAIL Web Animations: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (1.5) should be [40px 40px, 40px 40px, cover, contain] assert_equals: expected "40px 40px , 40px 40px , cover , contain " but got "60px 60px , 60px 60px , auto , auto "
+PASS CSS Transitions with transition: all: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (1.5) should be [40px 40px, 40px 40px, cover, contain]
+PASS CSS Animations: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (-0.3) should be [0px 0px, 0px 0px, contain, cover]
+PASS CSS Animations: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (0) should be [0px 0px, 0px 0px, contain, cover]
+PASS CSS Animations: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (0.3) should be [0px 0px, 0px 0px, contain, cover]
+PASS CSS Animations: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (0.5) should be [40px 40px, 40px 40px, cover, contain]
+PASS CSS Animations: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (0.6) should be [40px 40px, 40px 40px, cover, contain]
+PASS CSS Animations: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (1) should be [40px 40px, 40px 40px, cover, contain]
+PASS CSS Animations: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (1.5) should be [40px 40px, 40px 40px, cover, contain]
+PASS Web Animations: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (-0.3) should be [0px 0px, 0px 0px, contain, cover]
+PASS Web Animations: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (0) should be [0px 0px, 0px 0px, contain, cover]
+PASS Web Animations: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (0.3) should be [0px 0px, 0px 0px, contain, cover]
+PASS Web Animations: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (0.5) should be [40px 40px, 40px 40px, cover, contain]
+PASS Web Animations: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (0.6) should be [40px 40px, 40px 40px, cover, contain]
+PASS Web Animations: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (1) should be [40px 40px, 40px 40px, cover, contain]
+PASS Web Animations: property <background-size> from [0px 0px, 0px 0px, contain, cover] to [40px 40px, 40px 40px, cover, contain] at (1.5) should be [40px 40px, 40px 40px, cover, contain]
 PASS CSS Transitions: property <background-size> from [0px auto, 0px 0px] to [auto 40px, 40px 40px] at (-0.3) should be [auto 40px, 40px 40px]
 PASS CSS Transitions: property <background-size> from [0px auto, 0px 0px] to [auto 40px, 40px 40px] at (0) should be [auto 40px, 40px 40px]
 PASS CSS Transitions: property <background-size> from [0px auto, 0px 0px] to [auto 40px, 40px 40px] at (0.3) should be [auto 40px, 40px 40px]

Modified: trunk/Source/WebCore/ChangeLog (275201 => 275202)


--- trunk/Source/WebCore/ChangeLog	2021-03-30 08:51:16 UTC (rev 275201)
+++ trunk/Source/WebCore/ChangeLog	2021-03-30 10:02:28 UTC (rev 275202)
@@ -1,3 +1,12 @@
+2021-03-30  Antoine Quint  <[email protected]>
+
+        Account for "cover" and "contain" when interpolating background-size
+        https://bugs.webkit.org/show_bug.cgi?id=223879
+
+        Reviewed by Antti Koivisto.
+
+        * animation/CSSPropertyAnimation.cpp:
+
 2021-03-30  Lauro Moura  <[email protected]>
 
         [GTK][WPE] Timeouts on WPT css/css-images ref-tests after updating WPT import

Modified: trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp (275201 => 275202)


--- trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp	2021-03-30 08:51:16 UTC (rev 275201)
+++ trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp	2021-03-30 10:02:28 UTC (rev 275202)
@@ -1626,6 +1626,9 @@
         auto* toLayer = &(to->*m_layersGetter)();
 
         while (fromLayer && toLayer) {
+            if (fromLayer->sizeType() != toLayer->sizeType())
+                return false;
+
             if (!m_fillLayerPropertyWrapper->canInterpolate(fromLayer, toLayer))
                 return false;
 
@@ -1643,6 +1646,7 @@
         auto* dstLayer = &(destination->*m_layersAccessor)();
 
         while (fromLayer && toLayer && dstLayer) {
+            dstLayer->setSizeType((progress ? toLayer : fromLayer)->sizeType());
             m_fillLayerPropertyWrapper->blend(client, dstLayer, fromLayer, toLayer, progress);
             fromLayer = fromLayer->next();
             toLayer = toLayer->next();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to