Skip to content

Commit 945e4c5

Browse files
authored
Merge pull request #299 from muj-beg/TypeScript-Issue-18615
TypeScript Issue # 18615.
2 parents 8ebb762 + 9975a65 commit 945e4c5

File tree

3 files changed

+210
-7
lines changed

3 files changed

+210
-7
lines changed

baselines/dom.generated.d.ts

Lines changed: 44 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3600,8 +3600,8 @@ interface Element extends Node, GlobalEventHandlers, ElementTraversal, NodeSelec
36003600
getAttributeNode(name: string): Attr | null;
36013601
getAttributeNodeNS(namespaceURI: string, localName: string): Attr | null;
36023602
getAttributeNS(namespaceURI: string, localName: string): string;
3603-
getBoundingClientRect(): ClientRect;
3604-
getClientRects(): ClientRectList;
3603+
getBoundingClientRect(): ClientRect | DOMRect;
3604+
getClientRects(): ClientRectList | DOMRectList;
36053605
getElementsByTagName<K extends keyof HTMLElementTagNameMap>(name: K): NodeListOf<HTMLElementTagNameMap[K]>;
36063606
getElementsByTagName<K extends keyof SVGElementTagNameMap>(name: K): NodeListOf<SVGElementTagNameMap[K]>;
36073607
getElementsByTagName(name: string): NodeListOf<Element>;
@@ -4899,6 +4899,7 @@ interface HTMLFormElement extends HTMLElement {
48994899
*/
49004900
submit(): void;
49014901
reportValidity(): boolean;
4902+
reportValidity(): boolean;
49024903
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFormElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
49034904
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
49044905
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLFormElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
@@ -7371,10 +7372,10 @@ declare var IntersectionObserver: {
73717372
};
73727373

73737374
interface IntersectionObserverEntry {
7374-
readonly boundingClientRect: ClientRect;
7375+
readonly boundingClientRect: ClientRect | DOMRect;
73757376
readonly intersectionRatio: number;
7376-
readonly intersectionRect: ClientRect;
7377-
readonly rootBounds: ClientRect;
7377+
readonly intersectionRect: ClientRect | DOMRect;
7378+
readonly rootBounds: ClientRect | DOMRect;
73787379
readonly target: Element;
73797380
readonly time: number;
73807381
readonly isIntersecting: boolean;
@@ -9172,8 +9173,8 @@ interface Range {
91729173
detach(): void;
91739174
expand(Unit: ExpandGranularity): boolean;
91749175
extractContents(): DocumentFragment;
9175-
getBoundingClientRect(): ClientRect;
9176-
getClientRects(): ClientRectList;
9176+
getBoundingClientRect(): ClientRect | DOMRect;
9177+
getClientRects(): ClientRectList | DOMRectList;
91779178
insertNode(newNode: Node): void;
91789179
selectNode(refNode: Node): void;
91799180
selectNodeContents(refNode: Node): void;
@@ -14667,6 +14668,23 @@ declare var HTMLSummaryElement: {
1466714668
new(): HTMLSummaryElement;
1466814669
};
1466914670

14671+
interface DOMRectReadOnly {
14672+
readonly bottom: number;
14673+
readonly height: number;
14674+
readonly left: number;
14675+
readonly right: number;
14676+
readonly top: number;
14677+
readonly width: number;
14678+
readonly x: number;
14679+
readonly y: number;
14680+
}
14681+
14682+
declare var DOMRectReadOnly: {
14683+
prototype: DOMRectReadOnly;
14684+
new (x?: number, y?: number, width?: number, height?: number): DOMRectReadOnly;
14685+
fromRect(rectangle?: DOMRectInit): DOMRectReadOnly;
14686+
};
14687+
1467014688
interface EXT_blend_minmax {
1467114689
readonly MIN_EXT: number;
1467214690
readonly MAX_EXT: number;
@@ -14685,6 +14703,25 @@ interface EXT_sRGB {
1468514703
readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT: number;
1468614704
}
1468714705

14706+
interface DOMRect extends DOMRectReadOnly {
14707+
height: number;
14708+
width: number;
14709+
x: number;
14710+
y: number;
14711+
}
14712+
14713+
declare var DOMRect: {
14714+
prototype: DOMRect;
14715+
new (x?: number, y?: number, width?: number, height?: number): DOMRect;
14716+
fromRect(rectangle?: DOMRectInit): DOMRect;
14717+
};
14718+
14719+
interface DOMRectList {
14720+
readonly length: number;
14721+
item(index: number): DOMRect | null;
14722+
[index: number]: DOMRect;
14723+
}
14724+
1468814725
interface OES_vertex_array_object {
1468914726
readonly VERTEX_ARRAY_BINDING_OES: number;
1469014727
createVertexArrayOES(): WebGLVertexArrayObjectOES;

inputfiles/addedTypes.json

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1929,6 +1929,57 @@
19291929
"extends": "HTMLElement",
19301930
"flavor": "Web"
19311931
},
1932+
{
1933+
"kind": "interface",
1934+
"name": "DOMRectReadOnly",
1935+
"flavor": "DOM",
1936+
"properties": [
1937+
{
1938+
"name": "bottom",
1939+
"readonly": true,
1940+
"type": "number"
1941+
},
1942+
{
1943+
"name": "height",
1944+
"readonly": true,
1945+
"type": "number"
1946+
},
1947+
{
1948+
"name": "left",
1949+
"readonly": true,
1950+
"type": "number"
1951+
},
1952+
{
1953+
"name": "right",
1954+
"readonly": true,
1955+
"type": "number"
1956+
},
1957+
{
1958+
"name": "top",
1959+
"readonly": true,
1960+
"type": "number"
1961+
},
1962+
{
1963+
"name": "width",
1964+
"readonly": true,
1965+
"type": "number"
1966+
},
1967+
{
1968+
"name": "x",
1969+
"readonly": true,
1970+
"type": "number"
1971+
},
1972+
{
1973+
"name": "y",
1974+
"readonly": true,
1975+
"type": "number"
1976+
}
1977+
],
1978+
"constructorSignatures": [
1979+
"new (x?: number, y?: number, width?: number, height?: number): DOMRectReadOnly",
1980+
"fromRect(rectangle?: DOMRectInit): DOMRectReadOnly"
1981+
]
1982+
},
19321983
{
19331984
"kind": "interface",
19341985
"name": "EXT_blend_minmax",
@@ -1985,6 +2036,70 @@
19852036
}
19862037
]
19872038
},
2039+
{
2040+
"kind": "interface",
2041+
"name": "DOMRect",
2042+
"extends": "DOMRectReadOnly",
2043+
"flavor": "DOM",
2044+
"properties": [
2045+
{
2046+
"name": "height",
2047+
"type": "number"
2048+
},
2049+
{
2050+
"name": "width",
2051+
"type": "number"
2052+
},
2053+
{
2054+
"name": "x",
2055+
"type": "number"
2056+
},
2057+
{
2058+
"name": "y",
2059+
"type": "number"
2060+
}
2061+
],
2062+
"constructorSignatures": [
2063+
"new (x?: number, y?: number, width?: number, height?: number): DOMRect",
2064+
"fromRect(rectangle?: DOMRectInit): DOMRect"
2065+
]
2066+
},
2067+
{
2068+
"kind": "interface",
2069+
"name": "DOMRectList",
2070+
"flavor": "DOM",
2071+
"properties": [
2072+
{
2073+
"name": "length",
2074+
"type": "number",
2075+
"readonly": true
2076+
}
2077+
],
2078+
"indexer": [
2079+
{
2080+
"signatures": [
2081+
"[index: number]: DOMRect"
2082+
]
2083+
}
2084+
],
2085+
"methods": [
2086+
{
2087+
"name": "item",
2088+
"signatures": [
2089+
"item(index: number): DOMRect | null"
2090+
]
2091+
}
2092+
]
2093+
},
2094+
{
2095+
"kind": "method",
2096+
"interface": "HTMLFormElement",
2097+
"name": "reportValidity",
2098+
"flavor": "DOM",
2099+
"signatures": [
2100+
"reportValidity(): boolean"
2101+
]
2102+
},
19882103
{
19892104
"kind": "interface",
19902105
"name": "OES_vertex_array_object",

inputfiles/overridingTypes.json

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1666,6 +1666,49 @@
16661666
"getRegistration(clientURL?: USVString): Promise<ServiceWorkerRegistration | undefined>"
16671667
]
16681668
},
1669+
{
1670+
"kind": "method",
1671+
"interface": "Element",
1672+
"name": "getBoundingClientRect",
1673+
"signatures": ["getBoundingClientRect(): ClientRect | DOMRect"]
1674+
},
1675+
{
1676+
"kind": "method",
1677+
"interface": "Element",
1678+
"name": "getClientRects",
1679+
"signatures": [
1680+
"getClientRects(): ClientRectList | DOMRectList"
1681+
]
1682+
},
1683+
{
1684+
"kind": "property",
1685+
"interface": "IntersectionObserverEntry",
1686+
"name": "boundingClientRect",
1687+
"readonly": true,
1688+
"type": "ClientRect | DOMRect"
1689+
},
1690+
{
1691+
"kind": "property",
1692+
"interface": "IntersectionObserverEntry",
1693+
"name": "intersectionRect",
1694+
"readonly": true,
1695+
"type": "ClientRect | DOMRect"
1696+
},
1697+
{
1698+
"kind": "property",
1699+
"interface": "IntersectionObserverEntry",
1700+
"name": "rootBounds",
1701+
"readonly": true,
1702+
"type": "ClientRect | DOMRect"
1703+
},
1704+
{
1705+
"kind": "method",
1706+
"interface": "Range",
1707+
"name": "getBoundingClientRect",
1708+
"signatures": [
1709+
"getBoundingClientRect(): ClientRect | DOMRect"
1710+
]
1711+
},
16691712
{
16701713
"kind": "property",
16711714
"interface": "RequestInit",
@@ -1708,6 +1751,14 @@
17081751
"fill(path: Path2D, fillRule?: CanvasFillRule): void"
17091752
]
17101753
},
1754+
{
1755+
"kind": "method",
1756+
"interface": "Range",
1757+
"name": "getClientRects",
1758+
"signatures": [
1759+
"getClientRects(): ClientRectList | DOMRectList"
1760+
]
1761+
},
17111762
{
17121763
"kind": "method",
17131764
"interface": "CanvasRenderingContext2D",

0 commit comments

Comments
 (0)