mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 23:28:11 +00:00

The paintable tree structure more closely matches the painting order when fragments are owned by corresponding inline paintables. This change does not affect the layout tree, as it is more convenient for layout purposes to have all fragments owned by a block container in one place. Additionally, this improves performance significantly on pages with many fragments, as we no longer have to walk the ancestor chain up to the closest block container to determine if a fragment belongs to an inline paintable.
167 lines
9.9 KiB
Text
167 lines
9.9 KiB
Text
Viewport <#document> at (0,0) content-size 800x600 children: not-inline
|
|
BlockContainer <html> at (0,0) content-size 800x420 [BFC] children: not-inline
|
|
BlockContainer <(anonymous)> at (0,0) content-size 800x0 children: inline
|
|
TextNode <#text>
|
|
BlockContainer <body> at (20,20) content-size 480x380 children: not-inline
|
|
BlockContainer <(anonymous)> at (20,20) content-size 480x0 children: inline
|
|
TextNode <#text>
|
|
BlockContainer <dl> at (25,25) content-size 470x0 children: inline
|
|
TextNode <#text>
|
|
BlockContainer <dt> at (40,40) content-size 49.984375x280 floating [BFC] children: inline
|
|
frag 0 from TextNode start: 0, length: 6, rect: [40,40 28.3125x10] baseline: 8
|
|
"toggle"
|
|
TextNode <#text>
|
|
TextNode <#text>
|
|
BlockContainer <dd> at (135,45) content-size 340x270 floating [BFC] children: not-inline
|
|
BlockContainer <(anonymous)> at (135,45) content-size 340x0 children: inline
|
|
TextNode <#text>
|
|
BlockContainer <ul> at (135,45) content-size 340x0 children: inline
|
|
TextNode <#text>
|
|
BlockContainer <li> at (150,60) content-size 50x90 floating [BFC] children: inline
|
|
frag 0 from TextNode start: 0, length: 7, rect: [150,60 37.875x10] baseline: 8
|
|
"the way"
|
|
TextNode <#text>
|
|
TextNode <#text>
|
|
BlockContainer <li#bar> at (235,55) content-size 139.96875x90 floating [BFC] children: not-inline
|
|
BlockContainer <(anonymous)> at (235,55) content-size 139.96875x0 children: inline
|
|
TextNode <#text>
|
|
BlockContainer <p> at (235,55) content-size 139.96875x10 children: inline
|
|
frag 0 from TextNode start: 0, length: 14, rect: [235,55 74.3125x10] baseline: 8
|
|
"the world ends"
|
|
TextNode <#text>
|
|
BlockContainer <(anonymous)> at (235,65) content-size 139.96875x0 children: inline
|
|
TextNode <#text>
|
|
InlineNode <form>
|
|
TextNode <#text>
|
|
TextNode <#text>
|
|
TextNode <#text>
|
|
BlockContainer <p> at (235,65) content-size 139.96875x19 children: inline
|
|
frag 0 from TextNode start: 1, length: 5, rect: [235,65 27.484375x19] baseline: 12.5
|
|
"bang "
|
|
frag 1 from RadioButton start: 0, length: 0, rect: [262,65 12x12] baseline: 12
|
|
TextNode <#text>
|
|
RadioButton <input> at (262,65) content-size 12x12 inline-block children: not-inline
|
|
TextNode <#text>
|
|
BlockContainer <p> at (235,84) content-size 139.96875x19 children: inline
|
|
frag 0 from TextNode start: 1, length: 8, rect: [235,84 45.15625x19] baseline: 12.5
|
|
"whimper "
|
|
frag 1 from RadioButton start: 0, length: 0, rect: [280,84 12x12] baseline: 12
|
|
TextNode <#text>
|
|
RadioButton <input> at (280,84) content-size 12x12 inline-block children: not-inline
|
|
TextNode <#text>
|
|
BlockContainer <(anonymous)> at (235,103) content-size 139.96875x0 children: inline
|
|
TextNode <#text>
|
|
TextNode <#text>
|
|
BlockContainer <li> at (409.96875,60) content-size 50x90 floating [BFC] children: inline
|
|
frag 0 from TextNode start: 0, length: 6, rect: [409.96875,60 31.578125x10] baseline: 8
|
|
"i grow"
|
|
frag 1 from TextNode start: 7, length: 3, rect: [409.96875,70 14.03125x10] baseline: 8
|
|
"old"
|
|
TextNode <#text>
|
|
TextNode <#text>
|
|
BlockContainer <li#baz> at (145,185) content-size 100x100 floating [BFC] children: inline
|
|
frag 0 from TextNode start: 0, length: 6, rect: [145,185 29.421875x10] baseline: 8
|
|
"pluot?"
|
|
TextNode <#text>
|
|
TextNode <#text>
|
|
BlockContainer <(anonymous)> at (135,45) content-size 340x0 children: inline
|
|
TextNode <#text>
|
|
BlockContainer <blockquote> at (280,195) content-size 50x90 floating [BFC] children: not-inline
|
|
BlockContainer <(anonymous)> at (280,195) content-size 50x0 children: inline
|
|
TextNode <#text>
|
|
BlockContainer <address> at (280,195) content-size 50x20 children: inline
|
|
frag 0 from TextNode start: 0, length: 3, rect: [280,195 17.28125x10] baseline: 8
|
|
"bar"
|
|
frag 1 from TextNode start: 4, length: 6, rect: [280,205 30.21875x10] baseline: 8
|
|
"maids,"
|
|
TextNode <#text>
|
|
BlockContainer <(anonymous)> at (280,215) content-size 50x0 children: inline
|
|
TextNode <#text>
|
|
TextNode <#text>
|
|
BlockContainer <h1> at (365,185) content-size 100x100 floating [BFC] children: inline
|
|
frag 0 from TextNode start: 0, length: 11, rect: [365,185 56.421875x10] baseline: 8
|
|
"sing to me,"
|
|
frag 1 from TextNode start: 12, length: 12, rect: [365,195 65.4375x10] baseline: 8
|
|
"erbarme dich"
|
|
TextNode <#text>
|
|
TextNode <#text>
|
|
TextNode <#text>
|
|
BlockContainer <(anonymous)> at (20,30) content-size 480x0 children: inline
|
|
TextNode <#text>
|
|
BlockContainer <p> at (20,335) content-size 480x65 children: inline
|
|
frag 0 from TextNode start: 1, length: 90, rect: [20,335 473.625x13] baseline: 9.5
|
|
"This is a nonsensical document, but syntactically valid HTML 4.0. All 100%-conformant CSS1"
|
|
frag 1 from TextNode start: 92, length: 74, rect: [20,348 396.96875x13] baseline: 9.5
|
|
"agents should be able to render the document elements above this paragraph"
|
|
frag 2 from TextNode start: 167, length: 43, rect: [20,361 207.890625x13] baseline: 9.5
|
|
"indistinguishably (to the pixel) from this "
|
|
frag 3 from TextNode start: 0, length: 31, rect: [331,361 159.671875x13] baseline: 9.5
|
|
" (except font rasterization and"
|
|
frag 4 from TextNode start: 32, length: 89, rect: [20,374 465.015625x13] baseline: 9.5
|
|
"form widgets). All discrepancies should be traceable to CSS1 implementation shortcomings."
|
|
frag 5 from TextNode start: 122, length: 67, rect: [20,387 345.546875x13] baseline: 9.5
|
|
"Once you have finished evaluating this test, you can return to the "
|
|
frag 6 from TextNode start: 0, length: 1, rect: [425,387 2.71875x13] baseline: 9.5
|
|
"."
|
|
TextNode <#text>
|
|
InlineNode <a>
|
|
frag 0 from TextNode start: 0, length: 20, rect: [228,361 103.015625x13] baseline: 9.5
|
|
"reference rendering,"
|
|
TextNode <#text>
|
|
TextNode <#text>
|
|
InlineNode <a>
|
|
frag 0 from TextNode start: 0, length: 11, rect: [366,387 59.890625x13] baseline: 9.5
|
|
"parent page"
|
|
TextNode <#text>
|
|
TextNode <#text>
|
|
BlockContainer <(anonymous)> at (20,400) content-size 480x0 children: inline
|
|
TextNode <#text>
|
|
|
|
ViewportPaintable (Viewport<#document>) [0,0 800x600]
|
|
PaintableWithLines (BlockContainer<HTML>) [0,0 800x420]
|
|
PaintableWithLines (BlockContainer(anonymous)) [0,0 800x0]
|
|
PaintableWithLines (BlockContainer<BODY>) [15,15 490x390]
|
|
PaintableWithLines (BlockContainer(anonymous)) [20,20 480x0]
|
|
PaintableWithLines (BlockContainer<DL>) [20,20 480x10]
|
|
PaintableWithLines (BlockContainer<DT>) [25,25 79.984375x310]
|
|
TextPaintable (TextNode<#text>)
|
|
PaintableWithLines (BlockContainer<DD>) [115,25 380x310]
|
|
PaintableWithLines (BlockContainer(anonymous)) [135,45 340x0]
|
|
PaintableWithLines (BlockContainer<UL>) [135,45 340x0]
|
|
PaintableWithLines (BlockContainer<LI>) [135,45 80x120]
|
|
TextPaintable (TextNode<#text>)
|
|
PaintableWithLines (BlockContainer<LI>#bar) [225,45 159.96875x110]
|
|
PaintableWithLines (BlockContainer(anonymous)) [235,55 139.96875x0]
|
|
PaintableWithLines (BlockContainer<P>) [235,55 139.96875x10]
|
|
TextPaintable (TextNode<#text>)
|
|
PaintableWithLines (BlockContainer(anonymous)) [235,65 139.96875x0]
|
|
InlinePaintable (InlineNode<FORM>)
|
|
PaintableWithLines (BlockContainer<P>) [235,65 139.96875x19]
|
|
TextPaintable (TextNode<#text>)
|
|
RadioButtonPaintable (RadioButton<INPUT>) [262,65 12x12]
|
|
PaintableWithLines (BlockContainer<P>) [235,84 139.96875x19]
|
|
TextPaintable (TextNode<#text>)
|
|
RadioButtonPaintable (RadioButton<INPUT>) [280,84 12x12]
|
|
PaintableWithLines (BlockContainer(anonymous)) [235,103 139.96875x0]
|
|
PaintableWithLines (BlockContainer<LI>) [394.96875,45 80x120]
|
|
TextPaintable (TextNode<#text>)
|
|
PaintableWithLines (BlockContainer<LI>#baz) [135,175 120x120]
|
|
TextPaintable (TextNode<#text>)
|
|
PaintableWithLines (BlockContainer(anonymous)) [135,45 340x0]
|
|
PaintableWithLines (BlockContainer<BLOCKQUOTE>) [275,175 70x140]
|
|
PaintableWithLines (BlockContainer(anonymous)) [280,195 50x0]
|
|
PaintableWithLines (BlockContainer<ADDRESS>) [280,195 50x20]
|
|
TextPaintable (TextNode<#text>)
|
|
PaintableWithLines (BlockContainer(anonymous)) [280,215 50x0]
|
|
PaintableWithLines (BlockContainer<H1>) [355,175 120x120]
|
|
TextPaintable (TextNode<#text>)
|
|
PaintableWithLines (BlockContainer(anonymous)) [20,30 480x0]
|
|
PaintableWithLines (BlockContainer<P>) [20,335 480x65]
|
|
TextPaintable (TextNode<#text>)
|
|
InlinePaintable (InlineNode<A>)
|
|
TextPaintable (TextNode<#text>)
|
|
TextPaintable (TextNode<#text>)
|
|
InlinePaintable (InlineNode<A>)
|
|
TextPaintable (TextNode<#text>)
|
|
TextPaintable (TextNode<#text>)
|
|
PaintableWithLines (BlockContainer(anonymous)) [20,400 480x0]
|