Commit Graph
737 Commits
Author SHA1 Message Date
ldm0 23a488be68 fix(domparser): preserve XML content types
Extract an independently mergeable topic from wpt-misc-fix at
a70a96f9d1.

Append only the XML content-type regression to the baseline test module.
Use empty XML to exercise the existing parser-error-document path; the original undeclared-prefix input requires a separate namespace parser fix. Content-type and error-document assertions are retained.

Source commits:
- c8eed633ac

Validation:
- cargo fmt --all
- cargo clippy --workspace --all-targets --all-features -- -D warnings
- cargo nextest run --no-fail-fast
2026-09-10 05:45:51 +08:00
ldm0 e194c2add8 refactor(html): centralize input type states
Extract an independently mergeable topic from wpt-misc-fix at
a70a96f9d1.

Source commits:
- 05e2cd5350

Validation:
- cargo fmt --all
- cargo clippy --workspace --all-targets --all-features -- -D warnings
- cargo nextest run --no-fail-fast
2026-09-10 04:05:23 +08:00
ldm0 19eacf16b3 fix(xhr): resolve open URLs with credentials
Extract an independently mergeable topic from wpt-misc-fix at
a70a96f9d1.

Append only the XHR open credential regression to the baseline test module.

Source commits:
- 5cbd824f60

Validation:
- cargo fmt --all
- cargo clippy --workspace --all-targets --all-features -- -D warnings
- cargo nextest run --no-fail-fast
2026-09-10 03:51:44 +08:00
ldm0 db559629b6 feat(webrtc): implement RTCSessionDescription data model
Extract an independently mergeable topic from wpt-misc-fix at
a70a96f9d1.

Source commits:
- 293755c9f7

Validation:
- cargo fmt --all
- cargo clippy --workspace --all-targets --all-features -- -D warnings
- cargo nextest run --no-fail-fast
2026-09-10 03:47:27 +08:00
ldm0 b32b27073f fix(trusted-types): gate DOMParser source input 2026-09-09 20:01:02 +08:00
ldm0 114508118a fix(fetch): honor credentials mode for TLS client identities 2026-09-09 19:44:04 +08:00
SpringCorel 1b1969624d feat: support custom TLS certificates 2026-09-09 19:44:04 +08:00
ldm0 17e8fa5cf9 refactor(html): extract window features parser 2026-09-09 17:58:17 +08:00
ldm0 e16cde5767 chore(release): update version to 1.1.5 2026-09-09 17:57:37 +08:00
ldm0 a70a96f9d1 fix(cdp): synchronize Navigator emulation through native state 2026-09-09 05:02:43 +08:00
ldm0 0ef12dab97 fix(cdp): limit Runtime stack capture depth v1.1.4 2026-09-09 04:44:25 +08:00
ldm0 8a353fa2aa fix(time): use default DOM clock resolution 2026-09-09 04:34:29 +08:00
ldm0 ecbbf350ed test(cdp): guard target teardown resource lifetimes
Add a managed-process target-lifecycle smoke group covering 1792 close cycles across Target.closeTarget, Page.close, detach-then-close, and explicit-context disposal. Synchronize on exact target and load events, preserve a live peer, and navigate over HTTP after each phase.

Enforce fixed Linux FD, poll-driver, and thread budgets after warmup, persist batch samples on failure, and report unsupported external/non-Linux sampling explicitly. Include group-selection and resource-contract tests.
2026-09-09 04:32:43 +08:00
ldm0 8b13f372d8 fix(style): reject stale sibling topology during deferred invalidation
Check retained child-list relations when draining structural mutation batches. Fall back to lazy source-scope invalidation when removed nodes or old neighbors have moved, covering both old and new scopes without mixing historical and live sibling links.

Keep safe insertion batches precise, defer disconnected child-list effects consistently, and cover reorder, reinsert, moved-neighbor, relative-selector, and cross-shadow regressions.
2026-09-09 04:32:04 +08:00
ldm0 c0d916ae8e fix(console): avoid extra page code during log capture 2026-09-09 04:07:35 +08:00
ldm0 22facd581d fix(navigator): expose readonly plugin collection lengths 2026-09-09 04:06:29 +08:00
ldm0 ff384a8126 feat(gamepad): expose policy-aware empty gamepad enumeration 2026-09-09 04:05:39 +08:00
ldm0 5a29c6f2d5 fix(audio): add biquad metadata and preserve offline graph silence 2026-09-09 04:02:23 +08:00
ldm0 583fde024f refactor(compression): share the Brotli backend with curl
Replace brotli2 with brotlic so stream codecs and curl use the same
brotlic-sys 0.2.2 dependency. Remove the separate brotli-sys dependency
and preserve compression quality 5 and streaming finish handling.

