1274 Commits
Author SHA1 Message Date
ldm0 556f636587 test(network): activate blocked URL policy in parser script fixture
Enable Network before setting blocked URLs so the parser script is intercepted instead of depending on an external DNS or request failure. Wait through the scheduler and assert the exact script request fails with ERR_BLOCKED_BY_CLIENT while subsequent parsing continues.

An earlier full-suite run exposed the timeout. Validation after the fix: 20 exact-test stress iterations and three iterations of the 20-test blocked_urls module, all passing with flaky results treated as failures; cargo fmt --all; full workspace all-target all-feature Clippy with -D warnings; cargo nextest run --no-fail-fast (18833 passed, 16 skipped).
2026-09-28 19:23:46 +08:00
ldm0 d4a4fa6974 perf(css): defer font projections until collections are exposed
Carry owner refresh intent through CSS synchronization and prepare font projections only after finding an existing FontFaceSet in its creation realm. Native CSS updates continue normally and held collections update without rereading document.fonts.

A test-only counter verifies 64 unobserved stylesheet mutations prepare no font projections, first observation prepares current state once, and later mutations and removals update held collections.

Validation: cargo fmt --all; cargo clippy --workspace --all-targets --all-features -- -D warnings; cargo nextest run --no-fail-fast (18833 passed, 16 skipped on the final change set).
2026-09-28 19:23:35 +08:00
ldm0 84d12ac1ba fix(scheduler): let replacement navigation pass load-blocked work
Centralize navigation dependency decisions for readiness probing and snapshot draining. Replacement actions can reach the owner that cancels the pending request even when earlier observations wait for that load, while exact owner authorization remains mandatory.

Keep retirement admission policy beside publication ownership. Extend coverage for stale owners, cancellation, reused frontend ids, duplicate terminals, and late results without reviving retired notifications or remote objects. The new queue regression fails before the scheduler fix.

Validation: cargo fmt --all; cargo clippy --workspace --all-targets --all-features -- -D warnings; cargo nextest run --no-fail-fast (18833 passed, 16 skipped on the final change set).
2026-09-28 19:23:25 +08:00
ldm0 7f29246da7 perf(layout): share source lookup within geometry batches
Build an operation-local source lookup for batches of rectangle queries and use it in the renderer Range path. Keep tiny batches on direct lookup and retain renderer-specific metric and viewport handling.

Compare batch results for missing sources, display contents, inline continuations, and text ranges. A 516-query fixture reduces box visits from 33024 to 64 without retaining an index.

Validation: cargo fmt --all; cargo clippy --workspace --all-targets --all-features -- -D warnings; cargo nextest run --no-fail-fast (18833 passed, 16 skipped on the final change set).
2026-09-28 19:23:13 +08:00
ldm0 1d347dc119 perf(events): reuse realm-local field getters
Cache getters on the existing Event intrinsic and select field projection callbacks once. Preserve own descriptors, optional fields, private backing, and per-realm function identity while moving generic projection policy out of Navigation.

Validation: cargo fmt --all; cargo clippy --workspace --all-targets --all-features -- -D warnings; cargo nextest run --no-fail-fast (18833 passed, 16 skipped on the final change set).
2026-09-28 19:23:04 +08:00
ldm0 1028dcbb4d fix(fonts): construct CSS font faces through realm intrinsics 2026-09-28 19:03:00 +08:00
ldm0 cb56b3b334 Split navigation tests by API area 2026-09-28 18:40:05 +08:00
ldm0 d299588b68 Split WPT cross tests by responsibility 2026-09-28 18:40:05 +08:00
ldm0 381c1c6a50 Split style invalidator tests by concern 2026-09-28 18:40:05 +08:00
ldm0 c9b5f8b12e Extract service worker global APIs 2026-09-28 18:40:05 +08:00
ldm0 bec8ccf87d Split runtime fetch tests by scenario 2026-09-28 18:40:05 +08:00
ldm0 aca478df40 Split style value conversions by role 2026-09-28 18:40:05 +08:00
ldm0 71c1016e11 Organize native element bindings by feature 2026-09-28 18:40:05 +08:00
ldm0 b050a31e96 Split background staging tests by concern 2026-09-28 18:40:05 +08:00
ldm0 6708044876 Split subtree cache tests by concern 2026-09-28 18:40:05 +08:00
ldm0 4dd6d641d4 fix(workers): isolate source imports from evaluation graph traversal 2026-09-28 18:19:22 +08:00
ldm0 981f9b15dd fix(dom): share host-including ancestry checks 2026-09-28 17:43:20 +08:00
ldm0 3fce3908e6 fix(range): share direct and relative boundary updates 2026-09-28 17:39:45 +08:00
ldm0 156cc3ffab fix(mime): share document response MIME extraction 2026-09-28 17:34:07 +08:00
ldm0 bb6df04049 fix(streams): use intrinsic cancellation promise chaining 2026-09-28 17:33:38 +08:00
ldm0 d0c4d60203 refactor(dom): dispatch native NamedNodeMap mutations once 2026-09-28 17:32:35 +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