Diff
Modified: trunk/LayoutTests/ChangeLog (281839 => 281840)
--- trunk/LayoutTests/ChangeLog 2021-09-01 07:55:39 UTC (rev 281839)
+++ trunk/LayoutTests/ChangeLog 2021-09-01 08:35:53 UTC (rev 281840)
@@ -1,3 +1,12 @@
+2021-08-13 Sergio Villar Senin <svil...@igalia.com>
+
+ [css-flexbox] Add initial support for css-align-3 positional alignment properties
+ https://bugs.webkit.org/show_bug.cgi?id=229074
+
+ Reviewed by Simon Fraser.
+
+ * TestExpectations: Unskipped 4 WPT tests that are passing now.
+
2021-08-31 Myles C. Maxfield <mmaxfi...@apple.com>
Import web-platform-tests/css/css-font-loading
Modified: trunk/LayoutTests/TestExpectations (281839 => 281840)
--- trunk/LayoutTests/TestExpectations 2021-09-01 07:55:39 UTC (rev 281839)
+++ trunk/LayoutTests/TestExpectations 2021-09-01 08:35:53 UTC (rev 281840)
@@ -4186,12 +4186,10 @@
webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-002.html [ ImageOnlyFailure ]
webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-003.html [ ImageOnlyFailure ]
webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-004.html [ ImageOnlyFailure ]
-webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-005.html [ ImageOnlyFailure ]
webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-006.html [ ImageOnlyFailure ]
webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-007.html [ ImageOnlyFailure ]
webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-008.html [ ImageOnlyFailure ]
webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-rtl-001.html [ ImageOnlyFailure ]
-webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-rtl-002.html [ ImageOnlyFailure ]
webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-vertWM-001.html [ ImageOnlyFailure ]
webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-vertWM-002.html [ ImageOnlyFailure ]
webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-margin-002.html [ ImageOnlyFailure ]
@@ -4220,8 +4218,6 @@
webkit.org/b/221477 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-justify-content-horiz-006.xhtml [ ImageOnlyFailure ]
webkit.org/b/221477 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-justify-content-vert-006.xhtml [ ImageOnlyFailure ]
webkit.org/b/221477 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-justify-content-wmvert-001.xhtml [ ImageOnlyFailure ]
-webkit.org/b/221477 imported/w3c/web-platform-tests/css/css-flexbox/flexbox_justifycontent-start.html [ ImageOnlyFailure ]
-webkit.org/b/221477 imported/w3c/web-platform-tests/css/css-flexbox/flexbox_justifycontent-start-rtl.html [ ImageOnlyFailure ]
webkit.org/b/221477 imported/w3c/web-platform-tests/css/css-flexbox/flexbox_justifycontent-left-001.html [ ImageOnlyFailure ]
webkit.org/b/221477 imported/w3c/web-platform-tests/css/css-flexbox/flexbox_justifycontent-left-002.html [ ImageOnlyFailure ]
webkit.org/b/221477 imported/w3c/web-platform-tests/css/css-flexbox/flexbox_justifycontent-right-001.html [ ImageOnlyFailure ]
Modified: trunk/LayoutTests/imported/w3c/ChangeLog (281839 => 281840)
--- trunk/LayoutTests/imported/w3c/ChangeLog 2021-09-01 07:55:39 UTC (rev 281839)
+++ trunk/LayoutTests/imported/w3c/ChangeLog 2021-09-01 08:35:53 UTC (rev 281840)
@@ -1,3 +1,20 @@
+2021-08-13 Sergio Villar Senin <svil...@igalia.com>
+
+ [css-flexbox] Add initial support for css-align-3 positional alignment properties
+ https://bugs.webkit.org/show_bug.cgi?id=229074
+
+ Reviewed by Simon Fraser.
+
+ Fixed expectations for 56 subtests that should PASS now instead of FAIL.
+
+ * web-platform-tests/css/css-flexbox/align-content-horiz-001a-expected.txt: Mark 8 subtests as PASS.
+ * web-platform-tests/css/css-flexbox/align-content-horiz-001b-expected.txt: Ditto.
+ * web-platform-tests/css/css-flexbox/align-content-horiz-002-expected.txt: Ditto.
+ * web-platform-tests/css/css-flexbox/align-content-vert-001a-expected.txt: Ditto.
+ * web-platform-tests/css/css-flexbox/align-content-vert-001b-expected.txt: Ditto.
+ * web-platform-tests/css/css-flexbox/align-content-vert-002-expected.txt: Ditto.
+ * web-platform-tests/css/css-flexbox/align-content-wmvert-001-expected.txt: Ditto.
+
2021-08-31 Myles C. Maxfield <mmaxfi...@apple.com>
Import web-platform-tests/css/css-font-loading
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-horiz-001a-expected.txt (281839 => 281840)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-horiz-001a-expected.txt 2021-09-01 07:55:39 UTC (rev 281839)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-horiz-001a-expected.txt 2021-09-01 08:35:53 UTC (rev 281840)
@@ -63,28 +63,12 @@
PASS .flexbox div 62
PASS .flexbox div 63
PASS .flexbox div 64
-FAIL .flexbox div 65 assert_equals:
-<div class="a" data-expected-width="20" data-expected-height="10" data-offset-x="536" data-offset-y="198"></div>
-offsetTop expected 198 but got 8
-FAIL .flexbox div 66 assert_equals:
-<div class="a" data-expected-width="20" data-expected-height="10" data-offset-x="558" data-offset-y="168"></div>
-offsetTop expected 168 but got 8
-FAIL .flexbox div 67 assert_equals:
-<div class="b" data-expected-width="20" data-expected-height="30" data-offset-x="558" data-offset-y="178"><div class="fixedSizeChild" data-expected-width="10" data-expected-height="30" data-offset-x="558" data-offset-y="178"></div></div>
-offsetTop expected 178 but got 18
-FAIL .flexbox div 68 assert_equals:
-<div class="fixedSizeChild" data-expected-width="10" data-expected-height="30" data-offset-x="558" data-offset-y="178"></div>
-offsetTop expected 178 but got 18
-FAIL .flexbox div 69 assert_equals:
-<div class="a" data-expected-width="20" data-expected-height="10" data-offset-x="580" data-offset-y="128"></div>
-offsetTop expected 128 but got 8
-FAIL .flexbox div 70 assert_equals:
-<div class="b" data-expected-width="20" data-expected-height="30" data-offset-x="580" data-offset-y="138"><div class="fixedSizeChild" data-expected-width="10" data-expected-height="30" data-offset-x="580" data-offset-y="138"></div></div>
-offsetTop expected 138 but got 18
-FAIL .flexbox div 71 assert_equals:
-<div class="fixedSizeChild" data-expected-width="10" data-expected-height="30" data-offset-x="580" data-offset-y="138"></div>
-offsetTop expected 138 but got 18
-FAIL .flexbox div 72 assert_equals:
-<div class="c" data-expected-width="20" data-expected-height="40" data-offset-x="580" data-offset-y="168"></div>
-offsetTop expected 168 but got 48
+PASS .flexbox div 65
+PASS .flexbox div 66
+PASS .flexbox div 67
+PASS .flexbox div 68
+PASS .flexbox div 69
+PASS .flexbox div 70
+PASS .flexbox div 71
+PASS .flexbox div 72
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-horiz-001b-expected.txt (281839 => 281840)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-horiz-001b-expected.txt 2021-09-01 07:55:39 UTC (rev 281839)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-horiz-001b-expected.txt 2021-09-01 08:35:53 UTC (rev 281840)
@@ -63,28 +63,12 @@
PASS .flexbox div 62
PASS .flexbox div 63
PASS .flexbox div 64
-FAIL .flexbox div 65 assert_equals:
-<div class="a" data-expected-width="20" data-expected-height="10" data-offset-x="536" data-offset-y="198"></div>
-offsetTop expected 198 but got 8
-FAIL .flexbox div 66 assert_equals:
-<div class="a" data-expected-width="20" data-expected-height="10" data-offset-x="558" data-offset-y="168"></div>
-offsetTop expected 168 but got 8
-FAIL .flexbox div 67 assert_equals:
-<div class="b" data-expected-width="20" data-expected-height="30" data-offset-x="558" data-offset-y="178"><div class="fixedSizeChild" data-expected-width="10" data-expected-height="30" data-offset-x="558" data-offset-y="178"></div></div>
-offsetTop expected 178 but got 18
-FAIL .flexbox div 68 assert_equals:
-<div class="fixedSizeChild" data-expected-width="10" data-expected-height="30" data-offset-x="558" data-offset-y="178"></div>
-offsetTop expected 178 but got 18
-FAIL .flexbox div 69 assert_equals:
-<div class="a" data-expected-width="20" data-expected-height="10" data-offset-x="580" data-offset-y="128"></div>
-offsetTop expected 128 but got 8
-FAIL .flexbox div 70 assert_equals:
-<div class="b" data-expected-width="20" data-expected-height="30" data-offset-x="580" data-offset-y="138"><div class="fixedSizeChild" data-expected-width="10" data-expected-height="30" data-offset-x="580" data-offset-y="138"></div></div>
-offsetTop expected 138 but got 18
-FAIL .flexbox div 71 assert_equals:
-<div class="fixedSizeChild" data-expected-width="10" data-expected-height="30" data-offset-x="580" data-offset-y="138"></div>
-offsetTop expected 138 but got 18
-FAIL .flexbox div 72 assert_equals:
-<div class="c" data-expected-width="20" data-expected-height="40" data-offset-x="580" data-offset-y="168"></div>
-offsetTop expected 168 but got 48
+PASS .flexbox div 65
+PASS .flexbox div 66
+PASS .flexbox div 67
+PASS .flexbox div 68
+PASS .flexbox div 69
+PASS .flexbox div 70
+PASS .flexbox div 71
+PASS .flexbox div 72
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-horiz-002-expected.txt (281839 => 281840)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-horiz-002-expected.txt 2021-09-01 07:55:39 UTC (rev 281839)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-horiz-002-expected.txt 2021-09-01 08:35:53 UTC (rev 281840)
@@ -55,30 +55,14 @@
PASS .flexbox div 54
PASS .flexbox div 55
PASS .flexbox div 56
-FAIL .flexbox div 57 assert_equals:
-<div class="a" data-expected-width="20" data-expected-height="10" data-offset-x="470" data-offset-y="8"></div>
-offsetTop expected 8 but got 198
-FAIL .flexbox div 58 assert_equals:
-<div class="a" data-expected-width="20" data-expected-height="10" data-offset-x="492" data-offset-y="38"></div>
-offsetTop expected 38 but got 198
-FAIL .flexbox div 59 assert_equals:
-<div class="b" data-expected-width="20" data-expected-height="30" data-offset-x="492" data-offset-y="8"><div class="fixedSizeChild" data-expected-width="10" data-expected-height="30" data-offset-x="492" data-offset-y="8"></div></div>
-offsetTop expected 8 but got 168
-FAIL .flexbox div 60 assert_equals:
-<div class="fixedSizeChild" data-expected-width="10" data-expected-height="30" data-offset-x="492" data-offset-y="8"></div>
-offsetTop expected 8 but got 168
-FAIL .flexbox div 61 assert_equals:
-<div class="a" data-expected-width="20" data-expected-height="10" data-offset-x="514" data-offset-y="78"></div>
-offsetTop expected 78 but got 198
-FAIL .flexbox div 62 assert_equals:
-<div class="b" data-expected-width="20" data-expected-height="30" data-offset-x="514" data-offset-y="48"><div class="fixedSizeChild" data-expected-width="10" data-expected-height="30" data-offset-x="514" data-offset-y="48"></div></div>
-offsetTop expected 48 but got 168
-FAIL .flexbox div 63 assert_equals:
-<div class="fixedSizeChild" data-expected-width="10" data-expected-height="30" data-offset-x="514" data-offset-y="48"></div>
-offsetTop expected 48 but got 168
-FAIL .flexbox div 64 assert_equals:
-<div class="c" data-expected-width="20" data-expected-height="40" data-offset-x="514" data-offset-y="8"></div>
-offsetTop expected 8 but got 128
+PASS .flexbox div 57
+PASS .flexbox div 58
+PASS .flexbox div 59
+PASS .flexbox div 60
+PASS .flexbox div 61
+PASS .flexbox div 62
+PASS .flexbox div 63
+PASS .flexbox div 64
PASS .flexbox div 65
PASS .flexbox div 66
PASS .flexbox div 67
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-vert-001a-expected.txt (281839 => 281840)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-vert-001a-expected.txt 2021-09-01 07:55:39 UTC (rev 281839)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-vert-001a-expected.txt 2021-09-01 08:35:53 UTC (rev 281840)
@@ -63,28 +63,12 @@
PASS .flexbox div 62
PASS .flexbox div 63
PASS .flexbox div 64
-FAIL .flexbox div 65 assert_equals:
-<div class="a" data-expected-width="10" data-expected-height="10" data-offset-x="198" data-offset-y="296"></div>
-offsetLeft expected 198 but got 8
-FAIL .flexbox div 66 assert_equals:
-<div class="a" data-expected-width="10" data-expected-height="10" data-offset-x="168" data-offset-y="308"></div>
-offsetLeft expected 168 but got 8
-FAIL .flexbox div 67 assert_equals:
-<div class="b" data-expected-width="30" data-expected-height="10" data-offset-x="178" data-offset-y="308"><div class="fixedSizeChild" data-expected-width="30" data-expected-height="5" data-offset-x="178" data-offset-y="308"></div></div>
-offsetLeft expected 178 but got 18
-FAIL .flexbox div 68 assert_equals:
-<div class="fixedSizeChild" data-expected-width="30" data-expected-height="5" data-offset-x="178" data-offset-y="308"></div>
-offsetLeft expected 178 but got 18
-FAIL .flexbox div 69 assert_equals:
-<div class="a" data-expected-width="10" data-expected-height="10" data-offset-x="128" data-offset-y="320"></div>
-offsetLeft expected 128 but got 8
-FAIL .flexbox div 70 assert_equals:
-<div class="b" data-expected-width="30" data-expected-height="10" data-offset-x="138" data-offset-y="320"><div class="fixedSizeChild" data-expected-width="30" data-expected-height="5" data-offset-x="138" data-offset-y="320"></div></div>
-offsetLeft expected 138 but got 18
-FAIL .flexbox div 71 assert_equals:
-<div class="fixedSizeChild" data-expected-width="30" data-expected-height="5" data-offset-x="138" data-offset-y="320"></div>
-offsetLeft expected 138 but got 18
-FAIL .flexbox div 72 assert_equals:
-<div class="c" data-expected-width="40" data-expected-height="10" data-offset-x="168" data-offset-y="320"></div>
-offsetLeft expected 168 but got 48
+PASS .flexbox div 65
+PASS .flexbox div 66
+PASS .flexbox div 67
+PASS .flexbox div 68
+PASS .flexbox div 69
+PASS .flexbox div 70
+PASS .flexbox div 71
+PASS .flexbox div 72
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-vert-001b-expected.txt (281839 => 281840)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-vert-001b-expected.txt 2021-09-01 07:55:39 UTC (rev 281839)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-vert-001b-expected.txt 2021-09-01 08:35:53 UTC (rev 281840)
@@ -63,28 +63,12 @@
PASS .flexbox div 62
PASS .flexbox div 63
PASS .flexbox div 64
-FAIL .flexbox div 65 assert_equals:
-<div class="a" data-expected-width="10" data-expected-height="10" data-offset-x="198" data-offset-y="296"></div>
-offsetLeft expected 198 but got 8
-FAIL .flexbox div 66 assert_equals:
-<div class="a" data-expected-width="10" data-expected-height="10" data-offset-x="168" data-offset-y="308"></div>
-offsetLeft expected 168 but got 8
-FAIL .flexbox div 67 assert_equals:
-<div class="b" data-expected-width="30" data-expected-height="10" data-offset-x="178" data-offset-y="308"><div class="fixedSizeChild" data-expected-width="30" data-expected-height="5" data-offset-x="178" data-offset-y="308"></div></div>
-offsetLeft expected 178 but got 18
-FAIL .flexbox div 68 assert_equals:
-<div class="fixedSizeChild" data-expected-width="30" data-expected-height="5" data-offset-x="178" data-offset-y="308"></div>
-offsetLeft expected 178 but got 18
-FAIL .flexbox div 69 assert_equals:
-<div class="a" data-expected-width="10" data-expected-height="10" data-offset-x="128" data-offset-y="320"></div>
-offsetLeft expected 128 but got 8
-FAIL .flexbox div 70 assert_equals:
-<div class="b" data-expected-width="30" data-expected-height="10" data-offset-x="138" data-offset-y="320"><div class="fixedSizeChild" data-expected-width="30" data-expected-height="5" data-offset-x="138" data-offset-y="320"></div></div>
-offsetLeft expected 138 but got 18
-FAIL .flexbox div 71 assert_equals:
-<div class="fixedSizeChild" data-expected-width="30" data-expected-height="5" data-offset-x="138" data-offset-y="320"></div>
-offsetLeft expected 138 but got 18
-FAIL .flexbox div 72 assert_equals:
-<div class="c" data-expected-width="40" data-expected-height="10" data-offset-x="168" data-offset-y="320"></div>
-offsetLeft expected 168 but got 48
+PASS .flexbox div 65
+PASS .flexbox div 66
+PASS .flexbox div 67
+PASS .flexbox div 68
+PASS .flexbox div 69
+PASS .flexbox div 70
+PASS .flexbox div 71
+PASS .flexbox div 72
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-vert-002-expected.txt (281839 => 281840)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-vert-002-expected.txt 2021-09-01 07:55:39 UTC (rev 281839)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-vert-002-expected.txt 2021-09-01 08:35:53 UTC (rev 281840)
@@ -55,30 +55,14 @@
PASS .flexbox div 54
PASS .flexbox div 55
PASS .flexbox div 56
-FAIL .flexbox div 57 assert_equals:
-<div class="a" data-expected-width="10" data-expected-height="20" data-offset-x="8" data-offset-y="470"></div>
-offsetLeft expected 8 but got 198
-FAIL .flexbox div 58 assert_equals:
-<div class="a" data-expected-width="10" data-expected-height="20" data-offset-x="38" data-offset-y="492"></div>
-offsetLeft expected 38 but got 198
-FAIL .flexbox div 59 assert_equals:
-<div class="b" data-expected-width="30" data-expected-height="20" data-offset-x="8" data-offset-y="492"><div class="fixedSizeChild" data-expected-width="30" data-expected-height="10" data-offset-x="8" data-offset-y="492"></div></div>
-offsetLeft expected 8 but got 168
-FAIL .flexbox div 60 assert_equals:
-<div class="fixedSizeChild" data-expected-width="30" data-expected-height="10" data-offset-x="8" data-offset-y="492"></div>
-offsetLeft expected 8 but got 168
-FAIL .flexbox div 61 assert_equals:
-<div class="a" data-expected-width="10" data-expected-height="20" data-offset-x="78" data-offset-y="514"></div>
-offsetLeft expected 78 but got 198
-FAIL .flexbox div 62 assert_equals:
-<div class="b" data-expected-width="30" data-expected-height="20" data-offset-x="48" data-offset-y="514"><div class="fixedSizeChild" data-expected-width="30" data-expected-height="10" data-offset-x="48" data-offset-y="514"></div></div>
-offsetLeft expected 48 but got 168
-FAIL .flexbox div 63 assert_equals:
-<div class="fixedSizeChild" data-expected-width="30" data-expected-height="10" data-offset-x="48" data-offset-y="514"></div>
-offsetLeft expected 48 but got 168
-FAIL .flexbox div 64 assert_equals:
-<div class="c" data-expected-width="40" data-expected-height="20" data-offset-x="8" data-offset-y="514"></div>
-offsetLeft expected 8 but got 128
+PASS .flexbox div 57
+PASS .flexbox div 58
+PASS .flexbox div 59
+PASS .flexbox div 60
+PASS .flexbox div 61
+PASS .flexbox div 62
+PASS .flexbox div 63
+PASS .flexbox div 64
PASS .flexbox div 65
PASS .flexbox div 66
PASS .flexbox div 67
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-wmvert-001-expected.txt (281839 => 281840)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-wmvert-001-expected.txt 2021-09-01 07:55:39 UTC (rev 281839)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-wmvert-001-expected.txt 2021-09-01 08:35:53 UTC (rev 281840)
@@ -55,30 +55,14 @@
PASS .flexbox div 54
PASS .flexbox div 55
PASS .flexbox div 56
-FAIL .flexbox div 57 assert_equals:
-<div class="a" data-expected-width="10" data-expected-height="20" data-offset-x="8" data-offset-y="470"></div>
-offsetLeft expected 8 but got 198
-FAIL .flexbox div 58 assert_equals:
-<div class="a" data-expected-width="10" data-expected-height="20" data-offset-x="38" data-offset-y="492"></div>
-offsetLeft expected 38 but got 198
-FAIL .flexbox div 59 assert_equals:
-<div class="b" data-expected-width="30" data-expected-height="20" data-offset-x="8" data-offset-y="492"><div class="fixedSizeChild" data-expected-width="30" data-expected-height="10" data-offset-x="8" data-offset-y="492"></div></div>
-offsetLeft expected 8 but got 168
-FAIL .flexbox div 60 assert_equals:
-<div class="fixedSizeChild" data-expected-width="30" data-expected-height="10" data-offset-x="8" data-offset-y="492"></div>
-offsetLeft expected 8 but got 168
-FAIL .flexbox div 61 assert_equals:
-<div class="a" data-expected-width="10" data-expected-height="20" data-offset-x="78" data-offset-y="514"></div>
-offsetLeft expected 78 but got 198
-FAIL .flexbox div 62 assert_equals:
-<div class="b" data-expected-width="30" data-expected-height="20" data-offset-x="48" data-offset-y="514"><div class="fixedSizeChild" data-expected-width="30" data-expected-height="10" data-offset-x="48" data-offset-y="514"></div></div>
-offsetLeft expected 48 but got 168
-FAIL .flexbox div 63 assert_equals:
-<div class="fixedSizeChild" data-expected-width="30" data-expected-height="10" data-offset-x="48" data-offset-y="514"></div>
-offsetLeft expected 48 but got 168
-FAIL .flexbox div 64 assert_equals:
-<div class="c" data-expected-width="40" data-expected-height="20" data-offset-x="8" data-offset-y="514"></div>
-offsetLeft expected 8 but got 128
+PASS .flexbox div 57
+PASS .flexbox div 58
+PASS .flexbox div 59
+PASS .flexbox div 60
+PASS .flexbox div 61
+PASS .flexbox div 62
+PASS .flexbox div 63
+PASS .flexbox div 64
PASS .flexbox div 65
PASS .flexbox div 66
PASS .flexbox div 67
Modified: trunk/Source/WebCore/ChangeLog (281839 => 281840)
--- trunk/Source/WebCore/ChangeLog 2021-09-01 07:55:39 UTC (rev 281839)
+++ trunk/Source/WebCore/ChangeLog 2021-09-01 08:35:53 UTC (rev 281840)
@@ -1,3 +1,27 @@
+2021-08-13 Sergio Villar Senin <svil...@igalia.com>
+
+ [css-flexbox] Add initial support for css-align-3 positional alignment properties
+ https://bugs.webkit.org/show_bug.cgi?id=229074
+
+ Reviewed by Simon Fraser.
+
+ Added initial support for Start and End positional alignment properties from
+ https://drafts.csswg.org/css-align-3/#positional-values. These two properties
+ align the flex item to be flush with the alignment container's (the flex container)
+ start and end edges in the appropriate axis.
+
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::isColumnOrRowReverse const): New method.
+ (WebCore::initialJustifyContentOffset): Handle Start and End.
+ (WebCore::alignmentOffset): Ditto.
+ (WebCore::RenderFlexibleBox::staticMainAxisPositionForPositionedChild):
+ (WebCore::RenderFlexibleBox::alignmentForChild const):
+ (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
+ (WebCore::RenderFlexibleBox::layoutColumnReverse):
+ (WebCore::initialAlignContentOffset): Handle Start and End.
+ (WebCore::RenderFlexibleBox::alignFlexLines):
+ * rendering/RenderFlexibleBox.h:
+
2021-09-01 Said Abou-Hallawa <s...@apple.com>
[GPU Process](REGRESSION): A detached canvas leaks all the images it draws
Modified: trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp (281839 => 281840)
--- trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp 2021-09-01 07:55:39 UTC (rev 281839)
+++ trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp 2021-09-01 08:35:53 UTC (rev 281840)
@@ -482,6 +482,11 @@
return style().isColumnFlexDirection();
}
+bool RenderFlexibleBox::isColumnOrRowReverse() const
+{
+ return style().flexDirection() == FlexDirection::ColumnReverse || style().flexDirection() == FlexDirection::RowReverse;
+}
+
bool RenderFlexibleBox::isHorizontalFlow() const
{
if (isHorizontalWritingMode())
@@ -1493,9 +1498,11 @@
return !totalViolation;
}
-static LayoutUnit initialJustifyContentOffset(LayoutUnit availableFreeSpace, ContentPosition justifyContent, ContentDistribution justifyContentDistribution, unsigned numberOfChildren)
+static LayoutUnit initialJustifyContentOffset(LayoutUnit availableFreeSpace, ContentPosition justifyContent, ContentDistribution justifyContentDistribution, unsigned numberOfChildren, bool isReversed)
{
- if (justifyContent == ContentPosition::FlexEnd)
+ if (justifyContent == ContentPosition::FlexEnd
+ || (justifyContent == ContentPosition::End && !isReversed)
+ || (justifyContent == ContentPosition::Start && isReversed))
return availableFreeSpace;
if (justifyContent == ContentPosition::Center)
return availableFreeSpace / 2;
@@ -1535,6 +1542,10 @@
case ItemPosition::Normal:
ASSERT_NOT_REACHED();
break;
+ case ItemPosition::Start:
+ case ItemPosition::End:
+ ASSERT_NOT_REACHED("%u alignmentForChild should have transformed this position value to something we handle below.", static_cast<uint8_t>(position));
+ break;
case ItemPosition::Stretch:
// Actual stretching must be handled by the caller. Since wrap-reverse
// flips cross start and cross end, stretch children should be aligned
@@ -1559,12 +1570,9 @@
case ItemPosition::LastBaseline:
case ItemPosition::SelfStart:
case ItemPosition::SelfEnd:
- case ItemPosition::Start:
- case ItemPosition::End:
case ItemPosition::Left:
case ItemPosition::Right:
- // FIXME: Implement the extended grammar, enabled when the Grid Layout
- // feature was enabled by default.
+ // FIXME: Implement last baseline.
break;
}
return 0;
@@ -1584,8 +1592,9 @@
ContentPosition position = style().resolvedJustifyContentPosition(contentAlignmentNormalBehavior());
ContentDistribution distribution = style().resolvedJustifyContentDistribution(contentAlignmentNormalBehavior());
- LayoutUnit offset = initialJustifyContentOffset(availableSpace, position, distribution, 1);
- if (style().flexDirection() == FlexDirection::RowReverse || style().flexDirection() == FlexDirection::ColumnReverse)
+ auto isReverse = isColumnOrRowReverse();
+ LayoutUnit offset = initialJustifyContentOffset(availableSpace, position, distribution, 1, isReverse);
+ if (isReverse)
offset = availableSpace - offset;
return offset;
}
@@ -1679,6 +1688,15 @@
if (align == ItemPosition::Baseline && !mainAxisIsChildInlineAxis(child))
align = ItemPosition::FlexStart;
+ // We can safely return here because start/end are not affected by a reversed flex-wrap because the
+ // alignment container is the flex line, and in a wrap reversed flex container the start and end within
+ // a flex line are still the same. Contrary to this flex-start/flex-end depend on the flex container
+ // start/end edges which are flipped in the case of wrap-reverse.
+ if (align == ItemPosition::Start)
+ return ItemPosition::FlexStart;
+ if (align == ItemPosition::End)
+ return ItemPosition::FlexEnd;
+
if (style().flexWrap() == FlexWrap::Reverse) {
if (align == ItemPosition::FlexStart)
align = ItemPosition::FlexEnd;
@@ -1812,7 +1830,7 @@
LayoutUnit autoMarginOffset = autoMarginOffsetInMainAxis(children, availableFreeSpace);
LayoutUnit mainAxisOffset = flowAwareBorderStart() + flowAwarePaddingStart();
- mainAxisOffset += initialJustifyContentOffset(availableFreeSpace, position, distribution, children.size());
+ mainAxisOffset += initialJustifyContentOffset(availableFreeSpace, position, distribution, children.size(), isColumnOrRowReverse());
if (style().flexDirection() == FlexDirection::RowReverse)
mainAxisOffset += isHorizontalFlow() ? verticalScrollbarWidth() : horizontalScrollbarHeight();
@@ -1920,7 +1938,7 @@
// the children starting from the end of the flexbox. We also don't need to
// layout anything since we're just moving the children to a new position.
LayoutUnit mainAxisOffset = logicalHeight() - flowAwareBorderEnd() - flowAwarePaddingEnd();
- mainAxisOffset -= initialJustifyContentOffset(availableFreeSpace, position, distribution, children.size());
+ mainAxisOffset -= initialJustifyContentOffset(availableFreeSpace, position, distribution, children.size(), isColumnOrRowReverse());
mainAxisOffset -= isHorizontalFlow() ? verticalScrollbarWidth() : horizontalScrollbarHeight();
for (size_t i = 0; i < children.size(); ++i) {
@@ -1933,9 +1951,11 @@
}
}
-static LayoutUnit initialAlignContentOffset(LayoutUnit availableFreeSpace, ContentPosition alignContent, ContentDistribution alignContentDistribution, unsigned numberOfLines)
+static LayoutUnit initialAlignContentOffset(LayoutUnit availableFreeSpace, ContentPosition alignContent, ContentDistribution alignContentDistribution, unsigned numberOfLines, bool isReversed)
{
- if (alignContent == ContentPosition::FlexEnd)
+ if (alignContent == ContentPosition::FlexEnd
+ || (alignContent == ContentPosition::End && !isReversed)
+ || (alignContent == ContentPosition::Start && isReversed))
return availableFreeSpace;
if (alignContent == ContentPosition::Center)
return availableFreeSpace / 2;
@@ -1983,7 +2003,7 @@
for (size_t i = 0; i < numLines; ++i)
availableCrossAxisSpace -= lineContexts[i].crossAxisExtent;
- LayoutUnit lineOffset = initialAlignContentOffset(availableCrossAxisSpace, position, distribution, numLines);
+ LayoutUnit lineOffset = initialAlignContentOffset(availableCrossAxisSpace, position, distribution, numLines, style().flexWrap() == FlexWrap::Reverse);
for (unsigned lineNumber = 0; lineNumber < numLines; ++lineNumber) {
LineContext& lineContext = lineContexts[lineNumber];
lineContext.crossAxisOffset += lineOffset;
Modified: trunk/Source/WebCore/rendering/RenderFlexibleBox.h (281839 => 281840)
--- trunk/Source/WebCore/rendering/RenderFlexibleBox.h 2021-09-01 07:55:39 UTC (rev 281839)
+++ trunk/Source/WebCore/rendering/RenderFlexibleBox.h 2021-09-01 08:35:53 UTC (rev 281840)
@@ -109,6 +109,7 @@
bool mainAxisIsChildInlineAxis(const RenderBox&) const;
bool isColumnFlow() const;
+ bool isColumnOrRowReverse() const;
bool isLeftToRightFlow() const;
bool isMultiline() const;
Length flexBasisForChild(const RenderBox& child) const;