Validation: cargo fmt --all;
cargo clippy --workspace --all-targets --all-features -- -D warnings.
Tests were skipped as requested.
2026-09-09 04:01:49 +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 ebe6551954 fix(layout): model flex static-position edges 2026-09-09 01:29:35 +08:00
ldm0 e19434dc9d fix(events): expose UIEvent pseudoTarget 2026-09-09 00:40:37 +08:00
ldm0 91a0c5b970 fix(webidl): generate native receiver checks in declarative bindings 2026-09-09 00:22:07 +08:00
ldm0 761e9d011b feat(performance): expose cached V8 memory snapshots 2026-09-08 21:20:06 +08:00
ldm0 40f9b0bee9 chore(release): update version to 1.1.4 2026-09-08 20:48:56 +08:00
ldm0 dd8c635281 fix(svg): expose detached SVGRect values
Implement SVGSVGElement.createSVGRect with the native SVGRect prototype, restricted float fields and receiver validation. Cover the interface and JSXGraph capability-detection contract with a Chromium-calibrated fixture.
2026-09-08 20:38:31 +08:00
ldm0 b714cdd43a fix(canvas): expose branded readonly TextMetrics width 2026-09-08 20:25:41 +08:00
ldm0 071dd555d9 fix(media): expose branded MediaDevices enumeration on the prototype 2026-09-08 20:07:49 +08:00
ldm0 66563c6399 fix(input): preserve CDP keypress and raw keydown semantics
Separate combined keyDown character input from rawKeyDown at CDP admission. Dispatch a trusted, cancelable keypress before editing and re-resolve focus after keydown, within the same renderer input turn.

Cover input, textarea, and contenteditable event order, cancellation, typed character metadata, and focus changes. Add a Chromium-calibrated Playwright/raw-CDP smoke while preserving Input.insertText semantics.
2026-09-08 20:07:16 +08:00
ldm0 23ef197b60 feat(webrtc): implement RTCIceCandidate construction and serialization 2026-09-08 19:54:14 +08:00
ldm0 982f9fe2ff docs: add Discord community badge 2026-09-08 19:51:26 +08:00
ldm0 560dbaf743 fix(streams): implement native compression and decompression transforms 2026-09-08 17:58:01 +08:00
ldm0 36bab25612 fix(renderer): share and bound worker wake routes
Use one typed wake-route collection for deferred and live SharedWorker and ServiceWorker services. Prune closed channels on registration and broadcast so idle services do not accumulate metadata with cumulative target churn.

Keep existing synchronization and route deferred handoff through live registration to preserve pending-work wakes. Cover pruning, fanout, handoff, and lazy runtime integration.
2026-09-08 17:42:35 +08:00
ldm0 62b1600967 fix(custom-elements): guard reentrant definitions 2026-09-08 17:28:09 +08:00
ldm0 358f4e11bb fix(renderer): release retired renderer I/O drivers
Require Tokio 1.53.1 so dropping worker wake receivers releases their registered wakers even while browser-context senders remain live. This frees stopped renderer I/O drivers instead of retaining an eventpoll/eventfd pair per closed target.

Cover deferred services, live services, and deferred-to-live initialization while preserving a live peer receiver.
2026-09-08 17:14:54 +08:00
ldm0 182ba38647 test(worker): queue port messages before receiver transfer
Two postMessage calls in one parent task do not prevent the independent worker from closing the receiver between them. Queue both messages before transferring the receiver so this test actually exercises delivery of messages already queued at close.

Keep the strict first|second result and existing deadline without sleeps, retries, or production changes. Verified with 50 focused iterations, three complete worker-module iterations, and two full nextest runs.
2026-09-08 17:14:07 +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
ldm0 70b4b330f6 fix(canvas): implement WebGL viewport state
Preserve viewport and GL error state per HTML and Offscreen WebGL1/2 context, retain context identity on reacquisition, and expose copied typed-array queries. Add a shared Chromium-calibrated renderer/CDP regression; this does not implement GPU rasterization.
2026-09-08 13:58:48 +08:00
ldm0 acb59e7107 fix(layout): paint flex and grid items atomically 2026-09-07 22:43:22 +08:00
Donough Liu be2c6882dd test(wpt): refresh full cross-engine case lists 2026-09-07 20:45:09 +08:00
ldm0 a894b376d5 fix(window): validate scheduled callback cancellation 2026-09-07 19:51:17 +08:00
ldm0 6faf462821 fix(table): preserve fixed percentage intrinsic maxima 2026-09-07 19:40:19 +08:00
ldm0 2a5690485d fix(web-audio): expose shared factories and analyser data methods
Install node factories on BaseAudioContext and analyser reads on AnalyserNode.prototype. Validate FFT sizes and typed-array destinations, preserving entries outside the available sample range and the existing synthetic compatibility profile.

Mark AudioContext closed during cleanup and cover realtime/offline inheritance, receiver validation, buffer boundaries, and the fetch --eval flow.
2026-09-07 19:28:39 +08:00
ldm0 390d2a7f1f Update .gitignore 2026-09-07 19:28:39 +08:00