Commit Graph
2814 Commits
Author SHA1 Message Date
ldm0 31af12ca14 test(cli): stabilize HTTP fixture response dates 2026-10-11 18:06:49 +08:00
ldm0 f57431be78 fix(cssom): validate keyframe receivers with native brands 2026-10-11 18:06:49 +08:00
ldm0 f0163a1920 feat(css): expose native animation metadata and event associations 2026-10-11 18:06:49 +08:00
ldm0 43d30a5463 fix(webtransport): deduplicate interfaces after main rebase 2026-10-11 18:06:49 +08:00
ldm0 2645f03aac feat(reporting): implement native observer delivery 2026-10-11 18:06:49 +08:00
ldm0 7b195a5395 fix(payment): initialize native payment update events 2026-10-11 18:06:49 +08:00
ldm0 658efaec07 fix(events): preserve rejection event object identity 2026-10-11 18:06:49 +08:00
ldm0 db0c8bdb71 fix(canvas): save and restore native 2D drawing state 2026-10-11 18:06:49 +08:00
ldm0 e5c91d9fa7 chore(runtime): preserve interface registration order after rebase 2026-10-11 18:06:49 +08:00
ldm0 b668e40c7f fix(webapi): reconcile native interface bindings after main rebase
Keep a single native identity and constructor registration for the API
families present on both main and the WPT branch. Preserve the existing
WebCodecs frontend state and task-driven support queries, inherited event
dictionaries, secure-context handler exposure, and RTCError snapshots.

Align incoming constructor coverage with frontend initialization and
retain the original interface, realm and callback checks. Check
lexicographic dictionary reads including registered AVC/HEVC members.
Restore the exact pre-rebase Worker WebGL testcase so old coverage is
preserved alongside the six incoming main tests.

Validation: fmt, workspace clippy, nextest (21782 passed, 16 skipped).
2026-10-11 18:06:49 +08:00
ldm0 ba0d14e253 fix(canvas): transfer OffscreenCanvas pixels to native ImageBitmap
Move the original pixel store and premultiplication metadata into a
branded ImageBitmap, then allocate an independent blank replacement.
Preserve context identity, existing drawing state and bitmaprenderer
natural dimensions without applying its presentation alpha composite.

Use the shared derived receiver binding in Windows and workers. Cover
cross-realm methods, native and author Proxies, pixels, subsequent draws,
bitmap closure and both bitmaprenderer alpha modes. Keep the pre-existing
save/restore state-stack gap as a separate conformance diagnostic.

Validation: fmt, workspace clippy, nextest (21776 passed, 16 skipped).
2026-10-11 18:06:49 +08:00
ldm0 72edaa6259 fix(renderer): adapt branch services to Window realm execution owners
Move popup Contexts through the same runtime owner as default and child
realms. Carry the resource owner through deferred retirement, migrate
remaining ScriptVm Context accesses, and remove obsolete native surface
cleanup now owned by traced V8 private slots.

Retire canvas Blob callbacks and promises with their exact realm or
LocalWindow. Release queued exports during page teardown and verify that
retired child and isolated realms are collectable while parent work lives.

Drive the incoming public Response error/GC tests through selected Page
fetch tasks while preserving their original error identity assertions.
Read arbitrary completion payloads without filtering undefined; cover
primitive rejection identity including NaN, negative zero, BigInt and Symbol.

Validation: fmt, workspace clippy, nextest (21772 passed, 16 skipped).
2026-10-11 18:06:49 +08:00
ldm0 d37d9a26ad fix(canvas): draw accepted raster images without layout
Retain metadata-only image responses and decode pixels on canvas demand
through the existing resource cache and bounded decoded-byte owner.
Reuse the shared image decoder and preserve resource retirement behavior.

Use interface-specific derived receiver checks and derived 3/5/9 argument
conversion for drawImage. Snapshot sources after observable conversion.
Cover Blob URL revocation, HTTP response ownership, cross-realm brands,
registered native Proxies, budget release and stale resource completion.

Validation: fmt, workspace clippy, nextest (21759 passed, 16 skipped).
2026-10-11 18:06:49 +08:00
ldm0 3a1eadfb1d fix(canvas): encode OffscreenCanvas blobs on owner task queues
Replace the empty-Blob shim with asynchronous PNG/JPEG encoding of the
call-time pixel snapshot. Share the HTML canvas encoder and completion
source while preserving Window ownership and callback behavior.

