mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-26 09:45:06 +02:00
Our layout tree requires that all containers either have inline or non-inline children. In order to support the layout of non-inline elements inside inline elements, we need to do a bit of tree restructuring. It effectively simulates temporarily closing all inline nodes, appending the block element, and resumes appending to the last open inline node. The acid1.txt expectation needed to be updated to reflect the fact that we now hoist its <p> elements out of the inline <form> they were in. Visually, the before and after situations for acid1.html are identical.
178 lines
11 KiB
Plaintext
178 lines
11 KiB
Plaintext
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.890625x10] 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.296875x10] baseline: 8
|
|
"the world ends"
|
|
TextNode <#text>
|
|
BlockContainer <(anonymous)> at (235,65) content-size 139.96875x0 children: inline
|
|
TextNode <#text>
|
|
InlineNode <form>
|
|
TextNode <#text>
|
|
BlockContainer <(anonymous)> at (235,65) content-size 139.96875x19 children: not-inline continuation
|
|
BlockContainer <p> at (235,65) content-size 139.96875x19 children: inline
|
|
frag 0 from TextNode start: 1, length: 5, rect: [235,65 27.5x19] baseline: 12.5
|
|
"bang "
|
|
frag 1 from RadioButton start: 0, length: 0, rect: [262.5,65 12x12] baseline: 12
|
|
TextNode <#text>
|
|
RadioButton <input> at (262.5,65) content-size 12x12 inline-block children: not-inline
|
|
TextNode <#text>
|
|
BlockContainer <(anonymous)> at (235,84) content-size 139.96875x0 children: inline
|
|
InlineNode <form> continuation
|
|
TextNode <#text>
|
|
BlockContainer <(anonymous)> at (235,84) content-size 139.96875x19 children: not-inline continuation
|
|
BlockContainer <p> at (235,84) content-size 139.96875x19 children: inline
|
|
frag 0 from TextNode start: 1, length: 8, rect: [235,84 45.171875x19] baseline: 12.5
|
|
"whimper "
|
|
frag 1 from RadioButton start: 0, length: 0, rect: [280.171875,84 12x12] baseline: 12
|
|
TextNode <#text>
|
|
RadioButton <input> at (280.171875,84) content-size 12x12 inline-block children: not-inline
|
|
TextNode <#text>
|
|
BlockContainer <(anonymous)> at (235,103) content-size 139.96875x0 children: inline
|
|
InlineNode <form> continuation
|
|
TextNode <#text>
|
|
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.59375x10] baseline: 8
|
|
"i grow"
|
|
frag 1 from TextNode start: 7, length: 3, rect: [409.96875,70 14.015625x10] 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.234375x10] 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.46875x10] 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.6875x13] 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.9375x13] baseline: 9.5
|
|
"indistinguishably (to the pixel) from this "
|
|
frag 3 from TextNode start: 0, length: 31, rect: [330.96875,361 159.671875x13] baseline: 9.5
|
|
" (except font rasterization and"
|
|
frag 4 from TextNode start: 32, length: 89, rect: [20,374 465.09375x13] 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.59375x13] 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.5,387 2.71875x13] baseline: 9.5
|
|
"."
|
|
TextNode <#text>
|
|
InlineNode <a>
|
|
frag 0 from TextNode start: 0, length: 20, rect: [227.9375,361 103.03125x13] baseline: 9.5
|
|
"reference rendering,"
|
|
TextNode <#text>
|
|
TextNode <#text>
|
|
InlineNode <a>
|
|
frag 0 from TextNode start: 0, length: 11, rect: [365.59375,387 59.90625x13] 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]
|
|
PaintableWithLines (InlineNode<FORM>)
|
|
PaintableWithLines (BlockContainer(anonymous)) [235,65 139.96875x19]
|
|
PaintableWithLines (BlockContainer<P>) [235,65 139.96875x19]
|
|
TextPaintable (TextNode<#text>)
|
|
RadioButtonPaintable (RadioButton<INPUT>) [262.5,65 12x12]
|
|
PaintableWithLines (BlockContainer(anonymous)) [235,84 139.96875x0]
|
|
PaintableWithLines (InlineNode<FORM>)
|
|
PaintableWithLines (BlockContainer(anonymous)) [235,84 139.96875x19]
|
|
PaintableWithLines (BlockContainer<P>) [235,84 139.96875x19]
|
|
TextPaintable (TextNode<#text>)
|
|
RadioButtonPaintable (RadioButton<INPUT>) [280.171875,84 12x12]
|
|
PaintableWithLines (BlockContainer(anonymous)) [235,103 139.96875x0]
|
|
PaintableWithLines (InlineNode<FORM>)
|
|
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>)
|
|
PaintableWithLines (InlineNode<A>)
|
|
TextPaintable (TextNode<#text>)
|
|
TextPaintable (TextNode<#text>)
|
|
PaintableWithLines (InlineNode<A>)
|
|
TextPaintable (TextNode<#text>)
|
|
TextPaintable (TextNode<#text>)
|
|
PaintableWithLines (BlockContainer(anonymous)) [20,400 480x0]
|