Commit Graph
1355 Commits
Author SHA1 Message Date
ldm0 3c8dbbbfcd docs(vendor): record upstream fixes preserved during rebase 2026-09-29 16:50:19 +08:00
ldm0 046d5ead84 test(images): cover streaming request sharing and isolate lifetime assertions 2026-09-29 16:50:19 +08:00
ldm0 ee9cf2e493 fix(images): share compatible in-flight document requests 2026-09-29 16:50:19 +08:00
ldm0 6e2cd48fab fix(audio): settle pending startup before closing contexts 2026-09-29 16:50:19 +08:00
ldm0 76bfdfd682 test(window): extend native External compatibility coverage
Reuse the native External implementation now provided by main instead of registering a second interface, object factory, and Window accessor.

Retain lazy-materialization diagnostics and regression coverage for intrinsic identity, cross-realm access, cross-origin denial, replacement semantics, illegal receivers, and Worker non-exposure.
2026-09-29 16:50:19 +08:00
ldm0 83ab7fa4bf fix(webgl): expose matrix uniforms and drawing buffer sizes 2026-09-29 16:41:50 +08:00
ldm0 324659f7f5 fix(webgl): share D3D11 compatibility resource limits
Use one resource-limit profile for WebGL1/2 and reuse the advertised viewport bound for state clamping. Keep typed query copies, extension gates, and WebIDL errors intact; these are capability declarations, not a GPU backend.

Extend the shared Window/Worker profile fixture and update the old viewport snapshot. Validated with cargo fmt --all, workspace all-target/all-feature clippy, and 17612 passing nextest tests.
2026-09-29 16:41:49 +08:00
ldm0 a536fa3767 feat(navigator): expose native Scheduling capability shim 2026-09-29 16:41:49 +08:00
ldm0 fcc8d56976 fix(webgl): pair compatibility GPU identity with D3D11 precision
Declare a fixed Windows/ANGLE query identity and matching float/int precision for both shader stages. Keep masked strings, extension gates, query types and errors unchanged; this does not add a physical GPU or D3D11 rendering backend.

Cover Window and Worker canvas surfaces with a shared profile fixture. Native original-SDK verification reproduces the controlled VM verdict improvement without changing media or Windows identity.
2026-09-29 16:41:49 +08:00
ldm0 cc7cc8d3ac fix(webgl): preserve dictionary order in context attributes
Return WebGL context attribute members in WebIDL lexicographic order. Extend the shared Window/Worker query fixture to cover dictionary order, data property descriptors and fresh result copies.
2026-09-29 16:41:49 +08:00
ldm0 ffb6b5141e fix(navigator): freeze language arrays in every realm
Freeze the native language snapshot before caching it, and retain frozen snapshots across identity overrides. Cover Window, Worker, shared worker, borrowed realm getters and live CDP profile changes.
2026-09-29 16:41:49 +08:00
ldm0 f223fefbd0 fix(cdp): preserve binary uploads through Fetch request pauses
Resume Window fetch and XHR uploads from their retained bytes rather than lossy display text. Track explicit body overrides across chained sessions and update the uploaded-body snapshot when modified.

Expose the original request body at the Fetch pause using existing Network listener and collector visibility. Add five end-to-end regression cases covering pass-through, chained interception, text overrides, and pause-time capture.
2026-09-29 16:41:49 +08:00
ldm0 49c4ebc13c fix(layout): keep floated flex and grid items out of inline contexts 2026-09-29 16:41:49 +08:00
ldm0 7fa4476e44 fix(input): reconcile native drop events and merged keyboard fixtures 2026-09-29 16:41:49 +08:00
ldm0 e966a6c424 test(diagnostics): retain fingerprint score component signals 2026-09-29 16:41:49 +08:00
ldm0 1d8f169093 fix(webgl): return nonempty compatibility renderer identities 2026-09-29 16:41:49 +08:00
ldm0 425a07a71e fix(media): declare a consistent software decoding capability profile
Share codec and container validation across playback, MSE and decoding queries. Advertise smooth software decoding for recognized formats without claiming video hardware acceleration or implementing a decoder.

