Carry the wire reason phrase through buffered and streaming transport,
response conversion, cache, and Window/Worker Fetch and XHR delivery.
Preserve explicitly empty messages, including HTTP/2 and HTTP/3, and
Latin-1 reason bytes while retaining existing synthetic defaults.
Bump cache metadata to version 4 and keep the original status message
when revalidating an entity with a 304 response. Cover transport modes,
cache reloads, response conversions, and streaming XHR state changes.
Queue each History back/forward/go delta as its own authorized traversal task and resolve the destination when that task runs. Keep the committed traversal position separate from synchronous history mutations, and use the canonical Window history for isolated-world calls. Preserve Navigation API result-bearing traversal behavior.
Cover consecutive and opposite deltas, initially out-of-range requests, synchronous pushState, canceled and reentrant traversals, child documents, and isolated worlds. Update old coalescing assertions and wait for actual browser-owned history commits in protocol tests.
Validation: cargo fmt --all; cargo clippy --workspace --all-targets --all-features -- -D warnings; cargo nextest run --no-fail-fast (17584 passed, 13 skipped). Overlapping navigation WPT improves from 16/22 to 18/22, with both new cases passing all 8 subtests. Navigation API comparison preserves all 385 previously passing cases out of 432.
CDP smoke: 41/43 passed. The dom-input FileList upload failure reproduces on the parent binary; puppeteer could not start because Node is missing locally. Artifacts: target/wpt-history-traversal-20260908-lcpQpn/{before,confirmed,navigation-after,cdp,cdp-before}.
Carry raw response header values through fetch, caches, redirects,
renderer delivery, workers, and protocol records. Convert explicitly
at WebIDL and protocol text boundaries while preserving opaque bytes.
Keep legacy CacheStorage and service worker metadata readable, and
advance the HTTP cache format for raw header values.
Validation:
- cargo fmt --all
- cargo clippy --workspace --all-targets --all-features -- -D warnings
- cargo nextest run --no-fail-fast
* fix(parser): preserve text document MIME and encoding semantics
* fix(document): share literal text parsing across child document paths
* fix(document): construct projection parser with the public API
Expose the canonical resource runtime snapshot alongside the existing runtime id and memory-cache fields. Add a CDP regression that verifies disk-pool allocation and parked-image memory accounting.
Restore original headers on redirect while preserving current-hop overrides
for authentication retries and keeping Network event identity intact.
Preserve raw BiDi Cookie, Set-Cookie, and extra header values through page,
navigation, and worker policies. Apply CDP's last-value behavior for duplicate
request header names.
Add coverage for header bytes, redirects, authentication, and event sequences.
Carry RequestHeaders through navigation, Fetch/XHR, workers, redirects and auth,
with explicit Unicode and ByteString conversions at protocol and WebIDL boundaries.
Share the raw curl header list with WebSocket transport and decode binary response
headers without UTF-8 replacement. Keep header memory charging concrete.
Cover opaque values, UTF-8 overrides, duplicates, redirect/auth continuation and
WebSocket handshakes with byte-level regression tests.
Render generic navigation failures with their complete anyhow context chain.
Keep blocked-URL error text canonical through an explicit typed policy cause,
and cover both serialized CDP output and an intercepted blocked navigation.
Replace the offline navigation cause's free-form error text with a typed kind
and a single protocol-text mapping. Keep these policy error types internal and
document that transport failures still use NetworkFetchFailureContext.
Update the unsupported authentication regression to expect preserved context
while retaining the assertion that no retry is issued.
Consume child-frame navigation before the Runtime.enable helper clears
collected events, avoiding an event-ordering race in the Fetch test.
Use a local connection-drop server to trigger nested worker script load
failure, removing external DNS timing from the asynchronous error-event test.
Preserve the constructor, event type, message, and filename assertions and
verify that the fixture receives the expected child script request.
Apply maxlength to user text insertion, preserve complete surrogate pairs,
and keep selection and replacement offsets in UTF-16 units. Cover CDP
input, execCommand insertText, and setRangeText.
Keep keyboard movement and deletion, including execCommand deletion, on
complete surrogate-pair boundaries while exposing UTF-16 offsets.
Source: 3be5eb5e37
Keep request origin independent of URL resolution and referrer context,
including local blob fetches and inherited or sandboxed srcdoc documents.
Reject missing browser origins at the resource client boundary and retain
one Request across Service Worker redirects and network fallback.
Cover dispatch rejection, wire Origin/Cookie headers, memory-cache
partitioning and preserved Service Worker request metadata.
Validation: workspace fmt and Clippy passed; Nextest passed 17,517 tests
with 13 existing skips. Renderer test debug symbols were disabled to fit
available build memory; tests and debug assertions were unchanged.
Publish typed invalidation flags under the environment lock and wake isolate owners only after releasing it. Bound page and worker notification work while preserving command FIFO, teardown safety, and observation ordering.
Remove stale wrapper-era dependencies and terminology, and add mailbox race and CDP burst regressions.
Distinguish network, service worker, and browser-internal redirects so synthetic responses are not subjected to network CORS checks. Preserve every hop for redirect taint and Origin validation, including across navigation response conversions.
Add seven cross-origin service worker script scenarios and guard CORS checks for cached network redirects without ExtraInfo. The new integration regression fails before the fix and passes afterward.
Validated with cargo fmt --all, workspace Clippy across all targets and features with warnings denied, and cargo nextest run --no-fail-fast: 17459 passed, 13 skipped. Used one build job for the full test run after a parallel-build rustc process was killed.
Make process environment owners non-cloneable RAII authorities, share session admission while preserving failed and no-op outcomes, and consolidate duplicate isolate-entry handling. Keep read-only owner queries side-effect-free and add lifecycle regressions.