layout: Let stretch on flex item cross size stretch to the line (#38526)

We were instead stretching to the containing block, which implied that
the behaviors of a `stretch` size and `stretch` alignment weren't
consistent.

As resolved by the CSSWG, the behavior will now be:
 - If the cross size of the line is known, stretch to the line.
 - Otherwise, stretch to the containing block.

See https://github.com/w3c/csswg-drafts/issues/11784

This aligns us with Blink, which has already shipped this new behavior.

Testing: Improves existing WPT and adds a new test.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
This commit is contained in:
Oriol Brufau 2025-08-08 08:45:30 -07:00 committed by GitHub
parent 9866ca7e59
commit 93c9fc14f1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
16 changed files with 164 additions and 180 deletions

View file

@ -1,3 +0,0 @@
[flex-line-002.html]
[.stretch 3]
expected: FAIL

View file

@ -1,3 +0,0 @@
[flex-line-003.html]
[.stretch 3]
expected: FAIL

View file

@ -1,3 +0,0 @@
[flex-line-004.html]
[.stretch 3]
expected: FAIL

View file

@ -1,3 +0,0 @@
[flex-line-005.html]
[.stretch 1]
expected: FAIL

View file

@ -4,9 +4,3 @@
[[data-expected-height\] 37]
expected: FAIL
[[data-expected-height\] 21]
expected: FAIL
[[data-expected-height\] 44]
expected: FAIL

View file

@ -4,9 +4,3 @@
[[data-expected-width\] 37]
expected: FAIL
[[data-expected-width\] 21]
expected: FAIL
[[data-expected-width\] 44]
expected: FAIL

View file

@ -10,9 +10,3 @@
[[data-expected-height\]:not([skip-second-pass\]) 45]
expected: FAIL
[[data-expected-height\] 21]
expected: FAIL
[[data-expected-height\]:not([skip-second-pass\]) 44]
expected: FAIL

View file

@ -10,9 +10,3 @@
[[data-expected-width\]:not([skip-second-pass\]) 45]
expected: FAIL
[[data-expected-width\] 21]
expected: FAIL
[[data-expected-width\]:not([skip-second-pass\]) 44]
expected: FAIL

View file

@ -16,9 +16,3 @@
[[data-expected-height\] 46]
expected: FAIL
[[data-expected-height\] 21]
expected: FAIL
[[data-expected-height\] 44]
expected: FAIL

View file

@ -16,9 +16,3 @@
[[data-expected-width\] 46]
expected: FAIL
[[data-expected-width\] 21]
expected: FAIL
[[data-expected-width\] 44]
expected: FAIL