Use owner-backed security origins for tool registration, Permissions Policy inheritance and navigation results. Keep the child commit query independent of the adapter document map and preserve inherited blank and opaque sandbox origins.
Validation: cargo fmt --all; cargo clippy --workspace --all-targets --all-features -- -D warnings; cargo nextest run --no-fail-fast (19396 passed, 16 skipped). Then 75 targeted tests passed all 20 stress iterations without retries, followed by another full Nextest run with the same result.
Track dirty form handles, preserve shadow-including order for duplicate names, and match definitions by handle. Unrelated DOM changes no longer rebuild every schema. Association changes, removed external controls and cross-document adoption refresh the affected document candidates, including the control's former document. Conflicting candidates remain discoverable independently of registration success.
Validation: cargo fmt --all; cargo clippy --workspace --all-targets --all-features -- -D warnings; cargo nextest run --no-fail-fast (19396 passed, 16 skipped). All 75 targeted WebMCP tests passed 20 stress iterations without retries. The 21 conflict-recovery scenarios cover light DOM and open/closed shadow trees, including removal and disassociation of external controls after the imperative tool releases the name. Regressions also cover zero schema traversals for 8000 unrelated insertions beside 32 tools, one schema per field update, external controls and labels, fieldsets, and cross-document adoption in both directions.
Keep registration identity, acknowledgement and abort state on imperative callbacks. Declarative forms no longer allocate registration IDs or carry unused callback fields. Preserve identity checks for stale acknowledgements and abort algorithms.
Validation: cargo fmt --all; cargo clippy --workspace --all-targets --all-features -- -D warnings; cargo nextest run --no-fail-fast (19392 passed, 16 skipped), including callback-to-form replacement before acknowledgement.
Move serialized input out when execution starts, retain registration stacks for enable replay, and construct protocol snapshots only for subscribed sessions. Move the final event to its session instead of cloning it again.
Validation: cargo fmt --all; cargo clippy --workspace --all-targets --all-features -- -D warnings; cargo nextest run --no-fail-fast (19391 passed, 16 skipped).
Vendor 71 imperative and declarative WebMCP fixtures from Chromium revision
2d184faab9fb11e1070fb1eeafebf291f6e85923 with source metadata and license
attribution. Register their expected results in the WPT compatibility suite.
Serve root WebMCP fixture assets and resolve the additional alternate domain
used by the cross-origin cases. Cover discovery, schemas, execution, permissions,
events, cancellation, navigation, and native form lifecycle.
Validation on this commit tree: cargo fmt --all;
cargo clippy --workspace --all-targets --all-features -- -D warnings;
cargo nextest run --no-fail-fast.
Summary [ 101.682s] 19391 tests run: 19391 passed, 16 skipped
Native input probes: temporal mismatch, fractional stepping, sub-millisecond
steps, and number controls preserve the main branch behavior.
Full CDP smoke: 52/52 passed.
Expose secure Document.modelContext APIs with document-owned registrations,
callback realm and input validation, task-based result delivery, and independent
caller cancellation and target completion. Preserve cancellation reasons and
emit lifecycle events only for live owners.
Register native declarative forms in light and shadow trees through indexed
mutation candidates. Track schema changes to valid forms even before a
registration succeeds, including controls associated through a form attribute.
Use changed containers only for ancestor and form-owner checks; inspect added
and removed subtrees for discovery. Retire registrations at actual removal and
owner transitions while preserving submit handling and captured pending responses. Apply validated
fill intents to current options and checkable values in control event order.
Compute tools delegation from committed security origins, ancestor header
allowlists, container declarations, redirects, and combined sandbox policies.
Carry invocation identity, original origin, and resolved target through form
navigation; accept same-origin JSON-LD results and reject cross-origin commits.
Connect typed renderer observations to CDP discovery, invocation, cancellation,
and Runtime result projection. Include renderer and protocol regression coverage
for document lifetime, reentrancy, permissions, dynamic controls, and cancellation.
Validation on this commit tree: cargo fmt --all;
cargo clippy --workspace --all-targets --all-features -- -D warnings;
cargo nextest run --no-fail-fast.
Summary [ 100.619s] 19320 tests run: 19320 passed, 16 skipped
Introduce moli-webmcp for native form schema synthesis, complete input validation,
numeric conversion, and JSON-LD results. Preserve requested selection values in
fill intents so the renderer can apply them to current controls after author
input events.
Add native tool activity states, selector support, control helpers, and
a namespace-aware form index that includes open and closed shadow trees.
Pin the Stylo revision providing the activity pseudo-classes.
Validation on this commit tree: cargo fmt --all;
cargo clippy --workspace --all-targets --all-features -- -D warnings;
cargo nextest run --no-fail-fast.
Summary [ 98.804s] 19248 tests run: 19248 passed, 16 skipped