mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-30 11:37:16 +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.
120 lines
8.1 KiB
Plaintext
120 lines
8.1 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 [1,1] [0+1+0 798 0+1+0] [0+1+0 470 0+1+0] [BFC] children: not-inline
|
|
BlockContainer <body> at [10,10] [8+1+0 780 0+1+8] [8+1+0 452 0+1+8] children: not-inline
|
|
Box <div.grid> at [11,11] [0+1+0 500 0+1+278] [0+1+0 450 0+1+0] [GFC] children: not-inline
|
|
BlockContainer <(anonymous)> (not painted) [BFC] children: inline
|
|
TextNode <#text> (not painted)
|
|
BlockContainer <div.left-margin-auto.right-margin-auto> at [99.71875,12] [87.71875+1+0 322.5625 0+1+87.71875] [0+1+0 18 0+1+0] [BFC] children: inline
|
|
frag 0 from TextNode start: 0, length: 38, rect: [99.71875,12 322.5625x18] baseline: 13.796875
|
|
"auto horizontal margins and auto width"
|
|
TextNode <#text> (not painted)
|
|
BlockContainer <(anonymous)> (not painted) [BFC] children: inline
|
|
TextNode <#text> (not painted)
|
|
BlockContainer <div.left-margin-auto> at [252.375,32] [240.375+1+0 257.625 0+1+0] [0+1+0 18 0+1+0] [BFC] children: inline
|
|
frag 0 from TextNode start: 0, length: 31, rect: [252.375,32 257.625x18] baseline: 13.796875
|
|
"auto left margin and auto width"
|
|
TextNode <#text> (not painted)
|
|
BlockContainer <(anonymous)> (not painted) [BFC] children: inline
|
|
TextNode <#text> (not painted)
|
|
BlockContainer <div.right-margin-auto> at [12,52] [0+1+0 268.484375 0+1+229.515625] [0+1+0 18 0+1+0] [BFC] children: inline
|
|
frag 0 from TextNode start: 0, length: 32, rect: [12,52 268.484375x18] baseline: 13.796875
|
|
"auto right margin and auto width"
|
|
TextNode <#text> (not painted)
|
|
BlockContainer <(anonymous)> (not painted) [BFC] children: inline
|
|
TextNode <#text> (not painted)
|
|
BlockContainer <div.left-margin-auto.right-margin-auto.fit-content-width> at [75.25,72] [63.25+1+0 371.484375 0+1+63.25] [0+1+0 18 0+1+0] [BFC] children: inline
|
|
frag 0 from TextNode start: 0, length: 45, rect: [75.25,72 371.484375x18] baseline: 13.796875
|
|
"auto horizontal margins and fit-content width"
|
|
TextNode <#text> (not painted)
|
|
BlockContainer <(anonymous)> (not painted) [BFC] children: inline
|
|
TextNode <#text> (not painted)
|
|
BlockContainer <div.left-margin-auto.fit-content-width> at [203.453125,92] [191.453125+1+0 306.546875 0+1+0] [0+1+0 18 0+1+0] [BFC] children: inline
|
|
frag 0 from TextNode start: 0, length: 38, rect: [203.453125,92 306.546875x18] baseline: 13.796875
|
|
"auto left margin and fit-content width"
|
|
TextNode <#text> (not painted)
|
|
BlockContainer <(anonymous)> (not painted) [BFC] children: inline
|
|
TextNode <#text> (not painted)
|
|
BlockContainer <div.right-margin-auto.fit-content-width> at [12,112] [0+1+0 317.40625 0+1+180.59375] [0+1+0 18 0+1+0] [BFC] children: inline
|
|
frag 0 from TextNode start: 0, length: 39, rect: [12,112 317.40625x18] baseline: 13.796875
|
|
"auto right margin and fit-content width"
|
|
TextNode <#text> (not painted)
|
|
BlockContainer <(anonymous)> (not painted) [BFC] children: inline
|
|
TextNode <#text> (not painted)
|
|
BlockContainer <div.left-margin-auto.right-margin-auto.fixed-width> at [236,132] [224+1+0 50 0+1+224] [0+1+0 108 0+1+0] [BFC] children: inline
|
|
frag 0 from TextNode start: 0, length: 4, rect: [236,132 36.328125x18] baseline: 13.796875
|
|
"auto"
|
|
frag 1 from TextNode start: 5, length: 10, rect: [236,150 81.84375x18] baseline: 13.796875
|
|
"horizontal"
|
|
frag 2 from TextNode start: 16, length: 7, rect: [236,168 61.453125x18] baseline: 13.796875
|
|
"margins"
|
|
frag 3 from TextNode start: 24, length: 3, rect: [236,186 26.8125x18] baseline: 13.796875
|
|
"and"
|
|
frag 4 from TextNode start: 28, length: 5, rect: [236,204 37.28125x18] baseline: 13.796875
|
|
"fixed"
|
|
frag 5 from TextNode start: 34, length: 5, rect: [236,222 39.796875x18] baseline: 13.796875
|
|
"width"
|
|
TextNode <#text> (not painted)
|
|
BlockContainer <(anonymous)> (not painted) [BFC] children: inline
|
|
TextNode <#text> (not painted)
|
|
BlockContainer <div.left-margin-auto.fixed-width> at [460,242] [448+1+0 50 0+1+0] [0+1+0 108 0+1+0] [BFC] children: inline
|
|
frag 0 from TextNode start: 0, length: 4, rect: [460,242 36.328125x18] baseline: 13.796875
|
|
"auto"
|
|
frag 1 from TextNode start: 5, length: 4, rect: [460,260 26.25x18] baseline: 13.796875
|
|
"left"
|
|
frag 2 from TextNode start: 10, length: 6, rect: [460,278 52.109375x18] baseline: 13.796875
|
|
"margin"
|
|
frag 3 from TextNode start: 17, length: 3, rect: [460,296 26.8125x18] baseline: 13.796875
|
|
"and"
|
|
frag 4 from TextNode start: 21, length: 5, rect: [460,314 37.28125x18] baseline: 13.796875
|
|
"fixed"
|
|
frag 5 from TextNode start: 27, length: 5, rect: [460,332 39.796875x18] baseline: 13.796875
|
|
"width"
|
|
TextNode <#text> (not painted)
|
|
BlockContainer <(anonymous)> (not painted) [BFC] children: inline
|
|
TextNode <#text> (not painted)
|
|
BlockContainer <div.right-margin-auto.fixed-width> at [12,352] [0+1+0 50 0+1+448] [0+1+0 108 0+1+0] [BFC] children: inline
|
|
frag 0 from TextNode start: 0, length: 4, rect: [12,352 36.328125x18] baseline: 13.796875
|
|
"auto"
|
|
frag 1 from TextNode start: 5, length: 5, rect: [12,370 37.109375x18] baseline: 13.796875
|
|
"right"
|
|
frag 2 from TextNode start: 11, length: 6, rect: [12,388 52.109375x18] baseline: 13.796875
|
|
"margin"
|
|
frag 3 from TextNode start: 18, length: 3, rect: [12,406 26.8125x18] baseline: 13.796875
|
|
"and"
|
|
frag 4 from TextNode start: 22, length: 5, rect: [12,424 37.28125x18] baseline: 13.796875
|
|
"fixed"
|
|
frag 5 from TextNode start: 28, length: 5, rect: [12,442 39.796875x18] baseline: 13.796875
|
|
"width"
|
|
TextNode <#text> (not painted)
|
|
BlockContainer <(anonymous)> (not painted) [BFC] children: inline
|
|
TextNode <#text> (not painted)
|
|
BlockContainer <(anonymous)> at [10,462] [0+0+0 780 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 800x472]
|
|
PaintableWithLines (BlockContainer<BODY>) [9,9 782x454]
|
|
PaintableBox (Box<DIV>.grid) [10,10 502x452]
|
|
PaintableWithLines (BlockContainer<DIV>.left-margin-auto.right-margin-auto) [98.71875,11 324.5625x20]
|
|
TextPaintable (TextNode<#text>)
|
|
PaintableWithLines (BlockContainer<DIV>.left-margin-auto) [251.375,31 259.625x20]
|
|
TextPaintable (TextNode<#text>)
|
|
PaintableWithLines (BlockContainer<DIV>.right-margin-auto) [11,51 270.484375x20]
|
|
TextPaintable (TextNode<#text>)
|
|
PaintableWithLines (BlockContainer<DIV>.left-margin-auto.right-margin-auto.fit-content-width) [74.25,71 373.484375x20]
|
|
TextPaintable (TextNode<#text>)
|
|
PaintableWithLines (BlockContainer<DIV>.left-margin-auto.fit-content-width) [202.453125,91 308.546875x20]
|
|
TextPaintable (TextNode<#text>)
|
|
PaintableWithLines (BlockContainer<DIV>.right-margin-auto.fit-content-width) [11,111 319.40625x20]
|
|
TextPaintable (TextNode<#text>)
|
|
PaintableWithLines (BlockContainer<DIV>.left-margin-auto.right-margin-auto.fixed-width) [235,131 52x110]
|
|
TextPaintable (TextNode<#text>)
|
|
PaintableWithLines (BlockContainer<DIV>.left-margin-auto.fixed-width) [459,241 52x110]
|
|
TextPaintable (TextNode<#text>)
|
|
PaintableWithLines (BlockContainer<DIV>.right-margin-auto.fixed-width) [11,351 52x110]
|
|
TextPaintable (TextNode<#text>)
|
|
PaintableWithLines (BlockContainer(anonymous)) [10,462 780x0]
|
|
|
|
SC for Viewport<#document> [0,0 800x600] [children: 1] (z-index: auto)
|
|
SC for BlockContainer<HTML> [1,1 798x470] [children: 0] (z-index: auto)
|