@@ -1711,7 +1711,7 @@ declare class Range { // extension
1711
1711
setStartBefore ( refNode : Node ) : void ;
1712
1712
selectNode ( refNode : Node ) : void ;
1713
1713
detach ( ) : void ;
1714
- getBoundingClientRect ( ) : ClientRect ;
1714
+ getBoundingClientRect ( ) : DOMRect ;
1715
1715
toString ( ) : string ;
1716
1716
compareBoundaryPoints ( how : number , sourceRange : Range ) : number ;
1717
1717
insertNode ( newNode : Node ) : void ;
@@ -1720,7 +1720,7 @@ declare class Range { // extension
1720
1720
cloneContents ( ) : DocumentFragment ;
1721
1721
setEnd ( refNode : Node , offset : number ) : void ;
1722
1722
cloneRange ( ) : Range ;
1723
- getClientRects ( ) : ClientRectList ;
1723
+ getClientRects ( ) : DOMRectList ;
1724
1724
surroundContents ( newParent : Node ) : void ;
1725
1725
deleteContents ( ) : void ;
1726
1726
setStartAfter ( refNode : Node ) : void ;
@@ -1800,8 +1800,8 @@ declare class Element extends Node implements Animatable {
1800
1800
getAttributeNS ( namespaceURI : string | null , localName : string ) : string | null ;
1801
1801
getAttributeNode ( name : string ) : Attr | null ;
1802
1802
getAttributeNodeNS ( namespaceURI : string | null , localName : string ) : Attr | null ;
1803
- getBoundingClientRect ( ) : ClientRect ;
1804
- getClientRects ( ) : ClientRect [ ] ;
1803
+ getBoundingClientRect ( ) : DOMRect ;
1804
+ getClientRects ( ) : DOMRectList ;
1805
1805
getElementsByClassName ( names : string ) : HTMLCollection < HTMLElement > ;
1806
1806
getElementsByTagName ( name : 'a' ) : HTMLCollection < HTMLAnchorElement > ;
1807
1807
getElementsByTagName ( name : 'audio' ) : HTMLCollection < HTMLAudioElement > ;
@@ -2093,7 +2093,7 @@ declare class HTMLElement extends Element {
2093
2093
blur ( ) : void ;
2094
2094
click ( ) : void ;
2095
2095
focus ( options ?: FocusOptions ) : void ;
2096
- getBoundingClientRect ( ) : ClientRect ;
2096
+ getBoundingClientRect ( ) : DOMRect ;
2097
2097
forceSpellcheck ( ) : void ;
2098
2098
accessKey : string ;
2099
2099
accessKeyLabel : string ;
@@ -4235,7 +4235,7 @@ declare class TextRange {
4235
4235
scrollIntoView ( fStart ? : boolean ) : void ;
4236
4236
findText ( string : string , count ? : number , flags ? : number ) : boolean ;
4237
4237
execCommand ( cmdID : string , showUI ? : boolean , value ? : any ) : boolean ;
4238
- getBoundingClientRect ( ) : ClientRect | DOMRect ;
4238
+ getBoundingClientRect ( ) : DOMRect ;
4239
4239
moveToBookmark ( bookmark : string ) : boolean ;
4240
4240
isEqual ( range : TextRange ) : boolean ;
4241
4241
duplicate ( ) : TextRange ;
@@ -4245,7 +4245,7 @@ declare class TextRange {
4245
4245
pasteHTML ( html : string ) : void ;
4246
4246
inRange ( range : TextRange ) : boolean ;
4247
4247
moveEnd ( unit : string , count ? : number ) : number ;
4248
- getClientRects ( ) : ClientRectList | DOMRectList ;
4248
+ getClientRects ( ) : DOMRectList ;
4249
4249
moveStart ( unit : string , count ? : number ) : number ;
4250
4250
parentElement ( ) : Element ;
4251
4251
queryCommandState ( cmdID : string ) : boolean ;
@@ -4258,23 +4258,11 @@ declare class TextRange {
4258
4258
queryCommandEnabled ( cmdID : string ) : boolean ;
4259
4259
}
4260
4260
4261
- declare class ClientRect { // extension
4262
- left : number ;
4263
- x : number ;
4264
- width : number ;
4265
- right : number ;
4266
- top : number ;
4267
- y : number ;
4268
- bottom : number ;
4269
- height : number ;
4270
- }
4271
-
4272
- declare class ClientRectList { // extension
4273
- @@iterator ( ) : Iterator < ClientRect > ;
4274
- length : number ;
4275
- item ( index : number ) : ClientRect ;
4276
- [ index : number ] : ClientRect ;
4277
- }
4261
+ // These types used to exist as a copy of DOMRect/DOMRectList, which is
4262
+ // incorrect because there are no ClientRect/ClientRectList globals on the DOM.
4263
+ // Keep these as type aliases for backwards compatibility.
4264
+ declare type ClientRect = DOMRect;
4265
+ declare type ClientRectList = DOMRectList;
4278
4266
4279
4267
// TODO: HTML*Element
4280
4268
0 commit comments