mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-28 10:37:17 +02:00
LibWeb: Fix 0fr track intrinsic sizing in grid layout
When distributing item contributions among flexible tracks with intrinsic min sizing functions, we were skipping distribution entirely when total_flex == 0. However, tracks like `0fr` (equivalent to minmax(auto, 0fr)) should still receive the item's contribution distributed equally among them. Now we count intrinsic flexible tracks separately and distribute equally when all flex factors are zero.
This commit is contained in:
committed by
Alexander Kalenik
parent
c9a1548c00
commit
b2bc33a8e4
Notes:
github-actions[bot]
2026-01-03 15:42:41 +00:00
Author: https://github.com/kalenikaliaksandr Commit: https://github.com/LadybirdBrowser/ladybird/commit/b2bc33a8e44 Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/7303
@@ -2,9 +2,8 @@ Harness status: OK
|
||||
|
||||
Found 30 tests
|
||||
|
||||
24 Pass
|
||||
6 Fail
|
||||
Fail 'grid' with: grid-template-columns: 0fr; and grid-template-rows: 0fr;
|
||||
30 Pass
|
||||
Pass 'grid' with: grid-template-columns: 0fr; and grid-template-rows: 0fr;
|
||||
Pass 'grid' with: grid-template-columns: 1fr; and grid-template-rows: 1fr;
|
||||
Pass 'grid' with: grid-template-columns: 2fr; and grid-template-rows: 2fr;
|
||||
Pass 'grid' with: grid-template-columns: minmax(0, 0fr); and grid-template-rows: minmax(0, 0fr);
|
||||
@@ -12,22 +11,22 @@ Pass 'grid' with: grid-template-columns: minmax(0, .5fr); and grid-template-rows
|
||||
Pass 'grid' with: grid-template-columns: minmax(0, 1fr); and grid-template-rows: minmax(0, 1fr);
|
||||
Pass 'grid' with: grid-template-columns: minmax(0, 2fr); and grid-template-rows: minmax(0, 2fr);
|
||||
Pass 'grid' with: grid-template-columns: minmax(75px, 1fr); and grid-template-rows: minmax(75px, 1fr);
|
||||
Fail 'grid' with: grid-template-columns: 0fr 0fr; and grid-template-rows: 0fr 0fr;
|
||||
Pass 'grid' with: grid-template-columns: 0fr 0fr; and grid-template-rows: 0fr 0fr;
|
||||
Pass 'grid' with: grid-template-columns: 0fr 1fr; and grid-template-rows: 0fr 1fr;
|
||||
Pass 'grid' with: grid-template-columns: 1fr 0fr; and grid-template-rows: 1fr 0fr;
|
||||
Pass 'grid' with: grid-template-columns: 1fr 1fr; and grid-template-rows: 1fr 1fr;
|
||||
Pass 'grid' with: grid-template-columns: 1fr 3fr; and grid-template-rows: 1fr 3fr;
|
||||
Fail 'grid' with: grid-template-columns: 0fr 0fr 1fr; and grid-template-rows: 0fr 0fr 1fr;
|
||||
Pass 'grid' with: grid-template-columns: 0fr 0fr 1fr; and grid-template-rows: 0fr 0fr 1fr;
|
||||
Pass 'grid' with: grid-template-columns: minmax(0, 0fr) minmax(0, 0fr); and grid-template-rows: minmax(0, 0fr) minmax(0, 0fr);
|
||||
Pass 'grid' with: grid-template-columns: minmax(0, 0fr) minmax(0, 1fr); and grid-template-rows: minmax(0, 0fr) minmax(0, 1fr);
|
||||
Pass 'grid' with: grid-template-columns: minmax(15px, 0fr) minmax(0, 1fr); and grid-template-rows: minmax(15px, 0fr) minmax(0, 1fr);
|
||||
Pass 'grid' with: grid-template-columns: minmax(20px, 1fr) minmax(0, 1fr); and grid-template-rows: minmax(20px, 1fr) minmax(0, 1fr);
|
||||
Pass 'grid' with: grid-template-columns: minmax(30px, 1fr) minmax(0, 1fr); and grid-template-rows: minmax(30px, 1fr) minmax(0, 1fr);
|
||||
Fail 'grid' with: grid-template-columns: 0fr minmax(0, 0fr); and grid-template-rows: 0fr minmax(0, 0fr);
|
||||
Fail 'grid' with: grid-template-columns: 0fr minmax(0, 1fr); and grid-template-rows: 0fr minmax(0, 1fr);
|
||||
Pass 'grid' with: grid-template-columns: 0fr minmax(0, 0fr); and grid-template-rows: 0fr minmax(0, 0fr);
|
||||
Pass 'grid' with: grid-template-columns: 0fr minmax(0, 1fr); and grid-template-rows: 0fr minmax(0, 1fr);
|
||||
Pass 'grid' with: grid-template-columns: 1fr minmax(0, 1fr); and grid-template-rows: 1fr minmax(0, 1fr);
|
||||
Pass 'grid' with: grid-template-columns: 1fr minmax(25px, 1fr); and grid-template-rows: 1fr minmax(25px, 1fr);
|
||||
Fail 'grid' with: grid-template-columns: 0fr auto; and grid-template-rows: 0fr auto;
|
||||
Pass 'grid' with: grid-template-columns: 0fr auto; and grid-template-rows: 0fr auto;
|
||||
Pass 'grid' with: grid-template-columns: 1fr auto; and grid-template-rows: 1fr auto;
|
||||
Pass 'grid' with: grid-template-columns: 1fr max-content; and grid-template-rows: 1fr max-content;
|
||||
Pass 'grid' with: grid-template-columns: minmax(0, 0fr) auto; and grid-template-rows: minmax(0, 0fr) auto;
|
||||
|
||||
@@ -2,9 +2,9 @@ Harness status: OK
|
||||
|
||||
Found 102 tests
|
||||
|
||||
75 Pass
|
||||
27 Fail
|
||||
Fail auto min item 'grid' with: grid-template-columns: 0fr; and grid-template-rows: 0fr;
|
||||
83 Pass
|
||||
19 Fail
|
||||
Pass auto min item 'grid' with: grid-template-columns: 0fr; and grid-template-rows: 0fr;
|
||||
Pass auto min item 'grid' with: grid-template-columns: 1fr; and grid-template-rows: 1fr;
|
||||
Pass auto min item 'grid' with: grid-template-columns: 2fr; and grid-template-rows: 2fr;
|
||||
Pass auto min item 'grid' with: grid-template-columns: minmax(0, 0fr); and grid-template-rows: minmax(0, 0fr);
|
||||
@@ -72,7 +72,7 @@ Pass min-content min item 'grid' with: grid-template-columns: minmax(0, 0fr) aut
|
||||
Pass min-content min item 'grid' with: grid-template-columns: minmax(0, 1fr) auto; and grid-template-rows: minmax(0, 1fr) auto;
|
||||
Pass min-content min item 'grid' with: grid-template-columns: minmax(25px, 0fr) auto; and grid-template-rows: minmax(25px, 0fr) auto;
|
||||
Pass min-content min item 'grid' with: grid-template-columns: minmax(25px, 1fr) auto; and grid-template-rows: minmax(25px, 1fr) auto;
|
||||
Fail 50px min item 'grid' with: grid-template-columns: 0fr; and grid-template-rows: 0fr;
|
||||
Pass 50px min item 'grid' with: grid-template-columns: 0fr; and grid-template-rows: 0fr;
|
||||
Pass 50px min item 'grid' with: grid-template-columns: 1fr; and grid-template-rows: 1fr;
|
||||
Pass 50px min item 'grid' with: grid-template-columns: 2fr; and grid-template-rows: 2fr;
|
||||
Pass 50px min item 'grid' with: grid-template-columns: minmax(0, 0fr); and grid-template-rows: minmax(0, 0fr);
|
||||
@@ -80,23 +80,23 @@ Pass 50px min item 'grid' with: grid-template-columns: minmax(0, .5fr); and grid
|
||||
Pass 50px min item 'grid' with: grid-template-columns: minmax(0, 1fr); and grid-template-rows: minmax(0, 1fr);
|
||||
Pass 50px min item 'grid' with: grid-template-columns: minmax(0, 2fr); and grid-template-rows: minmax(0, 2fr);
|
||||
Pass 50px min item 'grid' with: grid-template-columns: minmax(75px, 1fr); and grid-template-rows: minmax(75px, 1fr);
|
||||
Fail 50px min item 'grid' with: grid-template-columns: 0fr 0fr; and grid-template-rows: 0fr 0fr;
|
||||
Pass 50px min item 'grid' with: grid-template-columns: 0fr 0fr; and grid-template-rows: 0fr 0fr;
|
||||
Pass 50px min item 'grid' with: grid-template-columns: 0fr 1fr; and grid-template-rows: 0fr 1fr;
|
||||
Pass 50px min item 'grid' with: grid-template-columns: 1fr 0fr; and grid-template-rows: 1fr 0fr;
|
||||
Pass 50px min item 'grid' with: grid-template-columns: 1fr 1fr; and grid-template-rows: 1fr 1fr;
|
||||
Pass 50px min item 'grid' with: grid-template-columns: 1fr 3fr; and grid-template-rows: 1fr 3fr;
|
||||
Fail 50px min item 'grid' with: grid-template-columns: 0fr 0fr 1fr; and grid-template-rows: 0fr 0fr 1fr;
|
||||
Pass 50px min item 'grid' with: grid-template-columns: 0fr 0fr 1fr; and grid-template-rows: 0fr 0fr 1fr;
|
||||
Pass 50px min item 'grid' with: grid-template-columns: minmax(0, 0fr) minmax(0, 0fr); and grid-template-rows: minmax(0, 0fr) minmax(0, 0fr);
|
||||
Pass 50px min item 'grid' with: grid-template-columns: minmax(0, 0fr) minmax(0, 1fr); and grid-template-rows: minmax(0, 0fr) minmax(0, 1fr);
|
||||
Pass 50px min item 'grid' with: grid-template-columns: minmax(15px, 0fr) minmax(0, 1fr); and grid-template-rows: minmax(15px, 0fr) minmax(0, 1fr);
|
||||
Pass 50px min item 'grid' with: grid-template-columns: minmax(20px, 1fr) minmax(0, 1fr); and grid-template-rows: minmax(20px, 1fr) minmax(0, 1fr);
|
||||
Pass 50px min item 'grid' with: grid-template-columns: minmax(40px, 1fr) minmax(0, 1fr); and grid-template-rows: minmax(40px, 1fr) minmax(0, 1fr);
|
||||
Fail 50px min item 'grid' with: grid-template-columns: 0fr minmax(0, 0fr); and grid-template-rows: 0fr minmax(0, 0fr);
|
||||
Fail 50px min item 'grid' with: grid-template-columns: 0fr minmax(0, 1fr); and grid-template-rows: 0fr minmax(0, 1fr);
|
||||
Pass 50px min item 'grid' with: grid-template-columns: 0fr minmax(0, 0fr); and grid-template-rows: 0fr minmax(0, 0fr);
|
||||
Pass 50px min item 'grid' with: grid-template-columns: 0fr minmax(0, 1fr); and grid-template-rows: 0fr minmax(0, 1fr);
|
||||
Pass 50px min item 'grid' with: grid-template-columns: 1fr minmax(0, 1fr); and grid-template-rows: 1fr minmax(0, 1fr);
|
||||
Pass 50px min item 'grid' with: grid-template-columns: 1fr minmax(25px, 1fr); and grid-template-rows: 1fr minmax(25px, 1fr);
|
||||
Fail 50px min item 'grid' with: grid-template-columns: 0fr min-content; and grid-template-rows: 0fr min-content;
|
||||
Fail 50px min item 'grid' with: grid-template-columns: 0fr auto; and grid-template-rows: 0fr auto;
|
||||
Pass 50px min item 'grid' with: grid-template-columns: 0fr min-content; and grid-template-rows: 0fr min-content;
|
||||
Pass 50px min item 'grid' with: grid-template-columns: 0fr auto; and grid-template-rows: 0fr auto;
|
||||
Pass 50px min item 'grid' with: grid-template-columns: 0.5fr auto; and grid-template-rows: 0.5fr auto;
|
||||
Pass 50px min item 'grid' with: grid-template-columns: 1fr auto; and grid-template-rows: 1fr auto;
|
||||
Pass 50px min item 'grid' with: grid-template-columns: 1fr max-content; and grid-template-rows: 1fr max-content;
|
||||
|
||||
Reference in New Issue
Block a user