1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 22:07:35 +00:00

LibWeb: Don't let items flex to infinite size in column layout

When sizing under a max-content constraint, we allow flex lines to have
an infinite amount of "remaining space", but we shouldn't let infinity
leak into the geometry of items. So treat it as zero in arithmetic.

This fixes an issue where inline SVGs with natural aspect ratio (from
viewBox) but no natural width or height could get an infinite size as
flex items.
This commit is contained in:
Andreas Kling 2023-07-06 08:47:29 +02:00
parent 00d8e221f3
commit 3372a691da
3 changed files with 21 additions and 2 deletions

View file

@ -0,0 +1,5 @@
Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <html> at (0,0) content-size 800x16 [BFC] children: not-inline
Box <body> at (8,8) content-size 784x0 flex-container(column) [FFC] children: not-inline
SVGSVGBox <svg> at (400,8) content-size 0x0 flex-item [SVG] children: not-inline
SVGGeometryBox <rect> at (400,8) content-size 0x0 children: not-inline

View file

@ -0,0 +1,10 @@
<!DOCTYPE html><style>
body {
display: flex;
flex-direction: column;
align-items: center;
}
svg {
flex-grow: 1;
}
</style><body><svg viewBox="0 0 24 24"><rect x=0 y=0 width=12 height=12></svg>