mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-05-03 21:12:08 +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.
43 lines
2.6 KiB
Plaintext
43 lines
2.6 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 70 0+0+0] [BFC] children: not-inline
|
|
Box <body> at [8,8] flex-container(row) [8+0+0 784 0+0+8] [8+0+0 54 0+0+8] [FFC] children: not-inline
|
|
BlockContainer <div.min-content> at [8,8] flex-item [0+0+0 27.640625 0+0+0] [0+0+0 54 0+0+0] [BFC] children: inline
|
|
frag 0 from TextNode start: 0, length: 3, rect: [8,8 27.15625x18] baseline: 13.796875
|
|
"foo"
|
|
frag 1 from TextNode start: 4, length: 3, rect: [8,26 27.640625x18] baseline: 13.796875
|
|
"bar"
|
|
frag 2 from TextNode start: 8, length: 3, rect: [8,44 27.203125x18] baseline: 13.796875
|
|
"baz"
|
|
TextNode <#text> (not painted)
|
|
BlockContainer <div.max-content> at [35.640625,8] flex-item [0+0+0 98 0+0+0] [0+0+0 54 0+0+0] [BFC] children: inline
|
|
frag 0 from TextNode start: 0, length: 11, rect: [35.640625,8 98x18] baseline: 13.796875
|
|
"foo bar baz"
|
|
TextNode <#text> (not painted)
|
|
BlockContainer <div.fit-content> at [133.640625,8] flex-item [0+0+0 98 0+0+0] [0+0+0 54 0+0+0] [BFC] children: inline
|
|
frag 0 from TextNode start: 0, length: 11, rect: [133.640625,8 98x18] baseline: 13.796875
|
|
"foo bar baz"
|
|
TextNode <#text> (not painted)
|
|
BlockContainer <div.auto> at [231.640625,8] flex-item [0+0+0 0 0+0+0] [0+0+0 54 0+0+0] [BFC] children: inline
|
|
frag 0 from TextNode start: 0, length: 3, rect: [231.640625,8 27.15625x18] baseline: 13.796875
|
|
"foo"
|
|
frag 1 from TextNode start: 4, length: 3, rect: [231.640625,26 27.640625x18] baseline: 13.796875
|
|
"bar"
|
|
frag 2 from TextNode start: 8, length: 3, rect: [231.640625,44 27.203125x18] baseline: 13.796875
|
|
"baz"
|
|
TextNode <#text> (not painted)
|
|
|
|
ViewportPaintable (Viewport<#document>) [0,0 800x600]
|
|
PaintableWithLines (BlockContainer<HTML>) [0,0 800x70]
|
|
PaintableBox (Box<BODY>) [8,8 784x54]
|
|
PaintableWithLines (BlockContainer<DIV>.min-content) [8,8 27.640625x54]
|
|
TextPaintable (TextNode<#text>)
|
|
PaintableWithLines (BlockContainer<DIV>.max-content) [35.640625,8 98x54]
|
|
TextPaintable (TextNode<#text>)
|
|
PaintableWithLines (BlockContainer<DIV>.fit-content) [133.640625,8 98x54]
|
|
TextPaintable (TextNode<#text>)
|
|
PaintableWithLines (BlockContainer<DIV>.auto) [231.640625,8 0x54]
|
|
TextPaintable (TextNode<#text>)
|
|
|
|
SC for Viewport<#document> [0,0 800x600] [children: 1] (z-index: auto)
|
|
SC for BlockContainer<HTML> [0,0 800x70] [children: 0] (z-index: auto)
|