Commit Graph
1714 Commits
Author SHA1 Message Date
ldm0 5c44cd6eff refactor(encoding): rename shared document streaming decoder 2026-10-09 01:59:04 +08:00
ldm0 c884fe059b fix(fonts): validate binary FontFace payloads after descriptor conversion 2026-10-08 23:38:02 +08:00
ldm0 a221393a4f fix(geometry): preserve point dictionary conversion order
Convert DOMPointInit members in lexical order, reading and converting w before x, y and z. Derive the optional getCharNumAtPosition dictionary argument, expose its length as zero, and validate its native SVGTextContentElement receiver before conversion. Regressions cover inherited/Proxy dictionaries, getter and numeric conversion exceptions, defaults, receiver checks, and the existing DOMPoint.fromPoint, DOMMatrix.transformPoint and SVG callers in main and child realms and windowless documents. The text receiver cases cover main's existing SVGTextElement and SVGTSpanElement interfaces.
2026-10-08 21:44:33 +08:00
ldm0 66e7c693fe fix(navigation): keep ignored response metadata on terminal gate 2026-10-08 21:42:07 +08:00
ldm0 225c7d36ed fix(performance): validate observer options and retain observe mode
Convert PerformanceObserver.observe options as a WebIDL dictionary, reject invalid option combinations and restricted durationThreshold values, and retain the chosen single/multiple observe mode across empty or unsupported subscriptions and disconnect. disconnect clears active subscription data without resetting the selected mode. Window regressions cover member evaluation order, exception identity, cross-realm receiver checks, unsupported types and re-subscription.
2026-10-08 21:39:21 +08:00
ldm0 7026860073 fix(svg): retain computed path coordinates in native geometry
Read the cascaded native path representation instead of re-parsing display-oriented CSSOM serialization. Preserve binary32 coordinates exactly when passing them to the geometry parser, including large endpoints, curves and arcs. Regression coverage exercises all command families and verifies style override/removal on a live SVG path. The geometry fixture edits a stylesheet directly to isolate native computed-path precision. Main's pre-existing inline CSSOM write path serializes declarations before style resolution and has a separate write-side precision limitation.
2026-10-08 21:36:39 +08:00
ldm0 10a8044788 fix(svg): validate native geometry method receivers
Wire SVGGraphicsElement and SVGGeometryElement methods through shared native receiver brands, accepting registered native proxies while rejecting author proxies before conversion. Resolve geometry and bounding boxes through native handles for windowless documents. Window/child and registered native proxy regressions cover descriptors, interface mismatch, result realms and conversion ordering. Existing fill-rule improvements are already in a separate PR and are excluded here.
2026-10-08 21:34:52 +08:00
ldm0 04f066a9a5 fix(observers): parse margin defaults from CSS tokens
Treat comment-only and CSS-whitespace-only IntersectionObserver margin input as the empty default, and reject unitless zero and Unicode whitespace that is not CSS whitespace. The shared CSS token parser and native observer helper use the same contract. Tests cover malformed/empty comments, valid dimensions and invalid token classes.
2026-10-08 21:34:21 +08:00
ldm0 3121758fc4 fix(indexeddb): protect native key range bounds and receivers
Move IDBKeyRange bounds and open flags into protected native state with readonly prototype accessors. Author shadowing and mutation cannot change range queries; getters and includes validate native receivers, preserve cached bound object identity and compare against the original bounds. Tests cover descriptors, forged/Proxy receivers, mutation and the Window/child/Worker surfaces. Validation uses main-supported scalar/array keys and read APIs; bulk record queries, Date/binary keys and direct range deletion are separate features. Protected bounds remain checked across pending/started transactions, indexes, retained mutable arrays, native-brand errors and cross-realm getters.
2026-10-08 21:32:15 +08:00
ldm0 0d90fb8f31 fix(renderer): enforce source sandbox for top-level hyperlinks 2026-10-08 21:01:53 +08:00
ldm0 faefbd8aa4 fix(renderer): complete intercepted top-level hyperlink navigation 2026-10-08 21:01:53 +08:00
ldm0 4a615ac638 fix(renderer): preserve navigation events and target FormData realms 2026-10-08 21:01:53 +08:00
ldm0 e32dacb888 fix(renderer): route navigation targets by native window owner 2026-10-08 21:01:53 +08:00
ldm0 ed1c4f87d9 fix(renderer): dispatch form navigation events to target window 2026-10-08 21:01:53 +08:00
ldm0 2e6ae2d91a ci: use TUNA apt mirrors in all dependency installation jobs 2026-10-08 20:53:28 +08:00
ldm0 e1deb939af fix(renderer): remove exports of deleted Node helpers 2026-10-08 20:29:40 +08:00
ldm0 f32553ed04 fix: clarify renderer exports and preserve allocation-free error handoffs 2026-10-08 19:56:33 +08:00
ldm0 dab1b0ed51 refactor: centralize cookie domain parsing and simplify control flow 2026-10-08 19:56:33 +08:00
ldm0 c31404d801 refactor: use stable atomic updates and fixed-size slice chunks 2026-10-08 19:56:33 +08:00
ldm0 d63da2d76c fix(accessibility): resolve AX object IDs in their owning session 2026-10-08 19:33:01 +08:00
ldm0 e802e3790b fix(canvas): expose native transform snapshots
Return a fresh native DOMMatrix snapshot from CanvasRenderingContext2D.getTransform and OffscreenCanvasRenderingContext2D.getTransform. Reuse the saved native canvas transform state and generated native receiver checks. Window and Worker regressions cover transform updates, save/restore, snapshot independence, dimension resets, mutated public constructors, cross-realm calls and invalid receivers. Expose the existing DOMMatrix and DOMPoint interface pairs in Workers so the snapshot return type and transformPoint result remain usable there.
2026-10-08 19:25:02 +08:00
ldm0 b21b4f0561 refactor(runtime): calculate wait deadlines from an explicit clock
Pass the caller's monotonic instant into deadline calculation. Production callers capture Instant::now() at the wait boundary; timeout validation retains existing range errors. Tests compare the 1ms deadline against the same captured anchor, avoiding a second clock read between calculation and the assertion.
2026-10-08 01:56:54 +08:00
ldm0 08983c68af feat(file-api): snapshot blob URL objects with creator access keys 2026-10-07 23:41:12 +08:00
ldm0 eaaf6f2dbf fix(cookie-cache): allow non-secure Netscape cookies over HTTPS v1.1.15 2026-10-07 19:00:16 +08:00
ldm0 b1a1f73d90 refactor(cssom): share public computed property enumeration 2026-10-07 18:56:02 +08:00
ldm0 87652d4369 refactor(dom): share native Node argument conversion 2026-10-07 18:53:12 +08:00
ldm0 3edd4b0aa9 refactor(wpt): consolidate common redirect fixtures 2026-10-07 18:51:53 +08:00
ldm0 bde57a391a refactor(fetch): share effective referrer policy selection 2026-10-07 18:49:51 +08:00
ldm0 605ce23de3 refactor(indexeddb): centralize connection retirement completion 2026-10-07 18:48:34 +08:00
ldm0 8c1c35df5a chore(release): update version to 1.1.15 2026-10-07 18:47:14 +08:00
ldm0 926860a30c refactor(svg): synchronize transform list members through one path 2026-10-07 18:41:02 +08:00
ldm0 6ef92ff113 test(fetch): accept stable and nightly owner panic frame formats 2026-10-07 18:39:33 +08:00
ldm0 561edec134 build: refresh Parley fork to d0f5452
Pin Parley and Fontique to the reviewed fork with clarified bidi contracts, a separate first-style line-height compatibility commit, and transparent-marker benchmarks. Update the same-source workspace crates in Cargo.lock without changing package versions or other dependencies.

