Commit Graph
2081 Commits
Author SHA1 Message Date
ldm0 b836f5331f fix(media): honor codec color requirements in capability queries
Parse VP9 and AV1 color descriptions in the native MIME module, including BT.709 defaults and unspecified CICP fields. Report unsupported for mismatched or malformed descriptions while preserving derived dictionary conversion and snapshots.

Cover codec grammar and 1,144 query combinations, including matching configurations that must retain their existing support.
2026-10-21 16:18:51 +08:00
ldm0 1532861731 fix(media): validate container and RTP MIME configurations 2026-10-21 16:18:51 +08:00
ldm0 b9cb4d7197 fix(media): validate video options for each capability query 2026-10-21 16:18:51 +08:00
ldm0 de489c65cb fix(media): honor capability dictionary inheritance and defaults 2026-10-21 16:18:51 +08:00
ldm0 027a913d93 fix(media): derive capability configuration snapshots 2026-10-21 16:18:51 +08:00
ldm0 c77d9a2918 fix(webrtc): back event dictionaries with native snapshots
Freezing an ICE or data-channel event must not freeze its mutable Event state. Move all three RTC event constructors onto the shared private backing and wrapper path, preventing initEvent from trying to redefine frozen public properties.

Derive argument arity, inherited EventInit conversion and interface validation, then initialize payload slots from the same dictionary schema. Preserve native payload identity, nullable URLs and original exceptions. Cover frozen dispatch and registered native Proxy payloads without admitting author or revoked Proxies.
2026-10-21 16:17:16 +08:00
ldm0 3bb3c4881f feat(images): support SVG decode with native receiver semantics
Reuse the existing image decode request and microtask pipeline for SVG images.
Validate HTML and SVG receivers through generated native brands and convert
binding failures to rejected Promises in the callee realm. Keep successful
decode Promises and EncodingError values in the backing receiver relevant realm,
including registered native proxies and images adopted across documents.

Cover href precedence and cancellation, cross-realm network settlement, forged
and proxy receivers, intrinsic constructor replacement, and native proxy realms.
Exercise the existing owner/relevant-realm assertions using real adoption.
2026-10-21 16:16:50 +08:00
ldm0 bf668b7dea perf(startup): disable AWS-LC CPU jitter entropy 2026-10-21 16:16:20 +08:00
ldm0 14cf5e31ff fix(frontend-smoke): honor observation timeout during CDP setup 2026-10-21 15:40:58 +08:00
ldm0 0b4ef75165 fix(cdp-smoke): observe browser exit independently of output EOF 2026-10-21 15:40:58 +08:00
ldm0 a86afb442e test(document): cover child input-stream readiness 2026-10-21 06:11:29 +08:00
ldm0 86a078d18d fix(intersection-observer): convert options before validating thresholds
Convert option members in WebIDL order, including root brand validation and
the threshold double-or-sequence union. Propagate conversion failures before
constructor margin/range validation and retain duplicate thresholds when sorting.

Cover iterable discrimination, getter order, exception precedence, and later
getter mutations; update the existing duplicate-threshold expectations.
2026-10-21 06:06:06 +08:00
ldm0 ce0781f2ad test(cdp): accept optional Chromium reset retry 2026-10-21 05:31:10 +08:00
ldm0 d4b0ad257d chore(release): update version to 1.1.19 2026-10-21 04:28:56 +08:00
ldm0 e770d5140f fix(forms): enforce sandbox checks for ancestor navigation 2026-10-21 02:21:45 +08:00
ldm0 f3a4e64995 fix(print): isolate PDF style and font environments from screen state 2026-10-21 02:18:52 +08:00
ldm0 41e608f91c fix(renderer): load and retire web fonts by child Document owner 2026-10-21 02:12:39 +08:00
ldm0 b8ca3b075c test(benchmark): verify consumed-fragment styles and retention 2026-10-21 01:27:34 +08:00
ldm0 c55bd183fe refactor(cdp): dispatch browser close through normal frontend routing
Send Browser.close through the ordinary command channel and Router session
validation before handling it in the protocol actor. Route its response through
the existing pending-command table and confirm writer flush before submitting
InstanceCommand::Shutdown, without scheduling renderer work.

