Changeset 281840 in webkit
- Timestamp:
- Sep 1, 2021 1:35:53 AM (11 months ago)
- Location:
- trunk
- Files:
-
- 13 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/TestExpectations (modified) (2 diffs)
-
LayoutTests/imported/w3c/ChangeLog (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-horiz-001a-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-horiz-001b-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-horiz-002-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-vert-001a-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-vert-001b-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-vert-002-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-wmvert-001-expected.txt (modified) (1 diff)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/rendering/RenderFlexibleBox.cpp (modified) (10 diffs)
-
Source/WebCore/rendering/RenderFlexibleBox.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r281836 r281840 1 2021-08-13 Sergio Villar Senin <svillar@igalia.com> 2 3 [css-flexbox] Add initial support for css-align-3 positional alignment properties 4 https://bugs.webkit.org/show_bug.cgi?id=229074 5 6 Reviewed by Simon Fraser. 7 8 * TestExpectations: Unskipped 4 WPT tests that are passing now. 9 1 10 2021-08-31 Myles C. Maxfield <mmaxfield@apple.com> 2 11 -
trunk/LayoutTests/TestExpectations
r281836 r281840 4187 4187 webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-003.html [ ImageOnlyFailure ] 4188 4188 webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-004.html [ ImageOnlyFailure ] 4189 webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-005.html [ ImageOnlyFailure ]4190 4189 webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-006.html [ ImageOnlyFailure ] 4191 4190 webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-007.html [ ImageOnlyFailure ] 4192 4191 webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-008.html [ ImageOnlyFailure ] 4193 4192 webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-rtl-001.html [ ImageOnlyFailure ] 4194 webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-rtl-002.html [ ImageOnlyFailure ]4195 4193 webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-vertWM-001.html [ ImageOnlyFailure ] 4196 4194 webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-vertWM-002.html [ ImageOnlyFailure ] … … 4221 4219 webkit.org/b/221477 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-justify-content-vert-006.xhtml [ ImageOnlyFailure ] 4222 4220 webkit.org/b/221477 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-justify-content-wmvert-001.xhtml [ ImageOnlyFailure ] 4223 webkit.org/b/221477 imported/w3c/web-platform-tests/css/css-flexbox/flexbox_justifycontent-start.html [ ImageOnlyFailure ]4224 webkit.org/b/221477 imported/w3c/web-platform-tests/css/css-flexbox/flexbox_justifycontent-start-rtl.html [ ImageOnlyFailure ]4225 4221 webkit.org/b/221477 imported/w3c/web-platform-tests/css/css-flexbox/flexbox_justifycontent-left-001.html [ ImageOnlyFailure ] 4226 4222 webkit.org/b/221477 imported/w3c/web-platform-tests/css/css-flexbox/flexbox_justifycontent-left-002.html [ ImageOnlyFailure ] -
trunk/LayoutTests/imported/w3c/ChangeLog
r281836 r281840 1 2021-08-13 Sergio Villar Senin <svillar@igalia.com> 2 3 [css-flexbox] Add initial support for css-align-3 positional alignment properties 4 https://bugs.webkit.org/show_bug.cgi?id=229074 5 6 Reviewed by Simon Fraser. 7 8 Fixed expectations for 56 subtests that should PASS now instead of FAIL. 9 10 * web-platform-tests/css/css-flexbox/align-content-horiz-001a-expected.txt: Mark 8 subtests as PASS. 11 * web-platform-tests/css/css-flexbox/align-content-horiz-001b-expected.txt: Ditto. 12 * web-platform-tests/css/css-flexbox/align-content-horiz-002-expected.txt: Ditto. 13 * web-platform-tests/css/css-flexbox/align-content-vert-001a-expected.txt: Ditto. 14 * web-platform-tests/css/css-flexbox/align-content-vert-001b-expected.txt: Ditto. 15 * web-platform-tests/css/css-flexbox/align-content-vert-002-expected.txt: Ditto. 16 * web-platform-tests/css/css-flexbox/align-content-wmvert-001-expected.txt: Ditto. 17 1 18 2021-08-31 Myles C. Maxfield <mmaxfield@apple.com> 2 19 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-horiz-001a-expected.txt
r272644 r281840 64 64 PASS .flexbox div 63 65 65 PASS .flexbox div 64 66 FAIL .flexbox div 65 assert_equals: 67 <div class="a" data-expected-width="20" data-expected-height="10" data-offset-x="536" data-offset-y="198"></div> 68 offsetTop expected 198 but got 8 69 FAIL .flexbox div 66 assert_equals: 70 <div class="a" data-expected-width="20" data-expected-height="10" data-offset-x="558" data-offset-y="168"></div> 71 offsetTop expected 168 but got 8 72 FAIL .flexbox div 67 assert_equals: 73 <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> 74 offsetTop expected 178 but got 18 75 FAIL .flexbox div 68 assert_equals: 76 <div class="fixedSizeChild" data-expected-width="10" data-expected-height="30" data-offset-x="558" data-offset-y="178"></div> 77 offsetTop expected 178 but got 18 78 FAIL .flexbox div 69 assert_equals: 79 <div class="a" data-expected-width="20" data-expected-height="10" data-offset-x="580" data-offset-y="128"></div> 80 offsetTop expected 128 but got 8 81 FAIL .flexbox div 70 assert_equals: 82 <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> 83 offsetTop expected 138 but got 18 84 FAIL .flexbox div 71 assert_equals: 85 <div class="fixedSizeChild" data-expected-width="10" data-expected-height="30" data-offset-x="580" data-offset-y="138"></div> 86 offsetTop expected 138 but got 18 87 FAIL .flexbox div 72 assert_equals: 88 <div class="c" data-expected-width="20" data-expected-height="40" data-offset-x="580" data-offset-y="168"></div> 89 offsetTop expected 168 but got 48 66 PASS .flexbox div 65 67 PASS .flexbox div 66 68 PASS .flexbox div 67 69 PASS .flexbox div 68 70 PASS .flexbox div 69 71 PASS .flexbox div 70 72 PASS .flexbox div 71 73 PASS .flexbox div 72 90 74 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-horiz-001b-expected.txt
r272644 r281840 64 64 PASS .flexbox div 63 65 65 PASS .flexbox div 64 66 FAIL .flexbox div 65 assert_equals: 67 <div class="a" data-expected-width="20" data-expected-height="10" data-offset-x="536" data-offset-y="198"></div> 68 offsetTop expected 198 but got 8 69 FAIL .flexbox div 66 assert_equals: 70 <div class="a" data-expected-width="20" data-expected-height="10" data-offset-x="558" data-offset-y="168"></div> 71 offsetTop expected 168 but got 8 72 FAIL .flexbox div 67 assert_equals: 73 <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> 74 offsetTop expected 178 but got 18 75 FAIL .flexbox div 68 assert_equals: 76 <div class="fixedSizeChild" data-expected-width="10" data-expected-height="30" data-offset-x="558" data-offset-y="178"></div> 77 offsetTop expected 178 but got 18 78 FAIL .flexbox div 69 assert_equals: 79 <div class="a" data-expected-width="20" data-expected-height="10" data-offset-x="580" data-offset-y="128"></div> 80 offsetTop expected 128 but got 8 81 FAIL .flexbox div 70 assert_equals: 82 <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> 83 offsetTop expected 138 but got 18 84 FAIL .flexbox div 71 assert_equals: 85 <div class="fixedSizeChild" data-expected-width="10" data-expected-height="30" data-offset-x="580" data-offset-y="138"></div> 86 offsetTop expected 138 but got 18 87 FAIL .flexbox div 72 assert_equals: 88 <div class="c" data-expected-width="20" data-expected-height="40" data-offset-x="580" data-offset-y="168"></div> 89 offsetTop expected 168 but got 48 66 PASS .flexbox div 65 67 PASS .flexbox div 66 68 PASS .flexbox div 67 69 PASS .flexbox div 68 70 PASS .flexbox div 69 71 PASS .flexbox div 70 72 PASS .flexbox div 71 73 PASS .flexbox div 72 90 74 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-horiz-002-expected.txt
r272644 r281840 56 56 PASS .flexbox div 55 57 57 PASS .flexbox div 56 58 FAIL .flexbox div 57 assert_equals: 59 <div class="a" data-expected-width="20" data-expected-height="10" data-offset-x="470" data-offset-y="8"></div> 60 offsetTop expected 8 but got 198 61 FAIL .flexbox div 58 assert_equals: 62 <div class="a" data-expected-width="20" data-expected-height="10" data-offset-x="492" data-offset-y="38"></div> 63 offsetTop expected 38 but got 198 64 FAIL .flexbox div 59 assert_equals: 65 <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> 66 offsetTop expected 8 but got 168 67 FAIL .flexbox div 60 assert_equals: 68 <div class="fixedSizeChild" data-expected-width="10" data-expected-height="30" data-offset-x="492" data-offset-y="8"></div> 69 offsetTop expected 8 but got 168 70 FAIL .flexbox div 61 assert_equals: 71 <div class="a" data-expected-width="20" data-expected-height="10" data-offset-x="514" data-offset-y="78"></div> 72 offsetTop expected 78 but got 198 73 FAIL .flexbox div 62 assert_equals: 74 <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> 75 offsetTop expected 48 but got 168 76 FAIL .flexbox div 63 assert_equals: 77 <div class="fixedSizeChild" data-expected-width="10" data-expected-height="30" data-offset-x="514" data-offset-y="48"></div> 78 offsetTop expected 48 but got 168 79 FAIL .flexbox div 64 assert_equals: 80 <div class="c" data-expected-width="20" data-expected-height="40" data-offset-x="514" data-offset-y="8"></div> 81 offsetTop expected 8 but got 128 58 PASS .flexbox div 57 59 PASS .flexbox div 58 60 PASS .flexbox div 59 61 PASS .flexbox div 60 62 PASS .flexbox div 61 63 PASS .flexbox div 62 64 PASS .flexbox div 63 65 PASS .flexbox div 64 82 66 PASS .flexbox div 65 83 67 PASS .flexbox div 66 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-vert-001a-expected.txt
r272644 r281840 64 64 PASS .flexbox div 63 65 65 PASS .flexbox div 64 66 FAIL .flexbox div 65 assert_equals: 67 <div class="a" data-expected-width="10" data-expected-height="10" data-offset-x="198" data-offset-y="296"></div> 68 offsetLeft expected 198 but got 8 69 FAIL .flexbox div 66 assert_equals: 70 <div class="a" data-expected-width="10" data-expected-height="10" data-offset-x="168" data-offset-y="308"></div> 71 offsetLeft expected 168 but got 8 72 FAIL .flexbox div 67 assert_equals: 73 <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> 74 offsetLeft expected 178 but got 18 75 FAIL .flexbox div 68 assert_equals: 76 <div class="fixedSizeChild" data-expected-width="30" data-expected-height="5" data-offset-x="178" data-offset-y="308"></div> 77 offsetLeft expected 178 but got 18 78 FAIL .flexbox div 69 assert_equals: 79 <div class="a" data-expected-width="10" data-expected-height="10" data-offset-x="128" data-offset-y="320"></div> 80 offsetLeft expected 128 but got 8 81 FAIL .flexbox div 70 assert_equals: 82 <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> 83 offsetLeft expected 138 but got 18 84 FAIL .flexbox div 71 assert_equals: 85 <div class="fixedSizeChild" data-expected-width="30" data-expected-height="5" data-offset-x="138" data-offset-y="320"></div> 86 offsetLeft expected 138 but got 18 87 FAIL .flexbox div 72 assert_equals: 88 <div class="c" data-expected-width="40" data-expected-height="10" data-offset-x="168" data-offset-y="320"></div> 89 offsetLeft expected 168 but got 48 66 PASS .flexbox div 65 67 PASS .flexbox div 66 68 PASS .flexbox div 67 69 PASS .flexbox div 68 70 PASS .flexbox div 69 71 PASS .flexbox div 70 72 PASS .flexbox div 71 73 PASS .flexbox div 72 90 74 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-vert-001b-expected.txt
r272644 r281840 64 64 PASS .flexbox div 63 65 65 PASS .flexbox div 64 66 FAIL .flexbox div 65 assert_equals: 67 <div class="a" data-expected-width="10" data-expected-height="10" data-offset-x="198" data-offset-y="296"></div> 68 offsetLeft expected 198 but got 8 69 FAIL .flexbox div 66 assert_equals: 70 <div class="a" data-expected-width="10" data-expected-height="10" data-offset-x="168" data-offset-y="308"></div> 71 offsetLeft expected 168 but got 8 72 FAIL .flexbox div 67 assert_equals: 73 <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> 74 offsetLeft expected 178 but got 18 75 FAIL .flexbox div 68 assert_equals: 76 <div class="fixedSizeChild" data-expected-width="30" data-expected-height="5" data-offset-x="178" data-offset-y="308"></div> 77 offsetLeft expected 178 but got 18 78 FAIL .flexbox div 69 assert_equals: 79 <div class="a" data-expected-width="10" data-expected-height="10" data-offset-x="128" data-offset-y="320"></div> 80 offsetLeft expected 128 but got 8 81 FAIL .flexbox div 70 assert_equals: 82 <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> 83 offsetLeft expected 138 but got 18 84 FAIL .flexbox div 71 assert_equals: 85 <div class="fixedSizeChild" data-expected-width="30" data-expected-height="5" data-offset-x="138" data-offset-y="320"></div> 86 offsetLeft expected 138 but got 18 87 FAIL .flexbox div 72 assert_equals: 88 <div class="c" data-expected-width="40" data-expected-height="10" data-offset-x="168" data-offset-y="320"></div> 89 offsetLeft expected 168 but got 48 66 PASS .flexbox div 65 67 PASS .flexbox div 66 68 PASS .flexbox div 67 69 PASS .flexbox div 68 70 PASS .flexbox div 69 71 PASS .flexbox div 70 72 PASS .flexbox div 71 73 PASS .flexbox div 72 90 74 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-vert-002-expected.txt
r272644 r281840 56 56 PASS .flexbox div 55 57 57 PASS .flexbox div 56 58 FAIL .flexbox div 57 assert_equals: 59 <div class="a" data-expected-width="10" data-expected-height="20" data-offset-x="8" data-offset-y="470"></div> 60 offsetLeft expected 8 but got 198 61 FAIL .flexbox div 58 assert_equals: 62 <div class="a" data-expected-width="10" data-expected-height="20" data-offset-x="38" data-offset-y="492"></div> 63 offsetLeft expected 38 but got 198 64 FAIL .flexbox div 59 assert_equals: 65 <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> 66 offsetLeft expected 8 but got 168 67 FAIL .flexbox div 60 assert_equals: 68 <div class="fixedSizeChild" data-expected-width="30" data-expected-height="10" data-offset-x="8" data-offset-y="492"></div> 69 offsetLeft expected 8 but got 168 70 FAIL .flexbox div 61 assert_equals: 71 <div class="a" data-expected-width="10" data-expected-height="20" data-offset-x="78" data-offset-y="514"></div> 72 offsetLeft expected 78 but got 198 73 FAIL .flexbox div 62 assert_equals: 74 <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> 75 offsetLeft expected 48 but got 168 76 FAIL .flexbox div 63 assert_equals: 77 <div class="fixedSizeChild" data-expected-width="30" data-expected-height="10" data-offset-x="48" data-offset-y="514"></div> 78 offsetLeft expected 48 but got 168 79 FAIL .flexbox div 64 assert_equals: 80 <div class="c" data-expected-width="40" data-expected-height="20" data-offset-x="8" data-offset-y="514"></div> 81 offsetLeft expected 8 but got 128 58 PASS .flexbox div 57 59 PASS .flexbox div 58 60 PASS .flexbox div 59 61 PASS .flexbox div 60 62 PASS .flexbox div 61 63 PASS .flexbox div 62 64 PASS .flexbox div 63 65 PASS .flexbox div 64 82 66 PASS .flexbox div 65 83 67 PASS .flexbox div 66 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/align-content-wmvert-001-expected.txt
r272644 r281840 56 56 PASS .flexbox div 55 57 57 PASS .flexbox div 56 58 FAIL .flexbox div 57 assert_equals: 59 <div class="a" data-expected-width="10" data-expected-height="20" data-offset-x="8" data-offset-y="470"></div> 60 offsetLeft expected 8 but got 198 61 FAIL .flexbox div 58 assert_equals: 62 <div class="a" data-expected-width="10" data-expected-height="20" data-offset-x="38" data-offset-y="492"></div> 63 offsetLeft expected 38 but got 198 64 FAIL .flexbox div 59 assert_equals: 65 <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> 66 offsetLeft expected 8 but got 168 67 FAIL .flexbox div 60 assert_equals: 68 <div class="fixedSizeChild" data-expected-width="30" data-expected-height="10" data-offset-x="8" data-offset-y="492"></div> 69 offsetLeft expected 8 but got 168 70 FAIL .flexbox div 61 assert_equals: 71 <div class="a" data-expected-width="10" data-expected-height="20" data-offset-x="78" data-offset-y="514"></div> 72 offsetLeft expected 78 but got 198 73 FAIL .flexbox div 62 assert_equals: 74 <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> 75 offsetLeft expected 48 but got 168 76 FAIL .flexbox div 63 assert_equals: 77 <div class="fixedSizeChild" data-expected-width="30" data-expected-height="10" data-offset-x="48" data-offset-y="514"></div> 78 offsetLeft expected 48 but got 168 79 FAIL .flexbox div 64 assert_equals: 80 <div class="c" data-expected-width="40" data-expected-height="20" data-offset-x="8" data-offset-y="514"></div> 81 offsetLeft expected 8 but got 128 58 PASS .flexbox div 57 59 PASS .flexbox div 58 60 PASS .flexbox div 59 61 PASS .flexbox div 60 62 PASS .flexbox div 61 63 PASS .flexbox div 62 64 PASS .flexbox div 63 65 PASS .flexbox div 64 82 66 PASS .flexbox div 65 83 67 PASS .flexbox div 66 -
trunk/Source/WebCore/ChangeLog
r281839 r281840 1 2021-08-13 Sergio Villar Senin <svillar@igalia.com> 2 3 [css-flexbox] Add initial support for css-align-3 positional alignment properties 4 https://bugs.webkit.org/show_bug.cgi?id=229074 5 6 Reviewed by Simon Fraser. 7 8 Added initial support for Start and End positional alignment properties from 9 https://drafts.csswg.org/css-align-3/#positional-values. These two properties 10 align the flex item to be flush with the alignment container's (the flex container) 11 start and end edges in the appropriate axis. 12 13 * rendering/RenderFlexibleBox.cpp: 14 (WebCore::RenderFlexibleBox::isColumnOrRowReverse const): New method. 15 (WebCore::initialJustifyContentOffset): Handle Start and End. 16 (WebCore::alignmentOffset): Ditto. 17 (WebCore::RenderFlexibleBox::staticMainAxisPositionForPositionedChild): 18 (WebCore::RenderFlexibleBox::alignmentForChild const): 19 (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): 20 (WebCore::RenderFlexibleBox::layoutColumnReverse): 21 (WebCore::initialAlignContentOffset): Handle Start and End. 22 (WebCore::RenderFlexibleBox::alignFlexLines): 23 * rendering/RenderFlexibleBox.h: 24 1 25 2021-09-01 Said Abou-Hallawa <said@apple.com> 2 26 -
trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp
r280530 r281840 483 483 } 484 484 485 bool RenderFlexibleBox::isColumnOrRowReverse() const 486 { 487 return style().flexDirection() == FlexDirection::ColumnReverse || style().flexDirection() == FlexDirection::RowReverse; 488 } 489 485 490 bool RenderFlexibleBox::isHorizontalFlow() const 486 491 { … … 1494 1499 } 1495 1500 1496 static LayoutUnit initialJustifyContentOffset(LayoutUnit availableFreeSpace, ContentPosition justifyContent, ContentDistribution justifyContentDistribution, unsigned numberOfChildren) 1497 { 1498 if (justifyContent == ContentPosition::FlexEnd) 1501 static LayoutUnit initialJustifyContentOffset(LayoutUnit availableFreeSpace, ContentPosition justifyContent, ContentDistribution justifyContentDistribution, unsigned numberOfChildren, bool isReversed) 1502 { 1503 if (justifyContent == ContentPosition::FlexEnd 1504 || (justifyContent == ContentPosition::End && !isReversed) 1505 || (justifyContent == ContentPosition::Start && isReversed)) 1499 1506 return availableFreeSpace; 1500 1507 if (justifyContent == ContentPosition::Center) … … 1535 1542 case ItemPosition::Normal: 1536 1543 ASSERT_NOT_REACHED(); 1544 break; 1545 case ItemPosition::Start: 1546 case ItemPosition::End: 1547 ASSERT_NOT_REACHED("%u alignmentForChild should have transformed this position value to something we handle below.", static_cast<uint8_t>(position)); 1537 1548 break; 1538 1549 case ItemPosition::Stretch: … … 1560 1571 case ItemPosition::SelfStart: 1561 1572 case ItemPosition::SelfEnd: 1562 case ItemPosition::Start:1563 case ItemPosition::End:1564 1573 case ItemPosition::Left: 1565 1574 case ItemPosition::Right: 1566 // FIXME: Implement the extended grammar, enabled when the Grid Layout 1567 // feature was enabled by default. 1575 // FIXME: Implement last baseline. 1568 1576 break; 1569 1577 } … … 1585 1593 ContentPosition position = style().resolvedJustifyContentPosition(contentAlignmentNormalBehavior()); 1586 1594 ContentDistribution distribution = style().resolvedJustifyContentDistribution(contentAlignmentNormalBehavior()); 1587 LayoutUnit offset = initialJustifyContentOffset(availableSpace, position, distribution, 1); 1588 if (style().flexDirection() == FlexDirection::RowReverse || style().flexDirection() == FlexDirection::ColumnReverse) 1595 auto isReverse = isColumnOrRowReverse(); 1596 LayoutUnit offset = initialJustifyContentOffset(availableSpace, position, distribution, 1, isReverse); 1597 if (isReverse) 1589 1598 offset = availableSpace - offset; 1590 1599 return offset; … … 1679 1688 if (align == ItemPosition::Baseline && !mainAxisIsChildInlineAxis(child)) 1680 1689 align = ItemPosition::FlexStart; 1690 1691 // We can safely return here because start/end are not affected by a reversed flex-wrap because the 1692 // alignment container is the flex line, and in a wrap reversed flex container the start and end within 1693 // a flex line are still the same. Contrary to this flex-start/flex-end depend on the flex container 1694 // start/end edges which are flipped in the case of wrap-reverse. 1695 if (align == ItemPosition::Start) 1696 return ItemPosition::FlexStart; 1697 if (align == ItemPosition::End) 1698 return ItemPosition::FlexEnd; 1681 1699 1682 1700 if (style().flexWrap() == FlexWrap::Reverse) { … … 1813 1831 LayoutUnit autoMarginOffset = autoMarginOffsetInMainAxis(children, availableFreeSpace); 1814 1832 LayoutUnit mainAxisOffset = flowAwareBorderStart() + flowAwarePaddingStart(); 1815 mainAxisOffset += initialJustifyContentOffset(availableFreeSpace, position, distribution, children.size() );1833 mainAxisOffset += initialJustifyContentOffset(availableFreeSpace, position, distribution, children.size(), isColumnOrRowReverse()); 1816 1834 if (style().flexDirection() == FlexDirection::RowReverse) 1817 1835 mainAxisOffset += isHorizontalFlow() ? verticalScrollbarWidth() : horizontalScrollbarHeight(); … … 1921 1939 // layout anything since we're just moving the children to a new position. 1922 1940 LayoutUnit mainAxisOffset = logicalHeight() - flowAwareBorderEnd() - flowAwarePaddingEnd(); 1923 mainAxisOffset -= initialJustifyContentOffset(availableFreeSpace, position, distribution, children.size() );1941 mainAxisOffset -= initialJustifyContentOffset(availableFreeSpace, position, distribution, children.size(), isColumnOrRowReverse()); 1924 1942 mainAxisOffset -= isHorizontalFlow() ? verticalScrollbarWidth() : horizontalScrollbarHeight(); 1925 1943 … … 1934 1952 } 1935 1953 1936 static LayoutUnit initialAlignContentOffset(LayoutUnit availableFreeSpace, ContentPosition alignContent, ContentDistribution alignContentDistribution, unsigned numberOfLines) 1937 { 1938 if (alignContent == ContentPosition::FlexEnd) 1954 static LayoutUnit initialAlignContentOffset(LayoutUnit availableFreeSpace, ContentPosition alignContent, ContentDistribution alignContentDistribution, unsigned numberOfLines, bool isReversed) 1955 { 1956 if (alignContent == ContentPosition::FlexEnd 1957 || (alignContent == ContentPosition::End && !isReversed) 1958 || (alignContent == ContentPosition::Start && isReversed)) 1939 1959 return availableFreeSpace; 1940 1960 if (alignContent == ContentPosition::Center) … … 1984 2004 availableCrossAxisSpace -= lineContexts[i].crossAxisExtent; 1985 2005 1986 LayoutUnit lineOffset = initialAlignContentOffset(availableCrossAxisSpace, position, distribution, numLines );2006 LayoutUnit lineOffset = initialAlignContentOffset(availableCrossAxisSpace, position, distribution, numLines, style().flexWrap() == FlexWrap::Reverse); 1987 2007 for (unsigned lineNumber = 0; lineNumber < numLines; ++lineNumber) { 1988 2008 LineContext& lineContext = lineContexts[lineNumber]; -
trunk/Source/WebCore/rendering/RenderFlexibleBox.h
r279286 r281840 110 110 bool mainAxisIsChildInlineAxis(const RenderBox&) const; 111 111 bool isColumnFlow() const; 112 bool isColumnOrRowReverse() const; 112 113 bool isLeftToRightFlow() const; 113 114 bool isMultiline() const;
Note: See TracChangeset
for help on using the changeset viewer.