mirror of
https://github.com/RGBCube/serenity
synced 2025-05-28 19:05:08 +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.
17 lines
966 B
Text
17 lines
966 B
Text
Viewport <#document> at (0,0) content-size 800x600 children: not-inline
|
|
BlockContainer <html> at (1,1) content-size 798x119 [BFC] children: not-inline
|
|
BlockContainer <body> at (10,10) content-size 500x101 children: not-inline
|
|
BlockContainer <div.a> at (31,21) content-size 458x79 children: not-inline
|
|
BlockContainer <div.b> at (72,52) content-size 376x17 children: inline
|
|
InlineNode <span>
|
|
frag 0 from TextNode start: 0, length: 5, rect: [73,52 39.78125x17] baseline: 13.296875
|
|
"Hello"
|
|
TextNode <#text>
|
|
|
|
ViewportPaintable (Viewport<#document>) [0,0 800x600]
|
|
PaintableWithLines (BlockContainer<HTML>) [0,0 800x121]
|
|
PaintableWithLines (BlockContainer<BODY>) [9,9 502x103]
|
|
PaintableWithLines (BlockContainer<DIV>.a) [10,10 500x101]
|
|
PaintableWithLines (BlockContainer<DIV>.b) [71,51 378x19]
|
|
InlinePaintable (InlineNode<SPAN>)
|
|
TextPaintable (TextNode<#text>)
|