diff --git a/lib/enu/diagnosticMessages.generated.json.lcg b/lib/enu/diagnosticMessages.generated.json.lcg
index 1f3c74ec2a0..033c72ccc65 100644
--- a/lib/enu/diagnosticMessages.generated.json.lcg
+++ b/lib/enu/diagnosticMessages.generated.json.lcg
@@ -303,6 +303,12 @@
+ -
+
+
+
+
+
-
@@ -831,6 +837,18 @@
+ -
+
+
+
+
+
+ -
+
+
+
+
+
-
@@ -1191,6 +1209,24 @@
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
-
@@ -1875,6 +1911,12 @@
+ -
+
+
+
+
+
-
@@ -3603,6 +3645,12 @@
+ -
+
+
+
+
+
-
@@ -3837,6 +3885,12 @@
+ -
+
+
+
+
+
-
@@ -5181,6 +5235,12 @@
+ -
+
+
+
+
+
-
@@ -5513,7 +5573,7 @@
-
-
+
diff --git a/lib/es/diagnosticMessages.generated.json b/lib/es/diagnosticMessages.generated.json
index 48518009502..351960fc67d 100644
--- a/lib/es/diagnosticMessages.generated.json
+++ b/lib/es/diagnosticMessages.generated.json
@@ -221,7 +221,7 @@
"Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_proper_2424": "La clase '{0}' define la función miembro de instancia como '{1}', pero la clase extendida '{2}' la define como propiedad de miembro de instancia.",
"Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_functi_2425": "La clase '{0}' define la propiedad de miembro de instancia como '{1}', pero la clase extendida '{2}' la define como función miembro de instancia.",
"Class_0_incorrectly_extends_base_class_1_2415": "La clase '{0}' extiende la clase base '{1}' de forma incorrecta.",
- "Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclas_2720": "Class '{0}' incorrectly implements class '{1}'. Did you mean to extend '{1}' and inherit its members as a subclass?",
+ "Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclas_2720": "La clase \"{0}\" no implementa correctamente la clase \"{1}\". ¿Pretendía extender \"{1}\" y heredar sus miembros como una subclase?",
"Class_0_incorrectly_implements_interface_1_2420": "La clase '{0}' implementa la interfaz '{1}' de forma incorrecta.",
"Class_0_used_before_its_declaration_2449": "Se ha usado la clase \"{0}\" antes de declararla.",
"Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025": "Las declaraciones de clase no pueden tener más de una etiqueta \"@augments\" o \"@extends\".",
diff --git a/lib/lib.d.ts b/lib/lib.d.ts
index 0b7e46fb2d5..b3965fa0607 100644
--- a/lib/lib.d.ts
+++ b/lib/lib.d.ts
@@ -4879,7 +4879,7 @@ interface ProgressEventInit extends EventInit {
}
interface PushSubscriptionOptionsInit {
- applicationServerKey?: any;
+ applicationServerKey?: BufferSource | null;
userVisibleOnly?: boolean;
}
@@ -4888,7 +4888,8 @@ interface RegistrationOptions {
}
interface RequestInit {
- body?: any;
+ signal?: AbortSignal;
+ body?: Blob | BufferSource | FormData | string | null;
cache?: RequestCache;
credentials?: RequestCredentials;
headers?: HeadersInit;
@@ -5206,7 +5207,7 @@ interface RTCTransportStats extends RTCStats {
}
interface ScopedCredentialDescriptor {
- id: any;
+ id: BufferSource;
transports?: Transport[];
type: ScopedCredentialType;
}
@@ -7714,11 +7715,11 @@ interface Element extends Node, GlobalEventHandlers, ElementTraversal, NodeSelec
slot: string;
readonly shadowRoot: ShadowRoot | null;
getAttribute(name: string): string | null;
- getAttributeNode(name: string): Attr;
- getAttributeNodeNS(namespaceURI: string, localName: string): Attr;
+ getAttributeNode(name: string): Attr | null;
+ getAttributeNodeNS(namespaceURI: string, localName: string): Attr | null;
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;
@@ -7875,9 +7876,10 @@ declare var External: {
};
interface File extends Blob {
- readonly lastModifiedDate: any;
+ readonly lastModifiedDate: Date;
readonly name: string;
readonly webkitRelativePath: string;
+ readonly lastModified: number;
}
declare var File: {
@@ -9015,6 +9017,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;
@@ -9318,6 +9321,10 @@ interface HTMLIFrameElement extends HTMLElement, GetSVGDocument {
* Sets or retrieves the width of the object.
*/
width: string;
+ /**
+ * Sets or retrives the content of the page that is to contain.
+ */
+ srcdoc: string;
addEventListener(type: K, listener: (this: HTMLIFrameElement, ev: HTMLIFrameElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
removeEventListener(type: K, listener: (this: HTMLIFrameElement, ev: HTMLIFrameElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
@@ -9613,8 +9620,9 @@ interface HTMLInputElement extends HTMLElement {
* Sets the start and end positions of a selection in a text field.
* @param start The offset into the text field for the start of the selection.
* @param end The offset into the text field for the end of the selection.
+ * @param direction The direction in which the selection is performed.
*/
- setSelectionRange(start?: number, end?: number, direction?: string): void;
+ setSelectionRange(start: number, end: number, direction?: "forward" | "backward" | "none"): void;
/**
* Decrements a range input control's value by the value given by the Step attribute. If the optional parameter is used, it will decrement the input control's step value multiplied by the parameter's value.
* @param n Value to decrement the value by.
@@ -10175,6 +10183,7 @@ interface HTMLObjectElement extends HTMLElement, GetSVGDocument {
* Returns whether an element will successfully validate based on forms validation rules and constraints.
*/
readonly willValidate: boolean;
+ typemustmatch: boolean;
/**
* Returns whether a form will validate when it is submitted, without having to submit it.
*/
@@ -11076,8 +11085,9 @@ interface HTMLTextAreaElement extends HTMLElement {
* Sets the start and end positions of a selection in a text field.
* @param start The offset into the text field for the start of the selection.
* @param end The offset into the text field for the end of the selection.
+ * @param direction The direction in which the selection is performed.
*/
- setSelectionRange(start: number, end: number): void;
+ setSelectionRange(start: number, end: number, direction?: "forward" | "backward" | "none"): void;
addEventListener(type: K, listener: (this: HTMLTextAreaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
removeEventListener(type: K, listener: (this: HTMLTextAreaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
@@ -11480,10 +11490,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;
@@ -11652,7 +11662,7 @@ declare var MediaKeyMessageEvent: {
interface MediaKeys {
createSession(sessionType?: MediaKeySessionType): MediaKeySession;
- setServerCertificate(serverCertificate: any): Promise;
+ setServerCertificate(serverCertificate: BufferSource): Promise;
}
declare var MediaKeys: {
@@ -11666,10 +11676,10 @@ interface MediaKeySession extends EventTarget {
readonly keyStatuses: MediaKeyStatusMap;
readonly sessionId: string;
close(): Promise;
- generateRequest(initDataType: string, initData: any): Promise;
+ generateRequest(initDataType: string, initData: BufferSource): Promise;
load(sessionId: string): Promise;
remove(): Promise;
- update(response: any): Promise;
+ update(response: BufferSource): Promise;
}
declare var MediaKeySession: {
@@ -11680,8 +11690,8 @@ declare var MediaKeySession: {
interface MediaKeyStatusMap {
readonly size: number;
forEach(callback: ForEachCallback): void;
- get(keyId: any): MediaKeyStatus;
- has(keyId: any): boolean;
+ get(keyId: BufferSource): MediaKeyStatus;
+ has(keyId: BufferSource): boolean;
}
declare var MediaKeyStatusMap: {
@@ -13281,8 +13291,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;
@@ -13345,6 +13355,7 @@ interface Request extends Object, Body {
readonly referrerPolicy: ReferrerPolicy;
readonly type: RequestType;
readonly url: string;
+ readonly signal: AbortSignal;
clone(): Request;
}
@@ -16331,7 +16342,7 @@ interface URL {
declare var URL: {
prototype: URL;
- new(url: string, base?: string): URL;
+ new(url: string, base?: string | URL): URL;
createObjectURL(object: any, options?: ObjectURLOptions): string;
revokeObjectURL(url: string): void;
};
@@ -16419,8 +16430,8 @@ declare var WaveShaperNode: {
};
interface WebAuthentication {
- getAssertion(assertionChallenge: any, options?: AssertionOptions): Promise;
- makeCredential(accountInformation: Account, cryptoParameters: ScopedCredentialParameters[], attestationChallenge: any, options?: ScopedCredentialOptions): Promise;
+ getAssertion(assertionChallenge: BufferSource, options?: AssertionOptions): Promise;
+ makeCredential(accountInformation: Account, cryptoParameters: ScopedCredentialParameters[], attestationChallenge: BufferSource, options?: ScopedCredentialOptions): Promise;
}
declare var WebAuthentication: {
@@ -18775,6 +18786,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;
@@ -18793,6 +18821,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;
@@ -18897,6 +18944,43 @@ interface WEBGL_lose_context {
restoreContext(): void;
}
+interface AbortController {
+ readonly signal: AbortSignal;
+ abort(): void;
+}
+
+declare var AbortController: {
+ prototype: AbortController;
+ new(): AbortController;
+};
+
+interface AbortSignal extends EventTarget {
+ readonly aborted: boolean;
+ onabort: (ev: Event) => any;
+}
+
+interface EventSource extends EventTarget {
+ readonly url: string;
+ readonly withCredentials: boolean;
+ readonly CONNECTING: number;
+ readonly OPEN: number;
+ readonly CLOSED: number;
+ readonly readyState: number;
+ onopen: (evt: MessageEvent) => any;
+ onmessage: (evt: MessageEvent) => any;
+ onerror: (evt: MessageEvent) => any;
+ close(): void;
+}
+
+declare var EventSource: {
+ prototype: EventSource;
+ new(url: string, eventSourceInitDict?: EventSourceInit): EventSource;
+};
+
+interface EventSourceInit {
+ readonly withCredentials: boolean;
+}
+
declare type EventListenerOrEventListenerObject = EventListener | EventListenerObject;
interface DecodeErrorCallback {
@@ -18909,7 +18993,7 @@ interface ErrorEventHandler {
(message: string, filename?: string, lineno?: number, colno?: number, error?: Error): void;
}
interface ForEachCallback {
- (keyId: any, status: MediaKeyStatus): void;
+ (keyId: BufferSource, status: MediaKeyStatus): void;
}
interface FrameRequestCallback {
(time: number): void;
@@ -19147,6 +19231,7 @@ interface SVGElementTagNameMap {
"view": SVGViewElement;
}
+/** @deprecated Directly use HTMLElementTagNameMap or SVGElementTagNameMap as appropriate, instead. */
interface ElementTagNameMap extends HTMLElementTagNameMap, SVGElementTagNameMap { }
declare var Audio: { new(src?: string): HTMLAudioElement; };
@@ -19364,7 +19449,7 @@ declare function removeEventListener(type: K, li
declare function removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
type AAGUID = string;
type AlgorithmIdentifier = string | Algorithm;
-type BodyInit = any;
+type BodyInit = Blob | BufferSource | FormData | string;
type ByteString = string;
type ConstrainBoolean = boolean | ConstrainBooleanParameters;
type ConstrainDOMString = string | string[] | ConstrainDOMStringParameters;
diff --git a/lib/lib.dom.d.ts b/lib/lib.dom.d.ts
index 0c3292a3bbc..8e5af725a8e 100644
--- a/lib/lib.dom.d.ts
+++ b/lib/lib.dom.d.ts
@@ -781,7 +781,7 @@ interface ProgressEventInit extends EventInit {
}
interface PushSubscriptionOptionsInit {
- applicationServerKey?: any;
+ applicationServerKey?: BufferSource | null;
userVisibleOnly?: boolean;
}
@@ -790,7 +790,8 @@ interface RegistrationOptions {
}
interface RequestInit {
- body?: any;
+ signal?: AbortSignal;
+ body?: Blob | BufferSource | FormData | string | null;
cache?: RequestCache;
credentials?: RequestCredentials;
headers?: HeadersInit;
@@ -1108,7 +1109,7 @@ interface RTCTransportStats extends RTCStats {
}
interface ScopedCredentialDescriptor {
- id: any;
+ id: BufferSource;
transports?: Transport[];
type: ScopedCredentialType;
}
@@ -3616,11 +3617,11 @@ interface Element extends Node, GlobalEventHandlers, ElementTraversal, NodeSelec
slot: string;
readonly shadowRoot: ShadowRoot | null;
getAttribute(name: string): string | null;
- getAttributeNode(name: string): Attr;
- getAttributeNodeNS(namespaceURI: string, localName: string): Attr;
+ getAttributeNode(name: string): Attr | null;
+ getAttributeNodeNS(namespaceURI: string, localName: string): Attr | null;
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;
@@ -3777,9 +3778,10 @@ declare var External: {
};
interface File extends Blob {
- readonly lastModifiedDate: any;
+ readonly lastModifiedDate: Date;
readonly name: string;
readonly webkitRelativePath: string;
+ readonly lastModified: number;
}
declare var File: {
@@ -4917,6 +4919,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;
@@ -5220,6 +5223,10 @@ interface HTMLIFrameElement extends HTMLElement, GetSVGDocument {
* Sets or retrieves the width of the object.
*/
width: string;
+ /**
+ * Sets or retrives the content of the page that is to contain.
+ */
+ srcdoc: string;
addEventListener(type: K, listener: (this: HTMLIFrameElement, ev: HTMLIFrameElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
removeEventListener(type: K, listener: (this: HTMLIFrameElement, ev: HTMLIFrameElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
@@ -5515,8 +5522,9 @@ interface HTMLInputElement extends HTMLElement {
* Sets the start and end positions of a selection in a text field.
* @param start The offset into the text field for the start of the selection.
* @param end The offset into the text field for the end of the selection.
+ * @param direction The direction in which the selection is performed.
*/
- setSelectionRange(start?: number, end?: number, direction?: string): void;
+ setSelectionRange(start: number, end: number, direction?: "forward" | "backward" | "none"): void;
/**
* Decrements a range input control's value by the value given by the Step attribute. If the optional parameter is used, it will decrement the input control's step value multiplied by the parameter's value.
* @param n Value to decrement the value by.
@@ -6077,6 +6085,7 @@ interface HTMLObjectElement extends HTMLElement, GetSVGDocument {
* Returns whether an element will successfully validate based on forms validation rules and constraints.
*/
readonly willValidate: boolean;
+ typemustmatch: boolean;
/**
* Returns whether a form will validate when it is submitted, without having to submit it.
*/
@@ -6978,8 +6987,9 @@ interface HTMLTextAreaElement extends HTMLElement {
* Sets the start and end positions of a selection in a text field.
* @param start The offset into the text field for the start of the selection.
* @param end The offset into the text field for the end of the selection.
+ * @param direction The direction in which the selection is performed.
*/
- setSelectionRange(start: number, end: number): void;
+ setSelectionRange(start: number, end: number, direction?: "forward" | "backward" | "none"): void;
addEventListener(type: K, listener: (this: HTMLTextAreaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
removeEventListener(type: K, listener: (this: HTMLTextAreaElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
@@ -7382,10 +7392,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;
@@ -7554,7 +7564,7 @@ declare var MediaKeyMessageEvent: {
interface MediaKeys {
createSession(sessionType?: MediaKeySessionType): MediaKeySession;
- setServerCertificate(serverCertificate: any): Promise;
+ setServerCertificate(serverCertificate: BufferSource): Promise;
}
declare var MediaKeys: {
@@ -7568,10 +7578,10 @@ interface MediaKeySession extends EventTarget {
readonly keyStatuses: MediaKeyStatusMap;
readonly sessionId: string;
close(): Promise;
- generateRequest(initDataType: string, initData: any): Promise;
+ generateRequest(initDataType: string, initData: BufferSource): Promise;
load(sessionId: string): Promise;
remove(): Promise;
- update(response: any): Promise;
+ update(response: BufferSource): Promise;
}
declare var MediaKeySession: {
@@ -7582,8 +7592,8 @@ declare var MediaKeySession: {
interface MediaKeyStatusMap {
readonly size: number;
forEach(callback: ForEachCallback): void;
- get(keyId: any): MediaKeyStatus;
- has(keyId: any): boolean;
+ get(keyId: BufferSource): MediaKeyStatus;
+ has(keyId: BufferSource): boolean;
}
declare var MediaKeyStatusMap: {
@@ -9183,8 +9193,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;
@@ -9247,6 +9257,7 @@ interface Request extends Object, Body {
readonly referrerPolicy: ReferrerPolicy;
readonly type: RequestType;
readonly url: string;
+ readonly signal: AbortSignal;
clone(): Request;
}
@@ -12233,7 +12244,7 @@ interface URL {
declare var URL: {
prototype: URL;
- new(url: string, base?: string): URL;
+ new(url: string, base?: string | URL): URL;
createObjectURL(object: any, options?: ObjectURLOptions): string;
revokeObjectURL(url: string): void;
};
@@ -12321,8 +12332,8 @@ declare var WaveShaperNode: {
};
interface WebAuthentication {
- getAssertion(assertionChallenge: any, options?: AssertionOptions): Promise;
- makeCredential(accountInformation: Account, cryptoParameters: ScopedCredentialParameters[], attestationChallenge: any, options?: ScopedCredentialOptions): Promise;
+ getAssertion(assertionChallenge: BufferSource, options?: AssertionOptions): Promise;
+ makeCredential(accountInformation: Account, cryptoParameters: ScopedCredentialParameters[], attestationChallenge: BufferSource, options?: ScopedCredentialOptions): Promise;
}
declare var WebAuthentication: {
@@ -14677,6 +14688,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;
@@ -14695,6 +14723,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;
@@ -14799,6 +14846,43 @@ interface WEBGL_lose_context {
restoreContext(): void;
}
+interface AbortController {
+ readonly signal: AbortSignal;
+ abort(): void;
+}
+
+declare var AbortController: {
+ prototype: AbortController;
+ new(): AbortController;
+};
+
+interface AbortSignal extends EventTarget {
+ readonly aborted: boolean;
+ onabort: (ev: Event) => any;
+}
+
+interface EventSource extends EventTarget {
+ readonly url: string;
+ readonly withCredentials: boolean;
+ readonly CONNECTING: number;
+ readonly OPEN: number;
+ readonly CLOSED: number;
+ readonly readyState: number;
+ onopen: (evt: MessageEvent) => any;
+ onmessage: (evt: MessageEvent) => any;
+ onerror: (evt: MessageEvent) => any;
+ close(): void;
+}
+
+declare var EventSource: {
+ prototype: EventSource;
+ new(url: string, eventSourceInitDict?: EventSourceInit): EventSource;
+};
+
+interface EventSourceInit {
+ readonly withCredentials: boolean;
+}
+
declare type EventListenerOrEventListenerObject = EventListener | EventListenerObject;
interface DecodeErrorCallback {
@@ -14811,7 +14895,7 @@ interface ErrorEventHandler {
(message: string, filename?: string, lineno?: number, colno?: number, error?: Error): void;
}
interface ForEachCallback {
- (keyId: any, status: MediaKeyStatus): void;
+ (keyId: BufferSource, status: MediaKeyStatus): void;
}
interface FrameRequestCallback {
(time: number): void;
@@ -15049,6 +15133,7 @@ interface SVGElementTagNameMap {
"view": SVGViewElement;
}
+/** @deprecated Directly use HTMLElementTagNameMap or SVGElementTagNameMap as appropriate, instead. */
interface ElementTagNameMap extends HTMLElementTagNameMap, SVGElementTagNameMap { }
declare var Audio: { new(src?: string): HTMLAudioElement; };
@@ -15266,7 +15351,7 @@ declare function removeEventListener(type: K, li
declare function removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
type AAGUID = string;
type AlgorithmIdentifier = string | Algorithm;
-type BodyInit = any;
+type BodyInit = Blob | BufferSource | FormData | string;
type ByteString = string;
type ConstrainBoolean = boolean | ConstrainBooleanParameters;
type ConstrainDOMString = string | string[] | ConstrainDOMStringParameters;
diff --git a/lib/lib.es2015.collection.d.ts b/lib/lib.es2015.collection.d.ts
index 4d84af429be..33417297531 100644
--- a/lib/lib.es2015.collection.d.ts
+++ b/lib/lib.es2015.collection.d.ts
@@ -30,7 +30,7 @@ interface Map {
interface MapConstructor {
new (): Map;
- new (entries?: [K, V][]): Map;
+ new (entries?: ReadonlyArray<[K, V]>): Map;
readonly prototype: Map;
}
declare var Map: MapConstructor;
@@ -51,7 +51,7 @@ interface WeakMap {
interface WeakMapConstructor {
new (): WeakMap