Remove the socket shortcut, CdpFrontendSessionLookup, and shared Arc/Weak routing
state. Inject one instance control handle into both server admission and owner
lifecycle, keeping native shutdown on the same state.

Cover response ID/session restoration and route consumption; retain failed
flush, invalid/foreign session, pending-promise, and instance cleanup coverage.
2026-10-20 20:47:16 +08:00
ldm0 9464659788 refactor(server): route browser shutdown through instance control
Expose protocol-independent InstanceCommand and BrowserInstanceControl with a
native serve_with_control entry. Keep shutdown coordination in the server and
CDP session validation and response flush in a dedicated adapter, bypassing
renderer work without creating another actor or shutdown state.

Parse each CDP envelope once and check live frontend-owned session routes
through a weak registry view. Match Chromium Browser.close on browser, page,
tab, and worker sessions; ignore params and reject null or foreign session IDs.
Update optional-session test requests to omit absent routes.

Add native and pending-promise lifecycle regressions and cross-engine smoke
coverage for acknowledgment ordering, natural process exit, and isolation.
2026-10-20 20:47:16 +08:00
BibekPathak 6ce547ed8e test(cdp): verify Browser.close process exit and profile reopen 2026-10-20 20:47:16 +08:00
neng c99d2914c7 Support instance-scoped CDP Browser.close shutdown 2026-10-20 20:34:45 +08:00
ldm0 f702d9a65d fix(cdp-smoke): retain debugger-wait load events during Runtime.enable 2026-10-20 17:25:49 +08:00
ldm0 1169df3230 test(svg): cover native scalar factory values and realms 2026-10-20 12:30:18 +08:00
ldm0 7ee8c887da test(cli): allow shared readiness budget to expire in earlier phases 2026-10-20 12:29:47 +08:00
ldm0 3ca6888b9d perf(style): preserve unaffected styles after consuming ordinary fragments
Extract shared invalidation from realtime layout commit dfeda25e6d. Retain original source ownership, detached-subtree cleanup, real splice ordering and structural-effect limits. Add selector/cache regressions and a normal-CLI before/after benchmark.
2026-10-20 05:52:15 +08:00
ldm0 28a0a8cf22 feat(images): decode BMP through the shared raster contract
Admit BMP metadata and pixels using the existing bounded image decoder.
Preserve row orientation and padding, palette pixels, and malformed-input
rejection; support image loads and Canvas/ImageBitmap pixel consumers.

Validation: fmt, workspace all-target/all-feature clippy with -D warnings;
22595 native tests pass at 32 threads with zero retries; nine BMP pixel
contracts match Chromium; image/network regression cohorts retained.
2026-10-20 05:24:15 +08:00
ldm0 e4684e8f98 fix(dom): validate Range DocumentType contents before mutation 2026-10-20 05:22:03 +08:00
ldm0 8433ac01e2 fix(messaging): validate MessagePort state in author transfer order 2026-10-20 05:21:33 +08:00
ldm0 ebae4ca6ca test(cdp): handle split byte counters and EventSource cancellation
Aggregate Fetch dataReceived byte counters after completion instead of
requiring both counters to be positive in the first event. Preserve event
ordering and reject invalid lengths or missing positive totals.

Accept either committed EOF or an explicit ERR_ABORTED cancellation after an
EventSource message handler closes its connection. Keep request correlation,
resource classification, event order, and exactly one terminal checked.

Report failed scenario details when a smoke worker exits without a top-level
traceback. Cover the observed Chromium traces and invalid alternatives with
unit regressions, and document the real Chromium/Moli calibration.

