Commit Graph
1212 Commits
Author SHA1 Message Date
ldm0 fd4750b1bd fix(iframe): encode src queries with the owner document charset 2026-09-27 08:13:05 +08:00
ldm0 41399710fd test(script-vm): split page runtime scenarios 2026-09-27 07:18:02 +08:00
ldm0 327107eddb test(script-vm): split DOM surface scenarios 2026-09-27 07:18:02 +08:00
ldm0 914732198c test(service-worker): split service runtime tests 2026-09-27 07:18:02 +08:00
ldm0 e05b1d7630 test(script-vm): split CSSOM scenarios 2026-09-27 07:18:02 +08:00
ldm0 b8bc1b9650 test(protocol-server): split classic WebDriver scenarios 2026-09-27 07:18:02 +08:00
ldm0 983e2e10d3 test(renderer): split page VM test scenarios 2026-09-27 07:18:02 +08:00
ldm0 ff5451a205 test(protocol-server): split BiDi scenarios 2026-09-27 07:18:02 +08:00
ldm0 a8673ba261 test(renderer): split runtime scenarios 2026-09-27 07:18:02 +08:00
ldm0 2452b83ae6 test(renderer): split phase-one parser tests 2026-09-27 07:18:02 +08:00
ldm0 98691ffef7 test(script-vm): split browser API misc tests 2026-09-27 07:18:02 +08:00
ldm0 c2c5ce0da0 fix(forms): sanitize multiple and IDN email values 2026-09-27 05:50:50 +08:00
ldm0 4277649618 fix(navigation): create transitions in the owning realm 2026-09-27 05:49:34 +08:00
ldm0 db8679367c fix(dom): preserve document domains until replacement 2026-09-27 05:49:10 +08:00
ldm0 47aff07f91 fix(performance): inherit navigation timing from resource entries 2026-09-27 05:48:09 +08:00
ldm0 e53b60bd7c fix(sri): retain supported hashes with malformed padding 2026-09-27 05:46:50 +08:00
ldm0 1d780bf926 fix(forms): preserve Get action URL submission semantics 2026-09-27 03:34:16 +08:00
ldm0 db2e6f84f9 fix(iframe): reuse referrer policy for explicit about blank navigation 2026-09-27 03:27:28 +08:00
ldm0 3ea89722bc fix(dom): preserve AbortSignal dependency order during reentrant aborts 2026-09-27 03:25:21 +08:00
ldm0 c37bcbaa81 fix(cors): validate complete preflight permission lists 2026-09-27 03:17:52 +08:00
ldm0 bf3ed110f7 fix(cdp): preserve correlated command responses after page replacement 2026-09-27 03:10:54 +08:00
ldm0 f8ae027ad4 fix(svg): retain complete path segments before parse errors 2026-09-27 03:09:49 +08:00
ldm0 b6156fadc1 fix(parser): route XHTML template children through template contents 2026-09-27 03:07:54 +08:00
ldm0 2434b54320 chore(wpt): refresh cases after initial layout changes
Run the full all profile on Moli d40181f729 and WPT db95fafd1f with 50 CDP workers. All 13,558 cases completed: 9,494 pass, 3,744 fail, 255 timeout, 50 harness-stalled, 14 error, and 1 crash. Compared with the prior lists, 443 gained pass and 39 lost pass.
v1.1.11
2026-09-27 01:43:26 +08:00
ldm0 ce372e81ef test(cdp): lock layout command lifecycle categories 2026-09-27 01:43:26 +08:00
ldm0 9c8868a8ad refactor(layout): use direct queries for single geometry reads 2026-09-27 01:43:26 +08:00
ldm0 2510929533 fix(cdp): derive page metrics from initialized layout 2026-09-27 01:43:26 +08:00
ldm0 ddbf52a668 feat(layout): initialize shared geometry on first demand 2026-09-27 01:43:26 +08:00
ldm0 5357eb6229 fix(screenshot): keep viewport fallback in page metrics
Restore zero DOM dimensions before layout publication. Keep the viewport
fallback in Page.getLayoutMetrics so clients can construct a positive clip
without changing element geometry or screenshot command semantics.

Empty clips remain invalid regardless of layout publication state. CLI
screenshot_full continues to request FullDocument directly on its first capture.

