Commit Graph
1101 Commits
Author SHA1 Message Date
kevin 3e66eaa4bc Fix WebDriver activation boundaries and share network cleanup rules 2026-09-24 18:09:19 +08:00
kevin e5205a28e0 fix(browser): address activation and document review regressions 2026-09-24 18:09:19 +08:00
kevin f176585cac fix(network): project redirected request metadata 2026-09-24 18:09:19 +08:00
kevin 121df3a6d3 fix(layout): exclude collapsed line-end spaces from overflow 2026-09-24 18:09:19 +08:00
kevin c3e0aec416 test(parser): remove unnecessary mutable binding 2026-09-24 18:09:19 +08:00
kevin 40ea579de4 fix(browser): address benchmark-discovered protocol and rendering failures 2026-09-24 18:09:19 +08:00
ldm0 9916039eb8 fix(dom): create AbortSignals with intrinsic factories and typed arguments 2026-09-24 16:44:14 +08:00
ldm0 ad757730ba fix(style): invalidate validity containers on child changes 2026-09-24 15:38:15 +08:00
ldm0 06018f4983 fix(cssom): share EventTarget bindings for MediaQueryList 2026-09-24 15:37:10 +08:00
ldm0 94186f6bb6 fix(events): unify object-valued simple event handlers 2026-09-24 15:35:12 +08:00
ldm0 1ebdb981fe fix(workers): share intrinsic bootstrap error events 2026-09-24 15:30:24 +08:00
ldm0 f5a934c033 fix(service-worker): use shared WebIDL promise bindings 2026-09-24 15:29:15 +08:00
ldm0 cc1c030e3f fix(forms): use native FileList data for inputs and FormData 2026-09-24 15:28:05 +08:00
ldm0 f591863281 fix(webidl): unify EventListener argument conversion 2026-09-24 15:24:35 +08:00
ldm0 260ed11c21 fix(url): share component parsing between URL and hyperlinks 2026-09-24 14:45:09 +08:00
ldm0 9b2f86bbf3 chore(release): update version to 1.1.10 v1.1.10 2026-09-24 06:14:56 +08:00
ldm0 c3b795bff2 fix(css): use native FontFaceSet bindings and shared EventTarget 2026-09-24 06:10:05 +08:00
ldm0 cecd00f3c1 fix(wpt): serve XHR body and encoded document fixtures
Model XHR binary body and Content-Type echo responses plus six encoded document resources. Preserve raw request metadata and encoding bytes, avoid waiting for unused uploads, and discover only supported resource references. Match upstream cache and absent-body response headers.

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

Source-commit: 5389231812
2026-09-24 05:02:24 +08:00
ldm0 72bc7cbef7 fix(forms): validate setRangeText offsets before clamping 2026-09-24 03:14:00 +08:00
ldm0 987b09ca13 fix(history): isolate traversal info to initiating navigation 2026-09-24 02:39:25 +08:00
ldm0 7e40b17284 refactor(history): extract pure session history state machine 2026-09-24 02:39:25 +08:00
ldm0 f8f46bf488 fix(history): coordinate complete joint traversal plans 2026-09-24 02:39:25 +08:00
ldm0 59ad7921a8 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 01:05:00 +08:00
ldm0 1933cec74f refactor(input): centralize editing and native element clicks 2026-09-23 23:06:17 +08:00
ldm0 f0a31d85ed fix(input): dispatch InputEvent metadata for text edits
Dispatch trusted beforeinput and input events with operation-specific
inputType and data for text controls and contenteditable editing. Keep
beforeinput cancelable and report input.data after text normalization
and maxlength truncation.

Cover keyboard and CDP insertion, cancellation, deletion, and textarea
line breaks with 57 regression scenarios.
2026-09-23 23:06:17 +08:00
ldm0 4d10ff1916 fix(input): preserve Enter cancellation and multi-character text
Dispatch a cancelable insertLineBreak beforeinput before implicit form
submission, including default submit button activation. Require a standalone
CR when inferring Enter from character text.

Cover combined keydown, standalone char, and embedded-CR input so text is
preserved without accidental submission.

Temporarily ignore the two Chromium-verified iframe overlay click tests
pending separate implementation fixes.
2026-09-23 23:06:17 +08:00
lanyue-llk 7bf36c9823 fix(input): preserve activation and navigation boundaries 2026-09-23 23:06: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