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 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. 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? 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 (eg links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (eg, 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. -- 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.