Cover cold and published clip rejection, page-metric captures with DPR and
scale, and CLI full-document output without a preceding viewport capture.
Document and test the separate cold Playwright fullPage limitation.
2026-09-27 01:43:26 +08:00
ldm0 5f81919a42 chore(wpt): refresh full case lists
Record the complete profile-all run on aebba34fb5: 13,558 cases, 9,090 passing. Keep this baseline separate from the subsequent screenshot fallback fix.
2026-09-27 01:43:26 +08:00
ldm0 24743af0e4 fix(script): report document.write exceptions through shared execution 2026-09-26 20:22:11 +08:00
ldm0 aebba34fb5 fix(history): guard browser-owned traversal with sandbox policy
Check the History receiver's active document permission before handing
an opaque history destination back to the top-level browser controller.

Cover browser-owned steps in both directions, back/forward/go, dynamic
sandbox attributes, and a child method borrowed by top-level History.
2026-09-26 19:54:57 +08:00
ldm0 791c4c1dc5 fix(sandbox): preserve active document navigation permissions
Store top-navigation permission in the existing DocumentSandboxPolicy and
combine iframe and response CSP restrictions. Read the committed policy
when checking navigation instead of the live iframe sandbox attribute.

Cover adding and removing restrictions after load, applying them on the
next navigation, and combining iframe and CSP permissions.
2026-09-26 19:54:57 +08:00
ldm0 8e4d0a347f fix(css): synchronize cached wrappers in their creation realm
Only project native CSS changes onto existing node wrappers. Enter their
creation context through a shared helper so child parsing cannot allocate
Document or stylesheet owner wrappers in the parent realm.

Keep lazy CSS initialization and updates to held stylesheet/font collections,
with regression coverage for child object realms and collection identity.

Validation: cargo fmt, workspace clippy, and all 18,747 Rust tests passed.
All seven affected WPT cases passed with the release build.
2026-09-26 19:54:57 +08:00
ldm0 c33b821fbd chore(wpt): refresh full case lists after regression fixes 2026-09-26 19:54:57 +08:00
ldm0 c40d8b877a fix(dom): ignore invalid hyperlink URLs during activation 2026-09-26 19:54:57 +08:00
ldm0 93c1a34220 fix(history): block sandboxed traversal of ancestor entries 2026-09-26 19:54:57 +08:00
ldm0 98ba9a76ae fix(navigation): restore canceled traversal error filenames 2026-09-26 19:54:57 +08:00
ldm0 203b088184 fix(history): preserve traversal state identity in the owning realm 2026-09-26 19:54:57 +08:00
ldm0 b55824eba4 fix(navigation): allocate activation in the owning realm 2026-09-26 19:54:57 +08:00
ldm0 e401b64d28 fix(wpt): preserve explicit fixture cache controls 2026-09-26 19:54:33 +08:00
ldm0 772ecc12a3 fix(navigation): prefer the source frame in named target lookup 2026-09-26 19:54:06 +08:00
ldm0 2fb6b9190a fix(html): resolve hidden until-found through native style computation 2026-09-26 19:53:53 +08:00
ldm0 c3e8c136c0 refactor(focus): reuse the reflected tabindex integer parser 2026-09-26 19:35:58 +08:00
ldm0 d86a023c35 fix(preload): share destination validation before load admission 2026-09-26 19:27:10 +08:00
ldm0 adffcce2a4 fix(preload): share nonblocking link lifecycle ownership 2026-09-26 19:23:09 +08:00
ldm0 723fd6b4d0 fix(history): retain forward entries on cross-document replacement 2026-09-26 19:18:26 +08:00
ldm0 9df1730490 fix(range): preserve live ranges when creating Window realms 2026-09-26 19:17:29 +08:00
ldm0 aaf76669ff fix(layout): default unpublished document client size to viewport
Return the configured viewport for document root clientWidth and clientHeight before the first layout publication. Preserve published geometry and keep ordinary element bounds dependent on a snapshot.

Cover first Playwright full-page and clipped full-page captures without prewarming. Verify that the initial capture uses the viewport fallback and that the next capture reaches the full published content height without making geometry reads trigger layout.
2026-09-26 19:14:15 +08:00
ldm0 e8f3272499 test(cdp): await child load before runImmediately isolation probe
Install the navigation through the target owner and wait for the child frame load event before registering the preload. This keeps delayed child initialization from replaying a new-document script during the top-level isolation assertion.
2026-09-26 19:14:15 +08:00