Use generated receiver, dictionary and Promise bindings. Complete worker
exports through typed worker tasks, keeping V8 handles on their event loop.

Cover native Proxies, borrowed cross-realm calls, option conversion order,
worker Blob cloning and pixels, Window retirement and document.open.
Validation: fmt, workspace clippy and nextest (21735 passed, 16 skipped).
2026-10-11 18:06:49 +08:00
ldm0 fbe7d4f6c9 fix(build): reconcile native SVG bindings after main rebase
Remove duplicated SVG declarations and stale shims introduced while replaying
the topic history onto the native SVG interfaces commit in main. Preserve
the later derive, UTF-16 and SMIL implementations and all active tests.

Enable main's lone-surrogate SVG animated-string regression now that the
native attribute storage supports UTF-16.

Validation: cargo fmt --all; cargo clippy --workspace --all-targets
--all-features -- -D warnings; cargo nextest run --no-fail-fast
(21730 passed, 16 skipped; 32 threads; no automatic retries).
2026-10-11 18:06:49 +08:00
ldm0 3f0875a32d fix(canvas): support native bitmaprenderer transfers
Expose ImageBitmapRenderingContext through HTML and Offscreen canvas modes.
Transfer the native pixel backing, detach the source, preserve natural
output dimensions, and share canvas readback and PNG/Blob exports.

Use generated WebIDL receiver and argument checks, including registered
native Proxies. Protect context caches with private slots and apply alpha
settings through the shared dictionary derive.

Validate actual bitmap tasks, cross-realm pixel and export behavior, and
worker surface contracts. Full fmt, workspace clippy and nextest pass.
2026-10-11 18:06:49 +08:00
ldm0 59d06fdedc fix(webrtc): initialize tone and track event payloads
Use shared WebIDL dictionary and native receiver bindings for synthetic RTC events.
Retain platform object identities, freeze the stream snapshot in the event realm,
and defer newTarget prototype selection until argument conversion completes.
2026-10-11 18:06:49 +08:00
ldm0 116961beed feat(webmidi): add native frontend bindings and readonly maps
Expose secure MIDI requests, native receiver validation, port interface members,
and live readonly maplike operations. Reuse shared WebIDL dictionary, sequence,
callback and octet conversions. Device requests and port I/O reject explicitly
until a platform MIDI backend is available.
2026-10-11 18:06:49 +08:00
ldm0 c7f44681f4 feat(media): add MediaRecorder frontend state and validation 2026-10-11 18:06:49 +08:00
ldm0 38b229dc30 feat(media): add native stream track sets and lifecycle 2026-10-11 18:06:49 +08:00
ldm0 818960c41d feat(webcodecs): add video codec frontend lifecycle and support shims
Expose VideoDecoder and VideoEncoder members through native brands and shared WebIDL conversion. Schedule unsupported configuration errors as owner tasks, preserve callback and Promise realms, snapshot supported dictionary fields, and cancel pending flushes and stale control work on reset or close.
2026-10-11 18:06:49 +08:00
ldm0 77d7f4476c feat(media): add MediaSession frontend state and capture shims 2026-10-11 18:06:49 +08:00
ldm0 e9ee19d638 fix(events): preserve construction realms across wrapper worlds 2026-10-11 18:06:49 +08:00
ldm0 c43b91ed09 fix(runtime): adapt streaming decoder and initial history to main 2026-10-11 18:06:49 +08:00
ldm0 3311fb5874 fix(dom): preserve adopted wrappers across isolated worlds 2026-10-11 18:06:49 +08:00
ldm0 e34df65a12 test(protocol): run timer navigation setup on its local lane
Keep loading and Runtime.enable inside the same LocalSet as navigation.
Use a ready zero-delay timer and hold the destination response until Runtime
observation is installed so early navigation cannot race test setup.

Retain the full cross-document commit and execution-context assertions.
2026-10-11 18:06:49 +08:00
ldm0 ffa601fbac fix(runtime): integrate WPT fixes with current main
Route existing Window.open targets through native navigation without the
Location-specific before-load replacement rule. Run form event assertions
through queued submission tasks using fully loaded child Documents, and
retain target-realm FormData and request payload checks.

