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.
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)
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)
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.
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.
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.
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.
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.
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.
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.
Attach the committed navigation response before publishing the initial phase-one-blocked Page snapshot, matching replacement Document installation.
Add renderer and CLI regressions for initial and resumed snapshots, gated response bodies, relative and absolute redirects, trace and readiness modes, and cached responses.