Commit Graph
853 Commits
Author SHA1 Message Date
ldm0 b54551b368 fix(webidl): complete sequence conversion before validating pairs
Propagate WebIDL sequence conversion errors without IteratorClose. Convert all inner sequences before validating URLSearchParams pair lengths or normalizing Headers, preserving getter order and conversion exceptions.

Source: afe693c9a3, 4a420981c3
2026-09-16 15:12:20 +08:00
ldm0 2a3aa78f8d fix(fetch): inherit Headers methods and observe initializer iterators
Use the intrinsic Headers prototype for internally created header objects. Remove own method copies and platform-object initializer shortcuts so author iterator overrides, exceptions and record properties remain observable.

Source: 66434f2877, c229deb38c
2026-09-16 14:43:14 +08:00
ldm0 31fbadca9b fix(selection): respect document and modal inert boundaries
Source: 1354930065, eb2174ed49, f7b96d7940
2026-09-16 14:37:59 +08:00
ldm0 fea71c0f3d refactor(wpt): isolate script load fixture discovery helper
Keep the script load/error discovery helper and its hook separate from the XHR response fixture additions so both independent branches can merge without overlapping insertions.
2026-09-16 14:30:40 +08:00
ldm0 3028654817 fix(wpt): serve script load and error fixtures
Serve the script load/error endpoint as JavaScript with its requested 200 or 404 response and first query value. Recognize exact relative and absolute fixture references for classic and module script discovery.

Source: fdc7857483
2026-09-16 14:30:40 +08:00
ldm0 10a78042fe fix(cssom): append computed custom properties 2026-09-16 13:31:16 +08:00
ldm0 f684e465bc fix(selection): suppress trailing newline whitespace 2026-09-16 05:45:10 +08:00
ldm0 6e505565f2 test(wpt): refresh full cross-run baseline 2026-09-16 05:45:10 +08:00
ldm0 e3ae7c3bd1 fix(wpt): serve script charset fixtures as original bytes
Serve the upstream script Content-Type endpoint with original file bytes and the requested MIME value, including HEAD and empty MIME. Resolve exact relative handler references during case selection.

Source: 9e40fe628e
2026-09-16 02:43:23 +08:00
ldm0 01f5ee6e46 fix(dialog): apply modal UA styles and top-layer state
Source: 639cb1916b, f57c3dd731, cac97d8b9a
2026-09-16 01:54:38 +08:00
ldm0 3cdd95f6d5 fix(selection): preserve collapsed inline whitespace
Source: 2953b56b17
2026-09-15 20:44:01 +08:00
ldm0 312b0ffc6b feat(emulation): support worker user agent overrides v1.1.6 2026-09-15 16:54:51 +08:00
ldm0 e5217a4de1 fix(markdown): preserve whitespace between inline nodes 2026-09-15 16:31:50 +08:00
ldm0 357dda18e7 fix(editing): enforce maxlength with UTF-16 text offsets
Apply maxlength to user text insertion, preserve complete surrogate pairs,
and keep selection and replacement offsets in UTF-16 units. Cover CDP
input, execCommand insertText, and setRangeText.
Keep keyboard movement and deletion, including execCommand deletion, on
complete surrogate-pair boundaries while exposing UTF-16 offsets.

Source: 3be5eb5e37
2026-09-15 15:35:38 +08:00
ldm0 1d132be5b3 Mark profile import as beta 2026-09-15 15:11:52 +08:00
ldm0 3f50eeb166 perf(fonts): reuse native Brotli for WOFF2 decoding 2026-09-15 15:11:52 +08:00
ldm0 8c8169bedd fix(fonts): update wuff to handle corrupt WOFF2 data
Upgrade wuff to 0.2.9 with compatible version requirements in the layout
and renderer test dependencies. Add a regression proving that corrupt
Brotli data returns a decode error and preserves an existing font.

Validation:
- cargo fmt --all
- cargo clippy --workspace --all-targets --all-features -- -D warnings
- cargo nextest run --no-fail-fast: 17574 passed, 13 skipped
- Release verification: the previous SIGABRT sample renders with fallback;
  valid-font screenshots remain byte-identical
2026-09-15 15:11:52 +08:00
ldm0 ef8693519c build(linux): enable safe identical code folding
Enable LLD's safe ICF for x86_64 Linux GNU builds to fold duplicate native
functions while preserving observable function address identity.

Validation:
- cargo fmt --all
- cargo clippy --workspace --all-targets --all-features -- -D warnings
- cargo nextest run --no-fail-fast: 17573 passed, 13 skipped
- Release smoke checks for JS, Wasm, Intl, workers, WebCrypto, compression,
  font rendering, and SQLite WAL / LevelDB profile imports
2026-09-15 15:11:52 +08:00
ldm0 4e3f174ab1 refactor(profile): simplify imports with a read-only LevelDB parser
Read Chrome localStorage snapshots through moli-leveldb-parser with
zerocopy layouts. Keep the LevelDB engine in test dependencies and port
Chromium reader scenarios with reproducible native fixtures.

Share WAL-aware SQLite snapshots and merge localStorage by origin and
UTF-16 key. Read all sources and required destination files before
replacing cookie or localStorage data.

