Reuse the Page-owned browsing context name cell and auxiliary identity when
bootstrapping a replacement Document after target lookup entries are removed.
Keep first-document registration and identity assertions intact.
Cover unregister-before-bootstrap deterministically and exercise in-flight
navigation closure through the default CDP target lifecycle smoke.
Record the complete all-profile CDP run of source 1344d8d26d with 50 workers,
the unchanged 120-second outer deadline and WPT db95fafd1f. All 14,065
selected cases are present, including 442 IndexedDB entries; case selection
and execution order match the first full run.
Results: 10,405 pass, 3,426 fail, 224 timeout, 6 error, 3 harness-stalled,
1 crash. Passes increase by 35 from the tracked lists and by 10 from the
unfixed release run, with no new pass-to-nonpass transitions against that run.
The five fixed WPT cases pass in the complete run and in 5/5 targeted rounds.
Retain the observed iframe failure and Trusted Types timeouts: the old
release also fails the iframe case, and all three Trusted Types variants
have old-release timeout evidence, including 4/10 concurrent runs for 36-last.
Document-write MutationObserver subtest variation also reproduces on the
old release. Do not replace full-run statuses with selective retry results.
Release SHA256: 494b20e2bdd6730cbc855d1f25919453b16755964c74cc4bada3f526eefe58af
A running script can be adopted into another Document without changing the
source Document's currentScript. Query the main execution stack for the
main Document rather than filtering by the node's new ownerDocument;
retain the existing per-child-Document stack and shadow visibility checks.
Dynamic inline error reporting exposed this pre-existing bug as a WPT
failure. A direct old-release probe also returns the wrong currentScript,
so the old WPT pass was masking the exception rather than proving correct
behavior. Cover adoption, the destination's null value and stack restoration.
Cache.keys rebuilt stored native requests through the author Request
constructor. Credential-bearing URLs supplied by XHR are valid internal
identities but public URL conversion now rejects them, leaving the Cache
Storage credentials WPT waiting for a worker reply.
Use the existing native Request declaration to restore cached keys without
calling author constructors. Retain the public credential validation and
cover three distinct credential URLs, headers, cloning and a replaced
Request constructor.
Overflow clip geometry retained fractional layout offsets while its box
background used snapped paint geometry. Atomic flow grouping changed which
background and text commands shared a clip layer, exposing different edge
blending in three grid scrollbar reftests (240 pixels, max difference 17).
Snap owned overflow clips in the same pre-transform paint space as box
backgrounds. Preserve CSSOM geometry, property transforms and clip-chain
reuse. Cover block and grid containers with fractional offsets and sizes.
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.