Give BiDi commands independent admission, Native and navigation waits instead
of retaining the socket turn or a single Runtime slot. Share input state by
top-level host, retain its performActions queue, and allow release/control work
during pauses without applying future input state early.
Keep CDP navigation queues local to their sessions, project independent output
while another page is modal, and recover Worker network ownership from its
original session. Preserve exact host bindings, renderer/load predecessors,
original Runtime results and actual realm-retirement ordering.
Validate with cargo fmt --all, workspace Clippy (all targets/features, warnings
denied), and cargo nextest run --no-fail-fast: 23,068 passed, 20 existing skips.
A newly committed native Document can execute before its commit output has
been projected into protocol state. Routing Fetch.enable through the
projected binding then updates a loaded predecessor or no Page at all,
allowing requests to bypass interception after a successful ACK.
Address restricted request-policy updates to the synchronously admitted
renderer Page and wait for native completion. Reuse this route for Fetch
cleanup and blocked URLs without granting general unbound Document access.
Hold actual native commit publications in the regression and inspect the
exact evaluation output fence. Cover new/replaced Pages with interception
enable/disable and blocked URLs, with no external I/O in negative controls.
The original controlled reproducer fails 3/3 on the rebase baseline.
Validation: fmt; workspace/all-targets/all-features Clippy; 23,026 Nextest
passed, 20 skipped; three targeted tests x20 and 30 module tests x5, all
without retries.
Honor closedby=none before dispatch and after cancel listeners. Match Chromium case handling and invalid-value defaults, keep script closure available, and cover dynamic policies and a disabled topmost modal.
Clear native modal state and the old Document registration when connected nodes are removed or adopted. Keep validated atomic moves in their original opening and priority, including the split DOMDebugger path. Cover light and shadow subtrees, adoption and background inertness.
Capture the Document, dialog and opening generation before cancel dispatch and verify them before closure. Removing open invalidates the request without clearing modal registration. Cover close/reopen, nonmodal reopen, raw attribute toggles, no-op operations and exact queued close-event counts.
Read and update transaction status directly in Rust. Keep request readiness
and cursor positions as an enum and Option<usize>, and access database
lifecycle state through typed operations.
Preserve traced request values in the V8 heap behind a closed field enum
so request/result cycles remain collectible. Remove string slot dispatch,
property shims, the unused blocked marker and duplicate database scope.
Use typed metadata as the only store name source. Remove retired metadata
slots, descriptor projection, swallowed writes and the mutable index marker;
classify cursor sources by their native wrapper kind.
Make queue scope types explicit, exercise StoreId in admission tests, and
centralize renderer metadata lookup by schema ID. Retain failed schema
handle attributes and immutable metadata needed for rollback.
Use the persisted StoreId and IndexId in SQL commands, transaction scopes and renderer handles. Reserve IDs without waiting for the SQL owner and recover their counters with committed disk metadata.
Remove name-based request targets, separate renderer identity tokens and cursor name refresh. Cover concurrent reservations, abort, idle reconnect, catalog recovery, restart, stale IDs and old-name reuse.
Exercise name validation, admitted reads and writes, value and key cursors, reused names, cross-realm aliases, and explicit or constraint-driven upgrade aborts in Window, child and Worker contexts.
Expose native name accessors and queue the existing SQL rename commands with schema validation. Keep stable schema identities across metadata edits and rollback, and capture cursor source names at operation admission. Preserve names on finished handles.
Hold A's HTTP response while sending getRealms, evaluate or callFunction followed by close and getTree without awaiting the query. Require each terminal exactly once, a usable independent context and a released Runtime slot. Preserve Chrome's valid out-of-order completion rather than requiring the pipelined tree snapshot to follow close. Keep these three cross-engine cases in the default WebDriver smoke suite.
Keep the socket actor responsive while a context-targeted Runtime command waits for its Document. Retain the original host and session binding until admission can validate and dispatch in one finite owner turn. Cover close, replacement, navigation completion, session end and disconnect in standalone and Classic-attached BiDi, including exact-once responses and revoked identities.