Commit Graph
1557 Commits
Author SHA1 Message Date
ldm0 d166de2132 fix(test): document write with custom elements 2026-10-05 05:11:52 +08:00
ldm0 12a812d374 fix(smoke): drain popup route callbacks before cleanup 2026-10-05 05:11:52 +08:00
ldm0 20b370baa3 feat(events): expose the native HashChangeEvent constructor 2026-10-05 04:47:35 +08:00
ldm0 a559303a08 fix(svg): reflect length attributes on detached XML elements 2026-10-05 04:46:49 +08:00
ldm0 0c9f4775d1 test(fetch): cover opaque request origins across sandbox and CORS 2026-10-05 04:24:18 +08:00
ldm0 c2a927f105 fix(fonts): validate every decoded font table extent 2026-10-05 04:22:55 +08:00
ldm0 144eb02540 fix(custom-elements): honor owner registries during parser construction 2026-10-05 03:54:08 +08:00
ldm0 a483ff3c76 fix(indexeddb): mark native version-change events trusted 2026-10-05 03:44:22 +08:00
ldm0 0810c974ef refactor(navigation): centralize history entry wrappers 2026-10-05 03:43:44 +08:00
ldm0 307feab20c fix(navigation): construct native events in their target realm 2026-10-05 03:43:44 +08:00
ldm0 3d504a198e refactor(fetch): share quoted HTTP header list splitting 2026-10-05 03:42:50 +08:00
ldm0 b116fbd7cb fix(fetch): reject locked bodies before consumption and cloning 2026-10-05 03:37:13 +08:00
ldm0 d2e819fa90 feat(webcodecs): expose the native EncodedVideoChunk interface shell 2026-10-05 02:33:03 +08:00
ldm0 d015bb48ce test(navigation): await both stream retirement notifications 2026-10-05 02:33:03 +08:00
ldm0 a4bf3fce0b test(fetch): compare EOF response headers as raw bytes 2026-10-05 02:33:03 +08:00
ldm0 4e06bc3bb0 fix(cors): validate complete response header field lists
Extracted from 32e626d8f17c98f72f7cdd769a7439802bbb5341.

Validation: cargo fmt --all; cargo clippy --workspace --all-targets
--all-features -- -D warnings. Runtime tests were not run for this split.
2026-10-05 00:27:54 +08:00
ldm0 722c699e8a fix(modules): release async graphs independently
Release parser-inserted async modules when their own graphs settle, without waiting for earlier non-async modules. Preserve document order for non-async modules and parser-owned work; cover success, failure and mixed readiness ordering.
2026-10-05 00:24:03 +08:00
ldm0 ec4eda38d7 fix(fetch): retain cookie reports for manual raw redirects 2026-10-05 00:16:01 +08:00
ldm0 4944ea15b2 fix(fetch): finalize response headers at successful EOF 2026-10-05 00:16:01 +08:00
ldm0 53c6de7bd2 refactor(renderer): unify realm intrinsic interface state
Publish realm-owned interface objects only after finalization succeeds and route shared binding helpers through the canonical registry. Keep ECMAScript intrinsics separate and check native realm exposure when deserializing CryptoKey objects.
2026-10-04 23:19:25 +08:00
ldm0 661e6cfd99 fix(renderer): propagate intrinsic finalization failures 2026-10-04 23:19:25 +08:00
ldm0 af6910cf9b fix(renderer): synchronize intrinsic interface registration 2026-10-04 23:19:25 +08:00
ldm0 9384cf96c5 fix(renderer): enter committed typestate before source teardown
Validate the main WindowProxy and script environment while the source stays
live, and preallocate the replacement bootstrap state. Move the guarded
entry to Committed before consuming its one-shot detachment token so a
panic cannot return a detached source through live failure handling.

Keep source retirement inside CommittedNavigationEntry, rename the
phase-one retirement entry points, and retire the lifecycle turn once.
Check replacement liveliness before consuming the committed residence.

Cover panics immediately after detachment and during source retirement for
ordinary and open-streaming Pages, including receiver release and renderer
owner reuse after the failed navigation.
2026-10-04 21:20:27 +08:00
ldm0 e42b3267b6 fix(renderer): preserve source parser until navigation commits
Keep the complete source phase-one residence and context resources intact
until navigation commit validation and WindowProxy detachment succeed.
Retire the parser, input bridge and ScriptVm synchronously after that
boundary, and defer source lifecycle termination until commit.

