Commit Graph
1030 Commits
Author SHA1 Message Date
ldm0 2fb16c7f5f chore(deps): update Stylo lockfile revision 2026-09-22 19:33:53 +08:00
ldm0 21238ba03a fix(cssom): use native Stylo content alternative counters 2026-09-22 18:16:31 +08:00
ldm0 a54ba82a7a fix(cssom): accept counters in content alternative text 2026-09-22 17:45:37 +08:00
ldm0 70e5ef620b fix(cssom): serialize computed mask from its longhands 2026-09-22 17:42:42 +08:00
ldm0 7934998657 fix(xhr): recognize Document as a native send body
Preserve Document during argument conversion so invalid state checks and GET/HEAD requests do not invoke string coercion. Add 300 assertions covering native Document objects, coercion getters, altered prototypes, and non-native lookalikes.

Validation: cargo fmt --all; cargo clippy --workspace --all-targets --all-features -- -D warnings; cargo nextest run --no-fail-fast (18273 passed, 13 skipped).
2026-09-22 14:55:05 +08:00
ldm0 d63b4e7e57 fix(xhr): convert send bodies before request state checks
Extracted from 7cf4040051a3ca350f9b4955347aabcf393398fd.

Validation: cargo fmt --all; cargo clippy --workspace --all-targets
--all-features -- -D warnings. Runtime tests were not run for this split.
2026-09-22 14:55:05 +08:00
ldm0 2793b2407f fix(csp): report eval source samples 2026-09-22 12:56:37 +08:00
ldm0 1f635fa30d test(wpt): substitute request headers with template escaping 2026-09-22 12:54:16 +08:00
ldm0 f4d0893a34 fix(events): implement MediaQueryListEvent construction and attributes 2026-09-22 12:53:27 +08:00
ldm0 c7b1addef6 fix(html): materialize plain-text child documents 2026-09-22 12:48:03 +08:00
ldm0 66ae1d2a3e fix(csp): avoid external URL checks for inline module roots 2026-09-22 12:44:20 +08:00
ldm0 2ec1024152 fix(fetch): strip response URL fragments and retain clone URLs 2026-09-22 12:29:30 +08:00
ldm0 4b11d4429e fix(svg): expose the owning SVG fragment root 2026-09-22 12:26:25 +08:00
ldm0 fcac5fef24 fix(svg): reflect fetch priority hints 2026-09-22 12:25:23 +08:00
ldm0 2295eaf608 fix(url): preserve intrinsic identity through the Window alias 2026-09-22 12:23:10 +08:00
ldm0 8bb43a1ccb fix(url): preserve query and fragment delimiters 2026-09-22 12:20:18 +08:00
ldm0 c019abeeb1 fix(streams): disturb the source when piping starts 2026-09-22 12:17:45 +08:00
ldm0 140e221445 fix(html): activate popovers from button inputs 2026-09-22 12:15:24 +08:00
ldm0 ccbf04f6fc fix(svg): apply generic presentation attributes 2026-09-22 12:14:15 +08:00
ldm0 7241328085 refactor(fetch): separate curl header encoding from suppression 2026-09-22 02:11:36 +08:00
ldm0 14f6d073be fix(fetch): preserve explicit empty Content-Type headers 2026-09-22 02:11:36 +08:00
ldm0 8f6c464326 fix(fetch): visit live Headers entries during forEach
Refresh the sorted header pairs between callbacks while keeping the iteration
index, so deletions, updates and insertions affect later visits. Preserve
reentrant iteration, callback receivers, exception propagation and realms.

Port the live-iteration part of e09c9800ba onto main. Cover 34 checks in both
Window and Worker contexts and extend the callback-realm regression to visit
an appended header. The source fixture's empty-field normalization case
belongs to the separate raw header-list storage change 9f3d919f89.
2026-09-22 01:54:38 +08:00
ldm0 70b62b7fc6 test(wpt): refresh full Moli case status lists 2026-09-21 22:22:05 +08:00
ldm0 de1093d9c1 fix(fetch): preserve inherited header lists and cover transport
Keep duplicate header entries in storage and copy inherited Request headers from private state. Apply sort-and-combine only at the relevant consumer boundaries, while explicit HeadersInit values retain WebIDL iterable conversion.