Validation: cargo fmt --all; cargo clippy --workspace --all-targets --all-features -- -D warnings; cargo nextest run --no-fail-fast (19,676 passed, 16 skipped).
2026-10-07 18:34:42 +08:00
ldm0 b5f4e788aa build: update Parley to the PR1-based inline object fork
Pin Parley and Fontique to 813c8c1120c6dee61f838f2cc2ec4efedc08b9ea on fix/inline-object-bidi-rebased. The fork contains the three inline-box bidi PR commits followed by the transparent marker, visual edge placement and host embolden extensions. Keep the original fix/inline-object-bidi branch intact.

Validation: cargo fmt --all; cargo clippy --workspace --all-targets --all-features -- -D warnings; cargo nextest run --no-fail-fast (19676 passed, 16 skipped).
2026-10-07 18:34:42 +08:00
ldm0 ce08ab6c54 test(stylesheet): gate alternate stylesheet on parser script observation 2026-10-07 18:23:32 +08:00
ldm0 00e18d6aef build(deps): update indexmap to 2.14.2 2026-10-07 18:23:02 +08:00
ldm0 9d16dc1c65 build(deps): update rusqlite and hashlink 2026-10-07 18:23:02 +08:00
ldm0 443ff674e3 fix(events): convert and brand ErrorEvent payloads 2026-10-07 18:14:36 +08:00
ldm0 d4fa098ac2 fix(worker): route string code generation through shared CSP checks 2026-10-07 17:57:15 +08:00
ldm0 0f2892533f fix(cdp): bound renderer navigation future stack usage 2026-10-07 17:53:16 +08:00
ldm0 26a1aa7329 test(scripts): gate blocking stylesheet on inline module execution 2026-10-07 16:05:48 +08:00
ldm0 3f6a8f470d test(history): snapshot child traversal events after completion 2026-10-07 16:05:33 +08:00
ldm0 991175f273 fix(dom): capture native exception stacks without author lookup 2026-10-07 16:05:12 +08:00
ldm0 89bb9142dd test(navigation): keep unload deferred after rejected commits 2026-10-07 16:03:05 +08:00
ldm0 2110db6ae6 fix(svg): normalize length unit case in scalar and list parsing 2026-10-07 16:02:34 +08:00
ldm0 62bbb468be fix(url): return colon protocol for invalid hyperlinks 2026-10-07 15:50:26 +08:00
ldm0 9bafc157b4 fix(dom): read exception slots from registered native proxy targets 2026-10-07 15:26:24 +08:00
ldm0 846f1f6c1b refactor(geometry): validate DOMRect receivers through native bindings 2026-10-07 15:16:22 +08:00
ldm0 f6ba3a43b0 refactor(window): reuse native replaceable property getters 2026-10-07 15:15:30 +08:00
ldm0 ae2e7ca54d fix(storage): build name arrays without inherited numeric setters 2026-10-07 14:22:05 +08:00