Validate the shared Window/Worker capability fixture against Chromium and keep unknown codecs and malformed configurations distinct.
2026-09-29 16:41:49 +08:00
ldm0 2930486dae fix(webgl): align query types, identity strings and GL errors 2026-09-29 16:41:49 +08:00
ldm0 ab2a5e6e5b fix(webgl): unify extension discovery and context-local activation 2026-09-29 16:41:49 +08:00
ldm0 7fddb5df8c fix(css): keep Gecko pixel ratio media features unknown 2026-09-29 16:41:49 +08:00
ldm0 3412dd95b1 fix(input): carry read-only DataTransfer through drop editing events 2026-09-29 16:41:49 +08:00
ldm0 a5ced40953 fix(input): emit native InputEvent metadata for text editing 2026-09-29 16:41:49 +08:00
ldm0 a8ad64b305 test(fingerprint): trace demo login request lifecycle and verdicts 2026-09-29 16:41:49 +08:00
ldm0 1d8fd2ecbd test(fingerprint): add native Windows identity baseline collector 2026-09-29 16:41:49 +08:00
ldm0 169e7d9fc4 fix(fonts): preserve monospace defaults through size inheritance
Use browser generic-family metrics and preserve numeric relative sizes across family changes. Vendor the pinned Stylo workspace with the embedder policy and regression tests.
2026-09-29 16:41:49 +08:00
ldm0 ce91661c07 fix(layout): allocate text item widths on the CSS subpixel grid
Keep raw glyph advances while aligning intrinsic measurement, line breaks and text-item placement. Preserve shared-glyph ownership and logical RTL word boundaries.
2026-09-29 16:41:49 +08:00
ldm0 d20605bfd5 fix(layout): render unavailable image fallback content 2026-09-29 16:41:49 +08:00
ldm0 b6615eb564 fix(layout): place inline text in the first fitting float band 2026-09-29 16:41:49 +08:00
ldm0 eb31a79aaa fix(layout): preserve inline formatting for float-only containers 2026-09-29 16:41:49 +08:00
ldm0 4451d8cfd0 fix(style): map HTML image dimensions into presentation hints 2026-09-29 16:41:49 +08:00
ldm0 532f9fb6ce fix(layout): honor automatic content minimum for inline aspect ratios 2026-09-29 16:41:49 +08:00
ldm0 e21a918b67 test(layout): add deterministic shared-glyph font fixture 2026-09-29 16:41:49 +08:00
ldm0 4417be3b63 fix(layout): round normal line spacing from individual font metrics 2026-09-29 16:41:49 +08:00
ldm0 8d5a7dab3f fix(fonts): align Fontconfig browser defaults and fallback 2026-09-29 16:41:49 +08:00
ldm0 d4aa629bc1 fix(cssom): retain required quotes around font family names 2026-09-29 16:34:35 +08:00
ldm0 5f2e207df3 fix(dom): scope touch feature detection to native Window lifetime 2026-09-29 16:34:35 +08:00
ldm0 7bf70b5cd7 test(cdp): cover native touch override state and early installation 2026-09-29 16:34:35 +08:00
ldm0 1cc063c776 feat(svg): serve text geometry from frozen layout snapshots 2026-09-29 16:34:35 +08:00
ldm0 4408e5d256 feat(svg): retain shaped text geometry and source provenance 2026-09-29 16:34:35 +08:00
ldm0 7f3cf5f55a fix(audio): render native Web Audio graphs and analyser data
Replace synthetic offline samples with band-limited oscillators, biquad filtering, lookahead compression, native parameter timelines and real analyser history/FFT. Preserve the module-only AudioWorklet control surface and enforce reentrant WebIDL boundaries.

Vendor web-audio-api 1.7.0 with traceable quantum-boundary parameter and lazy HRTF initialization fixes; retain upstream and Blink notices. Close renderer-owned realtime contexts on collection or teardown.

Validation: Chromium differential fixtures, 52 backend parameter tests, 43 audio tests across five stress iterations, cargo fmt --all, workspace all-target/all-feature Clippy, and 17,314 passing nextest tests.
2026-09-29 16:34:35 +08:00
ldm0 3476e5085d fix(images): read rendered dimensions from layout snapshots 2026-09-29 16:34:35 +08:00
ldm0 c49b529e82 fix(audio): implement native AudioBuffer channel storage and copying 2026-09-29 16:34:35 +08:00
ldm0 df0c2d5213 fix(canvas): render native linear and radial gradients 2026-09-29 16:34:35 +08:00
ldm0 5d5d340b8e fix(canvas): shape and paint text with document fonts 2026-09-29 16:34:35 +08:00
ldm0 0f144cb8e8 fix(fonts): load and register real FontFace sources 2026-09-29 16:34:35 +08:00
ldm0 255fea269b fix(cdp): synchronize Navigator emulation through native state 2026-09-29 16:34:35 +08:00
ldm0 a9830ab24b fix(csp): reject nonnonceable script elements
Apply the shared script nonceability check to parser scripts, buffered preloads and runtime script preparation. Suspicious script attribute names and values must not authorize execution merely because a nonce matches. Includes parser, preload and dynamic-preparation regressions.

The attribute checks follow the [CSP3 nonceability algorithm](https://www.w3.org/TR/CSP3/#is-element-nonceable), including case-insensitive `<link`, `<script` and `<style` matches and parser duplicate attributes.

Validation: all branch checks passed. Summary [ 115.690s] 18925 tests run: 18925 passed (9 slow), 16 skipped
2026-09-29 16:27:50 +08:00
ldm0 b8fb80345e perf(fonts): skip pristine style materialization without sources
Avoid materializing a document style world during font reconciliation when no font state, style state or active author stylesheet exists. Keep document and connected shadow-root adopted sheets observable, and retain reconciliation after any state has been published. Tests cover the lazy path and shadow adopted-sheet sources.

Validation: all branch checks passed. Summary [ 104.769s] 18923 tests run: 18923 passed (9 slow), 16 skipped
2026-09-29 16:22:43 +08:00
ldm0 bec8387729 fix(popups): require a fragment for same-document navigation
Gate both popup same-document fast paths on GET, a non-null target fragment and non-reload navigation. Repeated fragmentless GET submissions now load a new document through the normal navigation path.

Exercise two GET and POST submissions for each popup target with no-store responses, checking actual requests and document replacement. Verified the GET regression fails before the fix.

Validation: cargo fmt --all; cargo clippy --workspace --all-targets --all-features -- -D warnings; cargo nextest run --no-fail-fast (18945 passed, 16 skipped).
2026-09-29 15:23:17 +08:00
ldm0 d732fcd8c0 fix(forms): keep popup submissions in their browsing context
Share the native document browsing-context check with visibility getters. Route popup self, parent and top submissions through popup navigation, preserving POST requests and fetching again for same-URL POSTs.

Cover real GET/POST requests, borrowed submit methods, repeated POST, navigation cancellation and closed popup documents. Validation: cargo fmt --all; cargo clippy --workspace --all-targets --all-features -- -D warnings; cargo nextest run --no-fail-fast (18945 passed, 16 skipped).
2026-09-29 15:23:17 +08:00