diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 87a7e7c49..0b15338d9 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -3599,8 +3599,8 @@ interface Element extends Node, GlobalEventHandlers, ElementTraversal, NodeSelec getAttributeNode(name: string): Attr; getAttributeNodeNS(namespaceURI: string, localName: string): Attr; getAttributeNS(namespaceURI: string, localName: string): string; - getBoundingClientRect(): ClientRect; - getClientRects(): ClientRectList; + getBoundingClientRect(): ClientRect | DOMRect; + getClientRects(): ClientRectList | DOMRectList; getElementsByTagName(name: K): NodeListOf; getElementsByTagName(name: K): NodeListOf; getElementsByTagName(name: string): NodeListOf; @@ -4898,6 +4898,7 @@ interface HTMLFormElement extends HTMLElement { */ submit(): void; reportValidity(): boolean; + reportValidity(): boolean; addEventListener(type: K, listener: (this: HTMLFormElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLFormElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; @@ -7367,10 +7368,10 @@ declare var IntersectionObserver: { }; interface IntersectionObserverEntry { - readonly boundingClientRect: ClientRect; + readonly boundingClientRect: ClientRect | DOMRect; readonly intersectionRatio: number; - readonly intersectionRect: ClientRect; - readonly rootBounds: ClientRect; + readonly intersectionRect: ClientRect | DOMRect; + readonly rootBounds: ClientRect | DOMRect; readonly target: Element; readonly time: number; readonly isIntersecting: boolean; @@ -9168,8 +9169,8 @@ interface Range { detach(): void; expand(Unit: ExpandGranularity): boolean; extractContents(): DocumentFragment; - getBoundingClientRect(): ClientRect; - getClientRects(): ClientRectList; + getBoundingClientRect(): ClientRect | DOMRect; + getClientRects(): ClientRectList | DOMRectList; insertNode(newNode: Node): void; selectNode(refNode: Node): void; selectNodeContents(refNode: Node): void; @@ -14662,6 +14663,23 @@ declare var HTMLSummaryElement: { new(): HTMLSummaryElement; }; +interface DOMRectReadOnly { + readonly bottom: number; + readonly height: number; + readonly left: number; + readonly right: number; + readonly top: number; + readonly width: number; + readonly x: number; + readonly y: number; +} + +declare var DOMRectReadOnly: { + prototype: DOMRectReadOnly; + new (x?: number, y?: number, width?: number, height?: number): DOMRectReadOnly; + fromRect(rectangle?: DOMRectInit): DOMRectReadOnly; +}; + interface EXT_blend_minmax { readonly MIN_EXT: number; readonly MAX_EXT: number; @@ -14680,6 +14698,25 @@ interface EXT_sRGB { readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT: number; } +interface DOMRect extends DOMRectReadOnly { + height: number; + width: number; + x: number; + y: number; +} + +declare var DOMRect: { + prototype: DOMRect; + new (x?: number, y?: number, width?: number, height?: number): DOMRect; + fromRect(rectangle?: DOMRectInit): DOMRect; +}; + +interface DOMRectList { + readonly length: number; + item(index: number): DOMRect | null; + [index: number]: DOMRect; +} + interface OES_vertex_array_object { readonly VERTEX_ARRAY_BINDING_OES: number; createVertexArrayOES(): WebGLVertexArrayObjectOES; diff --git a/inputfiles/addedTypes.json b/inputfiles/addedTypes.json index 89caf3d78..94bf9b507 100644 --- a/inputfiles/addedTypes.json +++ b/inputfiles/addedTypes.json @@ -1929,6 +1929,57 @@ "extends": "HTMLElement", "flavor": "Web" }, + { + "kind": "interface", + "name": "DOMRectReadOnly", + "flavor": "DOM", + "properties": [ + { + "name": "bottom", + "readonly": true, + "type": "number" + }, + { + "name": "height", + "readonly": true, + "type": "number" + }, + { + "name": "left", + "readonly": true, + "type": "number" + }, + { + "name": "right", + "readonly": true, + "type": "number" + }, + { + "name": "top", + "readonly": true, + "type": "number" + }, + { + "name": "width", + "readonly": true, + "type": "number" + }, + { + "name": "x", + "readonly": true, + "type": "number" + }, + { + "name": "y", + "readonly": true, + "type": "number" + } + ], + "constructorSignatures": [ + "new (x?: number, y?: number, width?: number, height?: number): DOMRectReadOnly", + "fromRect(rectangle?: DOMRectInit): DOMRectReadOnly" + ] + }, { "kind": "interface", "name": "EXT_blend_minmax", @@ -1985,6 +2036,70 @@ } ] }, + { + "kind": "interface", + "name": "DOMRect", + "extends": "DOMRectReadOnly", + "flavor": "DOM", + "properties": [ + { + "name": "height", + "type": "number" + }, + { + "name": "width", + "type": "number" + }, + { + "name": "x", + "type": "number" + }, + { + "name": "y", + "type": "number" + } + ], + "constructorSignatures": [ + "new (x?: number, y?: number, width?: number, height?: number): DOMRect", + "fromRect(rectangle?: DOMRectInit): DOMRect" + ] + }, + { + "kind": "interface", + "name": "DOMRectList", + "flavor": "DOM", + "properties": [ + { + "name": "length", + "type": "number", + "readonly": true + } + ], + "indexer": [ + { + "signatures": [ + "[index: number]: DOMRect" + ] + } + ], + "methods": [ + { + "name": "item", + "signatures": [ + "item(index: number): DOMRect | null" + ] + } + ] + }, + { + "kind": "method", + "interface": "HTMLFormElement", + "name": "reportValidity", + "flavor": "DOM", + "signatures": [ + "reportValidity(): boolean" + ] + }, { "kind": "interface", "name": "OES_vertex_array_object", diff --git a/inputfiles/overridingTypes.json b/inputfiles/overridingTypes.json index b4643e728..1eeaf3928 100644 --- a/inputfiles/overridingTypes.json +++ b/inputfiles/overridingTypes.json @@ -1666,6 +1666,49 @@ "getRegistration(clientURL?: USVString): Promise" ] }, + { + "kind": "method", + "interface": "Element", + "name": "getBoundingClientRect", + "signatures": ["getBoundingClientRect(): ClientRect | DOMRect"] + }, + { + "kind": "method", + "interface": "Element", + "name": "getClientRects", + "signatures": [ + "getClientRects(): ClientRectList | DOMRectList" + ] + }, + { + "kind": "property", + "interface": "IntersectionObserverEntry", + "name": "boundingClientRect", + "readonly": true, + "type": "ClientRect | DOMRect" + }, + { + "kind": "property", + "interface": "IntersectionObserverEntry", + "name": "intersectionRect", + "readonly": true, + "type": "ClientRect | DOMRect" + }, + { + "kind": "property", + "interface": "IntersectionObserverEntry", + "name": "rootBounds", + "readonly": true, + "type": "ClientRect | DOMRect" + }, + { + "kind": "method", + "interface": "Range", + "name": "getBoundingClientRect", + "signatures": [ + "getBoundingClientRect(): ClientRect | DOMRect" + ] + }, { "kind": "property", "interface": "RequestInit", @@ -1708,6 +1751,14 @@ "fill(path: Path2D, fillRule?: CanvasFillRule): void" ] }, + { + "kind": "method", + "interface": "Range", + "name": "getClientRects", + "signatures": [ + "getClientRects(): ClientRectList | DOMRectList" + ] + }, { "kind": "method", "interface": "CanvasRenderingContext2D",