Flush parser insertion reactions after the tree builder completes its current
token so connected callbacks run before children without retaining parser
borrows across JavaScript execution.
Keep one DocumentParserSession and expose a restricted insertion handle for
nested writes. Share input, suspension, cancellation, and close state so
blocked writes remain queued and outer feeds stop when nested parsing blocks
or replaces the document. Let the owning session finish deferred close and
dispatch readiness transitions once.
Reuse form-owner mutation detection for child parser insertions and add
regressions for reaction order, form association, nested writes, gated external
scripts, document replacement, and deferred close.
Validation: cargo fmt --all; strict workspace Clippy; cargo nextest run
--no-fail-fast (18,104 passed, 13 existing skips); release build.
Let an undefined element with a queued upgrade participate in a nested
appendChild() or customElements.upgrade() reaction scope. Use construction
state at execution time to prevent duplicate constructors, and keep failed
upgrade cleanup intact.
Remove pending-upgrade checks from lifecycle enqueueing so a remaining
duplicate upgrade cannot suppress a successful upgrade's form callback.
Drop the unused queue membership helpers.
Add regressions for nested insertion and explicit upgrade, initial form
association, and constructor failure. Correct two fragment parser ordering
assertions after verifying the same scripts against local Chromium 147.
Validation: cargo fmt --all; workspace clippy with all targets and features
and -D warnings; 17,803 nextest tests passed, 13 skipped. All 75 subtests in
the seven affected WPT pages pass. The custom-elements directory passes
163/165 pages, with the same two remaining failures as the prior run.
Queue either a connected callback for an existing custom element or an upgrade for an undefined element. Let the upgrade own its initial connection callback instead of synchronously upgrading the subtree and enqueueing connections again.
Cover option and ordinary containers, reconnection, and mixed upgraded/undefined sibling order against Chromium. HTMLOptionElement WPT passes; workspace fmt, clippy, and all 17800 nextest tests pass.
Use the shared custom element construction path in the child realm and deliver parser mutation records and lifecycle reactions. Give child document streams CEReactions scopes so writes finish reactions without premature microtask checkpoints.
Add regressions for synchronous construction, parser mutation batches, nested JavaScript, and dynamic markup guards. The five affected WPT pages pass all 46 subtests; workspace fmt, clippy, and all 17798 nextest tests pass.
Ignore unknown responseType values after string conversion and before XHR state checks. Preserve conversion exceptions, ignore document in workers, and validate the native receiver in the accessor realm.
Source: db79f4a746
Propagate WebIDL sequence conversion errors without IteratorClose. Convert all inner sequences before validating URLSearchParams pair lengths or normalizing Headers, preserving getter order and conversion exceptions.
Source: afe693c9a3, 4a420981c3