mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-26 17:55:07 +02:00
Previously, GridFormattingContext handled its own min-height constraints internally, which caused infinite recursion when min-height was an intrinsic sizing keyword (e.g., min-height: max-content). This change moves the responsibility to the parent formatting context (BFC). When any box establishing an independent formatting context has auto height but non-auto min-height: 1. BFC measures content height using a throwaway LayoutState 2. If content height < min-height, BFC passes min-height as definite available height to the child formatting context 3. Child FC runs once with correct constraints, unaware of min-height Fixes https://github.com/LadybirdBrowser/ladybird/issues/4261 which is corresponding to stack overflow on https://claude.ai/
26 lines
1.5 KiB
Plaintext
26 lines
1.5 KiB
Plaintext
Viewport <#document> at [0,0] [0+0+0 800 0+0+0] [0+0+0 600 0+0+0] [BFC] children: not-inline
|
|
BlockContainer <html> at [0,0] [0+0+0 800 0+0+0] [0+0+0 216 0+0+0] [BFC] children: not-inline
|
|
BlockContainer <body> at [8,8] [8+0+0 784 0+0+8] [8+0+0 200 0+0+8] children: not-inline
|
|
Box <div.grid> at [8,8] [0+0+0 100 0+0+684] [0+0+0 200 0+0+0] [GFC] children: not-inline
|
|
BlockContainer <(anonymous)> (not painted) [BFC] children: inline
|
|
TextNode <#text> (not painted)
|
|
BlockContainer <div.item> at [8,8] [0+0+0 100 0+0+0] [0+0+0 50 0+0+0] [BFC] children: inline
|
|
frag 0 from TextNode start: 0, length: 4, rect: [8,8 32.375x18] baseline: 13.796875
|
|
"Item"
|
|
TextNode <#text> (not painted)
|
|
BlockContainer <(anonymous)> (not painted) [BFC] children: inline
|
|
TextNode <#text> (not painted)
|
|
BlockContainer <(anonymous)> at [8,208] [0+0+0 784 0+0+0] [0+0+0 0 0+0+0] children: inline
|
|
TextNode <#text> (not painted)
|
|
|
|
ViewportPaintable (Viewport<#document>) [0,0 800x600]
|
|
PaintableWithLines (BlockContainer<HTML>) [0,0 800x216]
|
|
PaintableWithLines (BlockContainer<BODY>) [8,8 784x200]
|
|
PaintableBox (Box<DIV>.grid) [8,8 100x200]
|
|
PaintableWithLines (BlockContainer<DIV>.item) [8,8 100x50]
|
|
TextPaintable (TextNode<#text>)
|
|
PaintableWithLines (BlockContainer(anonymous)) [8,208 784x0]
|
|
|
|
SC for Viewport<#document> [0,0 800x600] [children: 1] (z-index: auto)
|
|
SC for BlockContainer<HTML> [0,0 800x216] [children: 0] (z-index: auto)
|