summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/interfaces/cssom-view.idl
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/interfaces/cssom-view.idl')
-rw-r--r--testing/web-platform/tests/interfaces/cssom-view.idl200
1 files changed, 200 insertions, 0 deletions
diff --git a/testing/web-platform/tests/interfaces/cssom-view.idl b/testing/web-platform/tests/interfaces/cssom-view.idl
new file mode 100644
index 0000000000..4e531a2682
--- /dev/null
+++ b/testing/web-platform/tests/interfaces/cssom-view.idl
@@ -0,0 +1,200 @@
+// GENERATED CONTENT - DO NOT EDIT
+// Content was automatically extracted by Reffy into webref
+// (https://github.com/w3c/webref)
+// Source: CSSOM View Module (https://drafts.csswg.org/cssom-view-1/)
+
+enum ScrollBehavior { "auto", "instant", "smooth" };
+
+dictionary ScrollOptions {
+ ScrollBehavior behavior = "auto";
+};
+dictionary ScrollToOptions : ScrollOptions {
+ unrestricted double left;
+ unrestricted double top;
+};
+
+partial interface Window {
+ [NewObject] MediaQueryList matchMedia(CSSOMString query);
+ [SameObject, Replaceable] readonly attribute Screen screen;
+ [SameObject, Replaceable] readonly attribute VisualViewport? visualViewport;
+
+ // browsing context
+ undefined moveTo(long x, long y);
+ undefined moveBy(long x, long y);
+ undefined resizeTo(long width, long height);
+ undefined resizeBy(long x, long y);
+
+ // viewport
+ [Replaceable] readonly attribute long innerWidth;
+ [Replaceable] readonly attribute long innerHeight;
+
+ // viewport scrolling
+ [Replaceable] readonly attribute double scrollX;
+ [Replaceable] readonly attribute double pageXOffset;
+ [Replaceable] readonly attribute double scrollY;
+ [Replaceable] readonly attribute double pageYOffset;
+ undefined scroll(optional ScrollToOptions options = {});
+ undefined scroll(unrestricted double x, unrestricted double y);
+ undefined scrollTo(optional ScrollToOptions options = {});
+ undefined scrollTo(unrestricted double x, unrestricted double y);
+ undefined scrollBy(optional ScrollToOptions options = {});
+ undefined scrollBy(unrestricted double x, unrestricted double y);
+
+ // client
+ [Replaceable] readonly attribute long screenX;
+ [Replaceable] readonly attribute long screenLeft;
+ [Replaceable] readonly attribute long screenY;
+ [Replaceable] readonly attribute long screenTop;
+ [Replaceable] readonly attribute long outerWidth;
+ [Replaceable] readonly attribute long outerHeight;
+ [Replaceable] readonly attribute double devicePixelRatio;
+};
+
+[Exposed=Window]
+interface MediaQueryList : EventTarget {
+ readonly attribute CSSOMString media;
+ readonly attribute boolean matches;
+ undefined addListener(EventListener? callback);
+ undefined removeListener(EventListener? callback);
+ attribute EventHandler onchange;
+};
+
+[Exposed=Window]
+interface MediaQueryListEvent : Event {
+ constructor(CSSOMString type, optional MediaQueryListEventInit eventInitDict = {});
+ readonly attribute CSSOMString media;
+ readonly attribute boolean matches;
+};
+
+dictionary MediaQueryListEventInit : EventInit {
+ CSSOMString media = "";
+ boolean matches = false;
+};
+
+[Exposed=Window]
+interface Screen {
+ readonly attribute long availWidth;
+ readonly attribute long availHeight;
+ readonly attribute long width;
+ readonly attribute long height;
+ readonly attribute unsigned long colorDepth;
+ readonly attribute unsigned long pixelDepth;
+};
+
+partial interface Document {
+ Element? elementFromPoint(double x, double y);
+ sequence<Element> elementsFromPoint(double x, double y);
+ CaretPosition? caretPositionFromPoint(double x, double y);
+ readonly attribute Element? scrollingElement;
+};
+
+[Exposed=Window]
+interface CaretPosition {
+ readonly attribute Node offsetNode;
+ readonly attribute unsigned long offset;
+ [NewObject] DOMRect? getClientRect();
+};
+
+enum ScrollLogicalPosition { "start", "center", "end", "nearest" };
+dictionary ScrollIntoViewOptions : ScrollOptions {
+ ScrollLogicalPosition block = "start";
+ ScrollLogicalPosition inline = "nearest";
+};
+
+dictionary CheckVisibilityOptions {
+ boolean checkOpacity = false;
+ boolean checkVisibilityCSS = false;
+};
+
+partial interface Element {
+ DOMRectList getClientRects();
+ [NewObject] DOMRect getBoundingClientRect();
+
+ boolean checkVisibility(optional CheckVisibilityOptions options = {});
+
+ undefined scrollIntoView(optional (boolean or ScrollIntoViewOptions) arg = {});
+ undefined scroll(optional ScrollToOptions options = {});
+ undefined scroll(unrestricted double x, unrestricted double y);
+ undefined scrollTo(optional ScrollToOptions options = {});
+ undefined scrollTo(unrestricted double x, unrestricted double y);
+ undefined scrollBy(optional ScrollToOptions options = {});
+ undefined scrollBy(unrestricted double x, unrestricted double y);
+ attribute unrestricted double scrollTop;
+ attribute unrestricted double scrollLeft;
+ readonly attribute long scrollWidth;
+ readonly attribute long scrollHeight;
+ readonly attribute long clientTop;
+ readonly attribute long clientLeft;
+ readonly attribute long clientWidth;
+ readonly attribute long clientHeight;
+};
+
+partial interface HTMLElement {
+ readonly attribute Element? offsetParent;
+ readonly attribute long offsetTop;
+ readonly attribute long offsetLeft;
+ readonly attribute long offsetWidth;
+ readonly attribute long offsetHeight;
+};
+
+partial interface HTMLImageElement {
+ readonly attribute long x;
+ readonly attribute long y;
+};
+
+partial interface Range {
+ DOMRectList getClientRects();
+ [NewObject] DOMRect getBoundingClientRect();
+};
+
+partial interface MouseEvent {
+ readonly attribute double pageX;
+ readonly attribute double pageY;
+ readonly attribute double x;
+ readonly attribute double y;
+ readonly attribute double offsetX;
+ readonly attribute double offsetY;
+};
+
+enum CSSBoxType { "margin", "border", "padding", "content" };
+dictionary BoxQuadOptions {
+ CSSBoxType box = "border";
+ GeometryNode relativeTo; // XXX default document (i.e. viewport)
+};
+
+dictionary ConvertCoordinateOptions {
+ CSSBoxType fromBox = "border";
+ CSSBoxType toBox = "border";
+};
+
+interface mixin GeometryUtils {
+ sequence<DOMQuad> getBoxQuads(optional BoxQuadOptions options = {});
+ DOMQuad convertQuadFromNode(DOMQuadInit quad, GeometryNode from, optional ConvertCoordinateOptions options = {});
+ DOMQuad convertRectFromNode(DOMRectReadOnly rect, GeometryNode from, optional ConvertCoordinateOptions options = {});
+ DOMPoint convertPointFromNode(DOMPointInit point, GeometryNode from, optional ConvertCoordinateOptions options = {}); // XXX z,w turns into 0
+};
+
+Text includes GeometryUtils; // like Range
+Element includes GeometryUtils;
+CSSPseudoElement includes GeometryUtils;
+Document includes GeometryUtils;
+
+typedef (Text or Element or CSSPseudoElement or Document) GeometryNode;
+
+[Exposed=Window]
+interface VisualViewport : EventTarget {
+ readonly attribute double offsetLeft;
+ readonly attribute double offsetTop;
+
+ readonly attribute double pageLeft;
+ readonly attribute double pageTop;
+
+ readonly attribute double width;
+ readonly attribute double height;
+
+ readonly attribute double scale;
+
+ attribute EventHandler onresize;
+ attribute EventHandler onscroll;
+ attribute EventHandler onscrollend;
+};