Apply negotiated per-type policies through Page-owned one-shot dialog completion, including Classic-attached BiDi sessions. Publish required auxiliary Page predecessors only at a modal wait, keep normal popup completion ordering, and resolve dialogs against their captured Page owner.
BiDi cookie output and CDP cookie filtering repeat projection of CDP SameSite values. Reuse one protocol adapter while preserving all labels and the default for missing or unrecognized input.
BiDi command parsing repeats required and optional string conversion for Value and object-map inputs. Keep both typed entry points and share conversion after field lookup, preserving missing values, non-object behavior, borrows and exact invalid-argument messages.
Command output and the BiDi adapter duplicate client-window JSON projection. Export the existing protocol projection for the adapter to reuse, keeping ownership, enum conversion and all wire keys and values without adding a dependency cycle.
The BiDi adapter and protocol server duplicate channel-envelope insertion. Own it in the BiDi protocol implementation and reuse it from the server, preserving optional channels, object-only insertion and replacement of an existing goog:channel field.
Maintain Frame identity and lifecycle facts without Page observer flags. Project
CDP notifications separately, replay existing BiDi contexts from the core index,
and capture detached subtrees before teardown. Cover the public behavior against
Chrome and update event-based fixtures to subscribe or observe renderer state.
Match CDP deletion filters literally, validate required fields, and resolve cookies through the owning session. Prefer a nonempty domain over the URL while preserving shared storage and WebDriver deletion semantics.
Validate locales with the complete ICU parser and preserve the caller's original string. Reject unsupported syntax directly without custom parsing or compatibility rewrites, and cover valid locales, malformed tags, and the parser's supported range.
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.
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
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.
Remove the Date/Intl wrappers, custom date parser and per-Page replay state. Keep exclusive locale/timezone ownership in a process controller and refresh existing Page and Worker isolates through generation-bound notifications and observation boundaries, including nested Inspector pauses.
Release claims on session/target/context retirement, retain native coercion and locale matching, and cover lifecycle restoration with Rust, BiDi and process-isolated CDP regressions.