RESOLVED FIXED318103
SVGMatrix.multiply should accept DOMMatrix2DInit per SVG 2
https://bugs.webkit.org/show_bug.cgi?id=318103
Summary SVGMatrix.multiply should accept DOMMatrix2DInit per SVG 2
Karl Dubost
Reported 2026-06-29 00:16:53 PDT
The SVG WG resolved in 2019-10 to revert SVG 2's plan to alias SVG geometry interfaces (SVGPoint / SVGRect / SVGMatrix) to the DOM* geometry interfaces. https://github.com/w3c/svgwg/issues/706 The revert merged on 2026-06-29 (commit bc3a4f9cda1a7391cbce66c4e678565a70823119). https://github.com/w3c/svgwg/commit/bc3a4f9cda1a7391cbce66c4e678565a70823119 Per the merged spec, * SVGMatrix continues to be its own interface in both SVG 1.1 and SVG 2; * DOM*Init dictionary input types are explicitly KEPT per resolution #3. The spec-correct IDL for SVGMatrix.multiply is therefore: [NewObject] SVGMatrix multiply(optional DOMMatrix2DInit secondMatrix = {}); WebKit currently ships the SVG 1.1 narrow signature (Source/WebCore/svg/SVGMatrix.idl:39): [NewObject] SVGMatrix multiply(SVGMatrix secondMatrix); which rejects DOMMatrix2DInit input with TypeError. The existing WPT test LayoutTests/imported/w3c/web-platform-tests/svg/types/scripted/SVGMatrix-tentative.html exercises a dict-input case: matrix = matrix.multiply({a: 3, d: 2}); and the WebKit-side expected file records this as a known FAIL. Only Gecko PASS. This bug fixes the WebKit half.
Attachments
Radar WebKit Bug Importer
Comment 1 2026-06-29 00:16:59 PDT
Karl Dubost
Comment 2 2026-06-29 00:34:48 PDT
EWS
Comment 3 2026-07-28 17:05:58 PDT
Committed 318109@main (ce15568a0e8b): <https://commits.webkit.org/318109@main> Reviewed commits have been landed. Closing PR #68084 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.