Commit Graph
41 Commits
Author SHA1 Message Date
ldm0 a0617d37b5 feat(v8): expose per-regexp backtrack limits 2026-10-24 17:36:09 +08:00
ldm0 8942523b9e fix(inspector): make debugger pauses opt-in at session creation 2026-10-21 19:20:21 +08:00
ldm0 fa293e83e2 refactor(xml): consume lexmount fork instead of vendored parser
Consume lexmount/html5ever at 4574311c63e79bba7d4ddb98cb0562d8dad499ee and remove the XML vendor tree and obsolete ignore exceptions. All 11 production XML source files match the former vendor byte-for-byte; HTML, XML and Stylo still share registry markup5ever 0.40.0 and web_atoms 0.3.0.

Rebased the style stack onto origin/main at ebae4ca6ca.

Validation: Release; cargo fmt --all; strict workspace/all-target/all-feature Clippy; cargo nextest run --no-fail-fast (20413 passed, 18 skipped); 312 paired XML WPT executions and 840 Chromium overflow comparisons with no differences. Full WPT and nine status/subtest-change replays found no new stable regression.
2026-10-21 17:55:02 +08:00
ldm0 e78f5a33b2 feat(layout): update Taffy and Stylo forks with current Blitz adapters
Move Taffy to 0.15 and Stylo to 0.22 using fixed fork revisions, with the
matching stylo_taffy adapter. Upgrade cssparser and the production HTML/XML
parsers while preserving the vendored XML behavior.

Adapt sizing inputs, baselines, grid positions, overflow and out-of-flow
ownership. Preserve font-stretch CSSOM compatibility and intrinsic sizing
through nested atomic inline probes.

Validation: root cargo fmt --all; strict workspace/all-target/all-feature
Clippy; Nextest 20280 passed, 18 skipped; Release build; five browser
regression rounds; RTL and nested intrinsic Chromium geometry controls.
Full WPT Cross is recorded separately with its Cases refresh.

Original-commit: 281a920d89
2026-10-21 17:55:02 +08:00
ldm0 4b8dc0f320 feat(webidl): retain native BufferSource identity through conversion
Add borrowed AllowShared BufferSource conversion for algorithms that copy after dictionaries are converted, including native range writes and atomic shared-memory byte access. Reject resizable/growable storage and author proxies using native identity, including detached resizable buffers and views. Tests cover late snapshots, bounded writes, surrounding bytes, detachment and native resizable flags. Individual API migrations are separate.
2026-10-11 09:16:23 +08:00
ldm0 2c8f19277b fix(xml): validate numeric references using the XML Char production
Validate XML numeric character references using the XML Char production rather than HTML recovery rules. Keep carriage returns and C1/noncharacter values which XML permits, and reject forbidden controls/surrogates. Parser regressions cover decimal and hexadecimal references and retain strict failures.
2026-10-10 03:44:51 +08:00
ldm0 c31404d801 refactor: use stable atomic updates and fixed-size slice chunks 2026-10-08 19:56:33 +08:00
ldm0 fcadef16be fix(renderer): protect Document access and retained realm identity 2026-10-06 01:01:03 +08:00
ldm0 30e36e64a3 fix(cdp): preserve auxiliary Page ownership through document navigation
Create script auxiliary Pages synchronously and let their CDP targets adopt
those exact Pages. Preserve Page and WindowProxy identity through document
navigation, sharing browsing-context names, opener references, message endpoints
and close state with related windows.

Commit browser responses into the existing Page with exact document admission,
cancellation and failure disposition. Capture accepted navigation origin, base,
policy, storage and referrer, preserve auxiliary history and restore related
browsing-context groups without issuing duplicate popup requests.

Reuse the initial same-origin Window while replacing its Document, and centralize
Document owner transitions, descendant retirement and Inspector publication.
Give related Pages independent Inspector routes and shared per-Page startup
pause state, route isolate foreground work through surviving Pages, and cache
cross-origin Window functions in each accessing realm with receiver-aware access.

Cover actual popup state, navigation and parser rebinding, accepted environments,
history, cross-origin access, multiple frontends, cancellation and task retirement.

Validation: cargo fmt --all; cargo clippy --workspace --all-targets --all-features -- -D warnings; cargo nextest run --no-fail-fast.
2026-10-06 01:01:03 +08:00
ldm0 79ea1406fa fix(devtools): unblock navigation while the debugger is paused
Track provisional loads by navigation ID on the existing renderer target and explicitly finish debugger policy on commit or cancellation. Return the pause-loop exit reason and terminate paused old-document execution through V8 Inspector.

Defer intercepted-response document creation until continuation, removing the eager prepared-document paths. Preserve committed documents for aborted navigations and cover repeated pauses, multiple sessions, interception and supersession.

Validated cargo fmt --all, strict workspace clippy, and cargo nextest run --no-fail-fast: 18,429 passed, 13 skipped. New regressions also passed 20 stress iterations and three confirmed debugger-paused ippure navigation probes.
2026-09-28 20:11:15 +08:00
ldm0 c689e4adf8 fix(modules): expose inline import meta base URLs
Compile inline modules with their document base URL and read import.meta.url from the V8 module resource name. Preserve separate internal module-map identities and cover both page and child inline modules.

