mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-26 09:45:06 +02:00
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.
23 lines
1.5 KiB
Plaintext
23 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 150 0+0+0] [BFC] children: not-inline
|
|
BlockContainer <body> at [0,0] [0+0+0 200 0+0+600] [0+0+0 0 0+0+0] children: not-inline
|
|
BlockContainer <ul> at [0,0] [0+0+0 200 0+0+0] [0+0+0 0 0+0+0] children: inline
|
|
BlockContainer <div.red> at [0,0] floating [0+0+0 150 0+0+0] [0+0+0 50 0+0+0] [BFC] children: not-inline
|
|
BlockContainer <div.green> at [0,50] floating [0+0+0 150 0+0+0] [0+0+0 50 0+0+0] [BFC] children: not-inline
|
|
TextNode <#text> (not painted)
|
|
BlockContainer <div.orange> at [0,100] floating [0+0+0 150 0+0+0] [0+0+0 50 0+0+0] [BFC] children: not-inline
|
|
BlockContainer <(anonymous)> at [0,0] [0+0+0 200 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 800x150]
|
|
PaintableWithLines (BlockContainer<BODY>) [0,0 200x0]
|
|
PaintableWithLines (BlockContainer<UL>) [0,0 200x0]
|
|
PaintableWithLines (BlockContainer<DIV>.red) [0,0 150x50]
|
|
PaintableWithLines (BlockContainer<DIV>.green) [0,50 150x50]
|
|
PaintableWithLines (BlockContainer<DIV>.orange) [0,100 150x50]
|
|
PaintableWithLines (BlockContainer(anonymous)) [0,0 200x0]
|
|
|
|
SC for Viewport<#document> [0,0 800x600] [children: 1] (z-index: auto)
|
|
SC for BlockContainer<HTML> [0,0 800x150] [children: 0] (z-index: auto)
|