Commit Graph
2163 Commits
Author SHA1 Message Date
ldm0 bc83e4e276 ci: move Chromium smoke to self-hosted Playwright runners 2026-10-23 04:32:32 +08:00
ldm0 2356a63eff fix(css): use native font size adjustment shorthand semantics 2026-10-23 04:26:49 +08:00
ldm0 f26501e0ba fix(cssom): serialize computed font from native longhands
Serialize computed font from the retained style read and Stylo font longhand metadata. Reuse the native font serializer for CSS2 variant/stretch constraints, reset-only longhands and omission of initial components. Resolve font size, weight and line height through the shared CSSOM path.

Keep computed Typed OM font values opaque, property-associated and immutable while retained maps observe new styles. Cover relative and inherited sizes, numeric line height, snapshots and supported unrepresentable longhands.
2026-10-23 04:26:49 +08:00
ldm0 700236f029 fix(css): enable native variable font properties 2026-10-23 04:26:49 +08:00
ldm0 4ae2dabfc6 fix(fonts): publish CSS declaration order without JS projection 2026-10-23 04:07:15 +08:00
ldm0 bd9c6448b0 test(fonts): distinguish the pinned Chromium descriptor oracle
The CI Chromium 145.0.7632.6 build reports a different immediate check()
result after changing a FontFace weight than local Chromium 147. Record
that exact build's observed descriptor-update contract while preserving
the strict Moli and Chromium 147 expectations and every other assertion.
2026-10-23 04:07:15 +08:00
ldm0 79dec637d7 refactor(network): share resource request preparation and dispatch
Capture GET subresource requests, cookie observations, request policy,
network partitioning and cancellation in PreparedSubresourceFetch. Share
Service Worker routing and asynchronous network dispatch between explicit
FontFace requests and stylesheet font/image requests.

Keep resource-specific admission, pending continuation binding and terminal
handling at each caller so Document ownership and FontFace lifetime remain
attached to the existing resource pipeline.

Verify CSS and JS font Service Worker request policy and retain request
identity, initiator attribution and FontFace rejection delivery coverage.
2026-10-23 04:07:15 +08:00
ldm0 3a0f6ca178 fix(fonts): match queries and honor owner selection order
Select width, style and weight capabilities before filtering FontFaceSet
queries by text and unicodeRange. Share the matching path for check/load,
including CSS calculations and descriptor ranges, so unrelated unloaded
or broken sources do not affect a query.

Publish each Document's CSS/manual FontFaceSet order independently from
stable resource slots. Preserve manual overrides, re-addition priority
and different orders for shared faces across Documents.

Cover the matching and actual DOM geometry regressions with generated
narrow/wide fonts and a shared Chromium/Moli CDP oracle.
2026-10-23 04:07:15 +08:00
ldm0 ff15becb62 fix(fonts): defer set events and preserve ranges and promises 2026-10-23 04:07:15 +08:00
ldm0 98543feea9 fix(fonts): unify font readiness and freeze source URLs 2026-10-23 04:07:15 +08:00
ldm0 c7130a3059 fix(fonts): share native FontFace loading across CSS and JS 2026-10-23 04:07:15 +08:00
ldm0 644b82c710 fix(dom): enumerate collection query methods 2026-10-22 21:28:20 +08:00
ldm0 d31b51af4c fix(xhr): keep open exceptions in the invoked method realm 2026-10-22 21:21:28 +08:00
ldm0 12df1d6c8f fix(mime): trim only HTTP whitespace in nosniff tokens 2026-10-22 21:20:36 +08:00
Sumer Jakharandldm0 420e054b55 docs(cli): clarify logging for readiness timeout warnings
Explain that network-idle and DOM-stable timeouts return the current page,
and point to --log-level warn for timeout warnings.