Validation: 64 Python harness tests; release build; all 52 smoke groups on
both pinned Chromium and Moli release; network and browser-semantics repeated
20 times per engine (40/40 worker runs each).
2026-10-20 05:11:21 +08:00
ldm0 458f3c9951 fix(rendering): avoid stylesheet reparsing during animation scans
Reuse native Stylo keyframe rules and one style observation per synchronous document scan. Preserve fresh validation for reentrant event listeners and add regression coverage. Refs #1698.
2026-10-20 03:58:09 +08:00
ldm0 2eefd9690c fix(image): decode raster bodies served with XML MIME types 2026-10-20 03:50:08 +08:00
ldm0 a017801943 ci: isolate Chromium crash tests from host core handlers 2026-10-20 03:06:51 +08:00
ldm0 007f9b88e3 ci: disable core dumps during Chromium crash smoke 2026-10-20 03:06:51 +08:00
ldm0 926785f45a test(cdp): gate every smoke group on real Chromium 2026-10-20 03:06:51 +08:00
ldm0 727fe39cc5 test(cdp): expect Base64 for intercepted text response bodies 2026-10-20 03:06:51 +08:00
ldm0 1bfa5ce0cb fix(cdp): match Chromium intercepted response body encoding 2026-10-20 03:06:51 +08:00
ldm0 5399724fb0 fix(csp): enforce image policies for the owning document
Use the image element's document policy and violation recipient across realm
boundaries. Check CSP before reusing shared decoded images, and resolve meta
policy reporting groups against the owner's Reporting-Endpoints.

Cover cross-realm callers, response/meta policy isolation, report-only, bypass,
warm cache reuse, and reporting group isolation. Promote two passing WPT files.

Validation: cargo fmt --all; workspace clippy with all targets/features and
-D warnings; full nextest (18,364 passed, 13 skipped); 9 focused CSP tests.
20 WPT cases improved from 38/68 to 61/68 subtests. Two VT subtests now fail
like Chromium and remain recorded as failures; no WPT expectations changed.
2026-10-19 22:37:12 +08:00
ldm0 2843cde2c4 fix(images): load valid images from HTTP error responses
Use MIME and image bytes to determine decode eligibility instead of
requiring an HTTP 2xx status. Keep upstream request security checks and
origin cleanliness unchanged.

Cover valid raster and SVG bodies at error statuses and rejection of
empty or malformed image data through the shared parkable image path.
2026-10-19 14:32:11 +08:00
ldm0 6d495c1ade fix(file-api): stop Blob.slice at the first conversion error 2026-10-19 14:27:07 +08:00
ldm0 e41e51102e feat(webidl): add clamped long long conversion and derive support 2026-10-19 14:27:07 +08:00
ldm0 0186fc460c fix(speech): read payloads through registered native event proxies
Resolve the validated native event target before reading speech payload
slots. Keep interface-valued utterance identity unchanged and reject
author-created, revoked, and forged proxy receivers without traps.

Retain the speech conversion matrix and native-proxy regression while
using the complete speech implementation already merged in main.
2026-10-19 12:03:56 +08:00
ldm0 d75c82c30a perf(fetch): share immutable request bodies with Bytes 2026-10-19 11:22:56 +08:00
ldm0 b165771974 refactor(webidl): derive dictionary output and backing state 2026-10-19 10:54:54 +08:00
ldm0 258bb29ba2 fix(fetch): preserve worker continuation upload bytes 2026-10-19 05:27:10 +08:00
ldm0 dbeb411f4e fix(fetch): preserve intercepted binary request bodies 2026-10-19 05:27:10 +08:00
ldm0 fa960b2fc1 refactor(webidl): derive dictionary snapshots for RTC configuration 2026-10-19 05:26:21 +08:00
ldm0 b6a1e93e89 refactor(fetch): clarify transport redirects and cancellation 2026-10-19 05:24:53 +08:00
ldm0 45f3211939 fix(media): dispatch canplaythrough after canplay 2026-10-19 04:24:23 +08:00
ldm0 7458b20a02 fix(encoding): preserve UTF-16 boundaries in encoder streams 2026-10-19 03:55:08 +08:00