Publish one layout-only snapshot after page readiness and delay for --eval and --eval-file. Keep geometry getters on the last published snapshot during script execution.
Separate parser provenance from active child construction. Share one
construction session across HTML/XML parsers and runtime adapters, with
completion ownership, normal-EOF checks, and cancellation that does not
publish incomplete styles.
Use ordinary creation for generated document shells and remove obsolete
per-element completion forwarding. Cover parser ownership, adoption,
duplicate completion, missing callbacks, and cancellation in tests.
Process parser-created style sources after their closing tag or EOF, and
prepare later source changes through the stylesheet owner lifecycle.
Keep synchronization and CSSOM reads on prepared sources so CSSOM edits
survive reads and document initialization.
Complete styles in inert XML parsing and build the XML viewer through
ordinary DOM creation. Cover streaming, EOF, child documents, fragments,
and XML stylesheet behavior in regression tests.
Wrap nested platform members and synthetic events in each listener world,
sharing dispatch state and weak wrapper identities.
Keep internal history operations on native entries, restore complete native
snapshots before wrapping, and remove JSON and per-wrapper state remnants.
Select basic response tainting for data URLs even for no-cors requests from opaque origins. Cover Window and Worker requests across modes, redirect settings, methods, input forms, MIME values, and readable byte payloads.
Source: edabb273b4
Extracted from 2449c5d6adce351bfbad550909ebd418b4019e21.
Validation: cargo fmt --all; cargo clippy --workspace --all-targets
--all-features -- -D warnings. Runtime tests were not run for this split.
Select Accept-Encoding: identity when a Range header is present, while preserving explicit embedder encoding preferences. Exercise buffered, HTML and raw transports, malformed and empty ranges, redirects, repeated requests and response decompression.
Mark a failed fetch in the shared module map before notifying graph clients, so concurrent imports and later cached imports all reject. Route document and child owners through the same completion path.
Cover concurrent imports of the same root and a shared dependency, fresh TypeError rejections, and subsequent imports after a cached fetch failure.
Make geometry, input and observers read the latest published layout without
cold-start or invalidation-triggered layout. Only screenshot, screencast and
PDF output can build and publish a new tree.
Connect WebDriver page screenshots to the shared output pipeline, explain how
to initialize layout in errors, and migrate fixtures to explicit publication.
Remove obsolete read policies and embedded-frame completeness metadata.
Reject mouse input without a rendered snapshot and retain published geometry
across interaction invalidation. Mouse hit testing and native default actions
consume that snapshot without triggering layout; explicit geometry queries
and WebDriver click preparation may still demand layout.
Share geometry query dispatch and result conversion across demand and snapshot
reads, and cover cold input errors, DOM and hover changes, native defaults,
document replacement, and explicit snapshot refreshes.
A later traverseTo() with a different destination could overwrite an
older Navigation task ahead of an intervening History task, leaving the
page at the wrong final entry.
Match both the Window target and destination key in both reuse paths.
Keep the original traversal destination, info, and promises when sharing
a pending request.
Add a local mixed-API regression checking event order, promise targets,
and the final URL. Cover repeated requests after a History request and
preservation of the first request's info and single traversal task.
Fixes: 51c9e1df6 (fix(history): preserve each queued History API traversal)
Persist internal entry IDs and keys even when public Navigation getters
hide them. Regenerating these identities broke forward traversal after a
popup document was restored because its entries no longer matched shared
session history.
While a cross-document popup traversal is loading, discard further
requests through the outgoing History instead of rebasing them onto the
destination. Allow traversal again once the restored document loads.
Add local Blob fixtures for forward navigation from a restored load and
consecutive back requests from both the popup and its opener.
Fixes: 1418e3aa3 (refactor(history): centralize joint session history state)
Coalescing consecutive History API requests discarded intermediate
same-document traversals and their events when joint traversal plans
entered the shared queue. Keep these requests in order and derive the next
index from the last queued step, while retaining Navigation API promise
reuse.
Apply top-level traversals to the page's default Window when an isolated
realm initiated the request. Add local back/forward coverage across same-
and cross-document entries, and verify every event and microtask turn in
the existing history tests and fixture.
Fixes: f8f46bf48 (fix(history): coordinate complete joint traversal plans)
Script-created ExtendableEvent and ExtendableMessageEvent objects were
rejected by EventTarget.dispatchEvent after dispatch began validating the
base Event state. Initialize that state through the shared Event helper.
Cover dispatch, cancellation, redispatch, event paths, and rejection of
reentrant dispatch and waitUntil on untrusted events with a local test.
Fixes: 04ac476e6 (fix(events): share AbortSignal EventTarget dispatch)