Files
ladybird/Tests/LibWeb/Layout/expected/resolve-height-of-containing-block.txt
Aliaksandr Kalenik c9108a2ad5 LibWeb: Only set has_scrollable_overflow for scroll containers
Previously, has_scrollable_overflow was a purely geometric check, true
whenever content extended beyond the padding box regardless of the
overflow property. This caused unnecessary scroll frame allocation for
boxes with `overflow:visible`.

Per CSS Overflow 3, scrollable overflow is only defined for scroll
containers (overflow: auto/hidden/scroll). Gate the flag on
`is_scroll_container()` so that only actual scroll containers get scroll
frames assigned.
2026-01-29 14:59:32 +01:00

45 lines
2.9 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 824 0+0+0] [BFC] children: not-inline
BlockContainer <(anonymous)> at [0,0] [0+0+0 800 0+0+0] [0+0+0 0 0+0+0] children: inline
TextNode <#text> (not painted)
BlockContainer <body> at [8,16] [8+0+0 784 0+0+8] [8+0+0 800 0+0+8] children: not-inline
BlockContainer <(anonymous)> at [8,16] [0+0+0 784 0+0+0] [0+0+0 0 0+0+0] children: inline
TextNode <#text> (not painted)
BlockContainer <div.foo> at [8,16] [0+0+0 1280 0+0+-496] [0+0+0 800 0+0+0] children: not-inline
BlockContainer <(anonymous)> at [8,16] [0+0+0 1280 0+0+0] [0+0+0 0 0+0+0] children: inline
TextNode <#text> (not painted)
BlockContainer <div> at [8,16] [0+0+0 1280 0+0+0] [0+0+0 400 0+0+0] children: not-inline
BlockContainer <(anonymous)> at [8,16] [0+0+0 1280 0+0+0] [0+0+0 0 0+0+0] children: inline
TextNode <#text> (not painted)
ImageBox <img> at [488,16] floating [0+0+0 800 0+0+0] [0+0+0 400 0+0+0] children: not-inline
TextNode <#text> (not painted)
BlockContainer <p> at [8,16] [0+0+0 1280 0+0+0] [16+0+0 18 0+0+16] children: inline
frag 0 from TextNode start: 0, length: 4, rect: [8,16 37.21875x18] baseline: 13.796875
"Test"
TextNode <#text> (not painted)
BlockContainer <(anonymous)> at [8,50] [0+0+0 1280 0+0+0] [0+0+0 0 0+0+0] children: inline
TextNode <#text> (not painted)
BlockContainer <(anonymous)> at [8,416] [0+0+0 1280 0+0+0] [0+0+0 0 0+0+0] children: inline
TextNode <#text> (not painted)
BlockContainer <(anonymous)> at [8,816] [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] overflow: [0,0 1288x824]
PaintableWithLines (BlockContainer<HTML>) [0,0 800x824]
PaintableWithLines (BlockContainer(anonymous)) [0,0 800x0]
PaintableWithLines (BlockContainer<BODY>) [8,16 784x800]
PaintableWithLines (BlockContainer(anonymous)) [8,16 784x0]
PaintableWithLines (BlockContainer<DIV>.foo) [8,16 1280x800]
PaintableWithLines (BlockContainer(anonymous)) [8,16 1280x0]
PaintableWithLines (BlockContainer<DIV>) [8,16 1280x400]
PaintableWithLines (BlockContainer(anonymous)) [8,16 1280x0]
ImagePaintable (ImageBox<IMG>) [488,16 800x400]
PaintableWithLines (BlockContainer<P>) [8,16 1280x18]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer(anonymous)) [8,50 1280x0]
PaintableWithLines (BlockContainer(anonymous)) [8,416 1280x0]
PaintableWithLines (BlockContainer(anonymous)) [8,816 784x0]
SC for Viewport<#document> [0,0 800x600] [children: 1] (z-index: auto)
SC for BlockContainer<HTML> [0,0 800x824] [children: 0] (z-index: auto)