Contact emails
[email protected]

Explainer
https://gist.github.com/jogibear9988/8420264d0911ce6c5aab0ac5cda0744e


Specification
https://drafts.csswg.org/cssom-view/#the-geometryutils-interface


Summary
Prototype the CSSOM View GeometryUtils API in Blink behind the existing 
GeometryUtils runtime flag. The API exposes getBoxQuads(), 
convertQuadFromNode(), convertRectFromNode(), and convertPointFromNode() on 
Document, Element, Text, and CSSPseudoElement so authors can obtain and convert 
precise DOM geometry using standard DOMPoint, DOMRect, and DOMQuad objects.


Blink component
Blink>Geometry


Web Feature ID
dom-geometry


Motivation
Web authors currently do not have a standard native API for getting precise box 
geometry and converting points, rects, and quads between DOM nodes after 
layout, scrolling, fragmentation, writing modes, and CSS transforms have been 
applied. Applications that need this today, such as visual editors, inspection 
tools, custom selection UI, and overlay systems, usually approximate the result 
in JavaScript by walking ancestor chains, reading layout data, and composing 
transform matrices. These polyfills are costly when repeated for many elements, 
are easy to get subtly wrong, and cannot always match the browser's layout and 
painting behavior. GeometryUtils exposes this geometry through standard 
DOMPoint, DOMRect, and DOMQuad objects, allowing authors to ask the engine for 
the same kind of coordinate-space conversion that is already needed internally 
for layout, hit testing, painting, and developer tooling. Concrete motivating 
use cases include visual editor and inspection tools that draw live overlays 
for many selected elements, including deeply nested custom elements, shadow 
DOM, transformed content, and generated pseudo-elements. Examples of tools in 
this space include web-component designers, page builders, browser extensions 
such as VisBug, and custom design/inspection overlays in developer applications.


Initial public proposal
https://drafts.csswg.org/cssom-view/#geometryutils


Goals for experimentation
None


Requires code in //chrome?
False


Tracking bug
https://issues.chromium.org/issues/427918516


Estimated milestones

No milestones specified



Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/6015941766807552?gate=4567116687081472


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 [email protected].
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6a4d5bd1.a289f910.4de7f.0524.GAE%40google.com.

Reply via email to