Files
ladybird/Tests/LibWeb/Layout/expected/position-absolute-top-left.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

62 lines
4.4 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 616 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,8] [8+0+0 784 0+0+8] [8+0+0 600 0+0+8] children: not-inline
BlockContainer <(anonymous)> at [8,8] [0+0+0 784 0+0+0] [0+0+0 0 0+0+0] children: inline
TextNode <#text> (not painted)
BlockContainer <div.blue.absolute> at [208,208] positioned [0+0+0 200 0+0+0] [0+0+0 200 0+0+0] [BFC] children: inline
TextNode <#text> (not painted)
BlockContainer <div.red.absolute> at [308,308] positioned [0+0+0 100 0+0+0] [0+0+0 100 0+0+0] [BFC] children: not-inline
TextNode <#text> (not painted)
BlockContainer <div.yellow.absolute> at [258,258] positioned [0+0+0 100 0+0+0] [0+0+0 100 0+0+0] [BFC] children: inline
TextNode <#text> (not painted)
BlockContainer <div.black.absolute> at [308,308] positioned [0+0+0 50 0+0+0] [0+0+0 50 0+0+0] [BFC] children: not-inline
TextNode <#text> (not painted)
TextNode <#text> (not painted)
BlockContainer <div.green.absolute> at [508,508] positioned [0+0+0 100 0+0+0] [0+0+0 100 0+0+0] [BFC] children: not-inline
TextNode <#text> (not painted)
TextNode <#text> (not painted)
BlockContainer <div.blue> at [8,8] [0+0+0 200 0+0+584] [0+0+0 200 0+0+0] children: not-inline
BlockContainer <(anonymous)> at [8,8] [0+0+0 200 0+0+0] [0+0+0 0 0+0+0] children: inline
TextNode <#text> (not painted)
BlockContainer <div.red> at [8,8] [0+0+0 100 0+0+100] [0+0+0 100 0+0+0] children: not-inline
BlockContainer <(anonymous)> at [8,108] [0+0+0 200 0+0+0] [0+0+0 0 0+0+0] children: inline
TextNode <#text> (not painted)
BlockContainer <div.yellow> at [8,108] [0+0+0 100 0+0+100] [0+0+0 100 0+0+0] children: not-inline
BlockContainer <(anonymous)> at [8,208] [0+0+0 200 0+0+0] [0+0+0 0 0+0+0] children: inline
TextNode <#text> (not painted)
BlockContainer <div.green> at [8,208] [0+0+0 100 0+0+100] [0+0+0 100 0+0+0] children: not-inline
BlockContainer <(anonymous)> at [8,308] [0+0+0 200 0+0+0] [0+0+0 0 0+0+0] 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)
BlockContainer <div.blue_margin> at [408,408] [400+0+0 200 0+0+184] [200+0+0 200 0+0+0] children: not-inline
BlockContainer <(anonymous)> at [8,608] [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 800x616]
PaintableWithLines (BlockContainer<HTML>) [0,0 800x616]
PaintableWithLines (BlockContainer(anonymous)) [0,0 800x0]
PaintableWithLines (BlockContainer<BODY>) [8,8 784x600]
PaintableWithLines (BlockContainer(anonymous)) [8,8 784x0]
PaintableWithLines (BlockContainer<DIV>.blue.absolute) [208,208 200x200]
PaintableWithLines (BlockContainer<DIV>.red.absolute) [308,308 100x100]
PaintableWithLines (BlockContainer<DIV>.yellow.absolute) [258,258 100x100]
PaintableWithLines (BlockContainer<DIV>.black.absolute) [308,308 50x50]
PaintableWithLines (BlockContainer<DIV>.green.absolute) [508,508 100x100]
PaintableWithLines (BlockContainer<DIV>.blue) [8,8 200x200]
PaintableWithLines (BlockContainer(anonymous)) [8,8 200x0]
PaintableWithLines (BlockContainer<DIV>.red) [8,8 100x100]
PaintableWithLines (BlockContainer(anonymous)) [8,108 200x0]
PaintableWithLines (BlockContainer<DIV>.yellow) [8,108 100x100]
PaintableWithLines (BlockContainer(anonymous)) [8,208 200x0]
PaintableWithLines (BlockContainer<DIV>.green) [8,208 100x100]
PaintableWithLines (BlockContainer(anonymous)) [8,308 200x0]
PaintableWithLines (BlockContainer(anonymous)) [8,208 784x0]
PaintableWithLines (BlockContainer<DIV>.blue_margin) [408,408 200x200]
PaintableWithLines (BlockContainer(anonymous)) [8,608 784x0]
SC for Viewport<#document> [0,0 800x600] [children: 1] (z-index: auto)
SC for BlockContainer<HTML> [0,0 800x616] [children: 0] (z-index: auto)