mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 16:12:44 +00:00 
			
		
		
		
	 2960bf4ec8
			
		
	
	
		2960bf4ec8
		
	
	
	
	
		
			
			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.
		
			
				
	
	
		
			47 lines
		
	
	
	
		
			2.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
	
		
			2.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| Viewport <#document> at (0,0) content-size 800x600 children: not-inline
 | |
|   BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
 | |
|     BlockContainer <body> at (8,8) content-size 784x25 children: not-inline
 | |
|       TableWrapper <(anonymous)> at (8,8) content-size 49.21875x25 [BFC] children: not-inline
 | |
|         Box <table> at (8,8) content-size 49.21875x25 table-box [TFC] children: not-inline
 | |
|           BlockContainer <(anonymous)> (not painted) children: inline
 | |
|             TextNode <#text>
 | |
|           Box <tbody> at (8,8) content-size 43.21875x19 table-row-group children: not-inline
 | |
|             Box <tr> at (10,10) content-size 43.21875x9.5 table-row children: not-inline
 | |
|               BlockContainer <(anonymous)> (not painted) children: inline
 | |
|                 TextNode <#text>
 | |
|               BlockContainer <td> at (11,14.75) content-size 0x0 table-cell [BFC] children: not-inline
 | |
|               BlockContainer <(anonymous)> (not painted) children: inline
 | |
|                 TextNode <#text>
 | |
|               BlockContainer <td> at (16,12) content-size 37.21875x17 table-cell [BFC] children: inline
 | |
|                 TextNode <#text>
 | |
|                 InlineNode <a>
 | |
|                   frag 0 from TextNode start: 0, length: 4, rect: [16,12 37.21875x17] baseline: 13.296875
 | |
|                       "Test"
 | |
|                   TextNode <#text>
 | |
|                 TextNode <#text>
 | |
|               BlockContainer <(anonymous)> (not painted) children: inline
 | |
|                 TextNode <#text>
 | |
|             BlockContainer <(anonymous)> (not painted) children: inline
 | |
|               TextNode <#text>
 | |
|             Box <tr> at (10,21.5) content-size 43.21875x9.5 table-row children: not-inline
 | |
|               BlockContainer <(anonymous)> (not painted) children: inline
 | |
|                 TextNode <#text>
 | |
|               BlockContainer <td> at (11,26.25) content-size 0x0 table-cell [BFC] children: not-inline
 | |
|               BlockContainer <(anonymous)> (not painted) children: inline
 | |
|                 TextNode <#text>
 | |
|             BlockContainer <(anonymous)> (not painted) children: inline
 | |
|               TextNode <#text>
 | |
| 
 | |
| ViewportPaintable (Viewport<#document>) [0,0 800x600]
 | |
|   PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
 | |
|     PaintableWithLines (BlockContainer<BODY>) [8,8 784x25]
 | |
|       PaintableWithLines (TableWrapper(anonymous)) [8,8 49.21875x25]
 | |
|         PaintableBox (Box<TABLE>) [8,8 49.21875x25]
 | |
|           PaintableBox (Box<TBODY>) [8,8 43.21875x19] overflow: [8,8 47.21875x23]
 | |
|             PaintableBox (Box<TR>) [10,10 43.21875x9.5] overflow: [10,10 45.21875x21]
 | |
|               PaintableWithLines (BlockContainer<TD>) [10,10 2x9.5]
 | |
|               PaintableWithLines (BlockContainer<TD>) [14,10 41.21875x21]
 | |
|                 InlinePaintable (InlineNode<A>)
 | |
|                   TextPaintable (TextNode<#text>)
 | |
|             PaintableBox (Box<TR>) [10,21.5 43.21875x9.5]
 | |
|               PaintableWithLines (BlockContainer<TD>) [10,21.5 2x9.5]
 |