Co-authored-by: ldm0 <ldm2993593805@163.com>
2026-10-22 21:19:57 +08:00
ldm0 14d3c08cc8 fix(fonts): reject malformed FontFace payloads 2026-10-22 16:43:49 +08:00
ldm0 a30f889caa ci(cdp-smoke): remove temporary shutdown stress investigation step 2026-10-22 16:12:55 +08:00
ldm0 4c99403bda test(cdp-smoke): capture browser close timeouts before cleanup 2026-10-22 16:12:55 +08:00
ldm0 45be4e3531 fix(dom): validate NamedNodeMap receivers and Attr arguments 2026-10-22 15:12:24 +08:00
ldm0 b4b9534808 ci(frontend): increase network storage and observation timeout budgets 2026-10-22 14:58:08 +08:00
ldm0 6bbc667994 fix(dom): validate traversal receivers with native brands 2026-10-22 14:48:10 +08:00
ldm0 1e3e2e1ba1 refactor(webauthn): use shared dictionary conversions 2026-10-22 14:46:27 +08:00
ldm0 882cc62396 fix(dom): convert MutationObserver options through WebIDL 2026-10-22 14:42:05 +08:00
ldm0 a29b5fbe13 test(frontend): preserve CDP timeout command and checkpoint context 2026-10-22 14:41:15 +08:00
ldm0 9861c31e88 refactor(webrtc): derive required ICE error event payload arguments 2026-10-22 14:37:54 +08:00
ldm0 a3875b4310 fix(cssom): retain adopted stylesheet array realms after conversion 2026-10-22 14:37:39 +08:00
ldm0 b63c6aacae fix(cssom): convert adopted stylesheet assignments through WebIDL sequences 2026-10-22 14:37:39 +08:00
ldm0 91b72e91b9 refactor(webidl): share native event dictionary ancestors 2026-10-22 14:29:50 +08:00
ldm0 caf42019f3 refactor(events): use shared WebIDL conversion for native event dictionaries 2026-10-22 14:29:50 +08:00
ldm0 cf51cefb7d fix(benchmark): route WPT permission changes through CDP 2026-10-22 14:28:24 +08:00
ldm0 9befcbda23 fix(benchmark): select CDP for WPT testdriver cases 2026-10-22 14:28:24 +08:00
ldm0 0ca924c266 fix(benchmark): run explicit CDP WPT input through native automation 2026-10-22 14:28:24 +08:00
ldm0 32df201d63 fix(benchmark): confirm target removal after close races 2026-10-22 14:28:24 +08:00
ldm0 b869e4451c fix(dom): validate AbortController receivers with native brands 2026-10-22 14:27:11 +08:00
ldm0 bd8e0b27a9 refactor(webidl): derive required RTCError payload arguments 2026-10-22 06:42:26 +08:00
ldm0 bd0ddc3f8d perf(webapi): generate static accessor function names
Move getter/setter name formatting into the derive macro and reuse the
getter name suffix as the property key, avoiding a third stored name.

Keep shared installation and V8 callback mappings. Cover static names
and Unicode property keys in the existing tests.
v1.1.19
2026-10-22 02:56:07 +08:00
ldm0 ce7f503f28 fix(fetch): match Chromium for bare-CR header EOF 2026-10-22 02:33:44 +08:00
ldm0 87527dec85 perf(deps): unify AWS-LC on the latest backend 2026-10-22 01:15:19 +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 c5d91d50d0 perf(cdp): compact protocol metadata at build time
Parse the vendored schema with serde_json::Value and serialize compact JSON
in build.rs. Embed the generated bytes without request-time processing.
Verify the embedded protocol matches the complete vendored schema.

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 6a7ea4e395 perf(cdp): share cold parameter error diagnostics
Move concrete serde error diagnostics into a cold non-generic helper.
Preserve typed deserialization, successful and absent-parameter paths,
method/path/inner logs and InvalidParams 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 2f45fbf990 perf(deps): share the pinned IDNA implementation
Resolve cookie and URL IDNA consumers to the pinned rust-url revision,
removing the duplicate registry implementation. Cover Unicode cookie
domains, canonical URLs and host-only matching.

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 2b6f116c5a perf(telemetry): use static target filtering
Use Targets for the existing level and first-party prefix rules. Preserve
formatting, span context, fallback levels and broken diagnostic sinks;
retain EnvFilter as the test oracle.

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 31ee126de3 perf(webidl): install template accessors from static metadata
Extend metadata installation to consecutive statically named accessors
without callback data. Preserve run boundaries, receiver checks and
getter/setter names and lengths, with native callback mappings resolved
during installation. Cover mixed method/accessor order and generic getters.

This step passes focused WebIDL clippy and 98 binding/derive tests.

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 e1d3638300 perf(webidl): install template methods from static metadata
Batch consecutive statically named template methods without callback data
through constant metadata and a shared installer. Resolve native callback
mappings during installation, preserving aliases, ordering, descriptors
and the original JavaScript callback path.

Keep generic callback data, nested entries, return values and exception
identity covered by the binding regression tests.

This step passes focused WebIDL clippy and 98 binding/derive tests.

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 1b164fc27a perf(webidl): share object function construction
Share object method and accessor construction through a concrete runtime helper.
Preserve callback data, receiver checks and installation order while using
V8's original per-callback adaptation.

This step passes focused WebIDL clippy and 96 binding/derive tests.

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 7d13c04262 fix(navigation): normalize fragments in Location.hash setter 2026-10-21 22:28:15 +08:00
ldm0 e970d26b08 fix(navigation): keep hash setters within the current document
Clearing Location.hash produced a URL without a target fragment and
entered the full-URL navigation path, interrupting load/harness completion and
replacing srcdoc documents. Preserve explicit hash-setter intent in the shared
Location route and compare encoded fragments before taking any navigation.

Keep the main branch's full href/assign no-fragment behavior and retired-facade
checks. Cover top-level hash removal, canonical hash reassignment, and srcdoc
Document identity, origin and NavigateEvent metadata.

Fixes: 536fa76aee (PR #1701)

Validate this independent patch on main ce0781f2ad:
- cargo fmt --all
- cargo clippy --workspace --all-targets --all-features -- -D warnings
- cargo nextest run --no-fail-fast
     Summary [ 493.678s] 20436 tests run: 20436 passed (9 slow), 18 skipped

Original-commit: 9446beaf8c
2026-10-21 22:28:15 +08:00
ldm0 f660ee584f refactor(csp): extract shared policy engine into moli-csp 2026-10-21 22:15:00 +08:00
ldm0 6bf8105d8f ci(nextest): show retries and recovered flaky test names 2026-10-21 22:09:50 +08:00