mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-26 01:35:08 +02:00
LibWeb: Don't distort replaced elements with natural size in flex layout
When layouting a replaced element with natural width and height (e.g. a raster graphic), the replaced element would correctly end up with its natural size in the main-axis dimension. For the cross axis dimension however, the replaced element was stretched or squished to the flex containers inner cross size, which is wrong. Instead, we need to respect the replaced elements aspect ratio. Since the touched code does not have a direct correspondence to any spec text, I am not fully certain that the change is completely correct. However, tests agree with it, so the new code seems more correct than the old one at least. This fixes 50 WPT subtests in `css/css-flexbox`, most of which are already in-tree. I have also created a new test for a scenario that did not seem to be covered by WPT.
This commit is contained in:
committed by
Jelle Raaijmakers
parent
0fece0650e
commit
8002efe780
Notes:
github-actions[bot]
2025-07-14 22:54:06 +00:00
Author: https://github.com/InvalidUsernameException Commit: https://github.com/LadybirdBrowser/ladybird/commit/8002efe7809 Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/5321 Reviewed-by: https://github.com/gmta ✅
@@ -2,9 +2,8 @@ Harness status: OK
|
||||
|
||||
Found 4 tests
|
||||
|
||||
3 Pass
|
||||
1 Fail
|
||||
4 Pass
|
||||
Pass img 1
|
||||
Pass img 2
|
||||
Pass img 3
|
||||
Fail img 4
|
||||
Pass img 4
|
||||
@@ -2,20 +2,20 @@ Harness status: OK
|
||||
|
||||
Found 18 tests
|
||||
|
||||
5 Pass
|
||||
13 Fail
|
||||
Fail .flexbox > img 1
|
||||
14 Pass
|
||||
4 Fail
|
||||
Pass .flexbox > img 1
|
||||
Pass .flexbox > img 2
|
||||
Pass .flexbox > img 3
|
||||
Pass .flexbox > img 4
|
||||
Fail .flexbox > img 5
|
||||
Fail .flexbox > img 6
|
||||
Fail .flexbox > img 7
|
||||
Fail .flexbox > img 8
|
||||
Fail .flexbox > img 9
|
||||
Fail .flexbox > img 10
|
||||
Fail .flexbox > img 11
|
||||
Fail .flexbox > img 12
|
||||
Pass .flexbox > img 5
|
||||
Pass .flexbox > img 6
|
||||
Pass .flexbox > img 7
|
||||
Pass .flexbox > img 8
|
||||
Pass .flexbox > img 9
|
||||
Pass .flexbox > img 10
|
||||
Pass .flexbox > img 11
|
||||
Pass .flexbox > img 12
|
||||
Fail .flexbox > img 13
|
||||
Fail .flexbox > img 14
|
||||
Pass .flexbox > img 15
|
||||
|
||||
@@ -2,20 +2,20 @@ Harness status: OK
|
||||
|
||||
Found 18 tests
|
||||
|
||||
5 Pass
|
||||
13 Fail
|
||||
Fail .flexbox > img 1
|
||||
14 Pass
|
||||
4 Fail
|
||||
Pass .flexbox > img 1
|
||||
Pass .flexbox > img 2
|
||||
Pass .flexbox > img 3
|
||||
Pass .flexbox > img 4
|
||||
Fail .flexbox > img 5
|
||||
Fail .flexbox > img 6
|
||||
Fail .flexbox > img 7
|
||||
Fail .flexbox > img 8
|
||||
Fail .flexbox > img 9
|
||||
Fail .flexbox > img 10
|
||||
Fail .flexbox > img 11
|
||||
Fail .flexbox > img 12
|
||||
Pass .flexbox > img 5
|
||||
Pass .flexbox > img 6
|
||||
Pass .flexbox > img 7
|
||||
Pass .flexbox > img 8
|
||||
Pass .flexbox > img 9
|
||||
Pass .flexbox > img 10
|
||||
Pass .flexbox > img 11
|
||||
Pass .flexbox > img 12
|
||||
Fail .flexbox > img 13
|
||||
Fail .flexbox > img 14
|
||||
Pass .flexbox > img 15
|
||||
|
||||
@@ -2,20 +2,20 @@ Harness status: OK
|
||||
|
||||
Found 18 tests
|
||||
|
||||
5 Pass
|
||||
13 Fail
|
||||
Fail .flexbox > img 1
|
||||
14 Pass
|
||||
4 Fail
|
||||
Pass .flexbox > img 1
|
||||
Pass .flexbox > img 2
|
||||
Pass .flexbox > img 3
|
||||
Pass .flexbox > img 4
|
||||
Fail .flexbox > img 5
|
||||
Fail .flexbox > img 6
|
||||
Fail .flexbox > img 7
|
||||
Fail .flexbox > img 8
|
||||
Fail .flexbox > img 9
|
||||
Fail .flexbox > img 10
|
||||
Fail .flexbox > img 11
|
||||
Fail .flexbox > img 12
|
||||
Pass .flexbox > img 5
|
||||
Pass .flexbox > img 6
|
||||
Pass .flexbox > img 7
|
||||
Pass .flexbox > img 8
|
||||
Pass .flexbox > img 9
|
||||
Pass .flexbox > img 10
|
||||
Pass .flexbox > img 11
|
||||
Pass .flexbox > img 12
|
||||
Fail .flexbox > img 13
|
||||
Fail .flexbox > img 14
|
||||
Fail .flexbox > img 15
|
||||
|
||||
@@ -2,20 +2,20 @@ Harness status: OK
|
||||
|
||||
Found 18 tests
|
||||
|
||||
5 Pass
|
||||
13 Fail
|
||||
Fail .flexbox > img 1
|
||||
14 Pass
|
||||
4 Fail
|
||||
Pass .flexbox > img 1
|
||||
Pass .flexbox > img 2
|
||||
Pass .flexbox > img 3
|
||||
Pass .flexbox > img 4
|
||||
Fail .flexbox > img 5
|
||||
Fail .flexbox > img 6
|
||||
Fail .flexbox > img 7
|
||||
Fail .flexbox > img 8
|
||||
Fail .flexbox > img 9
|
||||
Fail .flexbox > img 10
|
||||
Fail .flexbox > img 11
|
||||
Fail .flexbox > img 12
|
||||
Pass .flexbox > img 5
|
||||
Pass .flexbox > img 6
|
||||
Pass .flexbox > img 7
|
||||
Pass .flexbox > img 8
|
||||
Pass .flexbox > img 9
|
||||
Pass .flexbox > img 10
|
||||
Pass .flexbox > img 11
|
||||
Pass .flexbox > img 12
|
||||
Fail .flexbox > img 13
|
||||
Fail .flexbox > img 14
|
||||
Fail .flexbox > img 15
|
||||
|
||||
@@ -2,20 +2,20 @@ Harness status: OK
|
||||
|
||||
Found 18 tests
|
||||
|
||||
5 Pass
|
||||
13 Fail
|
||||
Fail .flexbox > img 1
|
||||
9 Pass
|
||||
9 Fail
|
||||
Pass .flexbox > img 1
|
||||
Pass .flexbox > img 2
|
||||
Pass .flexbox > img 3
|
||||
Pass .flexbox > img 4
|
||||
Fail .flexbox > img 5
|
||||
Pass .flexbox > img 5
|
||||
Fail .flexbox > img 6
|
||||
Fail .flexbox > img 7
|
||||
Fail .flexbox > img 8
|
||||
Fail .flexbox > img 9
|
||||
Pass .flexbox > img 9
|
||||
Fail .flexbox > img 10
|
||||
Fail .flexbox > img 11
|
||||
Fail .flexbox > img 12
|
||||
Pass .flexbox > img 12
|
||||
Fail .flexbox > img 13
|
||||
Fail .flexbox > img 14
|
||||
Pass .flexbox > img 15
|
||||
|
||||
@@ -2,20 +2,20 @@ Harness status: OK
|
||||
|
||||
Found 18 tests
|
||||
|
||||
5 Pass
|
||||
13 Fail
|
||||
Fail .flexbox > img 1
|
||||
9 Pass
|
||||
9 Fail
|
||||
Pass .flexbox > img 1
|
||||
Pass .flexbox > img 2
|
||||
Pass .flexbox > img 3
|
||||
Pass .flexbox > img 4
|
||||
Fail .flexbox > img 5
|
||||
Pass .flexbox > img 5
|
||||
Fail .flexbox > img 6
|
||||
Fail .flexbox > img 7
|
||||
Fail .flexbox > img 8
|
||||
Fail .flexbox > img 9
|
||||
Pass .flexbox > img 9
|
||||
Fail .flexbox > img 10
|
||||
Fail .flexbox > img 11
|
||||
Fail .flexbox > img 12
|
||||
Pass .flexbox > img 12
|
||||
Fail .flexbox > img 13
|
||||
Fail .flexbox > img 14
|
||||
Pass .flexbox > img 15
|
||||
|
||||
Reference in New Issue
Block a user