Commit Graph
74 Commits
Author SHA1 Message Date
ldm0 11f8e9668b fix(wpt): run crashtests with their readiness protocol 2026-09-20 17:22:49 +08:00
ldm0 56cd4ddd1a fix(wpt): serve Fetch Range streaming fixtures
Serve the upstream long WAV and range stash resources with streaming writes, byte-range metadata, cancellation and exact path discovery. Cover custom methods, duplicate headers, stash isolation and shutdown.
2026-09-19 00:22:39 +08:00
ldm0 8b09e71d15 fix(wpt): serve as-is fixtures as raw HTTP responses
Write .asis fixtures directly to the connection, preserving raw status lines, duplicate framing fields and malformed bytes. Bypass generated headers, pipelines, substitutions and HEAD body suppression as upstream wptserve does.
2026-09-19 00:11:55 +08:00
ldm0 3e2d2251b5 fix(wpt): serve empty Location redirect fixtures
Serve redirect-empty-location.py with a present empty Location header, fixed 302 status and no CORS grants. Respond before unused uploads complete and recognize only the supported resource references.
2026-09-18 16:43:51 +08:00
ldm0 b1c012951c fix(layout): stabilize table layout and cache measurements
Index each row's cell range and row-group boundary to remove repeated
placement scans. Cache complete table measurement outputs, including
baselines, in an eight-entry LRU with layout cache invalidation.

Preserve caption minima, Flex table heights, percentage padding bases,
anonymous table behavior and the existing vertical layout path. Extend
the Chromium geometry fixtures and refresh the full WPT-cross case lists.

Validation:
- cargo fmt --all
- cargo clippy --workspace --all-targets --all-features -- -D warnings
- cargo nextest run --no-fail-fast: 18180 passed, 13 skipped
- WPT-cross all: 8779/12906 passed; table: 535/716 passed
- Table results unchanged by index/cache optimization; 28 full-run
  differences checked twice per binary with no stable new regression
2026-09-18 16:19:13 +08:00
ldm0 f082f8a95b fix(wpt): serve XHR request header fixtures
Serve raw XHR header inspection and echo endpoints with exact name/value filters, original ordering and duplicate fields. Reuse arbitrary-method routing and return early without reading unused uploads; cover CORS metadata, HEAD and discovery boundaries.
2026-09-17 20:39:27 +08:00
ldm0 005751612c fix(wpt): serve JSON module lifecycle fixtures
Serve JSON module load/error dependencies and the per-key JSON-to-JavaScript response sequence. Keep counters shared across fixture origins and isolated between servers, with exact resource discovery and HEAD behavior.
2026-09-17 20:38:34 +08:00
ldm0 c49d1b72ba fix(events): preserve detached Window receiver identity
Use the native Window brand to recognize child globals across method realms. Distinguish valid detached child Windows from invalid receivers when adding or removing event listeners; detachment has already cleared their event state.

Cover retained child references, borrowed EventTarget methods, invalid receivers, and parent listener isolation. Restore the verified iframe promise-rejection WPT to the passed list.
2026-09-17 14:17:33 +08:00
ldm0 f645752894 fix(parser): notify mutations when coalescing text
Return text mutation effects from parser sinks and deliver them through the shared notification pipeline after releasing the structural borrow. This keeps stylesheets and layout current when parser input is merged into existing text nodes, and delivers characterData records without replacing node identity.

Add main-document and iframe regressions for split stylesheet input, hit testing, and MutationObserver delivery. Restore the verified elementsFromPoint iframe WPT to the passed list.
2026-09-17 14:17:33 +08:00
ldm0 9ece52011c test(wpt): refresh full cross-engine case results
Record the full 12,905-case run at 4f7c4ffc0: 8,766 passed, 3,792 failed, 285 timed out, 53 stalled, and 9 errors. Preserve the measured full-run classifications, including the two independently confirmed stable regressions.
2026-09-17 02:59:17 +08:00
ldm0 3913375f4b fix(wpt): serve the XHR CORS echo fixture
Serve the upstream CORS echo endpoint for standard and custom methods, including original query/body metadata, repeated allow-headers fields, delay errors, HEAD, and exact resource discovery.

Source: 9b27c82fb5
2026-09-17 02:59:00 +08:00
ldm0 d503f0bea3 Update wpt cases 2026-09-16 21:16:07 +08:00
ldm0 65616592dc fix(wpt): serve XHR response status and last-modified fixtures
Preserve status text, raw payloads, method headers, XML contents and file modification times for the two upstream XHR fixtures. Support HEAD and custom methods and close responses without waiting for unused uploads.

Source: 3d04d737e7
2026-09-16 16:23:53 +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 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 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 869b7449dd test(wpt): refresh full case lists after htm discovery
Run the complete all profile against Moli 1a12ee01e and WPT db95fafd1
using the release binary, CDP mode, and 50 parallel workers.

The 12,874 cases include 206 newly discovered cases: 165 pass, 37 fail,
and 4 time out. Overall: 8,729 pass, 3,800 fail, 283 timeout,
53 harness-stalled, 9 error, and no crashes or missing cases.

Preserve the full run classifications, including 12 existing cases that
became passing and 6 previously passing cases that did not pass this run.

Validation: full run completed in 727.89 seconds; all case lists match
the result matrix exactly, with no duplicates or omitted cases.
2026-09-14 07:19:47 +08:00
ldm0 1a12ee01ec fix(wpt): discover htm testharness documents 2026-09-14 06:50:58 +08:00
ldm0 6c64713043 fix(benchmark): drain WPT engine logs while running 2026-09-14 05:54:04 +08:00
ldm0 8562d5ae76 test(wpt): refresh full cross-engine case lists after SRI fixes
Refresh the all profile on 59e1af954 against WPT db95fafd1 using CDP, 50 workers, and an 800x600 viewport at DPR 1.

