On Wed, Mar 26, 2025 at 2:59 AM Chromestatus <
ad...@cr-status.appspotmail.com> wrote:

> Contact emails vinaysi...@microsoft.com
>
> Explainer None
>
> Specification https://svgwg.org/svg2-draft
>
> Summary
>
> This change brings Chromium code in line with the latest W3C spec for
> SVGGeometryElement and SVGPathElement in terms of usage of DOMPointInit
> over SVGPoint for getCharNumAtPosition, isPointInFill, isPointInStroke. The
> change has already landed:
> https://chromium-review.googlesource.com/c/chromium/src/+/6284886 Firefox
> and Safari already have this live making this a fairly safe change to land.
> Details for both added under Signals for both.
>
>
> Blink component Blink>SVG
> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3ESVG%22>
>
> TAG review None
>
> TAG review status Not applicable
>
> Risks
>
>
> Interoperability and Compatibility
>
> This is already implemented in Firefox and Safari with no reported open
> issues. Moreover, DOMPointInit is a superset of SVGPoint, but the extra
> params do have default values to support backward compatibility. We have
> however introduced some checks on Nan/Infinite values but those are
> exclusively to handle invalid requests to these APIs, say trying to access
> points at (Infinity, Nan) - (x,y) coordinate. And even then, we simply
> return back with a default value instead of throwing back an exception.
>

Will code using createSVGPoint() still work after the change?


>
>
> *Gecko*: Shipped/Shipping (
> https://developer.mozilla.org/en-US/docs/Web/API/SVGGeometryElement/isPointInFill)
> Firefox uses DOMPointInit already in the corresponding API:
> https://developer.mozilla.org/en-US/docs/Web/API/SVGGeometryElement/isPointInFill
> Also, WPT has been passing for Firefox indicating that they have
> implemented this already:
> https://wpt.fyi/results/svg/types/scripted/SVGGeometryElement.isPointInFill-01.svg
>
> *WebKit*: Shipped/Shipping (
> https://github.com/WebKit/WebKit/commit/7589919c57641e1e3dac86872171d4d681e3f2d0)
> Webkit (Safari) already uses DOMPointInit in these APIs. Here is the commit
> link for one of the APIs:
> https://github.com/WebKit/WebKit/commit/7589919c57641e1e3dac86872171d4d681e3f2d0
> Also, WPT has been passing for Safari indicating that they have implemented
> this already:
> https://wpt.fyi/results/svg/types/scripted/SVGGeometryElement.isPointInFill-01.svg
>
> *Web developers*: No signals
>
> *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
>
>
> Debuggability
>
> The SVGTextContentElement interface in JavaScript is implemented by
> elements that support rendering child text content. This interface is
> inherited by various text-related interfaces, such as SVGTextElement,
> SVGTSpanElement, SVGTRefElement, and SVGTextPathElement. Any of the above
> elements can be used to access and test APIs in SVGTextContentElement
> interface. For SVGGeometryElement, it is implemented by Geometry elements
> like SVGRectElement and SVGCircleElement. Objects of these classes can be
> used to access and test APIs in SVGGeometryElement interface.
>
>
> 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/types/scripted/SVGAnimatedEnumeration-SVGTextContentElement.html
> *
> https://wpt.fyi/results/svg/types/scripted/SVGGeometryElement.isPointInFill-01.svg
>
>
> Flag name on about://flags None
>
> Finch feature name None
>
> Non-finch justification
>
> This is a simple spec catch up in Chromium which is already implemented in
> Firefox and Safari. Also, this change cannot be put behind a feature flag
> since it is a change in method/API signature. However, Firefox and Safari
> already have this live making this a fairly safe change to land. Details
> for both added under Signals for both.
>
>
> Requires code in //chrome? False
>
> Tracking bug https://issues.chromium.org/issues/40572887
>
> Estimated milestones
> Shipping on desktop 136
> Shipping on Android 136
> Shipping on iOS 136
>
> 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
>
> Link to entry on the Chrome Platform Status
> https://chromestatus.com/feature/5203869052960768?gate=5197116357738496
>
> 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 blink-dev+unsubscr...@chromium.org.
> To view this discussion visit
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/67e2ef0b.170a0220.2e951e.01ad.GAE%40google.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/67e2ef0b.170a0220.2e951e.01ad.GAE%40google.com?utm_medium=email&utm_source=footer>
> .
>


-- 
TAMURA Kent
Software Engineer, Google

-- 
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 blink-dev+unsubscr...@chromium.org.
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGH7WqFY0RR%3DBTP3YT4tk2qBDV7ZoA%2BUW-6uuLRef2uLg1Rutw%40mail.gmail.com.

Reply via email to