Run no-cors cases through real Window and Worker fetch transports, preserve empty fields on the wire, and correct the local Request getter propagation fixture.
2026-09-21 21:48:05 +08:00
ldm0 644ee7b6d2 fix(fetch): apply no-cors guards while filling headers 2026-09-21 21:48:05 +08:00
ldm0 86295e48d4 fix(resource): preserve byte headers in fetch completions 2026-09-21 17:29:14 +08:00
ldm0 52fd1d0953 feat(protocol): expose resource runtime storage diagnostics
Expose the canonical resource runtime snapshot alongside the existing runtime id and memory-cache fields. Add a CDP regression that verifies disk-pool allocation and parked-image memory accounting.
2026-09-21 16:47:19 +08:00
ldm0 18a9f45be2 feat(resource): integrate shared disk-backed response storage
Share one disk pool and parkable-image manager across each browser resource runtime. Adopt completed image receive buffers without a full body clone, share encoded backing with network records and decoders, and drive parking by deadlines. Integrate pooled streaming bodies, release staging capacity after spooling, and use tagged image completions throughout resource loading.
2026-09-21 16:47:19 +08:00
ldm0 0099465abc feat(parkable-image): add managed encoded image parking
Adopt completed image buffers, protect readers with snapshots, and park encoded bytes into one disk extent with a reusable backup. Keep resident and parked registries separate, expose owner-driven deadlines and force parking, and synchronize notifications with a short-lock waiting flag. Include lifecycle, concurrency, scheduling, and failure regressions with documentation and runnable examples.
2026-09-21 16:47:19 +08:00
ldm0 92bdee88a4 feat(disk-pool): add shared temporary-file extent storage
Store immutable resource extents in one anonymous temporary file using positioned I/O. Reuse exact or worst-fit holes through offset and size indexes, coalesce released extents, and preserve bounded-capacity and failure behavior. Include allocator regression tests, concise documentation, and runnable examples.
2026-09-21 16:47:19 +08:00
ldm0 b98e48013b test(wpt): serve programmed navigation responses
Port the second-visit 204, 205 and download fixture from 3ea0668492 onto main. Keep request state isolated by resource path while sharing it across origins, and only admit the supported resource during case discovery.

Validation: 6 navigation fixture tests and all 564 moli-benchmark tests passed.
2026-09-21 16:44:20 +08:00
ldm0 373edf56dd fix(layout): avoid subtracting SVG margins twice 2026-09-21 06:39:53 +08:00
ldm0 480416e50b fix(layout): size inline SVG icons from available space
Keep track of SVGs without intrinsic dimensions so a viewBox-only icon
stretches along the available inline axis instead of acquiring a fixed
150px natural size. Preserve author dimensions, aspect ratios, box insets,
and intrinsic percentage contributions; resolve absolute sizing probes
against their containing block and positioning insets.

Add Chromium-calibrated geometry and paint coverage for search icons,
padded containers, explicit and constrained sizes, absolute positioning,
and shrink-to-fit containers. Correct the older SVG paint expectation
that assumed the same 150px fallback.

Validation:
- cargo fmt --all
- cargo clippy --workspace --all-targets --all-features -- -D warnings
- cargo nextest run --no-fail-fast (18,310 passed, 13 skipped)
- Replayed the original Google document through moli serve: both the plus
  and apps icons are 24x24 instead of 150x150.
2026-09-21 06:39:53 +08:00
ldm0 796376878b refactor(curl): use owned byte header lists from curl-rust 2026-09-21 05:37:28 +08:00
ldm0 b080b65104 fix(tests): use byte headers in XHR response fixtures 2026-09-21 05:37:28 +08:00
ldm0 29283fd86a fix(network): scope CDP header overrides and preserve BiDi byte values
Restore original headers on redirect while preserving current-hop overrides
for authentication retries and keeping Network event identity intact.

Preserve raw BiDi Cookie, Set-Cookie, and extra header values through page,
navigation, and worker policies. Apply CDP's last-value behavior for duplicate
request header names.

Add coverage for header bytes, redirects, authentication, and event sequences.
2026-09-21 05:37:28 +08:00
ldm0 932a7225ac refactor(network): preserve request header bytes across interception
Carry RequestHeaders through navigation, Fetch/XHR, workers, redirects and auth,
with explicit Unicode and ByteString conversions at protocol and WebIDL boundaries.
Share the raw curl header list with WebSocket transport and decode binary response
headers without UTF-8 replacement. Keep header memory charging concrete.

Cover opaque values, UTF-8 overrides, duplicates, redirect/auth continuation and
WebSocket handshakes with byte-level regression tests.
2026-09-21 03:54:12 +08:00
ldm0 dd7cd1c1e1 fix(html2md): preserve code boundaries across empty inline events 2026-09-21 03:32:33 +08:00
kevin 3560c85f4b Use CommonMark punctuation class and retain compatibility scenarios 2026-09-20 20:50:03 +08:00
kevin 8361929c4c Revert "Separate adjacent Markdown code spans"
This reverts commit fcc1c20576.
2026-09-20 20:50:03 +08:00
kevin 01910a6f14 Separate adjacent Markdown code spans 2026-09-20 20:50:03 +08:00
kevin 9848a96c1c Revert "Preserve literal characters in adjacent code HTML fallback"
This reverts commit 9359650240.
2026-09-20 20:50:03 +08:00
kevin 43b8064a49 Preserve literal characters in adjacent code HTML fallback 2026-09-20 20:50:03 +08:00
kevin ead6facb87 Preserve empty pre blocks and adjacent code text 2026-09-20 20:50:03 +08:00
kevin 0d91807041 Keep scroll test targets below every viewport 2026-09-20 20:50:03 +08:00
kevin 2c0fd9a8c0 Preserve preformatted boundaries and empty code separation 2026-09-20 20:50:03 +08:00
kevin 107c1536cb Retain image references without inferring content from pixels 2026-09-20 20:50:03 +08:00
kevin 4052110cff Preserve ambiguous embedded images and picture alternatives 2026-09-20 20:50:03 +08:00
kevin 8104206412 Preserve block boundaries inside preformatted content 2026-09-20 20:50:03 +08:00
kevin c496e37cb4 Preserve content semantics in HTML to Markdown conversion 2026-09-20 20:50:03 +08:00