Commit Graph
1075 Commits
Author SHA1 Message Date
ldm0 497083179a ci: use TUNA mirrors and extend release build timeouts
Install Debian build dependencies from TUNA mirrors in the three self-hosted jobs and allow both release builds to run for up to 180 minutes.
2026-09-24 00:29:17 +08:00
ldm0 36ae738e6f fix(parser): preserve stylesheet pauses across encoding notices 2026-09-23 22:34:09 +08:00
ldm0 261b4f3052 test: fix macOS workspace test failures 2026-09-23 22:24:26 +08:00
ldm0 8c2956908b refactor(fetch): preserve typed request preparation errors 2026-09-23 20:51:08 +08:00
ldm0 eb3e9b772b refactor(fetch): preserve typed argument conversion errors
Carry WebIdlError and structured fetch validation errors through Window and
Worker argument conversion, formatting them only at the rejection boundary.
Propagate Proxy.has exceptions before further conversion or body consumption,
and cover exception identity, validation messages, realms, and side effects.

Fix existing XHR response-document header type mismatches in the parser and
its regression fixture so the workspace builds with byte-valued headers.

Validation:
- cargo fmt --all
- cargo clippy --workspace --all-targets --all-features -- -D warnings
- cargo nextest run --no-fail-fast (18490 passed, 14 skipped)
2026-09-23 20:51:08 +08:00
ldm0 ebc016ace3 fix(wpt): serve the common HTML echo fixture
Serve common/echo.py as HTML with byte-preserving first query values, all-method handling, and ordered response pipes. Recognize exact relative and absolute references during case discovery.

Validation: 582 Python tests passed with 32 workers; 144 HTTP responses matched official wptserve for status, body, and 15 response fields. New regression tests fail on the unmodified main baseline.

Source-commit: 4042e1a11a
2026-09-23 20:42:52 +08:00
ldm0 1418e3aa35 refactor(history): centralize joint session history state
Per-Window length counters cannot shrink after traversal and branching, and
leave retained sibling History objects stale. Give each traversable one
ordered history and cursor with stable step, browsing context, and Document
identities. All History getters read that state; Navigation entries remain
Document views.

Route push, replace, traversal, and pruning through the shared model. Carry
browser positions or renderer snapshots into new Documents and publish
committed mutations through the Page owner-action FIFO. Remove cached length
adjustments and DOM-order traversal guesses. Preserve srcdoc identity when
only its parent's URL changes.

Keep reset callback pushes in both renderer and browser history, and prune
discarded sibling Navigation entries when forward steps are removed.

Validation: cargo fmt --all; workspace all-targets/all-features Clippy with
warnings denied; cargo nextest run --no-fail-fast (18,501 passed, 14 skipped);
12 targeted Chromium/Moli state and length comparisons; frontend differential
1,020/1,020 matches, all 5,259 observed frames matching, with zero retries.
2026-09-23 20:39:06 +08:00
ldm0 f013d6db75 fix(history): preserve browser session length across child pushes
Seed newly committed renderer documents with the browser-owned session-history
length before author scripts run. Keep navigation, reload, and traversal from
losing prior entries that the Navigation API does not expose.

Grow joint history by newly appended entries, preserving existing parent steps
when a child pushes history and avoiding an extra step when replacing forward
history after back. Add protocol and renderer regression coverage.
2026-09-23 20:39:06 +08:00
ldm0 7540d64247 fix: restore XHR build and gate websocket test helper 2026-09-23 19:10:46 +08:00
ldm0 99fd6ad7c8 chore(deps): update Stylo lockfile revision 2026-09-23 17:40:55 +08:00
ldm0 c560d8fcfb fix(cssom): use native Stylo content alternative counters 2026-09-23 17:40:55 +08:00
ldm0 bc64742a6e fix(fetch): preserve RequestInit conversion exceptions 2026-09-23 17:02:09 +08:00
ldm0 8914678698 fix(xhr): preserve response document modification times 2026-09-23 16:14:28 +08:00
ldm0 3f8ce8a940 fix(history): use document lifecycle for initial blank replacement 2026-09-23 16:11:02 +08:00
ldm0 71c46d6606 test(tls): install macOS trust fixture in system keychain 2026-09-23 14:07:31 +08:00
ldm0 2d5b88b3dc fix(tls): use Apple SecTrust by default on macOS
Pin the curl-rust build that enables libcurl's Apple SecTrust verifier
with the existing AWS-LC TLS backend. Leave default CA options unset
so macOS trust comes from the operating system rather than an
automatically discovered certificate file.

Preserve explicit CA files and certificate environment overrides for
origins and HTTPS proxies, including explicit-file precedence over
SSL_CERT_DIR. Keep other platforms' existing trust configuration.

Add macos-latest CI coverage for local HTTPS, WSS, and
HTTPS proxy handshakes, including native-verifier diagnostics,
rejected certificates and hostnames, and CA overrides.

Use distinct CA and server identities, blocking accepted sockets, and
bounded fixture commands. Exercise the generated chains, nonblocking
socket transition, and process deadlines in portable regression tests.

Validated on Linux with cargo fmt --all, workspace Clippy with all
targets and features, and cargo nextest run --no-fail-fast:
18447 passed, 14 skipped. macOS-specific checks run in CI.

Refs #701
2026-09-23 14:07:31 +08:00
ldm0 33672a12ea fix(fetch): include underlying curl errors in failure reports
Preserve the full error chain in network failure reasons and the CLI fallback so curl error codes and detailed TLS, DNS, and connection failures remain visible. Keep the concise two-line CLI presentation and typed readiness timeout handling.

Test TLS failures across all fetch transports, network error classifications, and CLI connection failures. Validated with cargo fmt --all, workspace Clippy with all targets and features, and cargo nextest run --no-fail-fast (18444 passed).

