diff --git a/inputfiles/idl/Resize Observer.widl b/inputfiles/idl/Resize Observer.widl new file mode 100644 index 000000000..385cdfd31 --- /dev/null +++ b/inputfiles/idl/Resize Observer.widl @@ -0,0 +1,39 @@ +enum ResizeObserverBoxOptions { + "border-box", "content-box", "device-pixel-content-box" +}; + +dictionary ResizeObserverOptions { + ResizeObserverBoxOptions box = "content-box"; +}; + +[Exposed=(Window), + Constructor(ResizeObserverCallback callback)] +interface ResizeObserver { + void observe(Element target, optional ResizeObserverOptions options); + void unobserve(Element target); + void disconnect(); +}; + +callback ResizeObserverCallback = void (FrozenArray entries, ResizeObserver observer); + +[Exposed=Window] +interface ResizeObserverEntry { + readonly attribute Element target; + readonly attribute DOMRectReadOnly contentRect; + readonly attribute sequence borderBoxSize; + readonly attribute sequence contentBoxSize; + readonly attribute sequence devicePixelContentBoxSize; +}; + +interface ResizeObserverSize { + readonly attribute unrestricted double inlineSize; + readonly attribute unrestricted double blockSize; +}; + +[Constructor(Element target) +] +interface ResizeObservation { + readonly attribute Element target; + readonly attribute ResizeObserverBoxOptions observedBox; + readonly attribute sequence lastReportedSizes; +}; diff --git a/inputfiles/idlSources.json b/inputfiles/idlSources.json index da35b2b38..faed73457 100644 --- a/inputfiles/idlSources.json +++ b/inputfiles/idlSources.json @@ -430,6 +430,10 @@ "url": "https://www.w3.org/TR/referrer-policy/", "title": "Referrer Policy" }, + { + "url": "https://www.w3.org/TR/resize-observer/", + "title": "Resize Observer" + }, { "url": "https://w3c.github.io/resource-timing/", "title": "Resource Timing"