Apply the shared script nonceability check to parser scripts, buffered preloads and runtime script preparation. Suspicious script attribute names and values must not authorize execution merely because a nonce matches. Includes parser, preload and dynamic-preparation regressions.
The attribute checks follow the [CSP3 nonceability algorithm](https://www.w3.org/TR/CSP3/#is-element-nonceable), including case-insensitive `<link`, `<script` and `<style` matches and parser duplicate attributes.
Validation: all branch checks passed. Summary [ 115.690s] 18925 tests run: 18925 passed (9 slow), 16 skipped
Avoid materializing a document style world during font reconciliation when no font state, style state or active author stylesheet exists. Keep document and connected shadow-root adopted sheets observable, and retain reconciliation after any state has been published. Tests cover the lazy path and shadow adopted-sheet sources.
Validation: all branch checks passed. Summary [ 104.769s] 18923 tests run: 18923 passed (9 slow), 16 skipped
Gate both popup same-document fast paths on GET, a non-null target fragment and non-reload navigation. Repeated fragmentless GET submissions now load a new document through the normal navigation path.
Exercise two GET and POST submissions for each popup target with no-store responses, checking actual requests and document replacement. Verified the GET regression fails before the fix.
Validation: cargo fmt --all; cargo clippy --workspace --all-targets --all-features -- -D warnings; cargo nextest run --no-fail-fast (18945 passed, 16 skipped).
Share the native document browsing-context check with visibility getters. Route popup self, parent and top submissions through popup navigation, preserving POST requests and fetching again for same-URL POSTs.
Cover real GET/POST requests, borrowed submit methods, repeated POST, navigation cancellation and closed popup documents. Validation: cargo fmt --all; cargo clippy --workspace --all-targets --all-features -- -D warnings; cargo nextest run --no-fail-fast (18945 passed, 16 skipped).
Carry the selected control or image query into RadioNodeList descriptors
and reuse the same matching helpers when resolving live collections.
Retained image lists keep their filter when matching controls are added,
and retained control lists never switch to image fallback.
Cover image membership, descriptor access, name changes, tree order,
removal, and adoption while preserving form.elements control filtering.
Replace the native-member name allowlist with real own-property checks
using the incoming V8 name. Keep definition restrictions separate from
named-property visibility so Reflect.defineProperty returns false while
Object.defineProperty throws for supported names.
Cover own data and accessor properties across parsed, detached, adopted,
and child-document forms, including collisions with prototype members.
Apply Trusted Types conversion and violation reporting to report-only eval and Function sinks while allowing unconverted sources when enforcement is absent. Preserve default-policy exceptions and the existing rejection of transformed code-generation sources. Includes report-only execution and queued violation regressions.
Validation: all branch checks passed. Summary [ 132.995s] 18922 tests run: 18922 passed (9 slow), 16 skipped
Expand WPT domain and host templates for configured Unicode labels, nested subdomains and alternate hosts using IDNA output. Leave unknown template keys and non-template response bytes unchanged. Tests exercise response bodies, headers and one-pass request substitutions.
Validation: all branch checks passed. Ran 324 tests in 125.691s; OK
Support remote-context executor pages and dispatcher queues, including atomic FIFO messages, request-header forwarding, CORS and response pipes. The branch includes the minimal shared response/body helpers it needs and does not depend on the iframe-stash branch. Tests cover wire behavior, concurrent queue operations and case selection.
Validation: all branch checks passed. Ran 336 tests in 134.129s; OK
Expose clientInformation as a replaceable alias of the associated Navigator, plus a per-Window External object with the legacy no-op methods. Retained getters use native associations after public properties are shadowed.
Regression coverage checks top-level windows, iframe realms, lightweight popups, detachment, object identity, property descriptors, native receiver brands, and replaceable properties.
Validation: fmt, strict workspace clippy, full nextest. Summary [ 105.145s] 18906 tests run: 18906 passed (9 slow), 16 skipped
Require enable-cors and a nonempty Origin before exposing CORS response headers from common/redirect.py. Preserve the first status and Location values, handle extension methods, and respond without waiting for unused uploads or adding a Content-Length header.
Validation: 580 Python tests passed with 32 workers; 1296 HTTP responses matched official wptserve for status, body, and 15 response fields. New regression tests fail on the unmodified main baseline.
Source-commit: 99b528aece
Keep request identity and cancellation in Fetch while read tasks exclusively own response data. Match completions to the registered read instead of reinserting transfers or replying to navigations from I/O completion.
Retire superseded reads immediately, drain reads on Fetch disable, and preserve typed read errors. Cover delayed successes, failures, request reuse, cancellation, and debugger-paused supersession.
Enable Network before setting blocked URLs so the parser script is intercepted instead of depending on an external DNS or request failure. Wait through the scheduler and assert the exact script request fails with ERR_BLOCKED_BY_CLIENT while subsequent parsing continues.
An earlier full-suite run exposed the timeout. Validation after the fix: 20 exact-test stress iterations and three iterations of the 20-test blocked_urls module, all passing with flaky results treated as failures; cargo fmt --all; full workspace all-target all-feature Clippy with -D warnings; cargo nextest run --no-fail-fast (18833 passed, 16 skipped).
Carry owner refresh intent through CSS synchronization and prepare font projections only after finding an existing FontFaceSet in its creation realm. Native CSS updates continue normally and held collections update without rereading document.fonts.
A test-only counter verifies 64 unobserved stylesheet mutations prepare no font projections, first observation prepares current state once, and later mutations and removals update held collections.
Validation: cargo fmt --all; cargo clippy --workspace --all-targets --all-features -- -D warnings; cargo nextest run --no-fail-fast (18833 passed, 16 skipped on the final change set).
Centralize navigation dependency decisions for readiness probing and snapshot draining. Replacement actions can reach the owner that cancels the pending request even when earlier observations wait for that load, while exact owner authorization remains mandatory.
Keep retirement admission policy beside publication ownership. Extend coverage for stale owners, cancellation, reused frontend ids, duplicate terminals, and late results without reviving retired notifications or remote objects. The new queue regression fails before the scheduler fix.
Validation: cargo fmt --all; cargo clippy --workspace --all-targets --all-features -- -D warnings; cargo nextest run --no-fail-fast (18833 passed, 16 skipped on the final change set).
Build an operation-local source lookup for batches of rectangle queries and use it in the renderer Range path. Keep tiny batches on direct lookup and retain renderer-specific metric and viewport handling.
Compare batch results for missing sources, display contents, inline continuations, and text ranges. A 516-query fixture reduces box visits from 33024 to 64 without retaining an index.
Validation: cargo fmt --all; cargo clippy --workspace --all-targets --all-features -- -D warnings; cargo nextest run --no-fail-fast (18833 passed, 16 skipped on the final change set).
Cache getters on the existing Event intrinsic and select field projection callbacks once. Preserve own descriptors, optional fields, private backing, and per-realm function identity while moving generic projection policy out of Navigation.
Validation: cargo fmt --all; cargo clippy --workspace --all-targets --all-features -- -D warnings; cargo nextest run --no-fail-fast (18833 passed, 16 skipped on the final change set).
Only the current navigation can suspend renderer output; older jobs retain cleanup ownership without blocking the active document.
Retire target-owned request, auth and response interceptions on supersession, cancel streaming transports and reject stale body-read completion. Cover paused debuggers, overlapping navigations, target isolation and once-only terminal replies.