Validation:
- cargo fmt --all
- cargo clippy --workspace --all-targets --all-features -- -D warnings
- cargo nextest run --no-fail-fast (17573 passed, 13 skipped)
2026-09-15 15:11:52 +08:00
ldm0 53ec9ba9d6 build(sqlite): trim unused bundled extensions 2026-09-15 15:11:52 +08:00
SpringCorel f81730fb1c fix(profile): gate macOS keychain imports 2026-09-15 15:11:52 +08:00
SpringCorel e454458be7 feat(profile): support profile import from chrome/firefox/curl 2026-09-15 15:11:52 +08:00
ldm0 bdf76173fe fix(layout): clamp negative widths in intrinsic inline probes 2026-09-15 14:58:25 +08:00
ldm0 4d110bd787 fix(emulation): report unsupported worker user agent overrides 2026-09-15 14:46:31 +08:00
ldm0 450c8f559b fix(cdp-smoke): validate CPU throttling capability errors 2026-09-15 14:46:31 +08:00
ldm0 8dfd1015b0 fix(emulation): reject unsupported device metrics modes 2026-09-15 14:46:31 +08:00
ldm0 17e961433e feat(emulation): apply native view scaling and capture viewport 2026-09-15 14:46:31 +08:00
ldm0 284667a01a feat(emulation): apply native screen geometry and resolution 2026-09-15 14:46:31 +08:00
ldm0 f6b2e4a0ef feat(emulation): support native automation overrides 2026-09-15 14:46:31 +08:00
ldm0 6c0e1a64dc feat(emulation): override native Data Saver queries 2026-09-15 14:46:31 +08:00
ldm0 0013b7925c feat(emulation): override native hardware concurrency 2026-09-15 14:46:31 +08:00
ldm0 46d5abcae3 feat(emulation): support default background color overrides 2026-09-15 14:46:31 +08:00
ldm0 af95ed7dcc test(emulation): await media query change delivery 2026-09-15 14:46:31 +08:00
ldm0 4a0a8304a7 feat(emulation): support reduced transparency preferences 2026-09-15 14:46:31 +08:00
ldm0 78e1a390c7 fix(emulation): deliver surface events on rendering turns 2026-09-15 14:46:31 +08:00
ldm0 538e35f96f refactor(emulation): simplify document creation inputs 2026-09-15 14:46:31 +08:00
ldm0 4acde632d1 refactor(emulation): deliver coherent native surface events 2026-09-15 14:46:31 +08:00
ldm0 c965967906 refactor(emulation): read viewport state natively 2026-09-15 14:46:31 +08:00
ldm0 73f2e785ea fix(emulation): reject unavailable throttling modes 2026-09-15 14:46:31 +08:00
ldm0 4bef2b6dfd fix(emulation): preserve device metric reset semantics 2026-09-15 14:46:31 +08:00
ldm0 cb12920334 fix(emulation): preserve and validate max touch points 2026-09-15 14:46:31 +08:00
ldm0 f911b83d39 fix(emulation): apply focus overrides to loaded targets 2026-09-15 14:46:31 +08:00
ldm0 e691401fbd test(clone): cover non-serializable platform object rejection
Source: 7624250527
2026-09-15 13:35:57 +08:00
ldm0 8f94ad9528 fix(fetch): remove one initial UTF-8 BOM from Body text and JSON
Decode text and JSON consumers with UTF-8 BOM removal while retaining the existing JSON parser and all binary consumers. Cover constructed Request/Response bodies and asynchronously split Response streams, repeated and misplaced BOMs, malformed UTF-8, UTF-16 markers, MIME charset independence, SyntaxError, and raw binary/form values.

Source: 3c3bd08064
2026-09-15 13:21:08 +08:00
ldm0 24dcb813c0 test(lifecycle): gate post-DCL script loading explicitly
Source: fa5059a062
2026-09-15 13:12:39 +08:00
ldm0 569a74f520 fix(wpt): match the wptserve header count limit
Accept the 253-header WPT fixtures using the same bounded 512-header limit as wptserve. Exercise both request and response parsing while retaining count and line-length rejection.

Source: 8aa635acc5
2026-09-15 13:11:01 +08:00
ldm0 a51edfb60a fix(wpt): count link stylesheet fixture requests
Serve the dynamic stylesheet counter and consume counts when queried. Share counts across fixture ports while isolating them from Fetch stash entries. Cover HEAD requests, per-ID separation, and read-and-clear behavior.

Source: 79a997c10d
2026-09-15 13:08:47 +08:00
ldm0 226ceb3931 fix(table): span zero row spans to section end 2026-09-15 01:54:41 +08:00
ldm0 320d82d191 fix(csp): require every integrity hash to match policy
Share parsed SRI metadata with CSP hash-source matching. Require a nonempty
set whose every supported hash is authorized, while response verification
continues to use the strongest hashes. Cover malformed tokens, hash aliases,
weaker hashes, and literal digest matching.

Source: f960314f49
2026-09-15 01:22:32 +08:00
ldm0 f6f95676a1 test(dom): cover legacy null conversion in markup setters
Cover innerHTML, outerHTML and ShadowRoot.innerHTML null conversion alongside undefined, object and Symbol inputs.

Source: 48d2b3be65
2026-09-14 21:55:52 +08:00