Source: f8de9b7ed0
2026-09-16 16:17:55 +08:00
ldm0 1b214ad088 fix(custom-elements): checkpoint only outside active JavaScript
Expose native MicrotasksScope bindings and use them explicitly at Moli script, module, callback, constructor, and popup execution boundaries. Keep rusty_v8 call APIs unchanged.

Checkpoint custom element constructors before validation only when no outer script or microtask is active. Cover parser, document.write, createElement, and host-owned popup execution; update the document.write reaction-order regression.
2026-09-16 14:59:42 +08:00
ldm0 3bead42808 refactor(emulation): use native process-wide ICU defaults
Remove the Date/Intl wrappers, custom date parser and per-Page replay state. Keep exclusive locale/timezone ownership in a process controller and refresh existing Page and Worker isolates through generation-bound notifications and observation boundaries, including nested Inspector pauses.

Release claims on session/target/context retirement, retain native coercion and locale matching, and cover lifecycle restoration with Rust, BiDi and process-isolated CDP regressions.
2026-09-13 01:07:35 +08:00
ldm0 156e16873d fix(emulation): preserve Date and Intl input semantics
Handle Unicode and legacy date inputs without unsafe slicing or timezone corruption. Normalize ICU locale IDs with the bundled ICU library and forward Intl options without violating frozen-object invariants. Add renderer regressions and process-isolated CDP input coverage.
2026-09-13 01:07:35 +08:00
ldm0 db98c42087 fix(cdp): isolate console Error stack formatting 2026-09-07 01:48:13 +08:00
ldm0 98dacf8105 fix(v8): compile Windows extensions with clang-cl 2026-09-04 10:53:49 +08:00
ldm0 33a26f4622 fix(v8): preserve weak handles through isolate teardown 2026-09-03 15:17:48 +08:00
ldm0 a8a718b1e9 fix(v8): make optional template handles nullable 2026-09-03 15:17:48 +08:00
ldm0 3c03f97309 fix(v8): use boolean access handler callbacks 2026-09-03 15:17:48 +08:00
ldm0 ac22714947 chore(v8): remove obsolete V8 14.6 vendor tree 2026-09-03 15:17:48 +08:00
ldm0 017c53de8c build(v8): migrate Moli to V8 15.2 2026-09-03 15:17:48 +08:00
ldm0 271335c08a vendor(deno_v8): align facade with V8 15.2 2026-09-03 15:17:48 +08:00
ldm0 c438722b95 vendor(deno_v8): import upstream 0.3.0 baseline 2026-09-03 15:17:48 +08:00
ldm0 d2dc4be99a docs(v8): document vendored extension surface 2026-09-03 15:17:48 +08:00
ldm0 9087157818 vendor(v8): include upstream license 2026-09-03 15:17:48 +08:00
ldm0 32e92b8fd4 fix(v8): release context handles before snapshot creation 2026-09-03 15:17:48 +08:00
ldm0 6cdfc1ed15 fix(v8): handle non-string function names 2026-09-03 15:17:48 +08:00
ldm0 6777f35807 vendor(v8): add CPU trace profiler bridge 2026-09-03 15:17:48 +08:00
ldm0 90ac7ece55 vendor(v8): add Wasm module compile bridges 2026-09-03 15:17:48 +08:00
ldm0 166495f76a vendor(v8): add inspector lifecycle bridges 2026-09-03 15:17:48 +08:00
ldm0 bbd51d912b vendor(v8): add browsing context lifecycle bridges 2026-09-03 15:17:48 +08:00
ldm0 e4e497e225 vendor(v8): add Web IDL object bridges 2026-09-03 15:17:48 +08:00
ldm0 9f1e7ddbd4 vendor(v8): import upstream V8 15.2.0 baseline 2026-09-03 15:17:48 +08:00
ldm0 eb59de7364 perf(v8): use pointer-compressed PartitionAlloc where available
Use pointer-compressed rusty_v8 archives and their bundled PartitionAlloc shim on Linux x86_64 GNU and macOS. Preserve the existing jemalloc or system allocator on unsupported targets, and remove the custom archive-mutation workaround.
2026-09-03 04:14:18 +08:00
ldm0 5c9ce1adcd Remove renderer backqueries from inspector output routing 2026-09-01 19:52:16 +08:00
ldm0 2bead09773 fix(v8): handle non-string function names 2026-08-27 02:04:06 +08:00
ldm0 3600404225 perf(parser): keep XML namespaces in token stream 2026-08-13 07:07:00 +08:00
ldm0 91c281d2c7 fix(parser): expose CDATA from xml5ever 2026-08-13 07:07:00 +08:00
ldm0 c256cded7d fix: report C++20 correctly with MSVC 2026-08-11 17:27:00 +08:00
ldm0 2678009f9f fix: compile V8 extensions as C++20 on MSVC 2026-08-11 15:41:06 +08:00
ldm0 27b5135cb6 Public preview 2026-08-11 00:10:12 +08:00