Move getter/setter name formatting into the derive macro and reuse the
getter name suffix as the property key, avoiding a third stored name.
Keep shared installation and V8 callback mappings. Cover static names
and Unicode property keys in the existing tests.
Extend metadata installation to consecutive statically named accessors
without callback data. Preserve run boundaries, receiver checks and
getter/setter names and lengths, with native callback mappings resolved
during installation. Cover mixed method/accessor order and generic getters.
This step passes focused WebIDL clippy and 98 binding/derive tests.
Validation on the unchanged final source tree: cargo fmt --all;
cargo clippy --workspace --all-targets --all-features -- -D warnings;
cargo nextest run --no-fail-fast (20,505 passed, 18 existing skips).
Batch consecutive statically named template methods without callback data
through constant metadata and a shared installer. Resolve native callback
mappings during installation, preserving aliases, ordering, descriptors
and the original JavaScript callback path.
Keep generic callback data, nested entries, return values and exception
identity covered by the binding regression tests.
This step passes focused WebIDL clippy and 98 binding/derive tests.
Validation on the unchanged final source tree: cargo fmt --all;
cargo clippy --workspace --all-targets --all-features -- -D warnings;
cargo nextest run --no-fail-fast (20,505 passed, 18 existing skips).
Share object method and accessor construction through a concrete runtime helper.
Preserve callback data, receiver checks and installation order while using
V8's original per-callback adaptation.
This step passes focused WebIDL clippy and 96 binding/derive tests.
Validation on the unchanged final source tree: cargo fmt --all;
cargo clippy --workspace --all-targets --all-features -- -D warnings;
cargo nextest run --no-fail-fast (20,505 passed, 18 existing skips).
Add declarative V8 receiver access checks and Window brand validation. Authorize SameObject getters before cache reads, preserve captured objects for retired Realms, and materialize child proxies for the actual accessing context with isolated facade tokens.
Generate stateless method and accessor tables with receiver checks and native
value callbacks. Cache FunctionTemplates per isolate and use V8's per-context
function instances, without retaining target Windows or observer realms.
Cover function identity, realm prototypes, descriptors, receiver validation,
exception and termination propagation, and context collection.