Files
rust_browser/tests/goldens/expected/239-counter-with-list-style.layout.txt
Zachary D. Rowitsch d5234cf546 Implement HTML5 tree builder insertion modes with code review fixes (§13.2.6)
Refactor tree_builder.rs into module directory with 7 files implementing all
23 insertion modes per WHATWG HTML §13.2.6.4 as an explicit state machine.
Includes active formatting elements list with Noah's Ark clause, scope
checking for all 5 scope types, context-sensitive fragment parsing, and
iterative token reprocessing via ProcessResult enum.

Code review fixes: fix formatting element end tag truncation bug (save
node_id before truncate), replace manual element creation in catch-all
StartTag with insert_element_maybe_self_closing, add skip_next_newline for
pre/listing/textarea per spec, add QuirksMode to Document with basic DOCTYPE
detection, refactor all 23 handlers from Token to &Token to eliminate clone
per dispatch, fix self_closing handling for pre/listing/textarea/plaintext,
improve golden test 276 fixture coverage and foster-parent test assertion.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-14 22:12:19 -04:00

124 lines
4.8 KiB
Plaintext

LayoutBox node=#1 tag=html box=block
content: (0, 0, 800, 124.8)
padding: 0 0 0 0
border: 0 0 0 0
margin: 0 0 0 0
LayoutBox node=#8 tag=body box=block
content: (8, 16, 784, 92.8)
padding: 0 0 0 0
border: 0 0 0 0
margin: 8 8 8 8
LayoutBox node=#10 tag=ol box=block
content: (48, 16, 744, 76.8)
padding: 0 0 0 40
border: 0 0 0 0
margin: 16 0 16 0
LayoutBox node=#12 tag=li box=block
content: (48, 16, 744, 19.2)
padding: 0 0 0 0
border: 0 0 0 0
margin: 0 0 0 0
inline_context: 1 lines, height=19.2, max_width=51.00734
line[0]: rect=(48, 16, 51.00734, 19.2) fragments=3
frag[0]: rect=(48, 17.6, 10.020557, 16) text="0." start=true end=true
frag[1]: rect=(61.07489, 17.6, 23.847282, 16) text="First" start=false end=false
frag[2]: rect=(87.9765, 17.6, 11.030837, 16) text="(I)" start=false end=false
LayoutBox node=#25 tag=anonymous box=inline
content: (0, -8, 0, 0)
padding: 0 0 0 0
border: 0 0 0 0
margin: 0 0 0 0
LayoutBox node=#26 tag=anonymous box=anon
content: (0, -8, 13.074889, 16)
padding: 0 0 0 0
border: 0 0 0 0
margin: 0 0 0 0
text: "0. "
LayoutBox node=#13 tag=anonymous box=anon
content: (0, -8, 37.93245, 16)
padding: 0 0 0 0
border: 0 0 0 0
margin: 0 0 0 0
text: "First (I)"
LayoutBox node=#15 tag=li box=block
content: (48, 35.2, 744, 19.2)
padding: 0 0 0 0
border: 0 0 0 0
margin: 0 0 0 0
inline_context: 1 lines, height=19.2, max_width=71.44787
line[0]: rect=(48, 35.2, 71.44787, 19.2) fragments=3
frag[0]: rect=(48, 36.800003, 10.020557, 16) text="0." start=true end=true
frag[1]: rect=(61.07489, 36.800003, 40.305435, 16) text="Second" start=false end=false
frag[2]: rect=(104.434654, 36.800003, 15.013216, 16) text="(II)" start=false end=false
LayoutBox node=#27 tag=anonymous box=inline
content: (0, -8, 0, 0)
padding: 0 0 0 0
border: 0 0 0 0
margin: 0 0 0 0
LayoutBox node=#28 tag=anonymous box=anon
content: (0, -8, 13.074889, 16)
padding: 0 0 0 0
border: 0 0 0 0
margin: 0 0 0 0
text: "0. "
LayoutBox node=#16 tag=anonymous box=anon
content: (0, -8, 58.372986, 16)
padding: 0 0 0 0
border: 0 0 0 0
margin: 0 0 0 0
text: "Second (II)"
LayoutBox node=#18 tag=li box=block
content: (48, 54.4, 744, 19.200005)
padding: 0 0 0 0
border: 0 0 0 0
margin: 0 0 0 0
inline_context: 1 lines, height=19.200005, max_width=64.0235
line[0]: rect=(48, 54.4, 64.0235, 19.2) fragments=3
frag[0]: rect=(48, 56, 10.020557, 16) text="0." start=true end=true
frag[1]: rect=(61.07489, 56, 28.898678, 16) text="Third" start=false end=false
frag[2]: rect=(93.0279, 56, 18.995594, 16) text="(III)" start=false end=false
LayoutBox node=#29 tag=anonymous box=inline
content: (0, -8, 0, 0)
padding: 0 0 0 0
border: 0 0 0 0
margin: 0 0 0 0
LayoutBox node=#30 tag=anonymous box=anon
content: (0, -8, 13.074889, 16)
padding: 0 0 0 0
border: 0 0 0 0
margin: 0 0 0 0
text: "0. "
LayoutBox node=#19 tag=anonymous box=anon
content: (0, -8, 50.94861, 16)
padding: 0 0 0 0
border: 0 0 0 0
margin: 0 0 0 0
text: "Third (III)"
LayoutBox node=#21 tag=li box=block
content: (48, 73.600006, 744, 19.199997)
padding: 0 0 0 0
border: 0 0 0 0
margin: 0 0 0 0
inline_context: 1 lines, height=19.199997, max_width=71.02496
line[0]: rect=(48, 73.600006, 71.02496, 19.2) fragments=3
frag[0]: rect=(48, 75.200005, 10.020557, 16) text="0." start=true end=true
frag[1]: rect=(61.07489, 75.200005, 36.816444, 16) text="Fourth" start=false end=false
frag[2]: rect=(100.94566, 75.200005, 18.079296, 16) text="(IV)" start=false end=false
LayoutBox node=#31 tag=anonymous box=inline
content: (0, -8, 0, 0)
padding: 0 0 0 0
border: 0 0 0 0
margin: 0 0 0 0
LayoutBox node=#32 tag=anonymous box=anon
content: (0, -8, 13.074889, 16)
padding: 0 0 0 0
border: 0 0 0 0
margin: 0 0 0 0
text: "0. "
LayoutBox node=#22 tag=anonymous box=anon
content: (0, -8, 57.950073, 16)
padding: 0 0 0 0
border: 0 0 0 0
margin: 0 0 0 0
text: "Fourth (IV)"