Refs #701
2026-09-23 14:07:31 +08:00
ldm0 fe896d8cf7 fix(indexeddb): use intrinsic templates for factory creation 2026-09-23 14:03:57 +08:00
ldm0 e79c5b6451 fix(selectors): resolve textarea direction from its current value 2026-09-23 04:50:15 +08:00
Donough Liu 99b1790682 fix(events): share MessagePort EventTarget dispatch (#768) 2026-09-23 04:46:02 +08:00
Donough Liu 13a1d7d15f refactor(navigation): share interception settlement lifecycle (#770) 2026-09-23 04:44:44 +08:00
Donough Liu 04ac476e66 fix(events): share AbortSignal EventTarget dispatch (#769) 2026-09-23 04:44:38 +08:00
Donough Liu fe28a946e4 fix(indexeddb): snapshot queued queries and support range deletion (#767) 2026-09-23 04:44:31 +08:00
Donough Liu 80d4d8613f fix(scripts): execute child inline classics synchronously (#766) 2026-09-23 04:44:24 +08:00
Donough Liu 747559e0a1 fix(dom): synchronize element reflection targets (#764) 2026-09-23 04:44:00 +08:00
Donough Liu 7eb6444394 fix(history): preserve joint length for initial child documents (#763) 2026-09-23 04:43:54 +08:00
Donough Liu d637221990 fix(dom): expose live HTMLCollections on every Document (#762) 2026-09-23 04:43:47 +08:00
ldm0 b727ba58ef test(wpt): refresh full cross-engine case lists
Refresh status lists from the all-profile Moli run covering 13,512 cases. Record 9,408 passes, 3,747 failures, 293 timeouts, 52 stalled harnesses, 11 errors, and 1 crash.

Validation: full wpt-cross run completed; all case lists match the result matrix with no missing cases; git diff --check passed.
2026-09-23 04:38:35 +08:00
ldm0 84157b28a6 fix(events): dispatch host events through native node dispatch 2026-09-23 04:26:28 +08:00
ldm0 594cb9041c fix(dom): make native document content type authoritative 2026-09-23 02:24:21 +08:00
ldm0 6d08975a69 refactor(fetch): preserve response header bytes end to end
Carry raw response header values through fetch, caches, redirects,
renderer delivery, workers, and protocol records. Convert explicitly
at WebIDL and protocol text boundaries while preserving opaque bytes.

Keep legacy CacheStorage and service worker metadata readable, and
advance the HTTP cache format for raw header values.

Validation:
- cargo fmt --all
- cargo clippy --workspace --all-targets --all-features -- -D warnings
- cargo nextest run --no-fail-fast
2026-09-23 02:02:54 +08:00
ldm0 4b66f751ed fix(xhr): preserve final MIME types on Blob responses 2026-09-23 02:02:54 +08:00
ldm0 8e7be5c3fb fix(window): resolve named properties in the holder realm 2026-09-22 23:04:44 +08:00
ldm0 199abbb005 fix(html): report errors in the receiver Window realm 2026-09-22 22:49:08 +08:00
ldm0 ca5a66beae test(wpt): serve fixture directory listings 2026-09-22 21:55:02 +08:00
ldm0 ed7e56eb42 fix(fetch): preserve URLs on opaque redirect responses 2026-09-22 21:25:54 +08:00
ldm0 8df3ad554c fix(clipboard): preserve presentation style in shared snapshots 2026-09-22 20:14:59 +08:00
ldm0 f3080df33d refactor(history): centralize fully-active admission 2026-09-22 20:09:38 +08:00
ldm0 d919076a13 fix(fetch): reject cross-origin no-cors requests with non-follow redirects 2026-09-22 20:06:50 +08:00
lanyue-llk bcf420f622 revert: undo split PR 640 merges (#734-#740) 2026-09-22 20:02:07 +08:00
mini llk cba79021aa fix(document): parse text responses with consistent decoding (#740)
* fix(parser): preserve text document MIME and encoding semantics

* fix(document): share literal text parsing across child document paths

* fix(document): construct projection parser with the public API
2026-09-22 19:50:42 +08:00
mini llk e979f50c33 fix(forms): preserve live and detached named property semantics (#739) 2026-09-22 19:50:01 +08:00
mini llk 011e2268f2 fix(navigation): cancel loading without retiring the active document (#738) 2026-09-22 19:49:18 +08:00
mini llk 1be735d5c5 fix(network): preserve request metadata and response evidence (#737) 2026-09-22 19:45:58 +08:00
mini llk 50a4242b2e fix(input): preserve activation and navigation boundaries (#736) 2026-09-22 19:45:14 +08:00
mini llk c5ac254058 fix(layout): refresh geometry and preserve inline fragments (#735) 2026-09-22 19:42:55 +08:00
mini llk e30ca4aea4 fix(reliability): harden diagnostics and test infrastructure (#734) 2026-09-22 19:39:41 +08:00
ldm0 a54ba82a7a fix(cssom): accept counters in content alternative text 2026-09-22 17:45:37 +08:00
ldm0 70e5ef620b fix(cssom): serialize computed mask from its longhands 2026-09-22 17:42:42 +08:00
ldm0 7934998657 fix(xhr): recognize Document as a native send body
Preserve Document during argument conversion so invalid state checks and GET/HEAD requests do not invoke string coercion. Add 300 assertions covering native Document objects, coercion getters, altered prototypes, and non-native lookalikes.

Validation: cargo fmt --all; cargo clippy --workspace --all-targets --all-features -- -D warnings; cargo nextest run --no-fail-fast (18273 passed, 13 skipped).
2026-09-22 14:55:05 +08:00