1259 Commits
Author SHA1 Message Date
ldm0 43492db8d8 fix(protocol): retire superseded intercepted navigations
Only the current navigation can suspend renderer output; older jobs retain cleanup ownership without blocking the active document.

Retire target-owned request, auth and response interceptions on supersession, cancel streaming transports and reject stale body-read completion. Cover paused debuggers, overlapping navigations, target isolation and once-only terminal replies.
2026-09-28 18:51:25 +08:00
ldm0 ac9c660a24 refactor(protocol): simplify renderer navigation state 2026-09-28 18:29:52 +08:00
ldm0 bfdedd50e8 fix(navigation): preserve typed cancellation causes 2026-09-28 16:52:13 +08:00
ldm0 e9327720e5 refactor(protocol): claim navigation work before reserving pages 2026-09-28 16:51:55 +08:00
ldm0 6c5eadc97b refactor(renderer): own document replacement debugger lifecycle
Move old-document debugger termination into renderer preparation scopes instead of tracking protocol navigation IDs in DevTools. Reject superseded response jobs using exact navigation tokens and cancellation authority, and retire their renderer-channel suspension independently.

Cover response interception and supersession while paused, repeated pauses, and prepare commit/cancellation/drop cleanup. Verified cargo fmt --all, workspace all-targets all-features clippy with warnings denied, 18444 nextest tests, and 20 stress iterations of 127 focused tests.
2026-09-28 14:26:20 +08:00
ldm0 962c352174 fix(devtools): unblock navigation while the debugger is paused
Track provisional loads by navigation ID on the existing renderer target and explicitly finish debugger policy on commit or cancellation. Return the pause-loop exit reason and terminate paused old-document execution through V8 Inspector.

Defer intercepted-response document creation until continuation, removing the eager prepared-document paths. Preserve committed documents for aborted navigations and cover repeated pauses, multiple sessions, interception and supersession.

Validated cargo fmt --all, strict workspace clippy, and cargo nextest run --no-fail-fast: 18,429 passed, 13 skipped. New regressions also passed 20 stress iterations and three confirmed debugger-paused ippure navigation probes.
2026-09-28 14:26:20 +08:00
ldm0 80660fb6dc fix(images): reselect picture sources after tree removal 2026-09-28 12:55:42 +08:00
ldm0 d43eb5721d fix(geometry): align DOMMatrix operation descriptors with WebIDL 2026-09-28 12:47:58 +08:00
ldm0 2ac735781b fix(svg): expose unit and spread-method enumeration constants 2026-09-28 12:47:19 +08:00
ldm0 80193fd414 fix(svg): clear the owner document selection with deselectAll 2026-09-28 12:46:27 +08:00
ldm0 2dc8e22741 Split DOM protocol handling by command phase 2026-09-28 12:27:20 +08:00
ldm0 c68acc22ea Split worker network tests by feature 2026-09-28 12:27:20 +08:00
ldm0 6a3859fc18 Split worker target projection by worker kind 2026-09-28 12:27:20 +08:00
ldm0 dd389328ae Split native module handling by lifecycle 2026-09-28 12:27:20 +08:00
ldm0 808571251a Split CSS declaration parsing by responsibility 2026-09-28 12:27:20 +08:00
ldm0 f5d6f87251 Split rendering update tests by subject 2026-09-28 12:27:20 +08:00
ldm0 c67802feec Split subresource fetch handling by lifecycle 2026-09-28 12:27:20 +08:00
ldm0 12e1a1e92c Split Chromium CDP smoke checks by domain 2026-09-28 12:27:20 +08:00
ldm0 e19590cbbf Split Runtime evaluate tests by behavior 2026-09-28 12:27:20 +08:00
ldm0 0a985e0a2e fix(css): apply object dimension attributes as presentation hints 2026-09-28 11:24:24 +08:00
ldm0 01da91de89 fix(dom): complete the default tabindex element set 2026-09-28 10:45:17 +08:00
ldm0 09b97928d7 fix(html): complete obsolete element reflections 2026-09-28 10:40:45 +08:00
ldm0 77e575d966 fix(geometry): expose SVGPoint as a legacy Window alias 2026-09-28 10:33:53 +08:00
ldm0 3840f92a1c fix(selectors): skip isolated HTML descendants in auto directionality 2026-09-28 10:33:36 +08:00
ldm0 e30f21d4be fix(iframe): encode src queries with the owner document charset 2026-09-28 10:32:01 +08:00
ldm0 fa1bf1d3be fix(selection): validate range membership with native DOM ownership 2026-09-28 10:22:57 +08:00
ldm0 e4d923c421 fix(import-maps): reuse inline source validation before registration 2026-09-28 01:30:21 +08:00
ldm0 a47b30ae5e test(protocol): split Page navigation tests 2026-09-28 00:14:19 +08:00
ldm0 698887c385 refactor(playground): separate ChatGPT diagnostics resources 2026-09-28 00:14:19 +08:00
ldm0 fd0a8a8022 test(renderer): split live document tests 2026-09-28 00:14:19 +08:00
ldm0 8bfd5aca16 refactor(protocol): split Page domain responsibilities 2026-09-28 00:14:19 +08:00
ldm0 89ae5f3742 refactor(renderer): split runtime owner modules 2026-09-28 00:14:19 +08:00
ldm0 d5c13cab3f test(renderer): split fetch and XHR test modules 2026-09-28 00:14:19 +08:00
ldm0 c92e8c60bc refactor(protocol): split runtime evaluation modules 2026-09-28 00:14:19 +08:00
ldm0 c82dfce9bd test(protocol): split connection dispatch tests 2026-09-28 00:14:19 +08:00
ldm0 5912b1ef08 test(renderer): split DOM XHR test modules 2026-09-28 00:14:19 +08:00
ldm0 d8b960a2b8 refactor(renderer): split script VM runtime modules 2026-09-28 00:14:19 +08:00
ldm0 0d3d81829c fix(selectors): honor native document design mode 2026-09-27 18:38:08 +08:00
ldm0 42717320d0 test(script-vm): split custom element tests 2026-09-27 17:04:40 +08:00
ldm0 d74a0fbb2e test(script-vm): split event selection tests 2026-09-27 17:04:40 +08:00
ldm0 5fb8e4dfbb test(protocol-server): split websocket tests 2026-09-27 17:04:40 +08:00
ldm0 6a0652ab18 test(script-vm): split detached DOM tests 2026-09-27 17:04:40 +08:00
ldm0 7131dda78c test(script-vm): split webidl fetch tests 2026-09-27 17:04:40 +08:00
ldm0 778148f138 test(renderer): split page worker tests 2026-09-27 17:04:40 +08:00
ldm0 6bc1afd381 test(worker): split thread lifecycle tests 2026-09-27 17:04:40 +08:00
ldm0 b414c927a4 refactor(protocol): split runtime dispatcher responsibilities 2026-09-27 17:04:40 +08:00
ldm0 920c5fb83a test(script-vm): split computed style tests 2026-09-27 17:04:40 +08:00
ldm0 5c1df8c224 test(protocol-bidi): split protocol tests 2026-09-27 17:04:40 +08:00
ldm0 41399710fd test(script-vm): split page runtime scenarios 2026-09-27 07:18:02 +08:00
ldm0 327107eddb test(script-vm): split DOM surface scenarios 2026-09-27 07:18:02 +08:00