Backport the shared iframe realm-retention fix and its GC regressions.
Adapt mode coverage to main's Mock and OnDemand policies.
Validated with cargo fmt --all, full all-feature Clippy, and
20,081 passing nextest tests (17 existing skips).
(cherry picked from commit 1b40c6f53b)
Route CDP Page.printToPDF and CLI PDF dumps through an owned snapshot PDF
backend with embedded subset fonts and logical text cluster mappings.
Preserve print layout isolation, page selection, and bounded local raster
fallbacks. Pin Krilla to upstream Git and share its font parsing dependencies
with the existing rendering stack where version constraints allow.
Add PDF extraction, pagination, graphics, and print lifecycle regressions,
fixed font fixtures, and reader and CDP smoke checks.
Refs #279.
Keep press and current mouse targets in host-owned state so synchronous
DOM removals invalidate or retarget them before click dispatch. Resolve
click and auxclick targets through the flat tree, preserve captured click
targets, and dispatch mouseup before lostpointercapture.
Cover sibling targets, Shadow DOM, slots, removal and reinsertion, and
pointer capture with deterministic input regressions.
Retain the referrer selected for each completed hop before applying the redirect response policy. A later permissive policy cannot restore an omitted referrer or stripped path. Apply this to buffered, HTML streaming, raw streaming and cached redirects, with native HTTP regressions for policy changes, manual redirects and request identity preservation.
Add the shared WebIDL octet converter and derive support for explicit octet and inferred u8 fields. Convert through JavaScript numeric coercion and modulo arithmetic. Regressions cover negative/fractional/large values, nonfinite numbers, thrown conversion identity, argument sequence order, dictionaries, and unsupported primitives. MIDI bindings are separate.