Record all 12,668 cases: 8,558 pass, 3,760 fail, 284 timeout, 52 harness-stalled, and 14 error; no crashes or missing cases. Compared with the previous lists, 36 cases became passing and 8 became non-passing.

Preserve the full-run observations. In two focused runs at parallelism 8 and one serial run, seven of the eight previously passing cases passed each time. The CSP javascript URL inheritance case failed all three rechecks because the expected report was absent; its underlying cause remains undiagnosed.
2026-09-13 04:46:51 +08:00
ldm0 3a9acf2e19 test(wpt): refresh full cross-engine case lists
Refresh the all profile on a33217690 against WPT db95fafd1, using CDP,
50 workers, and an 800x600 viewport at DPR 1.

Record all 12,668 cases: 8,530 pass, 3,783 fail, 295 timeout,
50 harness-stalled, and 10 error; no crashes or missing cases.

Include fetch/api/abort/destroyed-context.html and resolve three iframe
cases previously listed under both pass and error. Preserve the full-run
observations, including 16 cases that changed from pass to fail.
2026-09-11 18:32:44 +08:00
ldm0 5b5015df6f fix(wpt): model Fetch status, trickle and abort fixtures
Source-commit: d60753677c
Source-commit: aec5df04d9
Source-commit: d5919885a4
2026-09-11 12:12:08 +08:00
ldm0 9e668c97e1 feat(compression): support Brotli streams with brotli2
Use the safe brotli2 streaming API. Preserve staged output, backpressure,
truncation and trailing-data errors, with coverage for Window, Worker,
empty and chunked input, large flush output, and codec reclamation.

Declare fastrand as a test dependency so the large-output regression test
also builds when this change is applied directly on main.

Validation on the independent branch: cargo fmt --all;
cargo clippy --workspace --all-targets --all-features -- -D warnings;
cargo nextest run --no-fail-fast (17215 passed, 13 skipped).
Python benchmark harness: 480 tests passed.

(cherry picked from commit d178f16726)
2026-09-09 01:53:03 +08:00
ldm0 6630605680 test(wpt): include compression streams in the semantic baseline
Include Window and DedicatedWorker compression cases, detach window tests and secure-context IDL wrappers in default enumeration. Preserve explicit global overrides and unsupported-case filters.

Record the complete 36-case compression suite using one release binary from bf8505975 and WPT db95fafd1fcef8428805e41eb5705d444e8c67ce. CLI and CDP agree: 8 pass, 28 fail; 528 subtests pass and all 146 failures are unsupported Brotli. Python harness: 488 tests pass.

(cherry picked from commit 7a817e4f36)
2026-09-09 01:53:03 +08:00
ldm0 e19434dc9d fix(events): expose UIEvent pseudoTarget 2026-09-09 00:40:37 +08:00
ldm0 62b1600967 fix(custom-elements): guard reentrant definitions 2026-09-08 17:28:09 +08:00
ldm0 4c00e6dab6 fix(encoding): honor compatibility XML declarations 2026-09-08 16:17:11 +08:00
ldm0 669173367d fix(fullscreen): remove historical page aliases 2026-09-08 14:57:19 +08:00
ldm0 ebc4c0ea44 fix(window): make WindowProxy prototypes immutable 2026-09-08 14:43:00 +08:00
ldm0 3330e01843 fix(cssom): parse comments in unicode ranges 2026-09-08 14:41:42 +08:00
ldm0 c4f472469e fix(workers): reject extended lifetime mismatch 2026-09-08 14:41:08 +08:00
ldm0 0fb89bcd31 fix(sandbox): block disallowed JavaScript dialogs 2026-09-08 14:01:05 +08:00
Donough Liu be2c6882dd test(wpt): refresh full cross-engine case lists 2026-09-07 20:45:09 +08:00
ldm0 4b0f1ffa4b test(wpt): refresh cross-engine case lists 2026-09-04 11:44:30 +08:00
ldm0 1c6819d008 fix(css): expose touch-action 2026-08-30 19:09:54 +08:00
ldm0 4306c48b24 fix(events): expose global touch handlers 2026-08-30 17:32:02 +08:00
ldm0 5f3817b00a refactor(wpt): remove pipe header compatibility wrapper 2026-08-30 16:36:55 +08:00
ldm0 ddcc04a31d fix(wpt): support append semantics for pipe headers 2026-08-30 16:36:55 +08:00
ldm0 8eab95a494 fix(renderer): align legacy named access collections 2026-08-30 06:09:07 +08:00
ldm0 840ba602ac fix(benchmark): await sampler root readiness 2026-08-30 03:37:52 +08:00
ldm0 2ddb4f721a fix(dialog): enforce show state transitions 2026-08-29 19:09:28 +08:00
ldm0 9432068197 fix(trusted-types): gate service worker registration URL 2026-08-29 05:03:30 +08:00
ldm0 29cdd244e5 fix(trusted-types): report Function source samples 2026-08-29 05:01:11 +08:00
ldm0 37a10b39c6 fix(media): block dangling markup source URLs 2026-08-29 04:55:18 +08:00
ldm0 39d474864b fix(domparser): preserve adopted XML serialization 2026-08-28 19:44:41 +08:00
ldm0 dfe3ac23b2 test(spider): report sampler failure details 2026-08-28 19:19:33 +08:00
ldm0 ba64bba43d refactor(html): centralize DataTransfer item state 2026-08-28 14:35:27 +08:00