On Wed, Oct 21, 2026 at 12:43 PM Chromestatus <
[email protected]> wrote:

> *Contact emails*
> [email protected], [email protected]
>
> *Explainer*
>
> https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/SVG/SVGPathDataAPI/explainer.md
>
> *Specification*
> https://w3c.github.io/svgwg/specs/paths/#InterfaceSVGPathData
>
> *Design docs*
>
>
> https://docs.google.com/document/d/1uCVUqYGKgsCCu7LEtEdO3Yuea-MT-I2XsU6Eoe3mlQI/edit?usp=sharing
>
> *Summary*
> Adds structured JavaScript access to SVG path data through three methods
> on SVGPathElement: getPathData() reads the path as an array of {type,
> values} objects containing each segment's command and numeric parameters.
> setPathData() updates the path from such an array, getPathSegmentAtLength()
> returns the segment at a specified distance along the path. These methods
> let developers inspect, edit, and construct paths without manually parsing
> or serializing the d attribute. The optional getPathData({normalize: true})
> setting simplifies path data to absolute move, line, cubic Bézier, and
> close commands (M, L, C, and Z). All three APIs operate on the base value
> of the d attribute, not CSS-computed or animated values.


Out of curiosity, how are the ellptical arc path commands converted to M,
L, C and Z? The spec doesn't say anything about the necessary approximation.


> *Blink component*
> Blink>SVG
> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3ESVG%22>
>
> *Web Feature ID*
> *No information provided*
>
> *Motivation*
> In Chromium, inspecting or modifying individual SVG path segments requires
> parsing and serializing the d attribute string, often using third-party
> libraries. This makes tasks such as path animation, hit-testing, and
> programmatic path construction unnecessarily complex and error-prone. The
> previous SVGPathSegList API was removed in Chromium 48 because of its
> complex live mutation model, numerous factory methods, and underspecified
> edge cases. Developers have since relied on polyfills to restore structured
> access. Implementing the SVG Working Group’s replacement API provides a
> simpler, standardized way to read and modify path segments without custom
> string parsing or polyfills.
>
> *Initial public proposal*
> *No information provided*
>
> *TAG review*
> https://github.com/w3ctag/design-reviews/issues/1292
>
> *TAG review status*
> Pending
>
> *Goals for experimentation*
>
>
> *Risks*
>
>
> *Interoperability and Compatibility*
> Low risk. The feature adds new methods to SVGPathElement that developers
> can feature-detect before use. Representatives from Chromium, Firefox,
> WebKit, and the web developer community contributed to the API design
> through the SVG Working Group.
>
> *Gecko*: Shipped/Shipping (
> https://bugzilla.mozilla.org/show_bug.cgi?id=1934525) Firefox 137 shipped
> the feature in April 2025.
>
> *WebKit*: No signal (
> https://github.com/WebKit/standards-positions/issues/731)
>
> *Web developers*: Positive (https://issues.chromium.org/issues/40441025) 45
> users upvoted this Chromium issue. A widely used polyfill exists:
> https://github.com/jarek-foksa/path-data-polyfill
>
> *Other signals*:
>
> *WebView application risks*
>
> Does this intent deprecate or change behavior of existing APIs, such that
> it has potentially high risk for Android WebView-based applications?
> None. The feature adds new methods to SVGPathElement that developers can
> feature-detect before use.
>
>
> *Debuggability*
> *No information provided*
>
> *Will this feature be supported on all six Blink platforms (Windows, Mac,
> Linux, ChromeOS, Android, and Android WebView)?*
> Yes
>
> *Is this feature fully tested by web-platform-tests
> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?*
> Yes
>
> https://wpt.fyi/results/svg/path/interfaces?label=experimental&label=master&aligned
>
> *Flag name on about://flags*
> *No information provided*
>
> *Finch feature name*
> SVGPathDataAPI
>
> *Rollout plan*
> Will ship enabled for all users
>
> *Requires code in //chrome?*
> False
>
> *Tracking bug*
> https://issues.chromium.org/issues/40441025
>
> *Measurement*
> Use counters include: - SVGPathElementGetPathData -
> SVGPathElementSetPathData -SVGPathElementGetPathSegmentAtLength
>
> *Availability expectation*
> The feature is available in Chromium and Firefox for the foreseeable
> future. Microsoft proposed this feature as a focus area for Interop 2027:
> https://github.com/web-platform-tests/interop/issues/1469, which if
> accepted, could help extend support to additional browsers.
>
> *Adoption expectation*
> The feature replaces a popular polyfill that developers use today with
> thousands of downloads per week. The Chromium issue has 45 votes.
> Developers have made inquiries, asking when it will become available.
>
> *Adoption plan*
> MDN already documents this feature. Given the existing developer interest,
> the feature's adoption should grow organically.
>
> *Non-OSS dependencies*
>
> Does the feature depend on any code or APIs outside the Chromium open
> source repository and its open-source dependencies to function?
> None.
>
> *Estimated milestones*
> Shipping on desktop 159
> Shipping on Android 159
> Shipping on WebView 159
>
> *Anticipated spec changes*
>
> Open questions about a feature may be a source of future web compat or
> interop issues. Please list open issues (e.g. links to known github issues
> in the project for the feature specification) whose resolution may
> introduce web compat/interop risk (e.g., changing to naming or structure of
> the API in a non-backward-compatible way).
> None. Representatives from Chromium, Firefox, WebKit, and the web
> developer community contributed to the API design through the W3C SVG WG.
>
> *Link to entry on the Chrome Platform Status*
> https://chromestatus.com/feature/4787972240179200?gate=4660848254648320
>
> *Links to previous Intent discussions*
> Intent to Prototype:
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/KUXP153MB161031AEB43220B1ADB9B41AC1112%40KUXP153MB1610.APCP153.PROD.OUTLOOK.COM
>
>
> This intent message was generated by Chrome Platform Status
> <https://chromestatus.com>.
>
> --
> You received this message because you are subscribed to the Google Groups
> "blink-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion visit
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6ad8eba6.a6e82b8f.de7e0.01e9.GAE%40google.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6ad8eba6.a6e82b8f.de7e0.01e9.GAE%40google.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGsbWzSHeJpwv_0JQK4jd%2Bk04BvB10YS5NTNsStKTk75KBm4Vw%40mail.gmail.com.

Reply via email to