Commit Graph
30 Commits
Author SHA1 Message Date
ldm0 41580ffd7a fix(parser): checkpoint microtasks before preparing parser scripts
Yield live HTML script preparation to the document owner after releasing
parser borrows. Prepare from the current DOM after the guarded microtask
checkpoint, and abandon stale handoffs when that checkpoint replaces the
document. Apply the boundary to main documents, child documents, and
document.write; preserve eager parsing when no runtime owner is installed.

Admit parser async classic scripts after preparation and keep nested
script cleanup from draining microtasks while an outer script is running.
Add main/child integration coverage and update the two repaired WPT cases.

Validation:
- cargo fmt --all
- cargo clippy --workspace --all-targets --all-features -- -D warnings
- cargo nextest run --no-fail-fast: 17,846 passed, 13 skipped
- 245 related WPT cases: all 231 previously passing cases remain passing
- Final CLI build: both repaired WPT cases pass on the validated sources
2026-09-14 16:27:26 +08:00
ldm0 173541f8c7 fix(scripts): queue parser preparation error events
Distinguish empty or invalid external script URLs from internal parser preparation failures. Queue trusted element errors on the shared DOM-manipulation source for root, document.write, and child parser paths without reporting spurious Window exceptions.

Retain exact Document ownership, listener checkpoints, and already-started state. Cover stale tasks and reused PageVm-local ids, and record the two WPT cases verified in CLI and CDP modes.
2026-09-14 16:14:49 +08:00
ldm0 f20e76393d fix(script): mute cross-origin classic script errors 2026-09-14 14:40:24 +08:00
ldm0 257e97b058 fix(xml): expand internal subset entities in DOMParser 2026-09-14 14:39:17 +08:00
ldm0 d6d8a3d536 fix(forms): block submission for unclosed controls 2026-09-14 14:39:17 +08:00
ldm0 f8d7c5655e fix(parser): route XHTML template children to content 2026-09-14 14:39:17 +08:00
ldm0 286941c64c fix(stylesheets): honor quirks MIME compatibility 2026-09-14 14:39:17 +08:00
ldm0 4f637ef71b fix(domparser): discard trees recovered after prologue errors 2026-09-14 14:09:20 +08:00
ldm0 b5e4232fe4 fix(html): preserve document scripting mode 2026-09-14 13:34:55 +08:00
ldm0 c73c6db047 fix(domparser): preserve HTML parse modes 2026-09-14 13:34:55 +08:00
ldm0 21439138f2 fix(csp): reject nonnonceable script elements 2026-09-14 13:34:55 +08:00
ldm0 fc786ca067 fix(forms): synchronize selectedcontent clones 2026-09-14 13:34:54 +08:00
ldm0 58e4b617bd fix(parser): support customizable select content 2026-09-14 13:34:54 +08:00
ldm0 b583c2a2fc fix(parser): preserve strict XML tokenizer errors 2026-09-14 13:30:00 +08:00
ldm0 38b162da58 test(parser): cover customizable select wrapper parsing 2026-09-14 00:35:20 +08:00
ldm0 416936f732 fix(modules): enforce import-map integrity
Source-commit: 259f7aaa46
2026-09-12 06:40:39 +08:00
ldm0 e3f8765a34 fix(parser): treat empty HTML4 system IDs as quirks
Source-commit: 7f2172a42f
2026-09-11 00:31:21 +08:00
ldm0 5d99eb4ce8 fix(import-maps): enforce parser inline CSP
Source-commit: 7ddb9b78ed
2026-09-10 14:49:41 +08:00
ldm0 e666504594 refactor(parser): remove obsolete fragment APIs 2026-09-01 04:31:16 +08:00
ldm0 9953237e66 perf(parser): build fragments directly in live DOM 2026-09-01 04:31:16 +08:00
ldm0 28aaaa9e8a feat(cli): add disable-js fetch mode 2026-08-25 16:05:34 +08:00
ldm0 9e04a203d7 refactor(renderer): bind prepared scripts to exact document owners 2026-08-21 11:23:44 +08:00
ldm0 a142d011c0 refactor: extract HTML parser input stack 2026-08-20 23:39:45 +08:00
ldm0 a46043736e fix: preserve nested parser input order 2026-08-20 22:17:23 +08:00
ldm0 0d1b885eb0 build(deps): align html parser stack on 0.39 2026-08-17 01:26:26 +08:00
ldm0 d51be5bfc4 chore: fix clippy and document required checks 2026-08-13 07:07:00 +08:00
ldm0 3600404225 perf(parser): keep XML namespaces in token stream 2026-08-13 07:07:00 +08:00
ldm0 91c281d2c7 fix(parser): expose CDATA from xml5ever 2026-08-13 07:07:00 +08:00
ldm0 f2a2095751 fix(navigation): stabilize sequential CDP lifecycle 2026-08-13 07:07:00 +08:00
ldm0 27b5135cb6 Public preview 2026-08-11 00:10:12 +08:00