Yes, createSVGPoint() will still work.
We have a WPT as well to ensure it.
https://wpt.fyi/results/svg/types/scripted/SVGGeometryElement.isPointInStroke-02.svg

Thanks,
Vinay
________________________________
From: TAMURA, Kent <tk...@chromium.org>
Sent: Wednesday, March 26, 2025 05:20 AM
To: Vinay Singh <vinaysi...@microsoft.com>; blink-dev@chromium.org 
<blink-dev@chromium.org>
Cc: Chromestatus <ad...@cr-status.appspotmail.com>
Subject: [EXTERNAL] Re: [blink-dev] Intent to Ship: Use DOMPointInit for 
getCharNumAtPosition, isPointInFill, isPointInStroke

You don't often get email from tk...@chromium.org. Learn why this is 
important<https://aka.ms/LearnAboutSenderIdentification>


On Wed, Mar 26, 2025 at 2:59 AM Chromestatus 
<ad...@cr-status.appspotmail.com<mailto:ad...@cr-status.appspotmail.com>> wrote:
Contact emails
vinaysi...@microsoft.com<mailto: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<mailto: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/SI4P153MB1056E2FE2CC72EBDBFB5E36DD3A62%40SI4P153MB1056.APCP153.PROD.OUTLOOK.COM.

Reply via email to