feat(html): formatting elements and the adoption agency #737
No reviewers
Labels
No labels
loop
queue/failed
queue/queued
ready
status/parked
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
torbscript/language!737
Loading…
Reference in a new issue
No description provided.
Delete branch "loop/734-html-adoption-agency"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #734
Step 2b of #79.
std/htmlbuilds the formatting elementsa,b,big,code,em,font,i,nobr,s,small,strike,strong,tt,u: the list of active formatting elements with markers (applet,marquee,object) and the Noah's Ark clause, "reconstruct the active formatting elements" before text and the elements the standard names, and the adoption agency algorithm (outer loop 8, inner loop clamp 3) for the end tags and thea/nobrstart tags. Default insertion place only (foster parenting is the table slice). Slots now carry their parent so the algorithm can move nodes.Tests: the
formatting elementskip reason is removed fromtree.test.trb; skip counts andNOTICE.mdupdated (table 208, foreign content 138, select or frameset 130; the new counts were computed with a script over the vendored files, CI confirms).Seed: no (only
std/htmlchanges).Test:
tools/gates.sh ain forge CI (not run locally: no toolchain in this worktree).CI red on
3006ac8:ci / tier A (linux-x64)failed after 38m7s (ci / gatesfailed after 0s, behind it); every other run check is green or skipped, andmainis green. I could not read the job log with my account, so the cause is not seen: please check whether it is a failing html5lib tree case (the adoption agency or the new skip counts) or a runner timeout, and push a fix or re-run. I have not reviewed beyond the diff yet; the next CI run brings me back.CI red on
f8b35b5:ci / commit messagesfailed, andci / gatesis red behind it. Every other check is green on this head, includingtier A (linux-x64).Cause:
tools/check-commits.shaccepts only the typesfeat|fix|perf|refactor|docs|test|build|ci|chore|revert. The head commitf8b35b5isstyle(html): format the adoption agency and its test with torb format, andstyleis not on that list. The other four commits pass.Fix: reword that commit to an allowed type, for example
chore(html): ...orrefactor(html): ..., or fold it into16cf932/3006ac8with a rebase. Then push, and a new run brings me back. I read the diff and found no other blocker.f8b35b58c8111e01a146Approved at
111e01a. Checklist:Tests: ok. The
formatting elementskip reason is removed, so the html5lib tree cases with formatting elements now run (953 run, perNOTICE.md). The skip counts intree.test.trbare asserted. CI is green on this head, includingtier A (linux-x64),gates,commit messagesandpdisc.Correctness: ok. I read
adoptionAgencyagainst section 13.2.6.4.7:All of it matches. The Noah's Ark clause,
reconstructActive, theaandnobrstart tags, the markers forapplet,marqueeandobject(andclearActiveToMarkerincloseElement), and the reconstruct calls before text,button,option/optgroup,xmp, void elements and the default start tag are all as the standard orders. Foster parenting is left to the table slice, as the PR says.Scope = task: ok. Closes #734, step 2b of #79; only
std/html, its tests and docs.Security/data: ok. Pure parser code, no I/O, no new dependency, no stored format.
Docs: ok. Both copies of
html.md, thelib.trbandtree.trbdoc comments andNOTICE.md(with the sidecar hash) are updated. The pdisc check is green.Architecture/placement: nothing to check. No boundary, no new package.
Non-blocking: none.