Return immutable stored Blob/File sources without eagerly reading their bodies. Keep metadata, clone and slice lazy; route consumption through the owner, stream in chunks, and preserve handed-out data before destructive changes or retirement.
Adapt FileReader, Clipboard, WebSocket and OPFS together with the source representation. Share Fetch/XHR object-body extraction and propagate Blob and multipart read failures instead of string coercion. Preserve cancellation, ordering, backpressure, quota, permission/error semantics and realm cleanup across consumers.
Borrow external-object slots and build final shared Blob/File backings directly. Track decoder allocations across whole results, discard unpublished and internal backings without waiting for GC, and preserve resource failures through reads, inline writes, backfill and lazy cursors.
Initialize enter/over effects from source operations and carry the accepted
operation into drop. Report success only for a handled drop or a completed
default action, and reject stale targets after DOM mutation.
Suppress the native pointer stream with cancel, capture release, out, and
ancestor leaves; restore pointer entry once after drag termination without
resetting the legacy mouse hover state.
Calibrate the shared drag regressions against Chrome 156 and pin the input
oracle per smoke group while preserving full strict-suite coverage.
Retain native DOM, Blob, AbortSignal and intrinsic interface backing while
JavaScript still holds a retired realm. Retire active execution resources and
trace wrapper and traversal-filter ownership through V8 so the last reference
releases the native host without Rust-to-V8 root cycles.
Cover retained native values, realm finalizers and traversal callback lifetimes.
Validation: cargo fmt --all; cargo clippy --workspace --all-targets --all-features -- -D warnings; cargo nextest run --no-fail-fast.
Use collision-checked random UUIDs for object URL identifiers instead of a process-local counter. Reuse the existing UUID generation for Blob identity and cover URL format plus independent lifetime for multiple URLs referencing one Blob.
Store the URL creator’s browser partition and storage key separately from its backing Blob, and check authorization atomically with URL removal. Use the Worker environment storage key and a shared opaque-origin nonce allocator for Windows and Workers.
Source: e090f2b070