From b49e2ad62090f8814b8a25fe9e8c5c50f9992a67 Mon Sep 17 00:00:00 2001 From: "Muj.Beg" Date: Sun, 24 Sep 2017 13:46:28 -0400 Subject: [PATCH 1/3] TypeScript Issue # 18615. --- baselines/dom.generated.d.ts | 50 ++++++++++++-- baselines/webworker.generated.d.ts | 36 ++++++++++ inputfiles/addedTypes.json | 103 +++++++++++++++++++++++++++++ inputfiles/overridingTypes.json | 51 ++++++++++++++ 4 files changed, 233 insertions(+), 7 deletions(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index f0f10ef66..880a71835 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -3583,8 +3583,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): ElementListTagNameMap[K]; getElementsByTagName(name: string): NodeListOf; getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf; @@ -7206,10 +7206,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; @@ -8980,8 +8980,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; @@ -14262,6 +14262,42 @@ 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 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; +} + declare type EventListenerOrEventListenerObject = EventListener | EventListenerObject; interface DecodeErrorCallback { diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index 55f69349a..d9ef66630 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -1780,6 +1780,42 @@ interface AddEventListenerOptions extends EventListenerOptions { once?: boolean; } +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 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; +} + declare type EventListenerOrEventListenerObject = EventListener | EventListenerObject; interface DecodeErrorCallback { diff --git a/inputfiles/addedTypes.json b/inputfiles/addedTypes.json index 7138f0871..1008f4a00 100644 --- a/inputfiles/addedTypes.json +++ b/inputfiles/addedTypes.json @@ -1764,5 +1764,108 @@ "constructorSignatures": ["new(): HTMLSummaryElement"], "extends": "HTMLElement", "flavor": "DOM" + }, + { + "kind": "interface", + "name": "DOMRectReadOnly", + "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": "DOMRect", + "extends": "DOMRectReadOnly", + "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", + "properties": [ + { + "name": "length", + "type": "number", + "readonly": true + } + ], + "indexer": [ + { + "signatures": [ + "[index: number]: DOMRect" + ] + } + ], + "methods": [ + { + "name": "item", + "signatures": [ + "item(index: number): DOMRect | null" + ] + } + ] } ] diff --git a/inputfiles/overridingTypes.json b/inputfiles/overridingTypes.json index c1236aa4f..03e332def 100644 --- a/inputfiles/overridingTypes.json +++ b/inputfiles/overridingTypes.json @@ -1389,5 +1389,56 @@ "interface": "ServiceWorkerContainer", "name": "getRegistration", "signatures": ["getRegistration(): 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": "method", + "interface": "Range", + "name": "getClientRects", + "signatures": [ + "getClientRects(): ClientRectList | DOMRectList" + ] } ] From de89407e6b05e874b41dd6da24e2c56293322ce5 Mon Sep 17 00:00:00 2001 From: "Muj.Beg" Date: Sun, 24 Sep 2017 13:46:28 -0400 Subject: [PATCH 2/3] TypeScript Issue # 18615. (Ammended commit to refresh PR) --- baselines/dom.generated.d.ts | 50 ++++++++++++-- baselines/webworker.generated.d.ts | 36 ++++++++++ inputfiles/addedTypes.json | 103 +++++++++++++++++++++++++++++ inputfiles/overridingTypes.json | 51 ++++++++++++++ 4 files changed, 233 insertions(+), 7 deletions(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index f0f10ef66..880a71835 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -3583,8 +3583,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): ElementListTagNameMap[K]; getElementsByTagName(name: string): NodeListOf; getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf; @@ -7206,10 +7206,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; @@ -8980,8 +8980,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; @@ -14262,6 +14262,42 @@ 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 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; +} + declare type EventListenerOrEventListenerObject = EventListener | EventListenerObject; interface DecodeErrorCallback { diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index 55f69349a..d9ef66630 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -1780,6 +1780,42 @@ interface AddEventListenerOptions extends EventListenerOptions { once?: boolean; } +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 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; +} + declare type EventListenerOrEventListenerObject = EventListener | EventListenerObject; interface DecodeErrorCallback { diff --git a/inputfiles/addedTypes.json b/inputfiles/addedTypes.json index 7138f0871..1008f4a00 100644 --- a/inputfiles/addedTypes.json +++ b/inputfiles/addedTypes.json @@ -1764,5 +1764,108 @@ "constructorSignatures": ["new(): HTMLSummaryElement"], "extends": "HTMLElement", "flavor": "DOM" + }, + { + "kind": "interface", + "name": "DOMRectReadOnly", + "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": "DOMRect", + "extends": "DOMRectReadOnly", + "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", + "properties": [ + { + "name": "length", + "type": "number", + "readonly": true + } + ], + "indexer": [ + { + "signatures": [ + "[index: number]: DOMRect" + ] + } + ], + "methods": [ + { + "name": "item", + "signatures": [ + "item(index: number): DOMRect | null" + ] + } + ] } ] diff --git a/inputfiles/overridingTypes.json b/inputfiles/overridingTypes.json index c1236aa4f..03e332def 100644 --- a/inputfiles/overridingTypes.json +++ b/inputfiles/overridingTypes.json @@ -1389,5 +1389,56 @@ "interface": "ServiceWorkerContainer", "name": "getRegistration", "signatures": ["getRegistration(): 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": "method", + "interface": "Range", + "name": "getClientRects", + "signatures": [ + "getClientRects(): ClientRectList | DOMRectList" + ] } ] From 2cf40129101952b57623cc725e06d577ce30e88f Mon Sep 17 00:00:00 2001 From: "Muj.Beg" Date: Fri, 20 Oct 2017 13:08:37 -0400 Subject: [PATCH 3/3] Fixing bad merge. --- inputfiles/addedTypes.json | 1 + 1 file changed, 1 insertion(+) diff --git a/inputfiles/addedTypes.json b/inputfiles/addedTypes.json index 7f11c7939..d5d0d3493 100644 --- a/inputfiles/addedTypes.json +++ b/inputfiles/addedTypes.json @@ -1883,5 +1883,6 @@ "flavor": "DOM", "signatures": [ "reportValidity(): boolean" + ] } ]