Reconcile the expanded FontFace and IndexedDB fixtures, restore the SVG
precision test registration, and adapt ignored-response assertions to the
NoDocument outcome while retaining response metadata checks.
2026-10-11 18:06:49 +08:00
ldm0 4612525d2f fix(dom): preserve native ownership across Page adoption
Move native subtrees while retaining wrappers, collections, styles, canvas resources, and event registrations. Resolve borrowed EventTarget methods through the native node owner and retain callback realms across adoption.

Add real CDP Page regressions for repeated adoption, native receiver validation, retained views, and closed producer realms. Validated with workspace fmt, all-target/all-feature Clippy, and 32-thread nextest (21695 passed, 16 skipped).
2026-10-11 18:06:49 +08:00
ldm0 c3bc52a28f fix(runtime): adapt WPT bindings to main refactors 2026-10-11 18:06:49 +08:00
ldm0 013ba2d15e refactor(dom): add native ownership transfer for detached subtrees 2026-10-11 18:06:49 +08:00
ldm0 8e6803f680 fix(dom): preserve registry boundaries while importing shadow trees 2026-10-11 18:06:49 +08:00
ldm0 4473041ab3 fix(dom): preserve effective namespace prefix bindings during serialization 2026-10-11 18:06:49 +08:00
ldm0 cc18c65bf0 fix(dom): preserve ordinary xmlns attributes during XML serialization 2026-10-11 18:06:49 +08:00
ldm0 140bbb990f fix(dom): enforce well-formed XML serialization for markup getters 2026-10-11 18:06:49 +08:00
ldm0 a1e15801b8 fix(dom): preserve DocumentType UTF-16 across native copies and serialization 2026-10-11 18:06:49 +08:00
ldm0 9dab89c0f4 fix(cdp): let replacement navigation bypass inherited load waits 2026-10-11 18:06:49 +08:00
ldm0 b313762fa4 fix(webidl): derive DOMImplementation native receiver and argument checks 2026-10-11 18:06:49 +08:00
ldm0 d7b6fc90c9 fix(dom): preserve native XML serialization and Node identity 2026-10-11 18:06:49 +08:00
ldm0 3e66a9cef8 fix(dom): preserve HTML serialization and custom-element UTF-16 2026-10-11 18:06:49 +08:00
ldm0 91bf81c516 fix(dom): derive element creation options before validation 2026-10-11 18:06:49 +08:00
ldm0 bd7afafaac fix(dom): derive attribute value conversion before name validation 2026-10-11 18:06:49 +08:00
ldm0 fda1a7fb65 fix(trusted-types): preserve policy DOMString code units 2026-10-11 18:06:49 +08:00
ldm0 9bc7c592f4 fix(dom): preserve UTF-16 attribute mutation snapshots 2026-10-11 18:06:49 +08:00
ldm0 8eabb29a48 fix(dom): resolve detached nodes in their owning host 2026-10-11 18:06:49 +08:00
ldm0 3b5aa19931 fix(svg): share native Geometry rectangle bindings 2026-10-11 18:06:49 +08:00
ldm0 0410b82bab fix(dom): derive import and adoption argument conversion 2026-10-11 18:06:49 +08:00
ldm0 de2436dd2a fix(svg): implement root magnification and translation 2026-10-11 18:06:49 +08:00
ldm0 56f5353b75 fix(cssom): convert declaration values before mutation
Use shared WebIDL conversion for cssText and named style setters.
Propagate conversion exceptions without clearing the declaration, convert
values before readonly errors, and convert undefined setProperty arguments
without bypassing property or priority side effects. Reacquire native
declarations after author conversion.

Cover inline, SVG, windowless, stylesheet, constructed stylesheet and
computed declarations across main, iframe and popup realms.
2026-10-11 18:06:49 +08:00
ldm0 79e13ec06e fix(cssom): preserve computed style receiver realms 2026-10-11 18:06:48 +08:00
ldm0 1e59e5fc0e fix(cssom): create independent computed style declarations 2026-10-11 18:06:48 +08:00