Cover replacement success, 204 No Content, and script-environment and
WindowProxy ownership failures after a replacement response is Prepared.
Verify failed commits preserve the source Inspector context, later body
bytes still parse, and the original Document reaches Load.
2026-10-04 19:30:41 +08:00
ldm0 f468b5066a fix(indexeddb): queue versionchange before rechecking blocked requests 2026-10-04 18:38:10 +08:00
ldm0 871a1b3411 fix(pointerevents): validate capture arguments and query pending targets 2026-10-04 18:35:41 +08:00
ldm0 683db660ae fix(renderer): allocate stream promises from realm intrinsics
Create Streams promise residences with V8 PromiseResolver so writer
ready/closed promises and pending operations do not consult a missing,
throwing or replaced public Promise constructor during bootstrap.

Consume the private resolver on first settlement to preserve
[[AlreadyResolved]] while adopting a still-pending promise. Keep delayed
read rejections on the same settlement path.

Cover allocation before interface bootstrap and writer backpressure and
releaseLock with deleted, undefined or poisoned global Promise bindings.
2026-10-04 18:23:25 +08:00
ldm0 c3faa63d88 fix(renderer): use receiver host for NamedNodeMap wrappers 2026-10-04 18:21:38 +08:00
ldm0 291a33ba9d fix(window): honor top-level CSP sandbox origins and tokens 2026-10-04 15:43:03 +08:00
ldm0 d6d96c8a55 fix(forms): resolve navigation keywords from the form owner 2026-10-04 15:37:27 +08:00
ldm0 5b7984973f fix(cdp): abort no-content navigations before document preparation 2026-10-04 15:34:09 +08:00
ldm0 163b67f36b test(wpt): support HTTPS and load-driven Window fixtures 2026-10-04 15:15:26 +08:00
ldm0 e64b28a8f8 fix(skills): remove Google fromd default websearch engines 2026-10-04 14:42:16 +08:00
ldm0 5cab5e192d test(renderer): stabilize page replacement task collision v1.1.13 2026-10-04 11:28:20 +08:00
ldm0 7106a4e4b6 fix(cdp): initialize scrollbar overrides before navigation scripts 2026-10-04 05:20:17 +08:00
ldm0 83e1878269 test(cdp): lock scrollbar visibility across CLI and emulation
Start iframe-input with --scrollbars so its nested native control checks
continue to exercise visible scrollbars. Add a default scrollbar-visibility
group covering fetch/serve defaults, boolean environment values and CLI
precedence, geometry, stable gutters, frames, PNG output and input routing.
Cover CDP toggling, navigation, target isolation, detach, resize and layout
dependencies in independent processes with explicit environments.

Validation: 43 harness unit tests passed; scrollbar-visibility (22 scenarios),
iframe-input and classic-scrollbar smoke groups all passed (3/3).
2026-10-04 05:20:17 +08:00
ldm0 390679933b feat(cli): make layout scrollbars opt-in 2026-10-04 05:20:17 +08:00
ldm0 427b2dea01 refactor(config): carry complete startup layout configuration 2026-10-04 05:20:17 +08:00
ldm0 75357ea30f refactor(layout): move scrollbar policy into layout environment 2026-10-04 05:20:17 +08:00
ldm0 85ceaa4d5c refactor(renderer): centralize layout invalidation and publication 2026-10-04 05:20:17 +08:00
ldm0 674a2fd9df refactor(renderer): unify document settings application 2026-10-04 05:20:17 +08:00
ldm0 ff70590d7f refactor(runtime): share document settings snapshots 2026-10-04 05:20:17 +08:00
ldm0 a789da8a0d feat(cdp): support Emulation.setScrollbarsHidden
Apply scrollbar hiding to the live Page before acknowledging the command, preserve the startup flag, and replay the target setting before navigation scripts. Validate the required boolean and layout mode, track per-session state, and clear overrides on detach.

Refs #1081
2026-10-04 05:20:17 +08:00
ldm0 df410aeeb7 feat(layout): add --hide-scrollbars for fetch and serve
Hide native scrollbars and automatic gutters while preserving scrolling and explicit stable gutters. Require layout mode and retain the setting across navigation, frames, and protocol sessions.

Refs #1081
2026-10-04 05:20:17 +08:00
ldm0 91bfb9f374 test(xhr): assert exact blob response header serialization 2026-10-04 04:12:34 +08:00
ldm0 5b631561a3 feat(clone): serialize native DOMRect platform values 2026-10-04 04:07:26 +08:00
ldm0 98edb0848b fix(events): retain creation state in legacy initializers 2026-10-04 04:05:56 +08:00
ldm0 2615f70a53 refactor(dom): share Node tree relation getter resolution 2026-10-04 04:01:04 +08:00
ldm0 9660301300 test(url): keep file URL spelling separate from access policy 2026-10-04 03:52:06 +08:00
ldm0 32de272640 fix(cdp): keep current renderer notifications live during navigation 2026-10-04 03:12:50 +08:00