Commit Graph
11 Commits
Author SHA1 Message Date
ldm0 f62e20c53b fix(webdriver): bound Classic alert navigation waits 2026-11-13 18:38:39 +08:00
ldm0 c67597a1c1 Introduce shared raw Inspector JSON envelopes 2026-11-12 02:01:08 +08:00
guojinghua afd5b8fae3 feat(ace): expose typed page tasks and browser runtime hooks
Add opt-in ace-protocol support with AcePageTask and PageExtensionHost
for renderer-owner-thread inspection, native input, and screenshots.
Expose BrowserRuntimeHandle through a runtime-ready callback so embedders
can discover targets and submit tasks without CDP request/response envelopes.

Reuse supervised page workflows for output ordering, input effects, and
target/document lifetime checks. Recover lost waiters without replaying
admitted tasks, and revoke runtime access on browser shutdown.
2026-11-10 20:26:30 +08:00
ldm0andneosun100 08e83bffc0 fix(cdp): randomize browser endpoints and page target identities
Generate a fresh browser WebSocket UUID per server and random 128-bit page
and tab target IDs for network CDP owners. Keep discovery URLs and protocol
target IDs consistent, and make clients discover endpoints instead of
relying on fixed paths.

Cover endpoint rotation, guessed and foreign ID rejection, and target
lifecycle behavior.

Co-authored-by: neosun100 <neosun100@users.noreply.github.com>
2026-11-03 05:53:28 +08:00
ldm0 843ddcc3f2 refactor(storage): retire protocol cookie profiles and close partitions once 2026-11-01 04:03:38 +08:00
ldm0 646d0206a5 refactor(protocol): route Target transports through ordinary command tasks
Decode legacy Target messages into ordinary commands with their real session,
renderer policy, cancellation and global reply route. Restore nested replies
for both immediate and background navigation completion without leaking ids.

Replace the raw command loop and exclusive Target execution body with the
shared owned command workflow. Retain accepted replies and renderer fences
across cancelled waiters and discarded state replies, and clear retired Fetch
lifetimes when the same in-flight entry transfers to protected recovery.
2026-10-29 17:39:23 +08:00
ldm0 d0f8c2b924 perf(protocol): declare routes once with a trailing-slash layer
Declare each protocol path once and normalize supported trailing slashes
before Router matching. Generate the final-parameter compatibility aliases
needed for empty captures and preserve queries, request contents, discovery
paths and method errors. Registered matches fall from 131 to 76.

Resolve Router state before creating the outer make-service so new
connections clone the completed service. Cover aliases, shared sessions,
POST bodies, request preservation and method-not-allowed responses.

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).
2026-10-21 23:16:23 +08:00
ldm0 e194c2add8 refactor(html): centralize input type states
Extract an independently mergeable topic from wpt-misc-fix at
a70a96f9d1.

Source commits:
- 05e2cd5350

Validation:
- cargo fmt --all
- cargo clippy --workspace --all-targets --all-features -- -D warnings
- cargo nextest run --no-fail-fast
2026-09-10 04:05:23 +08:00
ldm0 9c49d2140b deps(websocket): unify webpki-roots on 1.x
Stripped moli: 123,520,056 -> 123,515,960 bytes (-4,096 bytes, -0.0033%).
2026-08-26 03:29:25 +08:00
ldm0 ade8ace79e build(deps): update png to 0.18 2026-08-17 01:26:26 +08:00
ldm0 48742bb657 refactor: extract protocol server crate 2026-08-13 13:43:26 +08:00