From 5c7909de5d6b5a0217dac4a0eb2cffff136a29ba Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Tue, 21 Mar 2017 23:09:04 +0900 Subject: [PATCH 01/50] support multiple constructors --- TS.fsx | 18 ++++++++++++------ sample.xml | 23 +++++++++++++++-------- 2 files changed, 27 insertions(+), 14 deletions(-) diff --git a/TS.fsx b/TS.fsx index 112d913dc..3add97360 100644 --- a/TS.fsx +++ b/TS.fsx @@ -1078,6 +1078,11 @@ module Emit = let emitConstructorSigFromJson (c: InputJsonType.Root) = c.Signatures |> Array.iter (Pt.Printl "%s;") + let emitConstructorSingleSignature (ctor: Browser.Constructor) = + for { ParamCombinations = pCombList } in GetOverloads (Ctor ctor) false do + let paramsString = ParamsToString pCombList + Pt.Printl "new(%s): %s;" paramsString i.Name + let removedCtor = getRemovedItems ItemKind.Constructor flavor |> Array.tryFind (matchInterface i.Name) if Option.isNone removedCtor then let overriddenCtor = getOverriddenItems ItemKind.Constructor flavor |> Array.tryFind (matchInterface i.Name) @@ -1085,12 +1090,13 @@ module Emit = | Some c' -> emitConstructorSigFromJson c' | _ -> //Emit constructor signature - match i.Constructor with - | Some ctor -> - for { ParamCombinations = pCombList } in GetOverloads (Ctor ctor) false do - let paramsString = ParamsToString pCombList - Pt.Printl "new(%s): %s;" paramsString i.Name - | _ -> Pt.Printl "new(): %s;" i.Name + match i.Constructors with + | Some ctors -> + i.Constructors.Value.Constructors |> Array.iter emitConstructorSingleSignature + | _ -> + match i.Constructor with + | Some ctor -> emitConstructorSingleSignature ctor + | _ -> Pt.Printl "new(): %s;" i.Name getAddedItems ItemKind.Constructor flavor |> Array.filter (matchInterface i.Name) diff --git a/sample.xml b/sample.xml index 3cea2a352..4b9033d5b 100644 --- a/sample.xml +++ b/sample.xml @@ -6275,14 +6275,21 @@ - - - - - - - - + + + + + + + + + + + + + + + From a7bf4009194a60aab1120342e8e0ac4da7453643 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sat, 25 Mar 2017 00:37:28 +0900 Subject: [PATCH 02/50] multiple directly --- TS.fsx | 11 ++++------- sample.xml | 20 +++++++++----------- 2 files changed, 13 insertions(+), 18 deletions(-) diff --git a/TS.fsx b/TS.fsx index 3add97360..6304b26be 100644 --- a/TS.fsx +++ b/TS.fsx @@ -1090,13 +1090,10 @@ module Emit = | Some c' -> emitConstructorSigFromJson c' | _ -> //Emit constructor signature - match i.Constructors with - | Some ctors -> - i.Constructors.Value.Constructors |> Array.iter emitConstructorSingleSignature - | _ -> - match i.Constructor with - | Some ctor -> emitConstructorSingleSignature ctor - | _ -> Pt.Printl "new(): %s;" i.Name + if not (Array.isEmpty i.Constructors) then + i.Constructors |> Array.iter emitConstructorSingleSignature + else + Pt.Printl "new(): %s;" i.Name getAddedItems ItemKind.Constructor flavor |> Array.filter (matchInterface i.Name) diff --git a/sample.xml b/sample.xml index 4b9033d5b..d7d67369c 100644 --- a/sample.xml +++ b/sample.xml @@ -6275,17 +6275,15 @@ - - - - - - - - - - - + + + + + + + + + From 29149c475f0d346cc592f6ff940350e87a2ba337 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Mon, 27 Mar 2017 19:57:41 +0900 Subject: [PATCH 03/50] Support FrozenArray --- TS.fsx | 1 + 1 file changed, 1 insertion(+) diff --git a/TS.fsx b/TS.fsx index 6304b26be..b6be929b5 100644 --- a/TS.fsx +++ b/TS.fsx @@ -705,6 +705,7 @@ module Emit = | "EventListener" -> "EventListenerOrEventListenerObject" | "double" | "float" -> "number" | "Function" -> "Function" + | "FrozenArray" -> "Array" | "object" -> "any" | "Promise" -> "Promise" | "ReadyState" -> "string" From 683cbf35e9ab7fcc1324b12bdc1f80cec627c0d2 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Mon, 27 Mar 2017 21:04:32 +0900 Subject: [PATCH 04/50] support unrestricted float --- TS.fsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TS.fsx b/TS.fsx index b6be929b5..4103b87dc 100644 --- a/TS.fsx +++ b/TS.fsx @@ -703,7 +703,7 @@ module Emit = | "DOMTimeStamp" -> "number" | "EndOfStreamError" -> "number" | "EventListener" -> "EventListenerOrEventListenerObject" - | "double" | "float" -> "number" + | "double" | "float" | "unrestricted float" -> "number" | "Function" -> "Function" | "FrozenArray" -> "Array" | "object" -> "any" From 44b6bfd145a09a861c69d74524cc8b320432b20c Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Wed, 29 Mar 2017 09:44:49 +0900 Subject: [PATCH 05/50] use ReadonlyArray for FrozenArray --- TS.fsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TS.fsx b/TS.fsx index 4103b87dc..d4eb74542 100644 --- a/TS.fsx +++ b/TS.fsx @@ -705,7 +705,7 @@ module Emit = | "EventListener" -> "EventListenerOrEventListenerObject" | "double" | "float" | "unrestricted float" -> "number" | "Function" -> "Function" - | "FrozenArray" -> "Array" + | "FrozenArray" -> "ReadonlyArray" | "object" -> "any" | "Promise" -> "Promise" | "ReadyState" -> "string" From aa630884500968ac5838a193fd0285e830e90b03 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Wed, 29 Mar 2017 10:14:57 +0900 Subject: [PATCH 06/50] remove unneeded type conversion 1. AbortMode and CanvasPixelArray do not exist anymore 2. EndOfStreamError is defined as an enum type, which can already be managed by `EmitEnums`. --- TS.fsx | 3 --- 1 file changed, 3 deletions(-) diff --git a/TS.fsx b/TS.fsx index d4eb74542..0f6e1a9cd 100644 --- a/TS.fsx +++ b/TS.fsx @@ -693,15 +693,12 @@ module Emit = /// Get typescript type using object dom type, object name, and it's associated interface name let rec DomTypeToTsType (objDomType: string) = match objDomType.Trim('?') with - | "AbortMode" -> "String" | "any" -> "any" | "bool" | "boolean" | "Boolean" -> "boolean" - | "CanvasPixelArray" -> "number[]" | "Date" -> "Date" | "DOMHighResTimeStamp" -> "number" | "DOMString" -> "string" | "DOMTimeStamp" -> "number" - | "EndOfStreamError" -> "number" | "EventListener" -> "EventListenerOrEventListenerObject" | "double" | "float" | "unrestricted float" -> "number" | "Function" -> "Function" From 96d928d1a0e43b21aa388ac1914982b71cefa670 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Wed, 29 Mar 2017 23:04:18 +0900 Subject: [PATCH 07/50] support namespaces --- TS.fsx | 106 +- inputfiles/browser.webidl.xml | 26502 ++++++++++++++++---------------- sample.xml | 131 +- 3 files changed, 13135 insertions(+), 13604 deletions(-) diff --git a/TS.fsx b/TS.fsx index 0f6e1a9cd..e366f10f1 100644 --- a/TS.fsx +++ b/TS.fsx @@ -119,6 +119,10 @@ module Types = | Ctor of Browser.Constructor | CallBackFun of Browser.CallbackFunction + type InterfaceOrNamespace = + | Interface of Browser.Interface + | Namespace of Browser.Namespace + // Note: // Eventhandler's name and the eventName are not just off by "on". // For example, handlers named "onabort" may handle "SVGAbort" event in the XML file @@ -160,6 +164,7 @@ module InputJson = | SignatureOverload | TypeDef | Extends + | Namespace override x.ToString() = match x with | Property _ -> "property" @@ -172,6 +177,7 @@ module InputJson = | SignatureOverload _ -> "signatureoverload" | TypeDef _ -> "typedef" | Extends _ -> "extends" + | Namespace _ -> "namespace" let getItemByName (allItems: InputJsonType.Root []) (itemName: string) (kind: ItemKind) otherFilter = let filter (item: InputJsonType.Root) = @@ -368,6 +374,11 @@ module Data = let isFromBrowserXml = browser.Enums |> Array.filter (fun i -> knownWorkerEnums.Contains i.Name) Array.append isFromBrowserXml worker.Enums + let GetNamespacesByFlavor flavor = + match flavor with + | Flavor.Web | Flavor.All -> browser.Namespaces + | Flavor.Worker -> worker.Namespaces + /// Event name to event type map let eNameToEType = [ for i in allWebNonCallbackInterfaces do @@ -890,7 +901,16 @@ module Emit = | Some pollutor -> "this: " + pollutor.Name + ", " | _ -> "" - let EmitProperties flavor prefix (emitScope: EmitScope) (i: Browser.Interface) (conflictedMembers: Set) = + let EmitProperties flavor prefix (emitScope: EmitScope) (i: InterfaceOrNamespace) (conflictedMembers: Set) = + let name = + match i with + | InterfaceOrNamespace.Interface it -> it.Name + | InterfaceOrNamespace.Namespace n -> n.Name + let properties = + match i with + | InterfaceOrNamespace.Interface it -> it.Properties + | InterfaceOrNamespace.Namespace n -> n.Properties + let emitPropertyFromJson (p: InputJsonType.Root) = let readOnlyModifier = match p.Readonly with @@ -899,7 +919,7 @@ module Emit = Pt.Printl "%s%s%s: %s;" prefix readOnlyModifier p.Name.Value p.Type.Value let emitCommentForProperty (printLine: Printf.StringFormat<_, unit> -> _) pName = - match CommentJson.GetCommentForProperty i.Name pName with + match CommentJson.GetCommentForProperty name pName with | Some comment -> printLine "%s" comment | _ -> () @@ -909,24 +929,24 @@ module Emit = emitCommentForProperty printLine p.Name // Treat window.name specially because of https://github.com/Microsoft/TypeScript/issues/9850 - if p.Name = "name" && i.Name = "Window" && emitScope = EmitScope.All then + if p.Name = "name" && name = "Window" && emitScope = EmitScope.All then printLine "declare const name: never;" - elif Option.isNone (getRemovedItemByName p.Name ItemKind.Property i.Name) then - match getOverriddenItemByName p.Name ItemKind.Property i.Name with + elif Option.isNone (getRemovedItemByName p.Name ItemKind.Property name) then + match getOverriddenItemByName p.Name ItemKind.Property name with | Some p' -> emitPropertyFromJson p' | None -> let pType = - match p.Type with - | "EventHandler" -> + match (i, p.Type) with + | (InterfaceOrNamespace.Interface it, "EventHandler") -> // Sometimes event handlers with the same name may actually handle different // events in different interfaces. For example, "onerror" handles "ErrorEvent" // normally, but in "SVGSVGElement" it handles "SVGError" event instead. let eType = if p.EventHandler.IsSome then - getEventTypeInInterface p.EventHandler.Value i + getEventTypeInInterface p.EventHandler.Value it else "Event" - String.Format("({0}ev: {1}) => any", EmitEventHandlerThis flavor prefix i, eType) + String.Format("({0}ev: {1}) => any", EmitEventHandlerThis flavor prefix it, eType) | _ -> DomTypeToTsType p.Type let pTypeAndNull = if p.Nullable.IsSome then makeNullable pType else pType let readOnlyModifier = if p.ReadOnly.IsSome && prefix = "" then "readonly " else "" @@ -935,7 +955,7 @@ module Emit = // Note: the schema file shows the property doesn't have "static" attribute, // therefore all properties are emited for the instance type. if emitScope <> StaticOnly then - match i.Properties with + match properties with | Some ps -> ps.Properties |> Array.filter (ShouldKeep flavor) @@ -943,11 +963,21 @@ module Emit = | None -> () for addedItem in getAddedItems ItemKind.Property flavor do - if (matchInterface i.Name addedItem) && (prefix <> "declare var " || addedItem.ExposeGlobally.IsNone || addedItem.ExposeGlobally.Value) then + if (matchInterface name addedItem) && (prefix <> "declare var " || addedItem.ExposeGlobally.IsNone || addedItem.ExposeGlobally.Value) then emitCommentForProperty Pt.Printl addedItem.Name.Value emitPropertyFromJson addedItem - let EmitMethods flavor prefix (emitScope: EmitScope) (i: Browser.Interface) (conflictedMembers: Set) = + let EmitMethods flavor prefix (emitScope: EmitScope) (i: InterfaceOrNamespace) (conflictedMembers: Set) = + let name = + match i with + | InterfaceOrNamespace.Interface it -> it.Name + | InterfaceOrNamespace.Namespace n -> n.Name + + let methods = + match i with + | InterfaceOrNamespace.Interface it -> it.Methods + | InterfaceOrNamespace.Namespace n -> n.Methods + // Note: two cases: // 1. emit the members inside a interface -> no need to add prefix // 2. emit the members outside to expose them (for "Window") -> need to add "declare" @@ -956,7 +986,7 @@ module Emit = let emitCommentForMethod (printLine: Printf.StringFormat<_, unit> -> _) (mName: string option) = if mName.IsSome then - match CommentJson.GetCommentForMethod i.Name mName.Value with + match CommentJson.GetCommentForMethod name mName.Value with | Some comment -> printLine "%s" comment | _ -> () @@ -966,7 +996,7 @@ module Emit = matchScope emitScope m && not (prefix <> "" && OptionCheckValue "addEventListener" m.Name) - let emitMethod flavor prefix (i:Browser.Interface) (m:Browser.Method) = + let emitMethod flavor prefix (i: InterfaceOrNamespace) (m:Browser.Method) = let printLine content = if m.Name.IsSome && conflictedMembers.Contains m.Name.Value then Pt.PrintlToStack content else Pt.Printl content // print comment @@ -977,8 +1007,8 @@ module Emit = // - removedType: meaning the type is marked as removed in the json file // if there is any conflicts between the two, the "removedType" has a higher priority over // the "overridenType". - let removedType = Option.bind (fun name -> InputJson.getRemovedItemByName name InputJson.ItemKind.Method i.Name) m.Name - let overridenType = Option.bind (fun mName -> InputJson.getOverriddenItemByName mName InputJson.ItemKind.Method i.Name) m.Name + let removedType = Option.bind (fun name -> InputJson.getRemovedItemByName name InputJson.ItemKind.Method name) m.Name + let overridenType = Option.bind (fun mName -> InputJson.getOverriddenItemByName mName InputJson.ItemKind.Method name) m.Name if removedType.IsNone then match overridenType with @@ -988,7 +1018,7 @@ module Emit = | _ -> () t.Signatures |> Array.iter (printLine "%s%s;" prefix) | None -> - match i.Name, m.Name with + match name, m.Name with | _, Some "createElement" -> EmitCreateElementOverloads m | _, Some "createEvent" -> EmitCreateEventOverloads m | _, Some "getElementsByTagName" -> EmitGetElementsByTagNameOverloads m @@ -997,7 +1027,7 @@ module Emit = | _ -> if m.Name.IsSome then // If there are added overloads from the json files, print them first - match getAddedItemByName m.Name.Value ItemKind.SignatureOverload i.Name with + match getAddedItemByName m.Name.Value ItemKind.SignatureOverload name with | Some ol -> ol.Signatures |> Array.iter (printLine "%s;") | _ -> () @@ -1009,25 +1039,29 @@ module Emit = if isNullable then makeNullable returnType else returnType printLine "%s%s(%s): %s;" prefix (if m.Name.IsSome then m.Name.Value else "") paramsString returnString - if i.Methods.IsSome then - i.Methods.Value.Methods + if methods.IsSome then + methods.Value.Methods |> Array.filter mFilter |> Array.iter (emitMethod flavor prefix i) for addedItem in getAddedItems ItemKind.Method flavor do - if (matchInterface i.Name addedItem && matchScope emitScope addedItem) then + if (matchInterface name addedItem && matchScope emitScope addedItem) then emitCommentForMethod Pt.Printl addedItem.Name emitMethodFromJson addedItem // The window interface inherited some methods from "Object", // which need to explicitly exposed - if i.Name = "Window" && prefix = "declare function " then + if name = "Window" && prefix = "declare function " then Pt.Printl "declare function toString(): string;" /// Emit the properties and methods of a given interface - let EmitMembers flavor (prefix: string) (emitScope: EmitScope) (i:Browser.Interface) = + let EmitMembers flavor (prefix: string) (emitScope: EmitScope) (i: InterfaceOrNamespace) = + let name = + match i with + | InterfaceOrNamespace.Interface it -> it.Name + | InterfaceOrNamespace.Namespace n -> n.Name let conflictedMembers = - match Map.tryFind i.Name extendConflictsBaseTypes with + match Map.tryFind name extendConflictsBaseTypes with | Some conflict -> conflict.MemberNames | _ -> [] |> Set.ofList @@ -1039,7 +1073,7 @@ module Emit = /// Called only once on the global polluter object let rec EmitAllMembers flavor (i:Browser.Interface) = let prefix = "declare var " - EmitMembers flavor prefix EmitScope.All i + EmitMembers flavor prefix EmitScope.All (InterfaceOrNamespace.Interface i) for relatedIName in iNameToIDependList.[i.Name] do match GetInterfaceByName relatedIName with @@ -1105,7 +1139,7 @@ module Emit = EmitConstructorSignature flavor i EmitConstants i let prefix = "" - EmitMembers flavor prefix EmitScope.StaticOnly i + EmitMembers flavor prefix EmitScope.StaticOnly (InterfaceOrNamespace.Interface i) Pt.DecreaseIndent() Pt.Printl "};" @@ -1253,7 +1287,7 @@ module Emit = Pt.IncreaseIndent() let prefix = "" - EmitMembers flavor prefix EmitScope.InstanceOnly i + EmitMembers flavor prefix EmitScope.InstanceOnly (InterfaceOrNamespace.Interface i) EmitConstants i EmitEventHandlers flavor prefix i EmitIndexers EmitScope.InstanceOnly i @@ -1312,7 +1346,7 @@ module Emit = Pt.IncreaseIndent() let prefix = "" - EmitMembers flavor prefix EmitScope.InstanceOnly i + EmitMembers flavor prefix EmitScope.InstanceOnly (InterfaceOrNamespace.Interface i) EmitEventHandlers flavor prefix i EmitIndexers EmitScope.InstanceOnly i @@ -1322,7 +1356,7 @@ module Emit = Pt.Printl "declare var %s: {" i.Name Pt.IncreaseIndent() EmitConstants i - EmitMembers flavor prefix EmitScope.StaticOnly i + EmitMembers flavor prefix EmitScope.StaticOnly (InterfaceOrNamespace.Interface i) emitAddedConstructor () Pt.DecreaseIndent() Pt.Printl "};" @@ -1334,7 +1368,7 @@ module Emit = Pt.IncreaseIndent() let prefix = "" - EmitMembers flavor prefix EmitScope.StaticOnly i + EmitMembers flavor prefix EmitScope.StaticOnly (InterfaceOrNamespace.Interface i) EmitConstants i EmitEventHandlers flavor prefix i EmitIndexers EmitScope.StaticOnly i @@ -1454,6 +1488,17 @@ module Emit = InputJson.getAddedItems ItemKind.TypeDef flavor |> Array.iter emitTypeDefFromJson + + let EmitNamespaces flavor = + let EmitNamespace (n: Browser.Namespace) = + Pt.Printl "declare namespace %s {" n.Name + Pt.IncreaseIndent() + EmitMembers flavor "" EmitScope.All (InterfaceOrNamespace.Namespace n) + Pt.DecreaseIndent() + Pt.Printl "}" + Pt.Printl "" + + GetNamespacesByFlavor flavor |> Array.iter EmitNamespace let EmitTheWholeThing flavor (target:TextWriter) = Pt.Reset() @@ -1467,6 +1512,7 @@ module Emit = EmitDictionaries flavor browser.CallbackInterfaces.Interfaces |> Array.iter EmitCallBackInterface EmitNonCallbackInterfaces flavor + EmitNamespaces flavor // Add missed interface definition from the spec InputJson.getAddedItems InputJson.Interface flavor |> Array.iter EmitAddedInterface diff --git a/inputfiles/browser.webidl.xml b/inputfiles/browser.webidl.xml index 4ae841ac2..066fe9788 100644 --- a/inputfiles/browser.webidl.xml +++ b/inputfiles/browser.webidl.xml @@ -1,13505 +1,13001 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - segments - sequence - - - suspended - running - closed - - - lowpass - highpass - bandpass - lowshelf - highshelf - peaking - notch - allpass - - - nonzero - evenodd - - - max - clamped-max - explicit - - - speakers - discrete - - - linear - inverse - exponential - - - character - word - sentence - textedit - - - mouse - keyboard - gamepad - - - next - nextunique - prev - prevunique - - - pending - done - - - readonly - readwrite - versionchange - - - inactive - active - disambiguation - - - audioinput - audiooutput - videoinput - - - license-request - license-renewal - license-release - individualization-request - - - temporary - persistent-license - persistent-release-message - - - required - optional - not-allowed - - - usable - expired - output-downscaled - output-not-allowed - status-pending - internal-error - - - live - ended - - - FIDO_2_0 - - - os - stun - turn - peer-derived - - - failed - direct - relay - - - description - localclientevent - inbound-network - outbound-network - inbound-payload - outbound-payload - transportdiagnostics - - - Embedded - USB - NFC - BT - - - unknown - defer - allow - deny - - - geolocation - unlimitedIndexedDBQuota - media - pointerlock - webnotifications - - - up - down - left - right - - - navigate - reload - back_forward - prerender - - - auto - ltr - rtl - - - default - denied - granted - - - sine - square - sawtooth - triangle - custom - - - none - 2x - 4x - - - equalpower - - - success - fail - - - - shipping - delivery - pickup - - - p256dh - auth - - - granted - denied - prompt - - - - no-referrer - no-referrer-when-downgrade - origin-only - origin-when-cross-origin - unsafe-url - - - default - no-store - reload - no-cache - force-cache - - - omit - same-origin - include - - - - document - sharedworker - subresource - unknown - worker - - - navigate - same-origin - no-cors - cors - - - follow - error - manual - - - - audio - font - image - script - style - track - video - - - basic - cors - default - error - opaque - opaqueredirect - - - balanced - max-compat - max-bundle - - - maintain-framerate - maintain-resolution - balanced - - - auto - client - server - - - new - connecting - connected - closed - - - host - srflx - prflx - relay - - - RTP - RTCP - - - new - checking - connected - completed - failed - disconnected - closed - - - new - gathering - complete - - - new - gathering - complete - - - all - nohost - relay - - - udp - tcp - - - controlling - controlled - - - active - passive - so - - - none - relay - all - - - new - checking - connected - completed - disconnected - closed - - - offer - pranswer - answer - - - stable - have-local-offer - have-remote-offer - have-local-pranswer - have-remote-pranswer - closed - - - frozen - waiting - inprogress - failed - succeeded - cancelled - - - host - serverreflexive - peerreflexive - relayed - - - inboundrtp - outboundrtp - session - datachannel - track - transport - candidatepair - localcandidate - remotecandidate - - - ScopedCred - - - installing - installed - activating - activated - redundant - - - usb - nfc - ble - - - user - environment - left - right - - - hidden - visible - prerender - unloaded - - - - arraybuffer - blob - document - json - text - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CanvasPathMethods - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ChildNode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - RandomSource - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - GlobalEventHandlers - NodeSelector - DocumentEvent - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - NodeSelector - - - ChildNode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - GlobalEventHandlers - ElementTraversal - NodeSelector - ChildNode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - MSBaseReader - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DOML2DeprecatedColorProperty - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - GetSVGDocument - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DOML2DeprecatedColorProperty - DOML2DeprecatedSizeProperty - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - GetSVGDocument - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DOML2DeprecatedColorProperty - DOML2DeprecatedSizeProperty - - - - - - - - - - - - - - - - - - - - - - - - GetSVGDocument - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - LinkStyle - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - GetSVGDocument - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - LinkStyle - - - - - - - - - - - - - - - - - - HTMLTableAlignment - - - - - - - - - - - - - - - - - - - HTMLTableAlignment - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - HTMLTableAlignment - - - - - - - - - - - - - - - - - - - - - - - - - HTMLTableAlignment - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - MSBaseReader - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - NavigatorID - NavigatorOnLine - NavigatorContentUtils - NavigatorStorageUtils - NavigatorGeolocation - MSNavigatorDoNotTrack - MSFileSaver - NavigatorBeacon - NavigatorConcurrentHardware - NavigatorUserMedia - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CanvasPathMethods - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Body - - - - - - - - - - - - - - - - - - - - - - - - - Body - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AbstractWorker - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SVGURIReference - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SVGUnitTypes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SVGFilterPrimitiveStandardAttributes - - - - - - - - - - - - - - - - - - - SVGFilterPrimitiveStandardAttributes - - - - - - - - - - - - SVGFilterPrimitiveStandardAttributes - - - - - - - - - - - - - - - - - - - SVGFilterPrimitiveStandardAttributes - - - - - - - - - - - - - - - - - - - - - - SVGFilterPrimitiveStandardAttributes - - - - - - - - - - - - - - - - - - - - - - - SVGFilterPrimitiveStandardAttributes - - - - - - - - - - - - - - - - - - - - - SVGFilterPrimitiveStandardAttributes - - - - - - - - - - - - - - - - - - - - - - - - SVGFilterPrimitiveStandardAttributes - - - - - - - - - - - - - - - - - - - SVGFilterPrimitiveStandardAttributes - - - - - - - - - - - - - - - - - - - - SVGFilterPrimitiveStandardAttributes - SVGURIReference - - - - - - - - - - SVGFilterPrimitiveStandardAttributes - - - - - - - - - - - - - - - - - - SVGFilterPrimitiveStandardAttributes - - - - - - - - - - - - - SVGFilterPrimitiveStandardAttributes - - - - - - - - - - - - - - - - - - - - - - SVGFilterPrimitiveStandardAttributes - - - - - - - - - - - - - - - - - - - - - - - - - - - - SVGFilterPrimitiveStandardAttributes - - - - - - - - - - - - - - - - - - SVGFilterPrimitiveStandardAttributes - - - - - - - - - - - - - - - - SVGUnitTypes - SVGURIReference - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SVGUnitTypes - SVGURIReference - - - - - - - - - - - - SVGTests - - - - - - - - - - - - - - - - - - - - - - - - - - - - SVGURIReference - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SVGFitToViewBox - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SVGTests - SVGUnitTypes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SVGTests - SVGUnitTypes - SVGFitToViewBox - SVGURIReference - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SVGAnimatedPoints - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SVGAnimatedPoints - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SVGURIReference - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DocumentEvent - SVGFitToViewBox - SVGZoomAndPan - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SVGFitToViewBox - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SVGURIReference - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SVGURIReference - - - - - - - - - - - - - - - SVGZoomAndPan - SVGFitToViewBox - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - WindowTimers - WindowSessionStorage - WindowLocalStorage - WindowConsole - GlobalEventHandlers - IDBEnvironment - WindowBase64 - GlobalFetch - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AbstractWorker - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - XMLHttpRequestEventTarget - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - XMLHttpRequestEventTarget - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - WindowTimersExtension - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + auto + instant + smooth + + + start + center + end + nearest + + + margin + border + padding + content + + + open + closed + + + required + optional + not-allowed + + + temporary + persistent-license + + + usable + expired + released + output-restricted + output-downscaled + status-pending + internal-error + + + license-request + license-renewal + license-release + individualization-request + + + + audio + font + image + script + style + track + video + + + + audio + document + embed + font + image + manifest + object + report + script + serviceworker + sharedworker + style + track + video + worker + xslt + + + navigate + same-origin + no-cors + cors + + + omit + same-origin + include + + + default + no-store + reload + no-cache + force-cache + only-if-cached + + + follow + error + manual + + + basic + cors + default + error + opaque + opaqueredirect + + + + standard + + + unconnected + activating + activated + idle + errored + + + loading + interactive + complete + + + + maybe + probably + + + disabled + hidden + showing + + + subtitles + captions + descriptions + chapters + metadata + + + select + start + end + preserve + + + nonzero + evenodd + + + low + medium + high + + + butt + round + square + + + round + bevel + miter + + + start + end + left + right + center + + + top + hanging + middle + alphabetic + ideographic + bottom + + + ltr + rtl + inherit + + + 2d + webgl + + + auto + manual + + + none + flipY + + + none + premultiply + default + + + none + default + + + pixelated + low + medium + high + + + blob + arraybuffer + + + classic + module + + + readonly + readwrite + versionchange + + + pending + done + + + next + nextunique + prev + prevunique + + + live + ended + + + user + environment + left + right + + + audioinput + audiooutput + videoinput + + + closed + open + ended + + + network + decode + + + segments + sequence + + + navigate + reload + back_forward + prerender + + + default + denied + granted + + + auto + ltr + rtl + + + udp + tcp + + + active + passive + so + + + host + srflx + prflx + relay + + + new + gathering + complete + closed + + + all + nohost + relay + + + password + token + + + rtp + rtcp + + + controlling + controlled + + + new + checking + connected + completed + disconnected + failed + closed + + + auto + client + server + + + new + connecting + connected + closed + failed + + + maintain-framerate + maintain-resolution + balanced + + + very-low + low + medium + high + + + connecting + open + closing + closed + + + new + connecting + connected + closed + + + shipping + delivery + pickup + + + fail + success + unknown + + + shipping + delivery + pickup + + + fail + success + unknown + + + p256dh + auth + + + denied + granted + prompt + + + installing + installed + activating + activated + redundant + + + window + worker + sharedworker + all + + + installing + installed + activating + activated + redundant + + + window + worker + sharedworker + all + + + suspended + running + closed + + + balanced + interactive + playback + + + max + clamped-max + explicit + + + speakers + discrete + + + equalpower + HRTF + + + linear + inverse + exponential + + + equalpower + HRTF + + + linear + inverse + exponential + + + lowpass + highpass + bandpass + lowshelf + highshelf + peaking + notch + allpass + + + none + 2x + 4x + + + sine + square + sawtooth + triangle + custom + + + platform + cross-platform + + + ScopedCred + + + usb + nfc + ble + + + public + private + secret + + + encrypt + decrypt + sign + verify + deriveKey + deriveBits + wrapKey + unwrapKey + + + raw + spki + pkcs8 + jwk + + + password + token + + + relay + all + + + balanced + max-compat + max-bundle + + + negotiate + require + + + stable + have-local-offer + have-remote-offer + have-local-pranswer + have-remote-pranswer + + + new + gathering + complete + + + new + connecting + connected + disconnected + failed + closed + + + new + checking + connected + completed + failed + disconnected + closed + + + offer + pranswer + answer + rollback + + + udp + tcp + + + active + passive + so + + + host + srflx + prflx + relay + + + very-low + low + medium + high + + + sendrecv + sendonly + recvonly + inactive + + + disabled + enabled + + + maintain-framerate + maintain-resolution + balanced + + + new + connecting + connected + closed + failed + + + new + gathering + complete + + + new + checking + connected + completed + failed + disconnected + closed + + + controlling + controlled + + + rtp + rtcp + + + connecting + open + closing + closed + + + + default + low-power + high-performance + + + + arraybuffer + blob + document + json + text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NonElementParentNode + DocumentOrShadowRoot + ParentNode + GeometryUtils + + + + + + GlobalEventHandlers + DocumentAndElementEventHandlers + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ChildNode + + + + NonElementParentNode + ParentNode + + + + + + + DocumentOrShadowRoot + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ParentNode + NonDocumentTypeChildNode + ChildNode + Slotable + GeometryUtils + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NonDocumentTypeChildNode + ChildNode + + + + + + + + + + + + + + + + + + Slotable + GeometryUtils + + + + + + + + + + + LinkStyle + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Body + + + + + + + + + + + + + + + + + + + + + + + + + Body + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GlobalEventHandlers + DocumentAndElementEventHandlers + ElementContentEditable + ElementCSSInlineStyle + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LinkStyle + + + + + + + + + + + + + + + + + + + + + LinkStyle + + + + + + + + WindowEventHandlers + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HTMLHyperlinkElementUtils + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HTMLHyperlinkElementUtils + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CanvasState + CanvasTransform + CanvasCompositing + CanvasImageSmoothing + CanvasFillStrokeStyles + CanvasShadowStyles + CanvasFilters + CanvasRect + CanvasDrawPath + CanvasUserInterface + CanvasText + CanvasDrawImage + CanvasImageData + CanvasPathDrawingStyles + CanvasTextDrawingStyles + CanvasPath + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CanvasPath + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CanvasState + CanvasTransform + CanvasCompositing + CanvasImageSmoothing + CanvasFillStrokeStyles + CanvasShadowStyles + CanvasFilters + CanvasRect + CanvasDrawPath + CanvasDrawImage + CanvasImageData + CanvasPathDrawingStyles + CanvasPath + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GlobalEventHandlers + WindowEventHandlers + WindowOrWorkerGlobalScope + WindowSessionStorage + WindowLocalStorage + GlobalPerformance + IDBEnvironment + GlobalCrypto + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NavigatorID + NavigatorLanguage + NavigatorOnLine + NavigatorContentUtils + NavigatorCookies + NavigatorPlugins + NavigatorConcurrentHardware + NavigatorUserMedia + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + WindowOrWorkerGlobalScope + GlobalPerformance + GlobalCrypto + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AbstractWorker + + + + + + + + + + + + + + + AbstractWorker + + + NavigatorID + NavigatorLanguage + NavigatorOnLine + NavigatorConcurrentHardware + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + WindowEventHandlers + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CanvasDrawingStyles + CanvasPathMethods + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AbstractWorker + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AbstractWorker + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GlobalEventHandlers + SVGElementInstance + ElementCSSInlineStyle + + + + + + + + + + + + + + + + SVGTests + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SVGFitToViewBox + SVGZoomAndPan + WindowEventHandlers + + + + + + + + + + + + + SVGFitToViewBox + + + + + + + + + + + SVGURIReference + + + + + + + + + + + + + + + + + + + LinkStyle + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SVGURIReference + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SVGAnimatedPoints + + + SVGAnimatedPoints + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SVGURIReference + + + + + + + + + + + SVGURIReference + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SVGFitToViewBox + + + + + + + + + + + + + + + SVGURIReference + SVGUnitTypes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SVGFitToViewBox + SVGURIReference + SVGUnitTypes + + + + + + + + + SVGURIReference + + + + + + + SVGURIReference + + + + + + + + + + + SVGURIReference + HTMLHyperlinkElementUtils + + + SVGFitToViewBox + SVGZoomAndPan + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + WebGLRenderingContextBase + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GeometryUtils + + + IDBEnvironment + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sample.xml b/sample.xml index d7d67369c..1509f944e 100644 --- a/sample.xml +++ b/sample.xml @@ -3066,77 +3066,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -13521,4 +13450,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From e37a7956e5b8c6c40967e9e44f3130783fca3a48 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Thu, 30 Mar 2017 23:18:48 +0900 Subject: [PATCH 08/50] fix incorrect namespace member issue --- TS.fsx | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/TS.fsx b/TS.fsx index e366f10f1..8cfbd9003 100644 --- a/TS.fsx +++ b/TS.fsx @@ -949,8 +949,13 @@ module Emit = String.Format("({0}ev: {1}) => any", EmitEventHandlerThis flavor prefix it, eType) | _ -> DomTypeToTsType p.Type let pTypeAndNull = if p.Nullable.IsSome then makeNullable pType else pType - let readOnlyModifier = if p.ReadOnly.IsSome && prefix = "" then "readonly " else "" - printLine "%s%s%s: %s;" prefix readOnlyModifier p.Name pTypeAndNull + let modifierOrStatement = + match (p.ReadOnly, prefix, i) with + | (Some r, "", InterfaceOrNamespace.Interface it) -> "readonly " + | (None, "", InterfaceOrNamespace.Namespace n) -> "var " + | (Some r, "", InterfaceOrNamespace.Namespace n) -> "const " + | (_, _, _) -> "" + printLine "%s%s%s: %s;" prefix modifierOrStatement p.Name pTypeAndNull // Note: the schema file shows the property doesn't have "static" attribute, // therefore all properties are emited for the instance type. @@ -1490,15 +1495,16 @@ module Emit = |> Array.iter emitTypeDefFromJson let EmitNamespaces flavor = - let EmitNamespace (n: Browser.Namespace) = + let emitNamespace (n: Browser.Namespace) = Pt.Printl "declare namespace %s {" n.Name Pt.IncreaseIndent() - EmitMembers flavor "" EmitScope.All (InterfaceOrNamespace.Namespace n) + EmitProperties flavor "" EmitScope.All (InterfaceOrNamespace.Namespace n) Set.empty + EmitMethods flavor "function " EmitScope.All (InterfaceOrNamespace.Namespace n) Set.empty Pt.DecreaseIndent() Pt.Printl "}" Pt.Printl "" - GetNamespacesByFlavor flavor |> Array.iter EmitNamespace + GetNamespacesByFlavor flavor |> Array.iter emitNamespace let EmitTheWholeThing flavor (target:TextWriter) = Pt.Reset() From 53dffc5097fe9756c737e95b500fefaba4c1926b Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Thu, 30 Mar 2017 23:20:39 +0900 Subject: [PATCH 09/50] add omitted WebIDL types --- TS.fsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TS.fsx b/TS.fsx index 8cfbd9003..b9911bbd2 100644 --- a/TS.fsx +++ b/TS.fsx @@ -696,7 +696,7 @@ module Emit = // Extended types used but not defined in the spec let extendedTypes = - ["ArrayBuffer";"ArrayBufferView";"Int8Array";"Uint8Array";"Int16Array";"Uint16Array";"Int32Array";"Uint32Array";"Float32Array";"Float64Array"] + ["ArrayBuffer";"ArrayBufferView";"Int8Array";"Uint8Array";"Int16Array";"Uint16Array";"Int32Array";"Uint32Array";"Uint8ClampedArray";"Float32Array";"Float64Array";"DataView"] let integerTypes = ["byte";"octet";"short";"unsigned short";"long";"unsigned long";"long long";"unsigned long long"] @@ -708,7 +708,7 @@ module Emit = | "bool" | "boolean" | "Boolean" -> "boolean" | "Date" -> "Date" | "DOMHighResTimeStamp" -> "number" - | "DOMString" -> "string" + | "DOMString" | "USVString" -> "string" | "DOMTimeStamp" -> "number" | "EventListener" -> "EventListenerOrEventListenerObject" | "double" | "float" | "unrestricted float" -> "number" From 39fa95bf79d34924f0e60d93a5091683593110e7 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Thu, 30 Mar 2017 23:21:48 +0900 Subject: [PATCH 10/50] remove conflicting type adders --- inputfiles/addedTypes.json | 38 -------------------------------------- 1 file changed, 38 deletions(-) diff --git a/inputfiles/addedTypes.json b/inputfiles/addedTypes.json index 7138f0871..8c9b2d478 100644 --- a/inputfiles/addedTypes.json +++ b/inputfiles/addedTypes.json @@ -416,12 +416,6 @@ "interface": "Element", "signatures": [ "closest(selector: string): Element | null" ] }, - { - "kind": "typedef", - "flavor": "Web", - "name": "ScrollBehavior", - "type": "\"auto\" | \"instant\" | \"smooth\"" - }, { "kind": "interface", "flavor": "Web", @@ -464,12 +458,6 @@ "interface": "Window", "signatures": [ "scrollBy(options?: ScrollToOptions): void" ] }, - { - "kind": "typedef", - "flavor": "Web", - "name": "ScrollLogicalPosition", - "type": "\"start\" | \"center\" | \"end\" | \"nearest\"" - }, { "kind": "interface", "flavor": "Web", @@ -729,11 +717,6 @@ "name": "failIfMajorPerformanceCaveat?", "type": "boolean" }, - { - "kind": "typedef", - "name": "BufferSource", - "type": "ArrayBuffer | ArrayBufferView" - }, { "kind": "interface", "name": "RsaKeyGenParams", @@ -1363,12 +1346,6 @@ "baseInterface": "ParentNode", "interface": "DocumentFragment" }, - { - "kind": "typedef", - "name": "ScrollRestoration", - "flavor": "DOM", - "type": "\"auto\" | \"manual\"" - }, { "kind": "property", "interface": "History", @@ -1455,21 +1432,6 @@ "type": "ShadowRoot | null", "readonly": true }, - { - "kind": "interface", - "name": "ShadowRootInit", - "flavor": "DOM", - "properties": [ - { - "name": "mode", - "type": "\"open\" | \"closed\"" - }, - { - "name": "delegatesFocus?", - "type": "boolean" - } - ] - }, { "kind": "property", "interface": "Text", From 4c2f62e15e97e9afd31882b625a4781e554acbf6 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Thu, 30 Mar 2017 23:55:35 +0900 Subject: [PATCH 11/50] emit only non-empty enums to workaround an empty enum definition on WebRTC 1.0 --- TS.fsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/TS.fsx b/TS.fsx index b9911bbd2..abf60d314 100644 --- a/TS.fsx +++ b/TS.fsx @@ -892,7 +892,8 @@ module Emit = let EmitEnums flavor = let emitEnum (e: Browser.Enum) = - Pt.Printl "type %s = %s;" e.Name (String.Join(" | ", e.Values |> Array.map (fun value -> "\"" + value + "\""))) + if not (Array.isEmpty e.Values) then + Pt.Printl "type %s = %s;" e.Name (String.Join(" | ", e.Values |> Array.map (fun value -> "\"" + value + "\""))) GetEnumsByFlavor flavor |> Array.iter emitEnum let EmitEventHandlerThis flavor (prefix: string) (i: Browser.Interface) = From 30a6895ace91e25419737bc412a74b0304d894e1 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Fri, 31 Mar 2017 00:32:43 +0900 Subject: [PATCH 12/50] revert input xml change no change yet :/ --- inputfiles/browser.webidl.xml | 26504 ++++++++++++++++---------------- 1 file changed, 13505 insertions(+), 12999 deletions(-) diff --git a/inputfiles/browser.webidl.xml b/inputfiles/browser.webidl.xml index 066fe9788..5fcac5e09 100644 --- a/inputfiles/browser.webidl.xml +++ b/inputfiles/browser.webidl.xml @@ -1,13001 +1,13507 @@ - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - auto - instant - smooth - - - start - center - end - nearest - - - margin - border - padding - content - - - open - closed - - - required - optional - not-allowed - - - temporary - persistent-license - - - usable - expired - released - output-restricted - output-downscaled - status-pending - internal-error - - - license-request - license-renewal - license-release - individualization-request - - - - audio - font - image - script - style - track - video - - - - audio - document - embed - font - image - manifest - object - report - script - serviceworker - sharedworker - style - track - video - worker - xslt - - - navigate - same-origin - no-cors - cors - - - omit - same-origin - include - - - default - no-store - reload - no-cache - force-cache - only-if-cached - - - follow - error - manual - - - basic - cors - default - error - opaque - opaqueredirect - - - - standard - - - unconnected - activating - activated - idle - errored - - - loading - interactive - complete - - - - maybe - probably - - - disabled - hidden - showing - - - subtitles - captions - descriptions - chapters - metadata - - - select - start - end - preserve - - - nonzero - evenodd - - - low - medium - high - - - butt - round - square - - - round - bevel - miter - - - start - end - left - right - center - - - top - hanging - middle - alphabetic - ideographic - bottom - - - ltr - rtl - inherit - - - 2d - webgl - - - auto - manual - - - none - flipY - - - none - premultiply - default - - - none - default - - - pixelated - low - medium - high - - - blob - arraybuffer - - - classic - module - - - readonly - readwrite - versionchange - - - pending - done - - - next - nextunique - prev - prevunique - - - live - ended - - - user - environment - left - right - - - audioinput - audiooutput - videoinput - - - closed - open - ended - - - network - decode - - - segments - sequence - - - navigate - reload - back_forward - prerender - - - default - denied - granted - - - auto - ltr - rtl - - - udp - tcp - - - active - passive - so - - - host - srflx - prflx - relay - - - new - gathering - complete - closed - - - all - nohost - relay - - - password - token - - - rtp - rtcp - - - controlling - controlled - - - new - checking - connected - completed - disconnected - failed - closed - - - auto - client - server - - - new - connecting - connected - closed - failed - - - maintain-framerate - maintain-resolution - balanced - - - very-low - low - medium - high - - - connecting - open - closing - closed - - - new - connecting - connected - closed - - - shipping - delivery - pickup - - - fail - success - unknown - - - shipping - delivery - pickup - - - fail - success - unknown - - - p256dh - auth - - - denied - granted - prompt - - - installing - installed - activating - activated - redundant - - - window - worker - sharedworker - all - - - installing - installed - activating - activated - redundant - - - window - worker - sharedworker - all - - - suspended - running - closed - - - balanced - interactive - playback - - - max - clamped-max - explicit - - - speakers - discrete - - - equalpower - HRTF - - - linear - inverse - exponential - - - equalpower - HRTF - - - linear - inverse - exponential - - - lowpass - highpass - bandpass - lowshelf - highshelf - peaking - notch - allpass - - - none - 2x - 4x - - - sine - square - sawtooth - triangle - custom - - - platform - cross-platform - - - ScopedCred - - - usb - nfc - ble - - - public - private - secret - - - encrypt - decrypt - sign - verify - deriveKey - deriveBits - wrapKey - unwrapKey - - - raw - spki - pkcs8 - jwk - - - password - token - - - relay - all - - - balanced - max-compat - max-bundle - - - negotiate - require - - - stable - have-local-offer - have-remote-offer - have-local-pranswer - have-remote-pranswer - - - new - gathering - complete - - - new - connecting - connected - disconnected - failed - closed - - - new - checking - connected - completed - failed - disconnected - closed - - - offer - pranswer - answer - rollback - - - udp - tcp - - - active - passive - so - - - host - srflx - prflx - relay - - - very-low - low - medium - high - - - sendrecv - sendonly - recvonly - inactive - - - disabled - enabled - - - maintain-framerate - maintain-resolution - balanced - - - new - connecting - connected - closed - failed - - - new - gathering - complete - - - new - checking - connected - completed - failed - disconnected - closed - - - controlling - controlled - - - rtp - rtcp - - - connecting - open - closing - closed - - - - default - low-power - high-performance - - - - arraybuffer - blob - document - json - text - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - NonElementParentNode - DocumentOrShadowRoot - ParentNode - GeometryUtils - - - - - - GlobalEventHandlers - DocumentAndElementEventHandlers - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ChildNode - - - - NonElementParentNode - ParentNode - - - - - - - DocumentOrShadowRoot - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ParentNode - NonDocumentTypeChildNode - ChildNode - Slotable - GeometryUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - NonDocumentTypeChildNode - ChildNode - - - - - - - - - - - - - - - - - - Slotable - GeometryUtils - - - - - - - - - - - LinkStyle - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Body - - - - - - - - - - - - - - - - - - - - - - - - - Body - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - GlobalEventHandlers - DocumentAndElementEventHandlers - ElementContentEditable - ElementCSSInlineStyle - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - LinkStyle - - - - - - - - - - - - - - - - - - - - - LinkStyle - - - - - - - - WindowEventHandlers - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - HTMLHyperlinkElementUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - HTMLHyperlinkElementUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CanvasState - CanvasTransform - CanvasCompositing - CanvasImageSmoothing - CanvasFillStrokeStyles - CanvasShadowStyles - CanvasFilters - CanvasRect - CanvasDrawPath - CanvasUserInterface - CanvasText - CanvasDrawImage - CanvasImageData - CanvasPathDrawingStyles - CanvasTextDrawingStyles - CanvasPath - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CanvasPath - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CanvasState - CanvasTransform - CanvasCompositing - CanvasImageSmoothing - CanvasFillStrokeStyles - CanvasShadowStyles - CanvasFilters - CanvasRect - CanvasDrawPath - CanvasDrawImage - CanvasImageData - CanvasPathDrawingStyles - CanvasPath - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - GlobalEventHandlers - WindowEventHandlers - WindowOrWorkerGlobalScope - WindowSessionStorage - WindowLocalStorage - GlobalPerformance - IDBEnvironment - GlobalCrypto - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - NavigatorID - NavigatorLanguage - NavigatorOnLine - NavigatorContentUtils - NavigatorCookies - NavigatorPlugins - NavigatorConcurrentHardware - NavigatorUserMedia - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - WindowOrWorkerGlobalScope - GlobalPerformance - GlobalCrypto - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AbstractWorker - - - - - - - - - - - - - - - AbstractWorker - - - NavigatorID - NavigatorLanguage - NavigatorOnLine - NavigatorConcurrentHardware - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - WindowEventHandlers - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CanvasDrawingStyles - CanvasPathMethods - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AbstractWorker - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AbstractWorker - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - GlobalEventHandlers - SVGElementInstance - ElementCSSInlineStyle - - - - - - - - - - - - - - - - SVGTests - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SVGFitToViewBox - SVGZoomAndPan - WindowEventHandlers - - - - - - - - - - - - - SVGFitToViewBox - - - - - - - - - - - SVGURIReference - - - - - - - - - - - - - - - - - - - LinkStyle - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SVGURIReference - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SVGAnimatedPoints - - - SVGAnimatedPoints - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SVGURIReference - - - - - - - - - - - SVGURIReference - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SVGFitToViewBox - - - - - - - - - - - - - - - SVGURIReference - SVGUnitTypes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SVGFitToViewBox - SVGURIReference - SVGUnitTypes - - - - - - - - - SVGURIReference - - - - - - - SVGURIReference - - - - - - - - - - - SVGURIReference - HTMLHyperlinkElementUtils - - - SVGFitToViewBox - SVGZoomAndPan - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - WebGLRenderingContextBase - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - GeometryUtils - - - IDBEnvironment - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + segments + sequence + + + suspended + running + closed + + + lowpass + highpass + bandpass + lowshelf + highshelf + peaking + notch + allpass + + + nonzero + evenodd + + + max + clamped-max + explicit + + + speakers + discrete + + + linear + inverse + exponential + + + character + word + sentence + textedit + + + mouse + keyboard + gamepad + + + next + nextunique + prev + prevunique + + + pending + done + + + readonly + readwrite + versionchange + + + inactive + active + disambiguation + + + FIDO_2_0 + + + os + stun + turn + peer-derived + + + failed + direct + relay + + + description + localclientevent + inbound-network + outbound-network + inbound-payload + outbound-payload + transportdiagnostics + + + Embedded + USB + NFC + BT + + + unknown + defer + allow + deny + + + geolocation + unlimitedIndexedDBQuota + media + pointerlock + webnotifications + + + audioinput + audiooutput + videoinput + + + license-request + license-renewal + license-release + individualization-request + + + temporary + persistent-license + persistent-release-message + + + usable + expired + output-downscaled + output-not-allowed + status-pending + internal-error + + + required + optional + not-allowed + + + live + ended + + + up + down + left + right + + + navigate + reload + back_forward + prerender + + + auto + ltr + rtl + + + default + denied + granted + + + sine + square + sawtooth + triangle + custom + + + none + 2x + 4x + + + equalpower + + + success + fail + + + + shipping + delivery + pickup + + + p256dh + auth + + + granted + denied + prompt + + + balanced + max-compat + max-bundle + + + maintain-framerate + maintain-resolution + balanced + + + auto + client + server + + + new + connecting + connected + closed + + + host + srflx + prflx + relay + + + RTP + RTCP + + + new + checking + connected + completed + failed + disconnected + closed + + + all + nohost + relay + + + new + gathering + complete + + + new + gathering + complete + + + udp + tcp + + + controlling + controlled + + + active + passive + so + + + none + relay + all + + + new + checking + connected + completed + disconnected + closed + + + offer + pranswer + answer + + + stable + have-local-offer + have-remote-offer + have-local-pranswer + have-remote-pranswer + closed + + + frozen + waiting + inprogress + failed + succeeded + cancelled + + + host + serverreflexive + peerreflexive + relayed + + + inboundrtp + outboundrtp + session + datachannel + track + transport + candidatepair + localcandidate + remotecandidate + + + + no-referrer + no-referrer-when-downgrade + origin-only + origin-when-cross-origin + unsafe-url + + + default + no-store + reload + no-cache + force-cache + + + omit + same-origin + include + + + + document + sharedworker + subresource + unknown + worker + + + navigate + same-origin + no-cors + cors + + + follow + error + manual + + + + audio + font + image + script + style + track + video + + + basic + cors + default + error + opaque + opaqueredirect + + + ScopedCred + + + installing + installed + activating + activated + redundant + + + usb + nfc + ble + + + user + environment + left + right + + + hidden + visible + prerender + unloaded + + + + arraybuffer + blob + document + json + text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CanvasPathMethods + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ChildNode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + RandomSource + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GlobalEventHandlers + NodeSelector + DocumentEvent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NodeSelector + + + ChildNode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GlobalEventHandlers + ElementTraversal + NodeSelector + ChildNode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MSBaseReader + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DOML2DeprecatedColorProperty + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GetSVGDocument + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DOML2DeprecatedColorProperty + DOML2DeprecatedSizeProperty + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GetSVGDocument + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DOML2DeprecatedColorProperty + DOML2DeprecatedSizeProperty + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GetSVGDocument + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LinkStyle + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GetSVGDocument + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LinkStyle + + + + + + + + + + + + + + + + + + HTMLTableAlignment + + + + + + + + + + + + + + + + + + + HTMLTableAlignment + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HTMLTableAlignment + + + + + + + + + + + + + + + + + + + + + + + + + HTMLTableAlignment + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MSBaseReader + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NavigatorID + NavigatorOnLine + NavigatorContentUtils + NavigatorStorageUtils + NavigatorGeolocation + MSNavigatorDoNotTrack + MSFileSaver + NavigatorBeacon + NavigatorConcurrentHardware + NavigatorUserMedia + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CanvasPathMethods + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Body + + + + + + + + + + + + + + + + + + + + + + + + + Body + + + + + + + + + + + + + + + + + + + + + + + + + + SVGURIReference + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SVGUnitTypes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SVGFilterPrimitiveStandardAttributes + + + + + + + + + + + + + + + + + + + SVGFilterPrimitiveStandardAttributes + + + + + + + + + + + + SVGFilterPrimitiveStandardAttributes + + + + + + + + + + + + + + + + + + + SVGFilterPrimitiveStandardAttributes + + + + + + + + + + + + + + + + + + + + + + SVGFilterPrimitiveStandardAttributes + + + + + + + + + + + + + + + + + + + + + + + SVGFilterPrimitiveStandardAttributes + + + + + + + + + + + + + + + + + + + + + SVGFilterPrimitiveStandardAttributes + + + + + + + + + + + + + + + + + + + + + + + + SVGFilterPrimitiveStandardAttributes + + + + + + + + + + + + + + + + + + + SVGFilterPrimitiveStandardAttributes + + + + + + + + + + + + + + + + + + + + SVGFilterPrimitiveStandardAttributes + SVGURIReference + + + + + + + + + + SVGFilterPrimitiveStandardAttributes + + + + + + + + + + + + + + + + + + SVGFilterPrimitiveStandardAttributes + + + + + + + + + + + + + SVGFilterPrimitiveStandardAttributes + + + + + + + + + + + + + + + + + + + + + + SVGFilterPrimitiveStandardAttributes + + + + + + + + + + + + + + + + + + + + + + + + + + + + SVGFilterPrimitiveStandardAttributes + + + + + + + + + + + + + + + + + + SVGFilterPrimitiveStandardAttributes + + + + + + + + + + + + + + + + SVGUnitTypes + SVGURIReference + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SVGUnitTypes + SVGURIReference + + + + + + + + + + + + SVGTests + + + + + + + + + + + + + + + + + + + + + + + + + + + + SVGURIReference + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SVGFitToViewBox + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SVGTests + SVGUnitTypes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SVGTests + SVGUnitTypes + SVGFitToViewBox + SVGURIReference + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SVGAnimatedPoints + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SVGAnimatedPoints + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DocumentEvent + SVGFitToViewBox + SVGZoomAndPan + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SVGURIReference + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SVGFitToViewBox + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SVGURIReference + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SVGURIReference + + + + + + + + + + + + + + + SVGZoomAndPan + SVGFitToViewBox + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AbstractWorker + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + WindowTimers + WindowSessionStorage + WindowLocalStorage + WindowConsole + GlobalEventHandlers + IDBEnvironment + WindowBase64 + GlobalFetch + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AbstractWorker + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + XMLHttpRequestEventTarget + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + XMLHttpRequestEventTarget + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + WindowTimersExtension + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 5f6f1d820e47cfd7caaf231eca005f31eb936d0f Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Fri, 31 Mar 2017 04:42:28 +0900 Subject: [PATCH 13/50] fix on variadic union param type --- TS.fsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TS.fsx b/TS.fsx index abf60d314..15fd06bf4 100644 --- a/TS.fsx +++ b/TS.fsx @@ -711,7 +711,7 @@ module Emit = | "DOMString" | "USVString" -> "string" | "DOMTimeStamp" -> "number" | "EventListener" -> "EventListenerOrEventListenerObject" - | "double" | "float" | "unrestricted float" -> "number" + | "double" | "float" | "unrestricted double" | "unrestricted float" -> "number" | "Function" -> "Function" | "FrozenArray" -> "ReadonlyArray" | "object" -> "any" @@ -857,7 +857,7 @@ module Emit = (if p.Variadic then "..." else "") + (AdjustParamName p.Name) + (if isOptional then "?: " else ": ") + - pType + + (if p.Variadic && pType.Contains(" | ") then "(" + pType + ")" else pType) + (if p.Variadic then "[]" else "") String.Join(", ", (List.map paramToString ps)) From 6e7be2e2ffa7a808f142203cd539add84d050809 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Fri, 31 Mar 2017 04:42:42 +0900 Subject: [PATCH 14/50] remove conflicting type adders --- inputfiles/addedTypes.json | 1044 +++---------------------------- inputfiles/overridingTypes.json | 98 +-- 2 files changed, 101 insertions(+), 1041 deletions(-) diff --git a/inputfiles/addedTypes.json b/inputfiles/addedTypes.json index 8c9b2d478..4f1170ff9 100644 --- a/inputfiles/addedTypes.json +++ b/inputfiles/addedTypes.json @@ -89,34 +89,6 @@ "name": "userSelect", "type": "string | null" }, - { - "kind": "interface", - "name": "StorageEventInit", - "flavor": "Web", - "extends": "EventInit", - "properties": [ - { - "name": "key?", - "type": "string" - }, - { - "name": "oldValue?", - "type": "string" - }, - { - "name": "newValue?", - "type": "string" - }, - { - "name": "url", - "type": "string" - }, - { - "name": "storageArea?", - "type": "Storage" - } - ] - }, { "kind": "interface", "name": "Canvas2DContextAttributes", @@ -212,71 +184,6 @@ "createImageBitmap(image: ImageBitmap | ImageData | Blob, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise" ] }, - { - "kind": "property", - "interface": "IDBObjectStoreParameters", - "name": "autoIncrement?", - "type": "boolean" - }, - { - "kind": "property", - "interface": "IDBIndexParameters", - "name": "multiEntry?", - "type": "boolean" - }, - { - "kind": "property", - "interface": "IDBIndex", - "name": "multiEntry", - "type": "boolean" - }, - { - "kind": "interface", - "name": "URLSearchParams", - "constructorSignatures": [ - "new (init?: string | URLSearchParams): URLSearchParams" - ], - "methods": [ - { - "name": "append", - "signatures": ["append(name: string, value: string): void"] - }, - { - "name": "delete", - "signatures": ["delete(name: string): void"] - }, - { - "name": "get", - "signatures": ["get(name: string): string | null"] - }, - { - "name": "getAll", - "signatures": ["getAll(name: string): string[]"] - }, - { - "name": "has", - "signatures": ["has(name: string): boolean"] - }, - { - "name": "set", - "signatures": ["set(name: string, value: string): void"] - } - ] - }, - { - "kind": "property", - "interface": "URL", - "name": "searchParams", - "readonly": true, - "type": "URLSearchParams" - }, - { - "kind": "property", - "interface": "Window", - "exposeGlobally": false, - "name": "URL", - "type": "typeof URL" - }, { "kind": "property", "interface": "Window", @@ -370,12 +277,6 @@ } ] }, - { - "kind": "property", - "interface": "MessageEventInit", - "name": "lastEventId?", - "type": "string" - }, { "kind": "property", "interface": "MessageEventInit", @@ -416,93 +317,6 @@ "interface": "Element", "signatures": [ "closest(selector: string): Element | null" ] }, - { - "kind": "interface", - "flavor": "Web", - "name": "ScrollOptions", - "properties": [ - { - "name": "behavior?", - "type": "ScrollBehavior" - } - ] - }, - { - "kind": "interface", - "flavor": "Web", - "name": "ScrollToOptions", - "extends": "ScrollOptions", - "properties": [ - { - "name": "left?", - "type": "number" - }, - { - "name": "top?", - "type": "number" - } - ] - }, - { - "kind": "method", - "interface": "Window", - "signatures": [ "scroll(options?: ScrollToOptions): void" ] - }, - { - "kind": "method", - "interface": "Window", - "signatures": [ "scrollTo(options?: ScrollToOptions): void" ] - }, - { - "kind": "method", - "interface": "Window", - "signatures": [ "scrollBy(options?: ScrollToOptions): void" ] - }, - { - "kind": "interface", - "flavor": "Web", - "name": "ScrollIntoViewOptions", - "extends": "ScrollOptions", - "properties": [ - { - "name": "block?", - "type": "ScrollLogicalPosition" - }, - { - "name": "inline?", - "type": "ScrollLogicalPosition" - } - ] - }, - { - "kind": "method", - "interface": "Element", - "signatures": [ "scrollIntoView(arg?: boolean | ScrollIntoViewOptions): void" ] - }, - { - "kind": "method", - "interface": "Element", - "signatures": [ - "scroll(options?: ScrollToOptions): void", - "scroll(x: number, y: number): void" - ] - }, - { - "kind": "method", - "interface": "Element", - "signatures": [ - "scrollTo(options?: ScrollToOptions): void", - "scrollTo(x: number, y: number): void" - ] - }, - { - "kind": "method", - "interface": "Element", - "signatures": [ - "scrollBy(options?: ScrollToOptions): void", - "scrollBy(x: number, y: number): void" - ] - }, { "kind": "signatureoverload", "name": "createElementNS", @@ -637,12 +451,6 @@ "name": "storageArea?", "type": "Storage" }, - { - "kind": "property", - "interface": "IDBObjectStore", - "name": "autoIncrement", - "type": "boolean" - }, { "kind": "interface", "flavor": "Web", @@ -669,24 +477,6 @@ "name": "IDBArrayKey", "extends": "Array" }, - { - "kind": "property", - "interface": "HTMLInputElement", - "name": "minLength", - "type": "number" - }, - { - "kind": "property", - "interface": "HTMLTextAreaElement", - "name": "minLength", - "type": "number" - }, - { - "kind": "property", - "interface": "IDBDatabase", - "name": "onversionchange", - "type": "(ev: IDBVersionChangeEvent) => any" - }, { "kind": "method", "interface": "IDBDatabase", @@ -713,696 +503,133 @@ }, { "kind": "property", - "interface": "WebGLContextAttributes", - "name": "failIfMajorPerformanceCaveat?", - "type": "boolean" + "name": "msCaching?", + "interface": "XMLHttpRequest", + "type": "string" + }, + { + "kind": "typedef", + "name": "MouseWheelEvent", + "flavor": "Web", + "type": "WheelEvent" + }, + { + "kind": "method", + "interface": "Element", + "name": "insertAdjacentElement", + "signatures": ["insertAdjacentElement(position: string, insertedElement: Element): Element | null"] + }, + { + "kind": "method", + "interface": "Element", + "name": "insertAdjacentHTML", + "signatures": ["insertAdjacentHTML(where: string, html: string): void"] + }, + { + "kind": "method", + "interface": "Element", + "name": "insertAdjacentText", + "signatures": ["insertAdjacentText(where: string, text: string): void"] + }, + { + "kind": "property", + "interface": "HTMLScriptElement", + "name": "integrity", + "type": "string" }, { "kind": "interface", - "name": "RsaKeyGenParams", - "extends": "Algorithm", + "name": "ParentNode", + "flavor": "DOM", "properties": [ { - "name": "modulusLength", - "type": "number" + "name": "children", + "readonly": true, + "type": "HTMLCollection" + }, + { + "name": "firstElementChild", + "readonly": true, + "type": "Element | null" + }, + { + "name": "lastElementChild", + "readonly": true, + "type": "Element | null" }, { - "name": "publicExponent", - "type": "Uint8Array" + "name": "childElementCount", + "readonly": true, + "type": "number" } ] }, { - "kind": "interface", - "name": "RsaHashedKeyGenParams", - "extends": "RsaKeyGenParams", - "properties": [ - { - "name": "hash", - "type": "AlgorithmIdentifier" - } - ] + "kind": "extends", + "baseInterface": "ParentNode", + "interface": "Element" + }, + { + "kind": "extends", + "baseInterface": "ParentNode", + "interface": "Document" + }, + { + "kind": "extends", + "baseInterface": "ParentNode", + "interface": "DocumentFragment" + }, + { + "kind": "method", + "interface": "CanvasPattern", + "name": "setTransform", + "signatures": ["setTransform(matrix: SVGMatrix): void"] }, { "kind": "interface", - "name": "RsaKeyAlgorithm", - "extends": "KeyAlgorithm", - "properties": [ + "name": "DocumentOrShadowRoot", + "flavor": "DOM", + "methods": [ { - "name": "modulusLength", - "type": "number" + "name": "getSelection", + "signatures": ["getSelection(): Selection | null"] + }, + { + "name": "elementFromPoint", + "signatures": ["elementFromPoint(x: number, y: number): Element | null"] }, { - "name": "publicExponent", - "type": "Uint8Array" + "name": "elementsFromPoint", + "signatures": ["elementsFromPoint(x: number, y: number): Element[]"] } - ] - }, - { - "kind": "interface", - "name": "RsaHashedKeyAlgorithm", - "extends": "RsaKeyAlgorithm", + ], "properties": [ { - "name": "hash", - "type": "AlgorithmIdentifier" + "name": "activeElement", + "type": "Element | null", + "readonly": true + }, + { + "name": "stylesheets", + "type": "StyleSheetList", + "readonly": true } ] }, { "kind": "interface", - "name": "RsaHashedImportParams", + "name": "ShadowRoot", + "extends": "DocumentOrShadowRoot, DocumentFragment", + "flavor": "DOM", "properties": [ { - "name": "hash", - "type": "AlgorithmIdentifier" - } - ] - }, - { - "kind": "interface", - "name": "RsaPssParams", - "properties": [ - { - "name": "saltLength", - "type": "number" - } - ] - }, - { - "kind": "interface", - "name": "RsaOaepParams", - "extends": "Algorithm", - "properties": [ - { - "name": "label?", - "type": "BufferSource" - } - ] - }, - { - "kind": "interface", - "name": "EcdsaParams", - "extends": "Algorithm", - "properties": [ - { - "name": "hash", - "type": "AlgorithmIdentifier" - } - ] - }, - { - "kind": "interface", - "name": "EcKeyGenParams", - "extends": "Algorithm", - "properties": [ - { - "name": "namedCurve", - "type": "string" - } - ] - }, - { - "kind": "interface", - "name": "EcKeyAlgorithm", - "extends": "KeyAlgorithm", - "properties": [ - { - "name": "typedCurve", - "type": "string" - } - ] - }, - { - "kind": "interface", - "name": "EcKeyImportParams", - "properties": [ - { - "name": "namedCurve", - "type": "string" - } - ] - }, - { - "kind": "interface", - "name": "EcdhKeyDeriveParams", - "extends": "Algorithm", - "properties": [ - { - "name": "public", - "type": "CryptoKey" - } - ] - }, - { - "kind": "interface", - "name": "AesCtrParams", - "extends": "Algorithm", - "properties": [ - { - "name": "counter", - "type": "BufferSource" - }, - { - "name": "length", - "type": "number" - } - ] - }, - { - "kind": "interface", - "name": "AesKeyAlgorithm", - "extends": "KeyAlgorithm", - "properties": [ - { - "name": "length", - "type": "number" - } - ] - }, - { - "kind": "interface", - "name": "AesKeyGenParams", - "extends": "Algorithm", - "properties": [ - { - "name": "length", - "type": "number" - } - ] - }, - { - "kind": "interface", - "name": "AesDerivedKeyParams", - "extends": "Algorithm", - "properties": [ - { - "name": "length", - "type": "number" - } - ] - }, - { - "kind": "interface", - "name": "AesCbcParams", - "extends": "Algorithm", - "properties": [ - { - "name": "iv", - "type": "BufferSource" - } - ] - }, - { - "kind": "interface", - "name": "AesCmacParams", - "extends": "Algorithm", - "properties": [ - { - "name": "length", - "type": "number" - } - ] - }, - { - "kind": "interface", - "name": "AesGcmParams", - "extends": "Algorithm", - "properties": [ - { - "name": "iv", - "type": "BufferSource" - }, - { - "name": "additionalData?", - "type": "BufferSource" - }, - { - "name": "tagLength?", - "type": "number" - } - ] - }, - { - "kind": "interface", - "name": "AesCfbParams", - "extends": "Algorithm", - "properties": [ - { - "name": "iv", - "type": "BufferSource" - } - ] - }, - { - "kind": "interface", - "name": "HmacImportParams", - "extends": "Algorithm", - "properties": [ - { - "name": "hash?", - "type": "AlgorithmIdentifier" - }, - { - "name": "length?", - "type": "number" - } - ] - }, - { - "kind": "interface", - "name": "HmacKeyAlgorithm", - "extends": "KeyAlgorithm", - "properties": [ - { - "name": "hash", - "type": "AlgorithmIdentifier" - }, - { - "name": "length", - "type": "number" - } - ] - }, - { - "kind": "interface", - "name": "HmacKeyGenParams", - "extends": "Algorithm", - "properties": [ - { - "name": "hash", - "type": "AlgorithmIdentifier" - }, - { - "name": "length?", - "type": "number" - } - ] - }, - { - "kind": "interface", - "name": "DhKeyGenParams", - "extends": "Algorithm", - "properties": [ - { - "name": "prime", - "type": "Uint8Array" - }, - { - "name": "generator", - "type": "Uint8Array" - } - ] - }, - { - "kind": "interface", - "name": "DhKeyAlgorithm", - "extends": "KeyAlgorithm", - "properties": [ - { - "name": "prime", - "type": "Uint8Array" - }, - { - "name": "generator", - "type": "Uint8Array" - } - ] - }, - { - "kind": "interface", - "name": "DhKeyDeriveParams", - "extends": "Algorithm", - "properties": [ - { - "name": "public", - "type": "CryptoKey" - } - ] - }, - { - "kind": "interface", - "name": "DhImportKeyParams", - "extends": "Algorithm", - "properties": [ - { - "name": "prime", - "type": "Uint8Array" - }, - { - "name": "generator", - "type": "Uint8Array" - } - ] - }, - { - "kind": "interface", - "name": "ConcatParams", - "extends": "Algorithm", - "properties": [ - { - "name": "hash?", - "type": "AlgorithmIdentifier" - }, - { - "name": "algorithmId", - "type": "Uint8Array" - }, - { - "name": "partyUInfo", - "type": "Uint8Array" - }, - { - "name": "partyVInfo", - "type": "Uint8Array" - }, - { - "name": "publicInfo?", - "type": "Uint8Array" - }, - { - "name": "privateInfo?", - "type": "Uint8Array" - } - ] - }, - { - "kind": "interface", - "name": "HkdfCtrParams", - "extends": "Algorithm", - "properties": [ - { - "name": "hash", - "type": "AlgorithmIdentifier" - }, - { - "name": "label", - "type": "BufferSource" - }, - { - "name": "context", - "type": "BufferSource" - } - ] - }, - { - "kind": "interface", - "name": "Pbkdf2Params", - "extends": "Algorithm", - "properties": [ - { - "name": "salt", - "type": "BufferSource" - }, - { - "name": "iterations", - "type": "number" - }, - { - "name": "hash", - "type": "AlgorithmIdentifier" - } - ] - }, - { - "kind": "interface", - "name": "RsaOtherPrimesInfo", - "properties": [ - { - "name": "r", - "type": "string" - }, - { - "name": "d", - "type": "string" - }, - { - "name": "t", - "type": "string" - } - ] - }, - { - "kind": "interface", - "name": "JsonWebKey", - "properties": [ - { - "name": "kty", - "type": "string" - }, - { - "name": "use?", - "type": "string" - }, - { - "name": "key_ops?", - "type": "string[]" - }, - { - "name": "alg?", - "type": "string" - }, - { - "name": "kid?", - "type": "string" - }, - { - "name": "x5u?", - "type": "string" - }, - { - "name": "x5c?", - "type": "string" - }, - { - "name": "x5t?", - "type": "string" - }, - { - "name": "ext?", - "type": "boolean" - }, - { - "name": "crv?", - "type": "string" - }, - { - "name": "x?", - "type": "string" - }, - { - "name": "y?", - "type": "string" - }, - { - "name": "d?", - "type": "string" - }, - { - "name": "n?", - "type": "string" - }, - { - "name": "e?", - "type": "string" - }, - { - "name": "p?", - "type": "string" - }, - { - "name": "q?", - "type": "string" - }, - { - "name": "dp?", - "type": "string" - }, - { - "name": "dq?", - "type": "string" - }, - { - "name": "qi?", - "type": "string" - }, - { - "name": "oth?", - "type": "RsaOtherPrimesInfo[]" - }, - { - "name": "k?", - "type": "string" - } - ] - }, - { - "kind": "property", - "name": "msCaching?", - "interface": "XMLHttpRequest", - "type": "string" - }, - { - "kind": "typedef", - "name": "MouseWheelEvent", - "flavor": "Web", - "type": "WheelEvent" - }, - { - "kind": "method", - "interface": "DataTransfer", - "name": "setDragImage", - "signatures": ["setDragImage(image: Element, x: number, y: number): void"] - }, - { - "kind": "method", - "interface": "Element", - "name": "insertAdjacentElement", - "signatures": ["insertAdjacentElement(position: InsertPosition, insertedElement: Element): Element | null"] - }, - { - "kind": "method", - "interface": "Element", - "name": "insertAdjacentHTML", - "signatures": ["insertAdjacentHTML(where: InsertPosition, html: string): void"] - }, - { - "kind": "method", - "interface": "Element", - "name": "insertAdjacentText", - "signatures": ["insertAdjacentText(where: InsertPosition, text: string): void"] - }, - { - "kind": "property", - "name": "secureConnectionStart", - "interface": "PerformanceTiming", - "readonly": true, - "type": "number" - }, - { - "kind": "property", - "interface": "HTMLLinkElement", - "name": "integrity", - "type": "string" - }, - { - "kind": "property", - "interface": "HTMLScriptElement", - "name": "integrity", - "type": "string" - }, - { - "kind": "property", - "interface": "KeyboardEvent", - "readonly": true, - "name": "code", - "type": "string" - }, - { - "kind": "property", - "interface": "KeyboardEventInit", - "name": "code?", - "type": "string" - }, - { - "kind": "interface", - "name": "ParentNode", - "flavor": "DOM", - "properties": [ - { - "name": "children", - "readonly": true, - "type": "HTMLCollection" - }, - { - "name": "firstElementChild", - "readonly": true, - "type": "Element | null" - }, - { - "name": "lastElementChild", - "readonly": true, - "type": "Element | null" - }, - { - "name": "childElementCount", - "readonly": true, - "type": "number" - } - ] - }, - { - "kind": "extends", - "baseInterface": "ParentNode", - "interface": "Element" - }, - { - "kind": "extends", - "baseInterface": "ParentNode", - "interface": "Document" - }, - { - "kind": "extends", - "baseInterface": "ParentNode", - "interface": "DocumentFragment" - }, - { - "kind": "property", - "interface": "History", - "name": "scrollRestoration", - "type": "ScrollRestoration" - }, - { - "kind": "method", - "interface": "CanvasPattern", - "name": "setTransform", - "signatures": ["setTransform(matrix: SVGMatrix): void"] - }, - { - "kind": "interface", - "name": "DocumentOrShadowRoot", - "flavor": "DOM", - "methods": [ - { - "name": "getSelection", - "signatures": ["getSelection(): Selection | null"] - }, - { - "name": "elementFromPoint", - "signatures": ["elementFromPoint(x: number, y: number): Element | null"] - }, - { - "name": "elementsFromPoint", - "signatures": ["elementsFromPoint(x: number, y: number): Element[]"] - } - ], - "properties": [ - { - "name": "activeElement", - "type": "Element | null", - "readonly": true - }, - { - "name": "stylesheets", - "type": "StyleSheetList", - "readonly": true - } - ] - }, - { - "kind": "interface", - "name": "ShadowRoot", - "extends": "DocumentOrShadowRoot, DocumentFragment", - "flavor": "DOM", - "properties": [ - { - "name": "host", - "type": "Element", - "readonly": true - }, - { - "name": "innerHTML", - "type": "string" + "name": "host", + "type": "Element", + "readonly": true + }, + { + "name": "innerHTML", + "type": "string" } ] }, @@ -1419,19 +646,6 @@ "type": "HTMLSlotElement | null", "readonly": true }, - { - "kind": "property", - "interface": "Element", - "name": "slot", - "type": "string" - }, - { - "kind": "property", - "interface": "Element", - "name": "shadowRoot", - "type": "ShadowRoot | null", - "readonly": true - }, { "kind": "property", "interface": "Text", @@ -1487,64 +701,6 @@ "name": "deepPath", "signatures": ["deepPath(): EventTarget[]"] }, - { - "kind": "interface", - "name": "ElementDefinitionOptions", - "flavor": "DOM", - "properties": [{ - "name": "extends", - "type": "string" - }] - }, - { - "kind": "interface", - "name": "CustomElementRegistry", - "flavor": "DOM", - "methods": [{ - "name": "define", - "signatures": ["define(name: string, constructor: Function, options?: ElementDefinitionOptions): void"] - }, { - "name": "get", - "signatures": ["get(name: string): any"] - }, { - "name": "whenDefined", - "signatures": ["whenDefined(name: string): PromiseLike"] - }] - }, - { - "kind": "property", - "interface": "Window", - "name": "customElements", - "type": "CustomElementRegistry" - }, - { - "kind": "interface", - "name": "PromiseRejectionEvent", - "extends": "Event", - "flavor": "Web", - "properties": [{ - "name": "promise", - "type": "PromiseLike", - "readonly": true - }, { - "name": "reason", - "type": "any", - "readonly": true - }] - }, - { - "kind": "interface", - "name": "PromiseRejectionEventInit", - "extends": "EventInit", - "flavor": "Web", - "properties": [{ - "name": "promise", - "type": "PromiseLike" - }, { - "name": "reason?", - "type": "any" - }] - }, { "kind": "method", "interface": "Body", diff --git a/inputfiles/overridingTypes.json b/inputfiles/overridingTypes.json index 3e8a35df7..dc4a371a1 100644 --- a/inputfiles/overridingTypes.json +++ b/inputfiles/overridingTypes.json @@ -519,17 +519,11 @@ "name": "rows", "type": "HTMLCollectionOf" }, - { - "kind": "method", - "interface": "HTMLTableRowElement", - "name": "insertCell", - "signatures": ["insertCell(index?: number): HTMLTableDataCellElement"] - }, { "kind": "property", "interface": "HTMLTableRowElement", "name": "cells", - "type": "HTMLCollectionOf" + "type": "HTMLCollectionOf" }, { "kind": "method", @@ -859,96 +853,6 @@ "baseInterface": "HTMLCollectionOf", "interface": "HTMLOptionsCollection" }, - { - "kind": "property", - "interface": "Algorithm", - "name": "name", - "type": "string" - }, - { - "kind": "method", - "interface": "SubtleCrypto", - "name": "decrypt", - "signatures": ["decrypt(algorithm: string | RsaOaepParams | AesCtrParams | AesCbcParams | AesCmacParams | AesGcmParams | AesCfbParams, key: CryptoKey, data: BufferSource): PromiseLike"] - }, - { - "kind": "method", - "interface": "SubtleCrypto", - "name": "deriveBits", - "signatures": ["deriveBits(algorithm: string | EcdhKeyDeriveParams | DhKeyDeriveParams | ConcatParams | HkdfCtrParams | Pbkdf2Params, baseKey: CryptoKey, length: number): PromiseLike"] - }, - { - "kind": "method", - "interface": "SubtleCrypto", - "name": "deriveKey", - "signatures": ["deriveKey(algorithm: string | EcdhKeyDeriveParams | DhKeyDeriveParams | ConcatParams | HkdfCtrParams | Pbkdf2Params, baseKey: CryptoKey, derivedKeyType: string | AesDerivedKeyParams | HmacImportParams | ConcatParams | HkdfCtrParams | Pbkdf2Params, extractable: boolean, keyUsages: string[]): PromiseLike"] - }, - { - "kind": "method", - "interface": "SubtleCrypto", - "name": "digest", - "signatures": ["digest(algorithm: AlgorithmIdentifier, data: BufferSource): PromiseLike"] - }, - { - "kind": "method", - "interface": "SubtleCrypto", - "name": "encrypt", - "signatures": ["encrypt(algorithm: string | RsaOaepParams | AesCtrParams | AesCbcParams | AesCmacParams | AesGcmParams | AesCfbParams, key: CryptoKey, data: BufferSource): PromiseLike"] - }, - { - "kind": "method", - "interface": "SubtleCrypto", - "name": "exportKey", - "signatures": [ - "exportKey(format: \"jwk\", key: CryptoKey): PromiseLike", - "exportKey(format: \"raw\" | \"pkcs8\" | \"spki\", key: CryptoKey): PromiseLike", - "exportKey(format: string, key: CryptoKey): PromiseLike" - ] - }, - { - "kind": "method", - "interface": "SubtleCrypto", - "name": "generateKey", - "signatures": [ - "generateKey(algorithm: string, extractable: boolean, keyUsages: string[]): PromiseLike", - "generateKey(algorithm: RsaHashedKeyGenParams | EcKeyGenParams | DhKeyGenParams, extractable: boolean, keyUsages: string[]): PromiseLike", - "generateKey(algorithm: AesKeyGenParams | HmacKeyGenParams | Pbkdf2Params, extractable: boolean, keyUsages: string[]): PromiseLike" - ] - }, - { - "kind": "method", - "interface": "SubtleCrypto", - "name": "importKey", - "signatures": [ - "importKey(format: \"jwk\", keyData: JsonWebKey, algorithm: string | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams, extractable: boolean, keyUsages: string[]): PromiseLike", - "importKey(format: \"raw\" | \"pkcs8\" | \"spki\", keyData: BufferSource, algorithm: string | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams, extractable: boolean, keyUsages: string[]): PromiseLike", - "importKey(format: string, keyData: JsonWebKey | BufferSource, algorithm: string | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams, extractable: boolean, keyUsages: string[]): PromiseLike" - ] - }, - { - "kind": "method", - "interface": "SubtleCrypto", - "name": "sign", - "signatures": ["sign(algorithm: string | RsaPssParams | EcdsaParams | AesCmacParams, key: CryptoKey, data: BufferSource): PromiseLike"] - }, - { - "kind": "method", - "interface": "SubtleCrypto", - "name": "unwrapKey", - "signatures": ["unwrapKey(format: string, wrappedKey: BufferSource, unwrappingKey: CryptoKey, unwrapAlgorithm: AlgorithmIdentifier, unwrappedKeyAlgorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: string[]): PromiseLike"] - }, - { - "kind": "method", - "interface": "SubtleCrypto", - "name": "verify", - "signatures": ["verify(algorithm: string | RsaPssParams | EcdsaParams | AesCmacParams, key: CryptoKey, signature: BufferSource, data: BufferSource): PromiseLike"] - }, - { - "kind": "method", - "interface": "SubtleCrypto", - "name": "wrapKey", - "signatures": ["wrapKey(format: string, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: AlgorithmIdentifier): PromiseLike"] - }, { "kind": "method", "name": "setTimeout", From 62db20a0b5081a28dd1a4e9523d81df3b1b3b6b2 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sun, 2 Apr 2017 03:35:26 +0900 Subject: [PATCH 15/50] remove duplicated type adder --- inputfiles/addedTypes.json | 6 ------ inputfiles/overridingTypes.json | 5 ----- 2 files changed, 11 deletions(-) diff --git a/inputfiles/addedTypes.json b/inputfiles/addedTypes.json index 4f1170ff9..92aac87bd 100644 --- a/inputfiles/addedTypes.json +++ b/inputfiles/addedTypes.json @@ -531,12 +531,6 @@ "name": "insertAdjacentText", "signatures": ["insertAdjacentText(where: string, text: string): void"] }, - { - "kind": "property", - "interface": "HTMLScriptElement", - "name": "integrity", - "type": "string" - }, { "kind": "interface", "name": "ParentNode", diff --git a/inputfiles/overridingTypes.json b/inputfiles/overridingTypes.json index dc4a371a1..c93e0a3cc 100644 --- a/inputfiles/overridingTypes.json +++ b/inputfiles/overridingTypes.json @@ -993,11 +993,6 @@ "name": "evaluate", "signatures": ["evaluate(contextNode: Node, type: number, result: XPathResult | null): XPathResult"] }, - { - "kind": "extends", - "baseInterface": "Node, GlobalEventHandlers, NodeSelector, DocumentEvent, ParentNode, DocumentOrShadowRoot", - "interface": "Document" - }, { "kind": "property", "interface": "ElementTraversal", From 5d2b56237650dc41b2f6c5342be93ca92e5e568f Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sun, 2 Apr 2017 17:39:53 +0900 Subject: [PATCH 16/50] DOMException -> Error --- TS.fsx | 1 + inputfiles/overridingTypes.json | 5 ----- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/TS.fsx b/TS.fsx index 15fd06bf4..705624efa 100644 --- a/TS.fsx +++ b/TS.fsx @@ -707,6 +707,7 @@ module Emit = | "any" -> "any" | "bool" | "boolean" | "Boolean" -> "boolean" | "Date" -> "Date" + | "DOMException" -> "Error" | "DOMHighResTimeStamp" -> "number" | "DOMString" | "USVString" -> "string" | "DOMTimeStamp" -> "number" diff --git a/inputfiles/overridingTypes.json b/inputfiles/overridingTypes.json index c93e0a3cc..35078aa56 100644 --- a/inputfiles/overridingTypes.json +++ b/inputfiles/overridingTypes.json @@ -630,11 +630,6 @@ "disconnect(destination: AudioParam, output?: number): void" ] }, - { - "kind": "callback", - "name": "DecodeErrorCallback", - "signatures": ["(error: DOMException): void"] - }, { "kind": "property", "name": "ontouchcancel", From 22c5ddafc9d3422bbf32ba3548279d73581c6654 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Mon, 3 Apr 2017 04:27:54 +0900 Subject: [PATCH 17/50] replace SVGRect to new DOMRectReadOnly --- inputfiles/overridingTypes.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/inputfiles/overridingTypes.json b/inputfiles/overridingTypes.json index 35078aa56..ac61d0813 100644 --- a/inputfiles/overridingTypes.json +++ b/inputfiles/overridingTypes.json @@ -333,13 +333,13 @@ "kind": "method", "interface": "SVGSVGElement", "name": "getEnclosureList", - "signatures": ["getEnclosureList(rect: SVGRect, referenceElement: SVGElement): NodeListOf"] + "signatures": ["getEnclosureList(rect: DOMRectReadOnly, referenceElement: SVGElement): NodeListOf"] }, { "kind": "method", "interface": "SVGSVGElement", "name": "getIntersectionList", - "signatures": ["getIntersectionList(rect: SVGRect, referenceElement: SVGElement): NodeListOf"] + "signatures": ["getIntersectionList(rect: DOMRectReadOnly, referenceElement: SVGElement): NodeListOf"] }, { "kind": "property", From e873f6df0fd92202c9d0cc5f0acbe00e491c7236 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sun, 3 Sep 2017 20:18:26 +0900 Subject: [PATCH 18/50] update input and baseline --- baselines/dom.es6.generated.d.ts | 92 +- baselines/dom.generated.d.ts | 20705 ++++++++++++-------------- baselines/webworker.generated.d.ts | 1895 +-- inputfiles/browser.webidl.xml | 20955 +++++++++++++-------------- 4 files changed, 20317 insertions(+), 23330 deletions(-) diff --git a/baselines/dom.es6.generated.d.ts b/baselines/dom.es6.generated.d.ts index 6eaf13f32..67a14908d 100644 --- a/baselines/dom.es6.generated.d.ts +++ b/baselines/dom.es6.generated.d.ts @@ -3,12 +3,12 @@ /// DOM ES6 APIs ///////////////////////////// -interface AudioTrackList { - [Symbol.iterator](): IterableIterator +interface MediaList { + [Symbol.iterator](): IterableIterator } -interface ClientRectList { - [Symbol.iterator](): IterableIterator +interface StyleSheetList { + [Symbol.iterator](): IterableIterator } interface CSSRuleList { @@ -19,12 +19,16 @@ interface CSSStyleDeclaration { [Symbol.iterator](): IterableIterator } -interface DataTransferItemList { - [Symbol.iterator](): IterableIterator +interface NodeList { + [Symbol.iterator](): IterableIterator } -interface DOMStringList { - [Symbol.iterator](): IterableIterator +interface HTMLCollection { + [Symbol.iterator](): IterableIterator +} + +interface NamedNodeMap { + [Symbol.iterator](): IterableIterator } interface DOMTokenList { @@ -39,66 +43,86 @@ interface HTMLAllCollection { [Symbol.iterator](): IterableIterator } -interface HTMLCollection { - [Symbol.iterator](): IterableIterator +interface DOMStringList { + [Symbol.iterator](): IterableIterator } -interface MediaList { - [Symbol.iterator](): IterableIterator +interface AudioTrackList { + [Symbol.iterator](): IterableIterator } -interface MimeTypeArray { - [Symbol.iterator](): IterableIterator +interface VideoTrackList { + [Symbol.iterator](): IterableIterator } -interface MSRangeCollection { - [Symbol.iterator](): IterableIterator +interface TextTrackList { + [Symbol.iterator](): IterableIterator } -interface NamedNodeMap { - [Symbol.iterator](): IterableIterator +interface TextTrackCueList { + [Symbol.iterator](): IterableIterator } -interface NodeList { - [Symbol.iterator](): IterableIterator +interface HTMLFormElement { + [Symbol.iterator](): IterableIterator } -interface Plugin { - [Symbol.iterator](): IterableIterator +interface HTMLSelectElement { + [Symbol.iterator](): IterableIterator +} + +interface DataTransferItemList { + [Symbol.iterator](): IterableIterator } interface PluginArray { [Symbol.iterator](): IterableIterator } +interface MimeTypeArray { + [Symbol.iterator](): IterableIterator +} + +interface Plugin { + [Symbol.iterator](): IterableIterator +} + interface SourceBufferList { [Symbol.iterator](): IterableIterator } -interface Storage { - [Symbol.iterator](): IterableIterator +interface SVGNumberList { + [Symbol.iterator](): IterableIterator } -interface StyleSheetList { - [Symbol.iterator](): IterableIterator +interface SVGLengthList { + [Symbol.iterator](): IterableIterator } -interface StyleSheetPageList { - [Symbol.iterator](): IterableIterator +interface SVGStringList { + [Symbol.iterator](): IterableIterator } -interface TextTrackCueList { - [Symbol.iterator](): IterableIterator +interface SVGTransformList { + [Symbol.iterator](): IterableIterator } -interface TextTrackList { - [Symbol.iterator](): IterableIterator +interface SVGPointList { + [Symbol.iterator](): IterableIterator } interface TouchList { [Symbol.iterator](): IterableIterator } -interface VideoTrackList { - [Symbol.iterator](): IterableIterator +interface SpeechRecognitionResult { + [Symbol.iterator](): IterableIterator +} + +interface SpeechRecognitionResultList { + [Symbol.iterator](): IterableIterator +} + +interface SpeechGrammarList { + [Symbol.iterator](): IterableIterator } diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 7768a5503..3e031688d 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -3,1860 +3,1596 @@ /// DOM APIs ///////////////////////////// -interface Account { - displayName: string; - id: string; - imageURL?: string; - name?: string; - rpDisplayName: string; -} - -interface Algorithm { - name: string; +interface ClipboardEventInit extends EventInit { + clipboardData?: DataTransfer | null; } interface AnimationEventInit extends EventInit { animationName?: string; elapsedTime?: number; + pseudoElement?: string; } -interface AssertionOptions { - allowList?: ScopedCredentialDescriptor[]; - extensions?: WebAuthnExtensions; - rpId?: USVString; - timeoutSeconds?: number; +interface TransitionEventInit extends EventInit { + propertyName?: string; + elapsedTime?: number; + pseudoElement?: string; } -interface CacheQueryOptions { - cacheName?: string; - ignoreMethod?: boolean; - ignoreSearch?: boolean; - ignoreVary?: boolean; +interface ScrollOptions { + behavior?: ScrollBehavior; } -interface ClientData { - challenge: string; - extensions?: WebAuthnExtensions; - hashAlg: string | Algorithm; - origin: string; - rpId: string; - tokenBinding?: string; +interface ScrollToOptions extends ScrollOptions { + left?: number; + top?: number; } -interface CloseEventInit extends EventInit { - code?: number; - reason?: string; - wasClean?: boolean; +interface MediaQueryListEventInit extends EventInit { + media?: string; + matches?: boolean; } -interface CompositionEventInit extends UIEventInit { - data?: string; +interface ScrollIntoViewOptions extends ScrollOptions { + block?: ScrollLogicalPosition; + inline?: ScrollLogicalPosition; } -interface ConfirmSiteSpecificExceptionsInformation extends ExceptionInformation { - arrayOfDomainStrings?: string[]; +interface MouseEventInit { + screenX?: number; + screenY?: number; + clientX?: number; + clientY?: number; } -interface ConstrainBooleanParameters { - exact?: boolean; - ideal?: boolean; +interface BoxQuadOptions { + box?: CSSBoxType; + relativeTo?: GeometryNode; } -interface ConstrainDOMStringParameters { - exact?: string | string[]; - ideal?: string | string[]; +interface ConvertCoordinateOptions { + fromBox?: CSSBoxType; + toBox?: CSSBoxType; } -interface ConstrainDoubleRange extends DoubleRange { - exact?: number; - ideal?: number; +interface DeviceOrientationEventInit extends EventInit { + alpha?: number | null; + beta?: number | null; + gamma?: number | null; + absolute?: boolean; } -interface ConstrainLongRange extends LongRange { - exact?: number; - ideal?: number; +interface DeviceAccelerationInit { + x?: number | null; + y?: number | null; + z?: number | null; +} + +interface DeviceRotationRateInit { + alpha?: number | null; + beta?: number | null; + gamma?: number | null; +} + +interface DeviceMotionEventInit extends EventInit { + acceleration?: DeviceAccelerationInit | null; + accelerationIncludingGravity?: DeviceAccelerationInit | null; + rotationRate?: DeviceRotationRateInit | null; + interval?: number | null; } -interface ConstrainVideoFacingModeParameters { - exact?: VideoFacingModeEnum | VideoFacingModeEnum[]; - ideal?: VideoFacingModeEnum | VideoFacingModeEnum[]; +interface EventInit { + scoped?: boolean; + bubbles?: boolean; + cancelable?: boolean; + composed?: boolean; } interface CustomEventInit extends EventInit { detail?: any; } -interface DeviceAccelerationDict { - x?: number | null; - y?: number | null; - z?: number | null; +interface EventListenerOptions { + capture?: boolean; } -interface DeviceLightEventInit extends EventInit { - value?: number; +interface AddEventListenerOptions extends EventListenerOptions { + passive?: boolean; + once?: boolean; } -interface DeviceMotionEventInit extends EventInit { - acceleration?: DeviceAccelerationDict | null; - accelerationIncludingGravity?: DeviceAccelerationDict | null; - interval?: number | null; - rotationRate?: DeviceRotationRateDict | null; +interface MutationObserverInit { + childList?: boolean; + attributes?: boolean; + characterData?: boolean; + subtree?: boolean; + attributeOldValue?: boolean; + characterDataOldValue?: boolean; + attributeFilter?: string[]; } -interface DeviceOrientationEventInit extends EventInit { - absolute?: boolean; - alpha?: number | null; - beta?: number | null; - gamma?: number | null; +interface GetRootNodeOptions { + composed?: boolean; } -interface DeviceRotationRateDict { - alpha?: number | null; - beta?: number | null; - gamma?: number | null; +interface ElementCreationOptions { + is?: string; } -interface DOMRectInit { - height?: number; - width?: number; - x?: number; - y?: number; +interface ShadowRootInit { + mode: ShadowRootMode; } -interface DoubleRange { - max?: number; - min?: number; +interface MediaKeySystemConfiguration { + label?: string; + initDataTypes?: string[]; + audioCapabilities?: MediaKeySystemMediaCapability[]; + videoCapabilities?: MediaKeySystemMediaCapability[]; + distinctiveIdentifier?: MediaKeysRequirement; + persistentState?: MediaKeysRequirement; + sessionTypes?: string[]; } -interface ErrorEventInit extends EventInit { - colno?: number; - error?: any; - filename?: string; - lineno?: number; - message?: string; +interface MediaKeySystemMediaCapability { + contentType?: string; + robustness?: string; } -interface EventInit { - scoped?: boolean; - bubbles?: boolean; - cancelable?: boolean; +interface MediaKeyMessageEventInit extends EventInit { + messageType: MediaKeyMessageType; + message: ArrayBuffer; } -interface EventModifierInit extends UIEventInit { - altKey?: boolean; - ctrlKey?: boolean; - metaKey?: boolean; - modifierAltGraph?: boolean; - modifierCapsLock?: boolean; - modifierFn?: boolean; - modifierFnLock?: boolean; - modifierHyper?: boolean; - modifierNumLock?: boolean; - modifierOS?: boolean; - modifierScrollLock?: boolean; - modifierSuper?: boolean; - modifierSymbol?: boolean; - modifierSymbolLock?: boolean; - shiftKey?: boolean; +interface MediaEncryptedEventInit extends EventInit { + initDataType?: string; + initData?: ArrayBuffer | null; } -interface ExceptionInformation { - domain?: string | null; +interface RequestInit { + method?: any; + headers?: HeadersInit; + body?: BodyInit | null; + referrer?: string; + referrerPolicy?: any; + mode?: RequestMode; + credentials?: RequestCredentials; + cache?: RequestCache; + redirect?: RequestRedirect; + integrity?: string; + keepalive?: boolean; + window?: any; } -interface FocusEventInit extends UIEventInit { - relatedTarget?: EventTarget | null; +interface ResponseInit { + status?: number; + statusText?: any; + headers?: HeadersInit; } -interface FocusNavigationEventInit extends EventInit { - navigationReason?: string | null; - originHeight?: number; - originLeft?: number; - originTop?: number; - originWidth?: number; +interface BlobPropertyBag { + type?: string; } -interface FocusNavigationOrigin { - originHeight?: number; - originLeft?: number; - originTop?: number; - originWidth?: number; +interface FilePropertyBag { + type?: string; + lastModified?: number; } interface GamepadEventInit extends EventInit { - gamepad?: Gamepad | null; + gamepad: Gamepad; } -interface GetNotificationOptions { - tag?: string; +interface SensorOptions { + frequency?: number | null; } -interface HashChangeEventInit extends EventInit { - newURL?: string | null; - oldURL?: string | null; +interface SensorErrorEventInit extends EventInit { + error: any; } -interface IDBIndexParameters { - multiEntry?: boolean; - unique?: boolean; +interface PositionOptions { + enableHighAccuracy?: boolean; + timeout?: number; + maximumAge?: number; } -interface IDBObjectStoreParameters { - autoIncrement?: boolean; - keyPath?: IDBKeyPath | null; +interface DOMPointInit { + x?: number; + y?: number; + z?: number; + w?: number; } -interface IntersectionObserverEntryInit { - isIntersecting: boolean; - boundingClientRect: DOMRectInit; - intersectionRect: DOMRectInit; - rootBounds: DOMRectInit; - target: Element; - time: number; +interface DOMRectInit { + x?: number; + y?: number; + width?: number; + height?: number; } -interface IntersectionObserverInit { - root?: Element | null; - rootMargin?: string; - threshold?: number | number[]; +interface DOMQuadInit { + p1?: DOMPointInit; + p2?: DOMPointInit; + p3?: DOMPointInit; + p4?: DOMPointInit; +} + +interface DOMMatrixInit { + a?: number; + b?: number; + c?: number; + d?: number; + e?: number; + f?: number; + m11?: number; + m12?: number; + m13?: number; + m14?: number; + m21?: number; + m22?: number; + m23?: number; + m24?: number; + m31?: number; + m32?: number; + m33?: number; + m34?: number; + m41?: number; + m42?: number; + m43?: number; + m44?: number; + is2D?: boolean; } -interface KeyAlgorithm { - name?: string; +interface TrackEventInit extends EventInit { + track?: VideoTrack | AudioTrack | TextTrack | null; } -interface KeyboardEventInit extends EventModifierInit { - code?: string; - key?: string; - location?: number; - repeat?: boolean; +interface RelatedEventInit extends EventInit { + relatedTarget?: EventTarget | null; } -interface LongRange { - max?: number; - min?: number; +interface AssignedNodesOptions { + flatten?: boolean; } -interface MediaEncryptedEventInit extends EventInit { - initData?: ArrayBuffer | null; - initDataType?: string; +interface CanvasRenderingContext2DSettings { + alpha?: boolean; } -interface MediaKeyMessageEventInit extends EventInit { - message?: ArrayBuffer | null; - messageType?: MediaKeyMessageType; +interface ImageBitmapRenderingContextSettings { + alpha?: boolean; } -interface MediaKeySystemConfiguration { - audioCapabilities?: MediaKeySystemMediaCapability[]; - distinctiveIdentifier?: MediaKeysRequirement; - initDataTypes?: string[]; - persistentState?: MediaKeysRequirement; - videoCapabilities?: MediaKeySystemMediaCapability[]; +interface ImageEncodeOptions { + type?: string; + quality?: number; } -interface MediaKeySystemMediaCapability { - contentType?: string; - robustness?: string; +interface ElementDefinitionOptions { + extends?: string; } -interface MediaStreamConstraints { - audio?: boolean | MediaTrackConstraints; - video?: boolean | MediaTrackConstraints; +interface DragEventInit extends MouseEventInit { + dataTransfer?: DataTransfer | null; } -interface MediaStreamErrorEventInit extends EventInit { - error?: MediaStreamError | null; +interface PopStateEventInit extends EventInit { + state?: any; } -interface MediaStreamEventInit extends EventInit { - stream?: MediaStream; +interface HashChangeEventInit extends EventInit { + oldURL?: string; + newURL?: string; } -interface MediaStreamTrackEventInit extends EventInit { - track?: MediaStreamTrack | null; +interface PageTransitionEventInit extends EventInit { + persisted?: boolean; } -interface MediaTrackCapabilities { - aspectRatio?: number | DoubleRange; - deviceId?: string; - echoCancellation?: boolean[]; - facingMode?: string; - frameRate?: number | DoubleRange; - groupId?: string; - height?: number | LongRange; - sampleRate?: number | LongRange; - sampleSize?: number | LongRange; - volume?: number | DoubleRange; - width?: number | LongRange; +interface ErrorEventInit extends EventInit { + message?: string; + filename?: string; + lineno?: number; + colno?: number; + error?: any; } -interface MediaTrackConstraints extends MediaTrackConstraintSet { - advanced?: MediaTrackConstraintSet[]; +interface PromiseRejectionEventInit extends EventInit { + promise: Promise; + reason?: any; } -interface MediaTrackConstraintSet { - aspectRatio?: number | ConstrainDoubleRange; - deviceId?: string | string[] | ConstrainDOMStringParameters; - echoCancelation?: boolean | ConstrainBooleanParameters; - facingMode?: string | string[] | ConstrainDOMStringParameters; - frameRate?: number | ConstrainDoubleRange; - groupId?: string | string[] | ConstrainDOMStringParameters; - height?: number | ConstrainLongRange; - sampleRate?: number | ConstrainLongRange; - sampleSize?: number | ConstrainLongRange; - volume?: number | ConstrainDoubleRange; - width?: number | ConstrainLongRange; -} - -interface MediaTrackSettings { - aspectRatio?: number; - deviceId?: string; - echoCancellation?: boolean; - facingMode?: string; - frameRate?: number; - groupId?: string; - height?: number; - sampleRate?: number; - sampleSize?: number; - volume?: number; - width?: number; -} - -interface MediaTrackSupportedConstraints { - aspectRatio?: boolean; - deviceId?: boolean; - echoCancellation?: boolean; - facingMode?: boolean; - frameRate?: boolean; - groupId?: boolean; - height?: boolean; - sampleRate?: boolean; - sampleSize?: boolean; - volume?: boolean; - width?: boolean; +interface ImageBitmapOptions { + imageOrientation?: ImageOrientation; + premultiplyAlpha?: PremultiplyAlpha; + colorSpaceConversion?: ColorSpaceConversion; + resizeWidth?: number; + resizeHeight?: number; + resizeQuality?: ResizeQuality; } interface MessageEventInit extends EventInit { - lastEventId?: string; channel?: string; data?: any; origin?: string; + lastEventId?: string; + source?: MessageEventSource | null; ports?: MessagePort[]; - source?: Window; } -interface MouseEventInit extends EventModifierInit { - button?: number; - buttons?: number; - clientX?: number; - clientY?: number; - relatedTarget?: EventTarget | null; - screenX?: number; - screenY?: number; +interface EventSourceInit { + withCredentials?: boolean; } -interface MSAccountInfo { - accountImageUri?: string; - accountName?: string; - rpDisplayName: string; - userDisplayName: string; - userId?: string; -} - -interface MSAudioLocalClientEvent extends MSLocalClientEventBase { - cpuInsufficientEventRatio?: number; - deviceCaptureNotFunctioningEventRatio?: number; - deviceClippingEventRatio?: number; - deviceEchoEventRatio?: number; - deviceGlitchesEventRatio?: number; - deviceHalfDuplexAECEventRatio?: number; - deviceHowlingEventCount?: number; - deviceLowSNREventRatio?: number; - deviceLowSpeechLevelEventRatio?: number; - deviceMultipleEndpointsEventCount?: number; - deviceNearEndToEchoRatioEventRatio?: number; - deviceRenderMuteEventRatio?: number; - deviceRenderNotFunctioningEventRatio?: number; - deviceRenderZeroVolumeEventRatio?: number; - networkDelayEventRatio?: number; - networkSendQualityEventRatio?: number; -} - -interface MSAudioRecvPayload extends MSPayloadBase { - burstLossLength1?: number; - burstLossLength2?: number; - burstLossLength3?: number; - burstLossLength4?: number; - burstLossLength5?: number; - burstLossLength6?: number; - burstLossLength7?: number; - burstLossLength8OrHigher?: number; - fecRecvDistance1?: number; - fecRecvDistance2?: number; - fecRecvDistance3?: number; - packetReorderDepthAvg?: number; - packetReorderDepthMax?: number; - packetReorderRatio?: number; - ratioCompressedSamplesAvg?: number; - ratioConcealedSamplesAvg?: number; - ratioStretchedSamplesAvg?: number; - samplingRate?: number; - signal?: MSAudioRecvSignal; -} - -interface MSAudioRecvSignal { - initialSignalLevelRMS?: number; - recvNoiseLevelCh1?: number; - recvSignalLevelCh1?: number; - renderLoopbackSignalLevel?: number; - renderNoiseLevel?: number; - renderSignalLevel?: number; -} - -interface MSAudioSendPayload extends MSPayloadBase { - audioFECUsed?: boolean; - samplingRate?: number; - sendMutePercent?: number; - signal?: MSAudioSendSignal; -} - -interface MSAudioSendSignal { - noiseLevel?: number; - sendNoiseLevelCh1?: number; - sendSignalLevelCh1?: number; -} - -interface MSConnectivity { - iceType?: MSIceType; - iceWarningFlags?: MSIceWarningFlags; - relayAddress?: MSRelayAddress; -} - -interface MSCredentialFilter { - accept?: MSCredentialSpec[]; -} - -interface MSCredentialParameters { - type?: MSCredentialType; -} - -interface MSCredentialSpec { - id?: string; - type: MSCredentialType; -} - -interface MSDelay { - roundTrip?: number; - roundTripMax?: number; -} - -interface MSDescription extends RTCStats { - connectivity?: MSConnectivity; - deviceDevName?: string; - localAddr?: MSIPAddressInfo; - networkconnectivity?: MSNetworkConnectivityInfo; - reflexiveLocalIPAddr?: MSIPAddressInfo; - remoteAddr?: MSIPAddressInfo; - transport?: RTCIceProtocol; -} - -interface MSFIDOCredentialParameters extends MSCredentialParameters { - algorithm?: string | Algorithm; - authenticators?: AAGUID[]; -} - -interface MSIceWarningFlags { - allocationMessageIntegrityFailed?: boolean; - alternateServerReceived?: boolean; - connCheckMessageIntegrityFailed?: boolean; - connCheckOtherError?: boolean; - fipsAllocationFailure?: boolean; - multipleRelayServersAttempted?: boolean; - noRelayServersConfigured?: boolean; - portRangeExhausted?: boolean; - pseudoTLSFailure?: boolean; - tcpNatConnectivityFailed?: boolean; - tcpRelayConnectivityFailed?: boolean; - turnAuthUnknownUsernameError?: boolean; - turnTcpAllocateFailed?: boolean; - turnTcpSendFailed?: boolean; - turnTcpTimedOut?: boolean; - turnTurnTcpConnectivityFailed?: boolean; - turnUdpAllocateFailed?: boolean; - turnUdpSendFailed?: boolean; - udpLocalConnectivityFailed?: boolean; - udpNatConnectivityFailed?: boolean; - udpRelayConnectivityFailed?: boolean; - useCandidateChecksFailed?: boolean; -} - -interface MSIPAddressInfo { - ipAddr?: string; - manufacturerMacAddrMask?: string; - port?: number; +interface CloseEventInit extends EventInit { + wasClean?: boolean; + code?: number; + reason?: string; } -interface MSJitter { - interArrival?: number; - interArrivalMax?: number; - interArrivalSD?: number; +interface WorkerOptions { + type?: WorkerType; + credentials?: RequestCredentials; } -interface MSLocalClientEventBase extends RTCStats { - networkBandwidthLowEventRatio?: number; - networkReceiveQualityEventRatio?: number; +interface StorageEventInit extends EventInit { + key?: string | null; + oldValue?: string | null; + newValue?: string | null; + url?: string; + storageArea?: Storage | null; } -interface MSNetwork extends RTCStats { - delay?: MSDelay; - jitter?: MSJitter; - packetLoss?: MSPacketLoss; - utilization?: MSUtilization; +interface RTCStats { + timestamp?: number; + type?: RTCStatsType; + id?: string; } -interface MSNetworkConnectivityInfo { - linkspeed?: number; - networkConnectionDetails?: string; - vpn?: boolean; +interface RTCRTPStreamStats extends RTCStats { + ssrc?: string; + associateStatsId?: string; + isRemote?: boolean; + mediaType?: string; + mediaTrackId?: string; + transportId?: string; + codecId?: string; + firCount?: number; + pliCount?: number; + nackCount?: number; + sliCount?: number; + qpSum?: number; } -interface MSNetworkInterfaceType { - interfaceTypeEthernet?: boolean; - interfaceTypePPP?: boolean; - interfaceTypeTunnel?: boolean; - interfaceTypeWireless?: boolean; - interfaceTypeWWAN?: boolean; +interface RTCCodecStats extends RTCStats { + payloadType?: number; + codec?: string; + clockRate?: number; + channels?: number; + parameters?: string; + implementation?: string; } -interface MSOutboundNetwork extends MSNetwork { - appliedBandwidthLimit?: number; +interface RTCInboundRTPStreamStats extends RTCRTPStreamStats { + packetsReceived?: number; + bytesReceived?: number; + packetsLost?: number; + jitter?: number; + fractionLost?: number; + packetsDiscarded?: number; + packetsRepaired?: number; + burstPacketsLost?: number; + burstPacketsDiscarded?: number; + burstLossCount?: number; + burstDiscardCount?: number; + burstLossRate?: number; + burstDiscardRate?: number; + gapLossRate?: number; + gapDiscardRate?: number; + framesDecoded?: number; } -interface MSPacketLoss { - lossRate?: number; - lossRateMax?: number; +interface RTCOutboundRTPStreamStats extends RTCRTPStreamStats { + packetsSent?: number; + bytesSent?: number; + targetBitrate?: number; + roundTripTime?: number; + framesEncoded?: number; } -interface MSPayloadBase extends RTCStats { - payloadDescription?: string; +interface RTCPeerConnectionStats extends RTCStats { + dataChannelsOpened?: number; + dataChannelsClosed?: number; } -interface MSPortRange { - max?: number; - min?: number; +interface RTCMediaStreamStats extends RTCStats { + streamIdentifier?: string; + trackIds?: string[]; } -interface MSRelayAddress { - port?: number; - relayAddress?: string; -} - -interface MSSignatureParameters { - userPrompt?: string; -} - -interface MSTransportDiagnosticsStats extends RTCStats { - allocationTimeInMs?: number; - baseAddress?: string; - baseInterface?: MSNetworkInterfaceType; - iceRole?: RTCIceRole; - iceWarningFlags?: MSIceWarningFlags; - interfaces?: MSNetworkInterfaceType; - localAddress?: string; - localAddrType?: MSIceAddrType; - localInterface?: MSNetworkInterfaceType; - localMR?: string; - localMRTCPPort?: number; - localSite?: string; - msRtcEngineVersion?: string; - networkName?: string; - numConsentReqReceived?: number; - numConsentReqSent?: number; - numConsentRespReceived?: number; - numConsentRespSent?: number; - portRangeMax?: number; - portRangeMin?: number; - protocol?: RTCIceProtocol; - remoteAddress?: string; - remoteAddrType?: MSIceAddrType; - remoteMR?: string; - remoteMRTCPPort?: number; - remoteSite?: string; - rtpRtcpMux?: boolean; - stunVer?: number; -} - -interface MSUtilization { - bandwidthEstimation?: number; - bandwidthEstimationAvg?: number; - bandwidthEstimationMax?: number; - bandwidthEstimationMin?: number; - bandwidthEstimationStdDev?: number; - packets?: number; -} - -interface MSVideoPayload extends MSPayloadBase { - durationSeconds?: number; - resolution?: string; - videoBitRateAvg?: number; - videoBitRateMax?: number; - videoFrameRateAvg?: number; - videoPacketLossRate?: number; -} - -interface MSVideoRecvPayload extends MSVideoPayload { - lowBitRateCallPercent?: number; - lowFrameRateCallPercent?: number; - recvBitRateAverage?: number; - recvBitRateMaximum?: number; - recvCodecType?: string; - recvFpsHarmonicAverage?: number; - recvFrameRateAverage?: number; - recvNumResSwitches?: number; - recvReorderBufferMaxSuccessfullyOrderedExtent?: number; - recvReorderBufferMaxSuccessfullyOrderedLateTime?: number; - recvReorderBufferPacketsDroppedDueToBufferExhaustion?: number; - recvReorderBufferPacketsDroppedDueToTimeout?: number; - recvReorderBufferReorderedPackets?: number; - recvResolutionHeight?: number; - recvResolutionWidth?: number; - recvVideoStreamsMax?: number; - recvVideoStreamsMin?: number; - recvVideoStreamsMode?: number; - reorderBufferTotalPackets?: number; - videoFrameLossRate?: number; - videoPostFECPLR?: number; - videoResolutions?: MSVideoResolutionDistribution; -} - -interface MSVideoResolutionDistribution { - cifQuality?: number; - h1080Quality?: number; - h1440Quality?: number; - h2160Quality?: number; - h720Quality?: number; - vgaQuality?: number; -} - -interface MSVideoSendPayload extends MSVideoPayload { - sendBitRateAverage?: number; - sendBitRateMaximum?: number; - sendFrameRateAverage?: number; - sendResolutionHeight?: number; - sendResolutionWidth?: number; - sendVideoStreamsMax?: number; -} - -interface MsZoomToOptions { - animate?: string; - contentX?: number; - contentY?: number; - scaleFactor?: number; - viewportX?: string | null; - viewportY?: string | null; +interface RTCMediaStreamTrackStats extends RTCStats { + trackIdentifier?: string; + remoteSource?: boolean; + ended?: boolean; + detached?: boolean; + ssrcIds?: string[]; + frameWidth?: number; + frameHeight?: number; + framesPerSecond?: number; + framesSent?: number; + framesReceived?: number; + framesDecoded?: number; + framesDropped?: number; + framesCorrupted?: number; + partialFramesLost?: number; + fullFramesLost?: number; + audioLevel?: number; + echoReturnLoss?: number; + echoReturnLossEnhancement?: number; } -interface MutationObserverInit { - attributeFilter?: string[]; - attributeOldValue?: boolean; - attributes?: boolean; - characterData?: boolean; - characterDataOldValue?: boolean; - childList?: boolean; - subtree?: boolean; +interface RTCDataChannelStats extends RTCStats { + label?: string; + protocol?: string; + datachannelid?: number; + state?: RTCDataChannelState; + messagesSent?: number; + bytesSent?: number; + messagesReceived?: number; + bytesReceived?: number; } -interface NotificationOptions { - body?: string; - dir?: NotificationDirection; - icon?: string; - lang?: string; - tag?: string; +interface RTCTransportStats extends RTCStats { + bytesSent?: number; + bytesReceived?: number; + rtcpTransportStatsId?: string; + activeConnection?: boolean; + selectedCandidatePairId?: string; + localCertificateId?: string; + remoteCertificateId?: string; } -interface ObjectURLOptions { - oneTimeOnly?: boolean; +interface RTCIceCandidateStats extends RTCStats { + transportId?: string; + isRemote?: boolean; + ip?: string; + port?: number; + protocol?: string; + candidateType?: RTCIceCandidateType; + priority?: number; + url?: string; + deleted?: boolean; } -interface PaymentCurrencyAmount { - currency: string; - currencySystem?: string; - value: string; +interface RTCIceCandidatePairStats extends RTCStats { + transportId?: string; + localCandidateId?: string; + remoteCandidateId?: string; + state?: RTCStatsIceCandidatePairState; + priority?: number; + nominated?: boolean; + writable?: boolean; + readable?: boolean; + bytesSent?: number; + bytesReceived?: number; + totalRoundTripTime?: number; + currentRoundTripTime?: number; + availableOutgoingBitrate?: number; + availableIncomingBitrate?: number; + requestsReceived?: number; + requestsSent?: number; + responsesReceived?: number; + responsesSent?: number; + retransmissionsReceived?: number; + retransmissionsSent?: number; + consentRequestsReceived?: number; + consentRequestsSent?: number; + consentResponsesReceived?: number; + consentResponsesSent?: number; } -interface PaymentDetails { - displayItems?: PaymentItem[]; - error?: string; - modifiers?: PaymentDetailsModifier[]; - shippingOptions?: PaymentShippingOption[]; - total?: PaymentItem; +interface RTCCertificateStats extends RTCStats { + fingerprint?: string; + fingerprintAlgorithm?: string; + base64Certificate?: string; + issuerCertificateId?: string; } -interface PaymentDetailsModifier { - additionalDisplayItems?: PaymentItem[]; - data?: any; - supportedMethods: string[]; - total?: PaymentItem; +interface IDBObjectStoreParameters { + keyPath?: string | string[] | null; + autoIncrement?: boolean; } -interface PaymentItem { - amount: PaymentCurrencyAmount; - label: string; - pending?: boolean; +interface IDBIndexParameters { + unique?: boolean; + multiEntry?: boolean; } -interface PaymentMethodData { - data?: any; - supportedMethods: string[]; +interface IDBVersionChangeEventInit extends EventInit { + oldVersion?: number; + newVersion?: number | null; } -interface PaymentOptions { - requestPayerEmail?: boolean; - requestPayerName?: boolean; - requestPayerPhone?: boolean; - requestShipping?: boolean; - shippingType?: string; +interface IntersectionObserverEntryInit { + isIntersecting: boolean; + time: number; + rootBounds: DOMRectInit; + boundingClientRect: DOMRectInit; + intersectionRect: DOMRectInit; + isIntersecting: boolean; + intersectionRatio: number; + target: Element; } -interface PaymentRequestUpdateEventInit extends EventInit { +interface IntersectionObserverInit { + root?: Element | null; + rootMargin?: string; + threshold?: number | number[]; } -interface PaymentShippingOption { - amount: PaymentCurrencyAmount; - id: string; - label: string; - selected?: boolean; +interface MediaTrackSupportedConstraints { + width?: boolean; + height?: boolean; + aspectRatio?: boolean; + frameRate?: boolean; + facingMode?: boolean; + volume?: boolean; + sampleRate?: boolean; + sampleSize?: boolean; + echoCancellation?: boolean; + latency?: boolean; + channelCount?: boolean; + deviceId?: boolean; + groupId?: boolean; } -interface PeriodicWaveConstraints { - disableNormalization?: boolean; +interface MediaTrackCapabilities { + width?: LongRange; + height?: LongRange; + aspectRatio?: DoubleRange; + frameRate?: DoubleRange; + facingMode?: string[]; + volume?: DoubleRange; + sampleRate?: LongRange; + sampleSize?: LongRange; + echoCancellation?: boolean[]; + latency?: DoubleRange; + channelCount?: LongRange; + deviceId?: string; + groupId?: string; } -interface PointerEventInit extends MouseEventInit { - height?: number; - isPrimary?: boolean; - pointerId?: number; - pointerType?: string; - pressure?: number; - tiltX?: number; - tiltY?: number; - width?: number; +interface MediaTrackConstraints extends MediaTrackConstraintSet { + advanced?: MediaTrackConstraintSet[]; } -interface PopStateEventInit extends EventInit { - state?: any; +interface MediaTrackConstraintSet { + width?: ConstrainLong; + height?: ConstrainLong; + aspectRatio?: ConstrainDouble; + frameRate?: ConstrainDouble; + facingMode?: ConstrainDOMString; + volume?: ConstrainDouble; + sampleRate?: ConstrainLong; + sampleSize?: ConstrainLong; + echoCancellation?: ConstrainBoolean; + latency?: ConstrainDouble; + channelCount?: ConstrainLong; + deviceId?: ConstrainDOMString; + groupId?: ConstrainDOMString; } -interface PositionOptions { - enableHighAccuracy?: boolean; - maximumAge?: number; - timeout?: number; +interface MediaTrackSettings { + width?: number; + height?: number; + aspectRatio?: number; + frameRate?: number; + facingMode?: string; + volume?: number; + sampleRate?: number; + sampleSize?: number; + echoCancellation?: boolean; + latency?: number; + channelCount?: number; + deviceId?: string; + groupId?: string; } -interface ProgressEventInit extends EventInit { - lengthComputable?: boolean; - loaded?: number; - total?: number; +interface MediaStreamTrackEventInit extends EventInit { + track: MediaStreamTrack; } -interface PushSubscriptionOptionsInit { - applicationServerKey?: any; - userVisibleOnly?: boolean; +interface OverconstrainedErrorEventInit extends EventInit { + error?: any; } -interface RegistrationOptions { - scope?: string; +interface MediaStreamConstraints { + video?: boolean | MediaTrackConstraints; + audio?: boolean | MediaTrackConstraints; } -interface RequestInit { - body?: any; - cache?: RequestCache; - credentials?: RequestCredentials; - headers?: Headers | string[][]; - integrity?: string; - keepalive?: boolean; - method?: string; - mode?: RequestMode; - redirect?: RequestRedirect; - referrer?: string; - referrerPolicy?: ReferrerPolicy; - window?: any; +interface DoubleRange { + max?: number; + min?: number; } -interface ResponseInit { - headers?: Headers | string[][]; - status?: number; - statusText?: string; -} - -interface RTCConfiguration { - bundlePolicy?: RTCBundlePolicy; - iceServers?: RTCIceServer[]; - iceTransportPolicy?: RTCIceTransportPolicy; - peerIdentity?: string; -} - -interface RTCDtlsFingerprint { - algorithm?: string; - value?: string; -} - -interface RTCDtlsParameters { - fingerprints?: RTCDtlsFingerprint[]; - role?: RTCDtlsRole; -} - -interface RTCDTMFToneChangeEventInit extends EventInit { - tone?: string; -} - -interface RTCIceCandidateAttributes extends RTCStats { - addressSourceUrl?: string; - candidateType?: RTCStatsIceCandidateType; - ipAddress?: string; - portNumber?: number; - priority?: number; - transport?: string; -} - -interface RTCIceCandidateComplete { -} - -interface RTCIceCandidateDictionary { - foundation?: string; - ip?: string; - msMTurnSessionId?: string; - port?: number; - priority?: number; - protocol?: RTCIceProtocol; - relatedAddress?: string; - relatedPort?: number; - tcpType?: RTCIceTcpCandidateType; - type?: RTCIceCandidateType; +interface ConstrainDoubleRange extends DoubleRange { + exact?: number; + ideal?: number; } -interface RTCIceCandidateInit { - candidate?: string; - sdpMid?: string; - sdpMLineIndex?: number; +interface LongRange { + max?: number; + min?: number; } -interface RTCIceCandidatePair { - local?: RTCIceCandidateDictionary; - remote?: RTCIceCandidateDictionary; +interface ConstrainLongRange extends LongRange { + exact?: number; + ideal?: number; } -interface RTCIceCandidatePairStats extends RTCStats { - availableIncomingBitrate?: number; - availableOutgoingBitrate?: number; - bytesReceived?: number; - bytesSent?: number; - localCandidateId?: string; - nominated?: boolean; - priority?: number; - readable?: boolean; - remoteCandidateId?: string; - roundTripTime?: number; - state?: RTCStatsIceCandidatePairState; - transportId?: string; - writable?: boolean; +interface ConstrainBooleanParameters { + exact?: boolean; + ideal?: boolean; } -interface RTCIceGatherOptions { - gatherPolicy?: RTCIceGatherPolicy; - iceservers?: RTCIceServer[]; - portRange?: MSPortRange; +interface ConstrainDOMStringParameters { + exact?: string | string[]; + ideal?: string | string[]; } -interface RTCIceParameters { - iceLite?: boolean | null; - password?: string; - usernameFragment?: string; +interface Capabilities { } -interface RTCIceServer { - credential?: string | null; - urls?: any; - username?: string | null; +interface Settings { } -interface RTCInboundRTPStreamStats extends RTCRTPStreamStats { - bytesReceived?: number; - fractionLost?: number; - jitter?: number; - packetsLost?: number; - packetsReceived?: number; +interface ConstraintSet { } -interface RTCMediaStreamTrackStats extends RTCStats { - audioLevel?: number; - echoReturnLoss?: number; - echoReturnLossEnhancement?: number; - frameHeight?: number; - framesCorrupted?: number; - framesDecoded?: number; - framesDropped?: number; - framesPerSecond?: number; - framesReceived?: number; - framesSent?: number; - frameWidth?: number; - remoteSource?: boolean; - ssrcIds?: string[]; - trackIdentifier?: string; +interface Constraints extends ConstraintSet { + advanced?: ConstraintSet[]; } -interface RTCOfferOptions { - iceRestart?: boolean; - offerToReceiveAudio?: number; - offerToReceiveVideo?: number; - voiceActivityDetection?: boolean; +interface NotificationOptions { + dir?: NotificationDirection; + lang?: string; + body?: string; + tag?: string; + image?: string; + icon?: string; + badge?: string; + sound?: string; + vibrate?: any; + timestamp?: number; + renotify?: boolean; + silent?: boolean; + requireInteraction?: boolean; + data?: any; + actions?: NotificationAction[]; } -interface RTCOutboundRTPStreamStats extends RTCRTPStreamStats { - bytesSent?: number; - packetsSent?: number; - roundTripTime?: number; - targetBitrate?: number; +interface NotificationAction { + action: string; + title: string; + icon?: string; } -interface RTCPeerConnectionIceEventInit extends EventInit { - candidate?: RTCIceCandidate; +interface GetNotificationOptions { + tag?: string; } -interface RTCRtcpFeedback { - parameter?: string; - type?: string; +interface NotificationEventInit extends ExtendableEventInit { + notification: Notification; + action?: string; } -interface RTCRtcpParameters { - cname?: string; - mux?: boolean; - reducedSize?: boolean; - ssrc?: number; +interface PaymentMethodData { + supportedMethods: string[]; + data?: any; } -interface RTCRtpCapabilities { - codecs?: RTCRtpCodecCapability[]; - fecMechanisms?: string[]; - headerExtensions?: RTCRtpHeaderExtension[]; +interface PaymentCurrencyAmount { + currency: string; + value: string; + currencySystem?: string; } -interface RTCRtpCodecCapability { - clockRate?: number; - kind?: string; - maxptime?: number; - maxSpatialLayers?: number; - maxTemporalLayers?: number; - name?: string; - numChannels?: number; - options?: any; - parameters?: any; - preferredPayloadType?: number; - ptime?: number; - rtcpFeedback?: RTCRtcpFeedback[]; - svcMultiStreamSupport?: boolean; +interface PaymentDetailsBase { + displayItems?: PaymentItem[]; + shippingOptions?: PaymentShippingOption[]; + modifiers?: PaymentDetailsModifier[]; } -interface RTCRtpCodecParameters { - clockRate?: number; - maxptime?: number; - name?: string; - numChannels?: number; - parameters?: any; - payloadType?: any; - ptime?: number; - rtcpFeedback?: RTCRtcpFeedback[]; +interface PaymentDetailsInit extends PaymentDetailsBase { + id?: string; + total: PaymentItem; } -interface RTCRtpContributingSource { - audioLevel?: number; - csrc?: number; - timestamp?: number; +interface PaymentDetailsUpdate extends PaymentDetailsBase { + error?: string; + total?: PaymentItem; } -interface RTCRtpEncodingParameters { - active?: boolean; - codecPayloadType?: number; - dependencyEncodingIds?: string[]; - encodingId?: string; - fec?: RTCRtpFecParameters; - framerateScale?: number; - maxBitrate?: number; - maxFramerate?: number; - minQuality?: number; - priority?: number; - resolutionScale?: number; - rtx?: RTCRtpRtxParameters; - ssrc?: number; - ssrcRange?: RTCSsrcRange; +interface PaymentDetailsModifier { + supportedMethods: string[]; + total?: PaymentItem; + additionalDisplayItems?: PaymentItem[]; + data?: any; } -interface RTCRtpFecParameters { - mechanism?: string; - ssrc?: number; +interface PaymentOptions { + requestPayerName?: boolean; + requestPayerEmail?: boolean; + requestPayerPhone?: boolean; + requestShipping?: boolean; + shippingType?: PaymentShippingType; } -interface RTCRtpHeaderExtension { - kind?: string; - preferredEncrypt?: boolean; - preferredId?: number; - uri?: string; +interface PaymentItem { + label: string; + amount: PaymentCurrencyAmount; + pending?: boolean; } -interface RTCRtpHeaderExtensionParameters { - encrypt?: boolean; - id?: number; - uri?: string; +interface PaymentShippingOption { + id: string; + label: string; + amount: PaymentCurrencyAmount; + selected?: boolean; } -interface RTCRtpParameters { - codecs?: RTCRtpCodecParameters[]; - degradationPreference?: RTCDegradationPreference; - encodings?: RTCRtpEncodingParameters[]; - headerExtensions?: RTCRtpHeaderExtensionParameters[]; - muxId?: string; - rtcp?: RTCRtcpParameters; +interface PaymentRequestUpdateEventInit extends EventInit { } -interface RTCRtpRtxParameters { - ssrc?: number; +interface PerformanceObserverInit { + entryTypes: string[]; } -interface RTCRTPStreamStats extends RTCStats { - associateStatsId?: string; - codecId?: string; - firCount?: number; - isRemote?: boolean; - mediaTrackId?: string; - nackCount?: number; - pliCount?: number; - sliCount?: number; - ssrc?: string; - transportId?: string; +interface PointerEventInit extends MouseEventInit { + pointerId?: number; + width?: number; + height?: number; + pressure?: number; + tiltX?: number; + tiltY?: number; + pointerType?: string; + isPrimary?: boolean; } -interface RTCRtpUnhandled { - muxId?: string; - payloadType?: number; - ssrc?: number; +interface PushSubscriptionOptionsInit { + userVisibleOnly?: boolean; + applicationServerKey?: BufferSource | string | null; } -interface RTCSessionDescriptionInit { - sdp?: string; - type?: RTCSdpType; +interface PushEventInit extends ExtendableEventInit { + data?: PushMessageDataInit; } -interface RTCSrtpKeyParam { - keyMethod?: string; - keySalt?: string; - lifetime?: string; - mkiLength?: number; - mkiValue?: number; +interface PushSubscriptionChangeInit extends ExtendableEventInit { + newSubscription?: PushSubscription; + oldSubscription?: PushSubscription; } -interface RTCSrtpSdesParameters { - cryptoSuite?: string; - keyParams?: RTCSrtpKeyParam[]; - sessionParams?: string[]; - tag?: number; +interface RegistrationOptions { + scope?: string; + type?: WorkerType; + useCache?: boolean; } -interface RTCSsrcRange { - max?: number; - min?: number; +interface NavigationPreloadState { + enabled?: boolean; + headerValue?: any; } -interface RTCStats { - id?: string; - msType?: MSStatsType; - timestamp?: number; - type?: RTCStatsType; +interface ClientQueryOptions { + includeUncontrolled?: boolean; + includeReserved?: boolean; + type?: ClientType; } -interface RTCStatsReport { +interface ExtendableEventInit extends EventInit { } -interface RTCTransportStats extends RTCStats { - activeConnection?: boolean; - bytesReceived?: number; - bytesSent?: number; - localCertificateId?: string; - remoteCertificateId?: string; - rtcpTransportStatsId?: string; - selectedCandidatePairId?: string; +interface ForeignFetchOptions { + scopes: string[]; + origins: string[]; } -interface ScopedCredentialDescriptor { - id: any; - transports?: Transport[]; - type: ScopedCredentialType; +interface FetchEventInit extends ExtendableEventInit { + request: Request; + preloadResponse: Promise; + clientId?: string; + reservedClientId?: string; + targetClientId?: string; } -interface ScopedCredentialOptions { - excludeList?: ScopedCredentialDescriptor[]; - extensions?: WebAuthnExtensions; - rpId?: USVString; - timeoutSeconds?: number; +interface ForeignFetchEventInit extends ExtendableEventInit { + request: Request; + origin?: string; } -interface ScopedCredentialParameters { - algorithm: string | Algorithm; - type: ScopedCredentialType; +interface ForeignFetchResponse { + response: Response; + origin?: string; + headers?: any[]; } -interface ServiceWorkerMessageEventInit extends EventInit { +interface ExtendableMessageEventInit extends ExtendableEventInit { data?: any; - lastEventId?: string; origin?: string; - ports?: MessagePort[] | null; - source?: ServiceWorker | MessagePort | null; -} - -interface SpeechSynthesisEventInit extends EventInit { - charIndex?: number; - elapsedTime?: number; - name?: string; - utterance?: SpeechSynthesisUtterance | null; -} - -interface StoreExceptionsInformation extends ExceptionInformation { - detailURI?: string | null; - explanationString?: string | null; - siteName?: string | null; + lastEventId?: string; + source?: Client | ServiceWorker | MessagePort | null; + ports?: MessagePort[]; } -interface StoreSiteSpecificExceptionsInformation extends StoreExceptionsInformation { - arrayOfDomainStrings?: string[]; +interface CacheQueryOptions { + ignoreSearch?: boolean; + ignoreMethod?: boolean; + ignoreVary?: boolean; + cacheName?: string; } -interface TrackEventInit extends EventInit { - track?: VideoTrack | AudioTrack | TextTrack | null; +interface CacheBatchOperation { + type?: string; + request?: Request; + response?: Response; + options?: CacheQueryOptions; } -interface TransitionEventInit extends EventInit { - elapsedTime?: number; - propertyName?: string; +interface SVGBoundingBoxOptions { + fill?: boolean; + stroke?: boolean; + markers?: boolean; + clipped?: boolean; } interface UIEventInit extends EventInit { - detail?: number; view?: Window | null; + detail?: number; } -interface WebAuthnExtensions { +interface FocusEventInit extends UIEventInit { + relatedTarget?: EventTarget | null; } -interface WebGLContextAttributes { - failIfMajorPerformanceCaveat?: boolean; - alpha?: boolean; - antialias?: boolean; - depth?: boolean; - premultipliedAlpha?: boolean; - preserveDrawingBuffer?: boolean; - stencil?: boolean; +interface MouseEventInit extends EventModifierInit { + screenX?: number; + screenY?: number; + clientX?: number; + clientY?: number; + button?: number; + buttons?: number; + relatedTarget?: EventTarget | null; } -interface WebGLContextEventInit extends EventInit { - statusMessage?: string; +interface EventModifierInit extends UIEventInit { + ctrlKey?: boolean; + shiftKey?: boolean; + altKey?: boolean; + metaKey?: boolean; + modifierAltGraph?: boolean; + modifierCapsLock?: boolean; + modifierFn?: boolean; + modifierFnLock?: boolean; + modifierHyper?: boolean; + modifierNumLock?: boolean; + modifierScrollLock?: boolean; + modifierSuper?: boolean; + modifierSymbol?: boolean; + modifierSymbolLock?: boolean; } interface WheelEventInit extends MouseEventInit { - deltaMode?: number; deltaX?: number; deltaY?: number; deltaZ?: number; + deltaMode?: number; } -interface EventListener { - (evt: Event): void; +interface InputEventInit extends UIEventInit { + data?: string | null; + isComposing?: boolean; } -interface WebKitEntriesCallback { - (evt: Event): void; +interface KeyboardEventInit extends EventModifierInit { + key?: string; + code?: string; + location?: number; + repeat?: boolean; + isComposing?: boolean; } -interface WebKitErrorCallback { - (evt: Event): void; +interface CompositionEventInit extends UIEventInit { + data?: string; } -interface WebKitFileCallback { - (evt: Event): void; +interface DocumentTimelineOptions { + originTime?: number; } -interface AnalyserNode extends AudioNode { - fftSize: number; - readonly frequencyBinCount: number; - maxDecibels: number; - minDecibels: number; - smoothingTimeConstant: number; - getByteFrequencyData(array: Uint8Array): void; - getByteTimeDomainData(array: Uint8Array): void; - getFloatFrequencyData(array: Float32Array): void; - getFloatTimeDomainData(array: Float32Array): void; +interface AnimationEffectTimingProperties { + delay?: number; + endDelay?: number; + fill?: FillMode; + iterationStart?: number; + iterations?: number; + duration?: number | string; + direction?: PlaybackDirection; + easing?: string; } -declare var AnalyserNode: { - prototype: AnalyserNode; - new(): AnalyserNode; -}; +interface ComputedTimingProperties extends AnimationEffectTimingProperties { + endTime?: number; + activeDuration?: number; + localTime?: number | null; + progress?: number | null; + currentIteration?: number | null; +} -interface ANGLE_instanced_arrays { - drawArraysInstancedANGLE(mode: number, first: number, count: number, primcount: number): void; - drawElementsInstancedANGLE(mode: number, count: number, type: number, offset: number, primcount: number): void; - vertexAttribDivisorANGLE(index: number, divisor: number): void; - readonly VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: number; +interface BaseComputedKeyframe { + offset?: number | null; + computedOffset?: number; + easing?: string; + composite?: CompositeOperation; } -declare var ANGLE_instanced_arrays: { - prototype: ANGLE_instanced_arrays; - new(): ANGLE_instanced_arrays; - readonly VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: number; -}; +interface BasePropertyIndexedKeyframe { + easing?: string; + composite?: CompositeOperation; +} -interface AnimationEvent extends Event { - readonly animationName: string; - readonly elapsedTime: number; - initAnimationEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, animationNameArg: string, elapsedTimeArg: number): void; +interface BaseKeyframe { + offset?: number | null; + easing?: string; + composite?: CompositeOperation; } -declare var AnimationEvent: { - prototype: AnimationEvent; - new(typeArg: string, eventInitDict?: AnimationEventInit): AnimationEvent; -}; +interface KeyframeEffectOptions extends AnimationEffectTimingProperties { + iterationComposite?: IterationCompositeOperation; + composite?: CompositeOperation; + spacing?: string; +} -interface ApplicationCacheEventMap { - "cached": Event; - "checking": Event; - "downloading": Event; - "error": Event; - "noupdate": Event; - "obsolete": Event; - "progress": ProgressEvent; - "updateready": Event; +interface KeyframeAnimationOptions extends KeyframeEffectOptions { + id?: string; } -interface ApplicationCache extends EventTarget { - oncached: (this: ApplicationCache, ev: Event) => any; - onchecking: (this: ApplicationCache, ev: Event) => any; - ondownloading: (this: ApplicationCache, ev: Event) => any; - onerror: (this: ApplicationCache, ev: Event) => any; - onnoupdate: (this: ApplicationCache, ev: Event) => any; - onobsolete: (this: ApplicationCache, ev: Event) => any; - onprogress: (this: ApplicationCache, ev: ProgressEvent) => any; - onupdateready: (this: ApplicationCache, ev: Event) => any; - readonly status: number; - abort(): void; - swapCache(): void; - update(): void; - readonly CHECKING: number; - readonly DOWNLOADING: number; - readonly IDLE: number; - readonly OBSOLETE: number; - readonly UNCACHED: number; - readonly UPDATEREADY: number; - addEventListener(type: K, listener: (this: ApplicationCache, ev: ApplicationCacheEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface AnimationPlaybackEventInit extends EventInit { + currentTime?: number | null; + timelineTime?: number | null; } -declare var ApplicationCache: { - prototype: ApplicationCache; - new(): ApplicationCache; - readonly CHECKING: number; - readonly DOWNLOADING: number; - readonly IDLE: number; - readonly OBSOLETE: number; - readonly UNCACHED: number; - readonly UPDATEREADY: number; -}; +interface AudioContextOptions { + latencyHint?: AudioContextLatencyCategory | number; + sampleRate?: number; +} -interface Attr extends Node { - readonly name: string; - readonly ownerElement: Element; - readonly prefix: string | null; - readonly specified: boolean; - value: string; +interface AudioTimestamp { + contextTime?: number; + performanceTime?: number; } -declare var Attr: { - prototype: Attr; - new(): Attr; -}; +interface OfflineAudioCompletionEventInit extends EventInit { + renderedBuffer: AudioBuffer; +} -interface AudioBuffer { - readonly duration: number; - readonly length: number; - readonly numberOfChannels: number; - readonly sampleRate: number; - copyFromChannel(destination: Float32Array, channelNumber: number, startInChannel?: number): void; - copyToChannel(source: Float32Array, channelNumber: number, startInChannel?: number): void; - getChannelData(channel: number): Float32Array; +interface AudioNodeOptions { + channelCount?: number; + channelCountMode?: ChannelCountMode; + channelInterpretation?: ChannelInterpretation; } -declare var AudioBuffer: { - prototype: AudioBuffer; - new(): AudioBuffer; -}; +interface GainOptions extends AudioNodeOptions { + gain?: number; +} -interface AudioBufferSourceNodeEventMap { - "ended": MediaStreamErrorEvent; +interface DelayOptions extends AudioNodeOptions { + maxDelayTime?: number; + delayTime?: number; } -interface AudioBufferSourceNode extends AudioNode { - buffer: AudioBuffer | null; - readonly detune: AudioParam; - loop: boolean; - loopEnd: number; - loopStart: number; - onended: (this: AudioBufferSourceNode, ev: MediaStreamErrorEvent) => any; - readonly playbackRate: AudioParam; - start(when?: number, offset?: number, duration?: number): void; - stop(when?: number): void; - addEventListener(type: K, listener: (this: AudioBufferSourceNode, ev: AudioBufferSourceNodeEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface AudioBufferOptions { + numberOfChannels?: number; + length: number; + sampleRate: number; } -declare var AudioBufferSourceNode: { - prototype: AudioBufferSourceNode; - new(): AudioBufferSourceNode; -}; +interface AudioBufferSourceOptions { + buffer?: AudioBuffer | null; + detune?: number; + loop?: boolean; + loopEnd?: number; + loopStart?: number; + playbackRate?: number; +} -interface AudioContextEventMap { - "statechange": Event; +interface ConstantSourceOptions { + offset?: number; } -interface AudioContextBase extends EventTarget { - readonly currentTime: number; - readonly destination: AudioDestinationNode; - readonly listener: AudioListener; - onstatechange: (this: AudioContext, ev: Event) => any; - readonly sampleRate: number; - readonly state: AudioContextState; - close(): Promise; - createAnalyser(): AnalyserNode; - createBiquadFilter(): BiquadFilterNode; - createBuffer(numberOfChannels: number, length: number, sampleRate: number): AudioBuffer; - createBufferSource(): AudioBufferSourceNode; - createChannelMerger(numberOfInputs?: number): ChannelMergerNode; - createChannelSplitter(numberOfOutputs?: number): ChannelSplitterNode; - createConvolver(): ConvolverNode; - createDelay(maxDelayTime?: number): DelayNode; - createDynamicsCompressor(): DynamicsCompressorNode; - createGain(): GainNode; - createIIRFilter(feedforward: number[], feedback: number[]): IIRFilterNode; - createMediaElementSource(mediaElement: HTMLMediaElement): MediaElementAudioSourceNode; - createMediaStreamSource(mediaStream: MediaStream): MediaStreamAudioSourceNode; - createOscillator(): OscillatorNode; - createPanner(): PannerNode; - createPeriodicWave(real: Float32Array, imag: Float32Array, constraints?: PeriodicWaveConstraints): PeriodicWave; - createScriptProcessor(bufferSize?: number, numberOfInputChannels?: number, numberOfOutputChannels?: number): ScriptProcessorNode; - createStereoPanner(): StereoPannerNode; - createWaveShaper(): WaveShaperNode; - decodeAudioData(audioData: ArrayBuffer, successCallback?: DecodeSuccessCallback, errorCallback?: DecodeErrorCallback): Promise; - resume(): Promise; - addEventListener(type: K, listener: (this: AudioContext, ev: AudioContextEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface MediaElementAudioSourceOptions { + mediaElement: HTMLMediaElement; } -interface AudioContext extends AudioContextBase { - suspend(): Promise; +interface AudioWorkletNodeOptions extends AudioNodeOptions { + numberOfInputs?: number; + numberOfOutputs?: number; } -declare var AudioContext: { - prototype: AudioContext; - new(): AudioContext; -}; +interface AudioParamDescriptor { + name?: string; + defaultValue?: number; + minValue?: number; + maxValue?: number; +} -interface AudioDestinationNode extends AudioNode { - readonly maxChannelCount: number; +interface AudioContextInfo { + currentTime?: number; + sampleRate?: number; } -declare var AudioDestinationNode: { - prototype: AudioDestinationNode; - new(): AudioDestinationNode; -}; +interface AudioProcessingEventInit extends EventInit { + playbackTime: number; + inputBuffer: AudioBuffer; + outputBuffer: AudioBuffer; +} -interface AudioListener { - dopplerFactor: number; - speedOfSound: number; - setOrientation(x: number, y: number, z: number, xUp: number, yUp: number, zUp: number): void; - setPosition(x: number, y: number, z: number): void; - setVelocity(x: number, y: number, z: number): void; +interface PannerOptions extends AudioNodeOptions { + panningModel?: PanningModelType; + distanceModel?: DistanceModelType; + positionX?: number; + positionY?: number; + positionZ?: number; + orientationX?: number; + orientationY?: number; + orientationZ?: number; + refDistance?: number; + maxDistance?: number; + rolloffFactor?: number; + coneInnerAngle?: number; + coneOuterAngle?: number; + coneOuterGain?: number; } -declare var AudioListener: { - prototype: AudioListener; - new(): AudioListener; -}; +interface StereoPannerOptions extends AudioNodeOptions { + pan?: number; +} -interface AudioNode extends EventTarget { - channelCount: number; - channelCountMode: ChannelCountMode; - channelInterpretation: ChannelInterpretation; - readonly context: AudioContext; - readonly numberOfInputs: number; - readonly numberOfOutputs: number; - connect(destination: AudioNode, output?: number, input?: number): AudioNode; - connect(destination: AudioParam, output?: number): void; - disconnect(output?: number): void; - disconnect(destination: AudioNode, output?: number, input?: number): void; - disconnect(destination: AudioParam, output?: number): void; +interface ConvolverOptions extends AudioNodeOptions { + buffer?: AudioBuffer | null; + disableNormalization?: boolean; } -declare var AudioNode: { - prototype: AudioNode; - new(): AudioNode; -}; +interface AnalyserOptions extends AudioNodeOptions { + fftSize?: number; + maxDecibels?: number; + minDecibels?: number; + smoothingTimeConstant?: number; +} -interface AudioParam { - readonly defaultValue: number; - value: number; - cancelScheduledValues(startTime: number): AudioParam; - exponentialRampToValueAtTime(value: number, endTime: number): AudioParam; - linearRampToValueAtTime(value: number, endTime: number): AudioParam; - setTargetAtTime(target: number, startTime: number, timeConstant: number): AudioParam; - setValueAtTime(value: number, startTime: number): AudioParam; - setValueCurveAtTime(values: Float32Array, startTime: number, duration: number): AudioParam; +interface ChannelSplitterOptions extends AudioNodeOptions { + numberOfOutputs?: number; } -declare var AudioParam: { - prototype: AudioParam; - new(): AudioParam; -}; +interface ChannelMergerOptions extends AudioNodeOptions { + numberOfInputs?: number; +} -interface AudioProcessingEvent extends Event { - readonly inputBuffer: AudioBuffer; - readonly outputBuffer: AudioBuffer; - readonly playbackTime: number; +interface DynamicsCompressorOptions extends AudioNodeOptions { + attack?: number; + knee?: number; + ratio?: number; + release?: number; + threshold?: number; } -declare var AudioProcessingEvent: { - prototype: AudioProcessingEvent; - new(): AudioProcessingEvent; -}; +interface BiquadFilterOptions extends AudioNodeOptions { + type?: BiquadFilterType; + Q?: number; + detune?: number; + frequency?: number; + gain?: number; +} -interface AudioTrack { - enabled: boolean; - readonly id: string; - kind: string; - readonly label: string; - language: string; - readonly sourceBuffer: SourceBuffer; +interface IIRFilterOptions extends AudioNodeOptions { + feedforward: number[]; + feedback: number[]; } -declare var AudioTrack: { - prototype: AudioTrack; - new(): AudioTrack; -}; +interface WaveShaperOptions extends AudioNodeOptions { + curve?: number[]; + oversample?: OverSampleType; +} -interface AudioTrackListEventMap { - "addtrack": TrackEvent; - "change": Event; - "removetrack": TrackEvent; +interface OscillatorOptions extends AudioNodeOptions { + type?: OscillatorType; + frequency?: number; + detune?: number; + periodicWave?: PeriodicWave; } -interface AudioTrackList extends EventTarget { - readonly length: number; - onaddtrack: (this: AudioTrackList, ev: TrackEvent) => any; - onchange: (this: AudioTrackList, ev: Event) => any; - onremovetrack: (this: AudioTrackList, ev: TrackEvent) => any; - getTrackById(id: string): AudioTrack | null; - item(index: number): AudioTrack; - addEventListener(type: K, listener: (this: AudioTrackList, ev: AudioTrackListEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; - [index: number]: AudioTrack; +interface PeriodicWaveConstraints { + disableNormalization?: boolean; } -declare var AudioTrackList: { - prototype: AudioTrackList; - new(): AudioTrackList; -}; +interface PeriodicWaveOptions extends PeriodicWaveConstraints { + real?: number[]; + imag?: number[]; +} -interface BarProp { - readonly visible: boolean; +interface MediaStreamAudioSourceOptions { + mediaStream: MediaStream; } -declare var BarProp: { - prototype: BarProp; - new(): BarProp; -}; +interface MediaStreamTrackAudioSourceOptions { + mediaStreamTrack: any; +} -interface BeforeUnloadEvent extends Event { - returnValue: any; +interface Account { + rpDisplayName: string; + displayName: string; + id: string; + name?: string; + imageURL?: string; } -declare var BeforeUnloadEvent: { - prototype: BeforeUnloadEvent; - new(): BeforeUnloadEvent; -}; +interface ScopedCredentialParameters { + type: ScopedCredentialType; + algorithm: AlgorithmIdentifier; +} -interface BiquadFilterNode extends AudioNode { - readonly detune: AudioParam; - readonly frequency: AudioParam; - readonly gain: AudioParam; - readonly Q: AudioParam; - type: BiquadFilterType; - getFrequencyResponse(frequencyHz: Float32Array, magResponse: Float32Array, phaseResponse: Float32Array): void; +interface ScopedCredentialOptions { + timeout?: number; + rpId?: string; + excludeList?: ScopedCredentialDescriptor[]; + attachment?: Attachment; + extensions?: AuthenticationExtensions; } -declare var BiquadFilterNode: { - prototype: BiquadFilterNode; - new(): BiquadFilterNode; -}; +interface AssertionOptions { + timeout?: number; + rpId?: string; + allowList?: ScopedCredentialDescriptor[]; + extensions?: AuthenticationExtensions; +} -interface Blob { - readonly size: number; - readonly type: string; - msClose(): void; - msDetachStream(): any; - slice(start?: number, end?: number, contentType?: string): Blob; +interface AuthenticationExtensions { } -declare var Blob: { - prototype: Blob; - new (blobParts?: any[], options?: BlobPropertyBag): Blob; -}; +interface ClientData { + challenge: string; + origin: string; + hashAlg: AlgorithmIdentifier; + tokenBinding?: string; + extensions?: AuthenticationExtensions; +} -interface Cache { - add(request: RequestInfo): Promise; - addAll(requests: RequestInfo[]): Promise; - delete(request: RequestInfo, options?: CacheQueryOptions): Promise; - keys(request?: RequestInfo, options?: CacheQueryOptions): Promise; - match(request: RequestInfo, options?: CacheQueryOptions): Promise; - matchAll(request?: RequestInfo, options?: CacheQueryOptions): Promise; - put(request: RequestInfo, response: Response): Promise; +interface ScopedCredentialDescriptor { + type: ScopedCredentialType; + id: BufferSource; + transports?: Transport[]; } -declare var Cache: { - prototype: Cache; - new(): Cache; -}; +interface SyncEventInit extends ExtendableEventInit { + tag: string; + lastChance?: boolean; +} -interface CacheStorage { - delete(cacheName: string): Promise; - has(cacheName: string): Promise; - keys(): Promise; - match(request: RequestInfo, options?: CacheQueryOptions): Promise; - open(cacheName: string): Promise; +interface Algorithm { + name: string; } -declare var CacheStorage: { - prototype: CacheStorage; - new(): CacheStorage; -}; +interface KeyAlgorithm { + name: string; +} -interface CanvasGradient { - addColorStop(offset: number, color: string): void; +interface RsaOtherPrimesInfo { + r?: string; + d?: string; + t?: string; } -declare var CanvasGradient: { - prototype: CanvasGradient; - new(): CanvasGradient; -}; +interface JsonWebKey { + kty?: string; + use?: string; + key_ops?: string[]; + alg?: string; + ext?: boolean; + crv?: string; + x?: string; + y?: string; + d?: string; + n?: string; + e?: string; + p?: string; + q?: string; + dp?: string; + dq?: string; + qi?: string; + oth?: RsaOtherPrimesInfo[]; + k?: string; +} -interface CanvasPattern { - setTransform(matrix: SVGMatrix): void; +interface CryptoKeyPair { + publicKey?: CryptoKey; + privateKey?: CryptoKey; } -declare var CanvasPattern: { - prototype: CanvasPattern; - new(): CanvasPattern; -}; +interface RsaKeyGenParams extends Algorithm { + modulusLength: number; + publicExponent: BigInteger; +} -interface CanvasRenderingContext2D extends Object, CanvasPathMethods { - readonly canvas: HTMLCanvasElement; - fillStyle: string | CanvasGradient | CanvasPattern; - font: string; - globalAlpha: number; - globalCompositeOperation: string; - imageSmoothingEnabled: boolean; - lineCap: string; - lineDashOffset: number; - lineJoin: string; - lineWidth: number; - miterLimit: number; - msFillRule: CanvasFillRule; - shadowBlur: number; - shadowColor: string; - shadowOffsetX: number; - shadowOffsetY: number; - strokeStyle: string | CanvasGradient | CanvasPattern; - textAlign: string; - textBaseline: string; - mozImageSmoothingEnabled: boolean; - webkitImageSmoothingEnabled: boolean; - oImageSmoothingEnabled: boolean; - beginPath(): void; - clearRect(x: number, y: number, w: number, h: number): void; - clip(fillRule?: CanvasFillRule): void; - createImageData(imageDataOrSw: number | ImageData, sh?: number): ImageData; - createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient; - createPattern(image: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement, repetition: string): CanvasPattern; - createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient; - drawFocusIfNeeded(element: Element): void; - drawImage(image: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | ImageBitmap, dstX: number, dstY: number): void; - drawImage(image: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | ImageBitmap, dstX: number, dstY: number, dstW: number, dstH: number): void; - drawImage(image: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | ImageBitmap, srcX: number, srcY: number, srcW: number, srcH: number, dstX: number, dstY: number, dstW: number, dstH: number): void; - fill(fillRule?: CanvasFillRule): void; - fillRect(x: number, y: number, w: number, h: number): void; - fillText(text: string, x: number, y: number, maxWidth?: number): void; - getImageData(sx: number, sy: number, sw: number, sh: number): ImageData; - getLineDash(): number[]; - isPointInPath(x: number, y: number, fillRule?: CanvasFillRule): boolean; - measureText(text: string): TextMetrics; - putImageData(imagedata: ImageData, dx: number, dy: number, dirtyX?: number, dirtyY?: number, dirtyWidth?: number, dirtyHeight?: number): void; - restore(): void; - rotate(angle: number): void; - save(): void; - scale(x: number, y: number): void; - setLineDash(segments: number[]): void; - setTransform(m11: number, m12: number, m21: number, m22: number, dx: number, dy: number): void; - stroke(path?: Path2D): void; - strokeRect(x: number, y: number, w: number, h: number): void; - strokeText(text: string, x: number, y: number, maxWidth?: number): void; - transform(m11: number, m12: number, m21: number, m22: number, dx: number, dy: number): void; - translate(x: number, y: number): void; +interface RsaHashedKeyGenParams extends RsaKeyGenParams { + hash: HashAlgorithmIdentifier; } -declare var CanvasRenderingContext2D: { - prototype: CanvasRenderingContext2D; - new(): CanvasRenderingContext2D; -}; +interface RsaKeyAlgorithm extends KeyAlgorithm { + modulusLength: number; + publicExponent: BigInteger; +} -interface CDATASection extends Text { +interface RsaHashedKeyAlgorithm extends RsaKeyAlgorithm { + hash: KeyAlgorithm; } -declare var CDATASection: { - prototype: CDATASection; - new(): CDATASection; -}; +interface RsaHashedImportParams extends Algorithm { + hash: HashAlgorithmIdentifier; +} -interface ChannelMergerNode extends AudioNode { +interface RsaPssParams extends Algorithm { + saltLength: number; } -declare var ChannelMergerNode: { - prototype: ChannelMergerNode; - new(): ChannelMergerNode; -}; +interface RsaOaepParams extends Algorithm { + label?: BufferSource; +} -interface ChannelSplitterNode extends AudioNode { +interface EcdsaParams extends Algorithm { + hash: HashAlgorithmIdentifier; } -declare var ChannelSplitterNode: { - prototype: ChannelSplitterNode; - new(): ChannelSplitterNode; -}; +interface EcKeyGenParams extends Algorithm { + namedCurve: NamedCurve; +} -interface CharacterData extends Node, ChildNode { - data: string; - readonly length: number; - appendData(arg: string): void; - deleteData(offset: number, count: number): void; - insertData(offset: number, arg: string): void; - replaceData(offset: number, count: number, arg: string): void; - substringData(offset: number, count: number): string; +interface EcKeyAlgorithm extends KeyAlgorithm { + namedCurve: NamedCurve; } -declare var CharacterData: { - prototype: CharacterData; - new(): CharacterData; -}; +interface EcKeyImportParams extends Algorithm { + namedCurve: NamedCurve; +} -interface ClientRect { - bottom: number; - readonly height: number; - left: number; - right: number; - top: number; - readonly width: number; +interface EcdhKeyDeriveParams extends Algorithm { + public: CryptoKey; } -declare var ClientRect: { - prototype: ClientRect; - new(): ClientRect; -}; +interface AesCtrParams extends Algorithm { + counter: BufferSource; + length: number; +} -interface ClientRectList { - readonly length: number; - item(index: number): ClientRect; - [index: number]: ClientRect; +interface AesKeyAlgorithm extends KeyAlgorithm { + length: number; } -declare var ClientRectList: { - prototype: ClientRectList; - new(): ClientRectList; -}; +interface AesKeyGenParams extends Algorithm { + length: number; +} -interface ClipboardEvent extends Event { - readonly clipboardData: DataTransfer; +interface AesDerivedKeyParams extends Algorithm { + length: number; } -declare var ClipboardEvent: { - prototype: ClipboardEvent; - new(type: string, eventInitDict?: ClipboardEventInit): ClipboardEvent; -}; +interface AesCbcParams extends Algorithm { + iv: BufferSource; +} -interface CloseEvent extends Event { - readonly code: number; - readonly reason: string; - readonly wasClean: boolean; - initCloseEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, wasCleanArg: boolean, codeArg: number, reasonArg: string): void; +interface AesGcmParams extends Algorithm { + iv: BufferSource; + additionalData?: BufferSource; + tagLength?: number; } -declare var CloseEvent: { - prototype: CloseEvent; - new(typeArg: string, eventInitDict?: CloseEventInit): CloseEvent; -}; +interface HmacImportParams extends Algorithm { + hash: HashAlgorithmIdentifier; + length?: number; +} -interface Comment extends CharacterData { - text: string; +interface HmacKeyAlgorithm extends KeyAlgorithm { + hash: KeyAlgorithm; + length: number; } -declare var Comment: { - prototype: Comment; - new(): Comment; -}; +interface HmacKeyGenParams extends Algorithm { + hash: HashAlgorithmIdentifier; + length?: number; +} -interface CompositionEvent extends UIEvent { - readonly data: string; - readonly locale: string; - initCompositionEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, dataArg: string, locale: string): void; +interface HkdfParams extends Algorithm { + hash: HashAlgorithmIdentifier; + salt: BufferSource; + info: BufferSource; } -declare var CompositionEvent: { - prototype: CompositionEvent; - new(typeArg: string, eventInitDict?: CompositionEventInit): CompositionEvent; -}; +interface Pbkdf2Params extends Algorithm { + salt: BufferSource; + iterations: number; + hash: HashAlgorithmIdentifier; +} -interface Console { - assert(test?: boolean, message?: string, ...optionalParams: any[]): void; - clear(): void; - count(countTitle?: string): void; - debug(message?: any, ...optionalParams: any[]): void; - dir(value?: any, ...optionalParams: any[]): void; - dirxml(value: any): void; - error(message?: any, ...optionalParams: any[]): void; - exception(message?: string, ...optionalParams: any[]): void; - group(groupTitle?: string, ...optionalParams: any[]): void; - groupCollapsed(groupTitle?: string, ...optionalParams: any[]): void; - groupEnd(): void; - info(message?: any, ...optionalParams: any[]): void; - log(message?: any, ...optionalParams: any[]): void; - msIsIndependentlyComposed(element: Element): boolean; - profile(reportName?: string): void; - profileEnd(): void; - select(element: Element): void; - table(...data: any[]): void; - time(timerName?: string): void; - timeEnd(timerName?: string): void; - trace(message?: any, ...optionalParams: any[]): void; - warn(message?: any, ...optionalParams: any[]): void; -} - -declare var Console: { - prototype: Console; - new(): Console; -}; +interface RTCConfiguration { + iceServers?: RTCIceServer[]; + iceTransportPolicy?: RTCIceTransportPolicy; + bundlePolicy?: RTCBundlePolicy; + rtcpMuxPolicy?: RTCRtcpMuxPolicy; + peerIdentity?: string; + certificates?: RTCCertificate[]; + iceCandidatePoolSize?: number; +} -interface ConvolverNode extends AudioNode { - buffer: AudioBuffer | null; - normalize: boolean; +interface RTCIceServer { + urls: string | string[]; + username?: string; + credential?: string; + credentialType?: RTCIceCredentialType; } -declare var ConvolverNode: { - prototype: ConvolverNode; - new(): ConvolverNode; -}; +interface RTCOfferAnswerOptions { + voiceActivityDetection?: boolean; +} -interface Coordinates { - readonly accuracy: number; - readonly altitude: number | null; - readonly altitudeAccuracy: number | null; - readonly heading: number | null; - readonly latitude: number; - readonly longitude: number; - readonly speed: number | null; +interface RTCOfferOptions extends RTCOfferAnswerOptions { + iceRestart?: boolean; } -declare var Coordinates: { - prototype: Coordinates; - new(): Coordinates; -}; +interface RTCAnswerOptions extends RTCOfferAnswerOptions { +} -interface Crypto extends Object, RandomSource { - readonly subtle: SubtleCrypto; +interface RTCOfferOptions { + offerToReceiveAudio?: boolean; + offerToReceiveVideo?: boolean; } -declare var Crypto: { - prototype: Crypto; - new(): Crypto; -}; +interface RTCSessionDescriptionInit { + type: RTCSdpType; + sdp?: string; +} -interface CryptoKey { - readonly algorithm: KeyAlgorithm; - readonly extractable: boolean; - readonly type: string; - readonly usages: string[]; +interface RTCIceCandidateInit { + candidate?: string; + sdpMid?: string | null; + sdpMLineIndex?: number | null; + ufrag?: string; } -declare var CryptoKey: { - prototype: CryptoKey; - new(): CryptoKey; -}; +interface RTCPeerConnectionIceEventInit extends EventInit { + candidate?: RTCIceCandidate | null; + url?: string | null; +} -interface CryptoKeyPair { - privateKey: CryptoKey; - publicKey: CryptoKey; +interface RTCPeerConnectionIceErrorEventInit extends EventInit { + hostCandidate?: string; + url?: string; + errorCode: number; + statusText?: string; } -declare var CryptoKeyPair: { - prototype: CryptoKeyPair; - new(): CryptoKeyPair; -}; +interface RTCCertificateExpiration { + expires?: number; +} -interface CSS { - supports(property: string, value?: string): boolean; +interface RTCRtpTransceiverInit { + direction?: RTCRtpTransceiverDirection; + streams?: MediaStream[]; + sendEncodings?: RTCRtpEncodingParameters[]; } -declare var CSS: CSS; -interface CSSConditionRule extends CSSGroupingRule { - conditionText: string; +interface RTCRtpParameters { + transactionId?: string; + encodings?: RTCRtpEncodingParameters[]; + headerExtensions?: RTCRtpHeaderExtensionParameters[]; + rtcp?: RTCRtcpParameters; + codecs?: RTCRtpCodecParameters[]; + degradationPreference?: RTCDegradationPreference; } -declare var CSSConditionRule: { - prototype: CSSConditionRule; - new(): CSSConditionRule; -}; +interface RTCRtpEncodingParameters { + ssrc?: number; + rtx?: RTCRtpRtxParameters; + fec?: RTCRtpFecParameters; + dtx?: RTCDtxStatus; + active?: boolean; + priority?: RTCPriorityType; + maxBitrate?: number; + maxFramerate?: number; + rid?: string; + scaleResolutionDownBy?: number; +} -interface CSSFontFaceRule extends CSSRule { - readonly style: CSSStyleDeclaration; +interface RTCRtpRtxParameters { + ssrc?: number; +} + +interface RTCRtpFecParameters { + ssrc?: number; +} + +interface RTCRtcpParameters { + cname?: string; + reducedSize?: boolean; +} + +interface RTCRtpHeaderExtensionParameters { + uri?: string; + id?: number; + encrypted?: boolean; +} + +interface RTCRtpCodecParameters { + payloadType?: number; + mimeType?: string; + clockRate?: number; + channels?: number; + sdpFmtpLine?: string; +} + +interface RTCRtpCapabilities { + codecs?: RTCRtpCodecCapability[]; + headerExtensions?: RTCRtpHeaderExtensionCapability[]; +} + +interface RTCRtpCodecCapability { + mimeType?: string; + clockRate?: number; + channels?: number; + sdpFmtpLine?: string; +} + +interface RTCRtpHeaderExtensionCapability { + uri?: string; +} + +interface RTCDtlsFingerprint { + algorithm?: string; + value?: string; +} + +interface RTCIceParameters { + usernameFragment?: string; + password?: string; +} + +interface RTCIceCandidatePair { + local?: RTCIceCandidate; + remote?: RTCIceCandidate; +} + +interface RTCTrackEventInit extends EventInit { + receiver: RTCRtpReceiver; + track: MediaStreamTrack; + streams?: MediaStream[]; + transceiver: RTCRtpTransceiver; +} + +interface RTCDataChannelInit { + ordered?: boolean; + maxPacketLifeTime?: number; + maxRetransmits?: number; + protocol?: string; + negotiated?: boolean; + id?: number; + priority?: RTCPriorityType; +} + +interface RTCDataChannelEventInit extends EventInit { + channel: RTCDataChannel; +} + +interface RTCDTMFToneChangeEventInit extends EventInit { + tone: string; +} + +interface RTCStats { + timestamp?: number; + type?: RTCStatsType; + id?: string; +} + +interface RTCIdentityProvider { + generateAssertion: GenerateAssertionCallback; + validateAssertion: ValidateAssertionCallback; +} + +interface RTCIdentityAssertionResult { + idp: RTCIdentityProviderDetails; + assertion: string; +} + +interface RTCIdentityProviderDetails { + domain: string; + protocol?: string; +} + +interface RTCIdentityValidationResult { + identity: string; + contents: string; +} + +interface RTCIdentityProviderOptions { + protocol?: string; + usernameHint?: string; + peerIdentity?: string; +} + +interface MediaStreamConstraints { + peerIdentity?: string; +} + +interface RTCErrorEventInit extends EventInit { + error?: any; +} + +interface WebGLContextAttributes { + alpha?: GLboolean; + depth?: GLboolean; + stencil?: GLboolean; + antialias?: GLboolean; + premultipliedAlpha?: GLboolean; + preserveDrawingBuffer?: GLboolean; + powerPreference?: WebGLPowerPreference; + failIfMajorPerformanceCaveat?: GLboolean; +} + +interface WebGLContextEventInit extends EventInit { + statusMessage?: string; +} + +interface ProgressEventInit extends EventInit { + lengthComputable?: boolean; + loaded?: number; + total?: number; +} + +interface EventListener { + (evt: Event): void; } -declare var CSSFontFaceRule: { - prototype: CSSFontFaceRule; - new(): CSSFontFaceRule; +interface NodeFilter { + (evt: Event): void; +} + +interface AmbientLightSensor extends Sensor { + readonly illuminance: number; + addEventListener(type: K, listener: (this: AmbientLightSensor, ev: SensorEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var AmbientLightSensor: { + prototype: AmbientLightSensor; + new(sensorOptions?: SensorOptions): AmbientLightSensor; }; -interface CSSGroupingRule extends CSSRule { - readonly cssRules: CSSRuleList; - deleteRule(index: number): void; - insertRule(rule: string, index: number): number; +interface ClipboardEvent extends Event { + readonly clipboardData: DataTransfer | null; } -declare var CSSGroupingRule: { - prototype: CSSGroupingRule; - new(): CSSGroupingRule; +declare var ClipboardEvent: { + prototype: ClipboardEvent; + new(type: string, eventInitDict?: ClipboardEventInit): ClipboardEvent; }; -interface CSSImportRule extends CSSRule { - readonly href: string; - readonly media: MediaList; - readonly styleSheet: CSSStyleSheet; +interface AnimationEvent extends Event { + readonly animationName: string; + readonly elapsedTime: number; + readonly pseudoElement: string; } -declare var CSSImportRule: { - prototype: CSSImportRule; - new(): CSSImportRule; +declare var AnimationEvent: { + prototype: AnimationEvent; + new(type: string, animationEventInitDict?: AnimationEventInit): AnimationEvent; }; interface CSSKeyframeRule extends CSSRule { @@ -1870,11 +1606,11 @@ declare var CSSKeyframeRule: { }; interface CSSKeyframesRule extends CSSRule { - readonly cssRules: CSSRuleList; name: string; + readonly cssRules: CSSRuleList; appendRule(rule: string): void; - deleteRule(rule: string): void; - findRule(rule: string): CSSKeyframeRule; + deleteRule(select: string): void; + findRule(select: string): CSSKeyframeRule | null; } declare var CSSKeyframesRule: { @@ -1882,6 +1618,26 @@ declare var CSSKeyframesRule: { new(): CSSKeyframesRule; }; +interface CSSGroupingRule extends CSSRule { + readonly cssRules: CSSRuleList; + insertRule(rule: string, index: number): number; + deleteRule(index: number): void; +} + +declare var CSSGroupingRule: { + prototype: CSSGroupingRule; + new(): CSSGroupingRule; +}; + +interface CSSConditionRule extends CSSGroupingRule { + conditionText: string; +} + +declare var CSSConditionRule: { + prototype: CSSConditionRule; + new(): CSSConditionRule; +}; + interface CSSMediaRule extends CSSConditionRule { readonly media: MediaList; } @@ -1891,67 +1647,99 @@ declare var CSSMediaRule: { new(): CSSMediaRule; }; -interface CSSNamespaceRule extends CSSRule { - readonly namespaceURI: string; - readonly prefix: string; +interface CSSSupportsRule extends CSSConditionRule { } -declare var CSSNamespaceRule: { - prototype: CSSNamespaceRule; - new(): CSSNamespaceRule; +declare var CSSSupportsRule: { + prototype: CSSSupportsRule; + new(): CSSSupportsRule; }; -interface CSSPageRule extends CSSRule { - readonly pseudoClass: string; - readonly selector: string; - selectorText: string; - readonly style: CSSStyleDeclaration; +interface SVGClipPathElement extends SVGElement, SVGUnitTypes { + readonly clipPathUnits: SVGAnimatedEnumeration; + readonly transform: SVGAnimatedTransformList; + addEventListener(type: K, listener: (this: SVGClipPathElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGClipPathElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var CSSPageRule: { - prototype: CSSPageRule; - new(): CSSPageRule; +declare var SVGClipPathElement: { + prototype: SVGClipPathElement; + new(): SVGClipPathElement; }; -interface CSSRule { - cssText: string; - readonly parentRule: CSSRule; - readonly parentStyleSheet: CSSStyleSheet; - readonly type: number; - readonly CHARSET_RULE: number; - readonly FONT_FACE_RULE: number; - readonly IMPORT_RULE: number; - readonly KEYFRAME_RULE: number; - readonly KEYFRAMES_RULE: number; - readonly MEDIA_RULE: number; - readonly NAMESPACE_RULE: number; - readonly PAGE_RULE: number; - readonly STYLE_RULE: number; - readonly SUPPORTS_RULE: number; - readonly UNKNOWN_RULE: number; - readonly VIEWPORT_RULE: number; +interface SVGMaskElement extends SVGElement, SVGUnitTypes { + readonly maskUnits: SVGAnimatedEnumeration; + readonly maskContentUnits: SVGAnimatedEnumeration; + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + readonly width: SVGAnimatedLength; + readonly height: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGMaskElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGMaskElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var CSSRule: { - prototype: CSSRule; - new(): CSSRule; - readonly CHARSET_RULE: number; - readonly FONT_FACE_RULE: number; - readonly IMPORT_RULE: number; - readonly KEYFRAME_RULE: number; - readonly KEYFRAMES_RULE: number; - readonly MEDIA_RULE: number; - readonly NAMESPACE_RULE: number; - readonly PAGE_RULE: number; - readonly STYLE_RULE: number; - readonly SUPPORTS_RULE: number; - readonly UNKNOWN_RULE: number; - readonly VIEWPORT_RULE: number; +declare var SVGMaskElement: { + prototype: SVGMaskElement; + new(): SVGMaskElement; +}; + +interface MediaList { + mediaText: string; + readonly length: number; + item(index: number): string | null; + appendMedium(medium: string): void; + deleteMedium(medium: string): void; + [index: number]: string; +} + +declare var MediaList: { + prototype: MediaList; + new(): MediaList; +}; + +interface StyleSheet { + readonly type: string; + readonly href: string | null; + readonly ownerNode: Element | ProcessingInstruction | null; + readonly parentStyleSheet: StyleSheet | null; + readonly title: string | null; + readonly media: MediaList; + disabled: boolean; +} + +declare var StyleSheet: { + prototype: StyleSheet; + new(): StyleSheet; +}; + +interface CSSStyleSheet extends StyleSheet { + readonly ownerRule: CSSRule | null; + readonly cssRules: CSSRuleList; + insertRule(rule: string, index: number): number; + deleteRule(index: number): void; +} + +declare var CSSStyleSheet: { + prototype: CSSStyleSheet; + new(): CSSStyleSheet; +}; + +interface StyleSheetList { + readonly length: number; + item(index: number): StyleSheet | null; + [index: number]: StyleSheet; +} + +declare var StyleSheetList: { + prototype: StyleSheetList; + new(): StyleSheetList; }; interface CSSRuleList { readonly length: number; - item(index: number): CSSRule; + item(index: number): CSSRule | null; [index: number]: CSSRule; } @@ -1960,369 +1748,41 @@ declare var CSSRuleList: { new(): CSSRuleList; }; -interface CSSStyleDeclaration { - alignContent: string | null; - alignItems: string | null; - alignmentBaseline: string | null; - alignSelf: string | null; - animation: string | null; - animationDelay: string | null; - animationDirection: string | null; - animationDuration: string | null; - animationFillMode: string | null; - animationIterationCount: string | null; - animationName: string | null; - animationPlayState: string | null; - animationTimingFunction: string | null; - backfaceVisibility: string | null; - background: string | null; - backgroundAttachment: string | null; - backgroundClip: string | null; - backgroundColor: string | null; - backgroundImage: string | null; - backgroundOrigin: string | null; - backgroundPosition: string | null; - backgroundPositionX: string | null; - backgroundPositionY: string | null; - backgroundRepeat: string | null; - backgroundSize: string | null; - baselineShift: string | null; - border: string | null; - borderBottom: string | null; - borderBottomColor: string | null; - borderBottomLeftRadius: string | null; - borderBottomRightRadius: string | null; - borderBottomStyle: string | null; - borderBottomWidth: string | null; - borderCollapse: string | null; - borderColor: string | null; - borderImage: string | null; - borderImageOutset: string | null; - borderImageRepeat: string | null; - borderImageSlice: string | null; - borderImageSource: string | null; - borderImageWidth: string | null; - borderLeft: string | null; - borderLeftColor: string | null; - borderLeftStyle: string | null; - borderLeftWidth: string | null; - borderRadius: string | null; - borderRight: string | null; - borderRightColor: string | null; - borderRightStyle: string | null; - borderRightWidth: string | null; - borderSpacing: string | null; - borderStyle: string | null; - borderTop: string | null; - borderTopColor: string | null; - borderTopLeftRadius: string | null; - borderTopRightRadius: string | null; - borderTopStyle: string | null; - borderTopWidth: string | null; - borderWidth: string | null; - bottom: string | null; - boxShadow: string | null; - boxSizing: string | null; - breakAfter: string | null; - breakBefore: string | null; - breakInside: string | null; - captionSide: string | null; - clear: string | null; - clip: string | null; - clipPath: string | null; - clipRule: string | null; - color: string | null; - colorInterpolationFilters: string | null; - columnCount: any; - columnFill: string | null; - columnGap: any; - columnRule: string | null; - columnRuleColor: any; - columnRuleStyle: string | null; - columnRuleWidth: any; - columns: string | null; - columnSpan: string | null; - columnWidth: any; - content: string | null; - counterIncrement: string | null; - counterReset: string | null; - cssFloat: string | null; +interface CSSRule { + readonly type: number; cssText: string; - cursor: string | null; - direction: string | null; - display: string | null; - dominantBaseline: string | null; - emptyCells: string | null; - enableBackground: string | null; - fill: string | null; - fillOpacity: string | null; - fillRule: string | null; - filter: string | null; - flex: string | null; - flexBasis: string | null; - flexDirection: string | null; - flexFlow: string | null; - flexGrow: string | null; - flexShrink: string | null; - flexWrap: string | null; - floodColor: string | null; - floodOpacity: string | null; - font: string | null; - fontFamily: string | null; - fontFeatureSettings: string | null; - fontSize: string | null; - fontSizeAdjust: string | null; - fontStretch: string | null; - fontStyle: string | null; - fontVariant: string | null; - fontWeight: string | null; - glyphOrientationHorizontal: string | null; - glyphOrientationVertical: string | null; - height: string | null; - imeMode: string | null; - justifyContent: string | null; - kerning: string | null; - layoutGrid: string | null; - layoutGridChar: string | null; - layoutGridLine: string | null; - layoutGridMode: string | null; - layoutGridType: string | null; - left: string | null; - readonly length: number; - letterSpacing: string | null; - lightingColor: string | null; - lineBreak: string | null; - lineHeight: string | null; - listStyle: string | null; - listStyleImage: string | null; - listStylePosition: string | null; - listStyleType: string | null; - margin: string | null; - marginBottom: string | null; - marginLeft: string | null; - marginRight: string | null; - marginTop: string | null; - marker: string | null; - markerEnd: string | null; - markerMid: string | null; - markerStart: string | null; - mask: string | null; - maxHeight: string | null; - maxWidth: string | null; - minHeight: string | null; - minWidth: string | null; - msContentZoomChaining: string | null; - msContentZooming: string | null; - msContentZoomLimit: string | null; - msContentZoomLimitMax: any; - msContentZoomLimitMin: any; - msContentZoomSnap: string | null; - msContentZoomSnapPoints: string | null; - msContentZoomSnapType: string | null; - msFlowFrom: string | null; - msFlowInto: string | null; - msFontFeatureSettings: string | null; - msGridColumn: any; - msGridColumnAlign: string | null; - msGridColumns: string | null; - msGridColumnSpan: any; - msGridRow: any; - msGridRowAlign: string | null; - msGridRows: string | null; - msGridRowSpan: any; - msHighContrastAdjust: string | null; - msHyphenateLimitChars: string | null; - msHyphenateLimitLines: any; - msHyphenateLimitZone: any; - msHyphens: string | null; - msImeAlign: string | null; - msOverflowStyle: string | null; - msScrollChaining: string | null; - msScrollLimit: string | null; - msScrollLimitXMax: any; - msScrollLimitXMin: any; - msScrollLimitYMax: any; - msScrollLimitYMin: any; - msScrollRails: string | null; - msScrollSnapPointsX: string | null; - msScrollSnapPointsY: string | null; - msScrollSnapType: string | null; - msScrollSnapX: string | null; - msScrollSnapY: string | null; - msScrollTranslation: string | null; - msTextCombineHorizontal: string | null; - msTextSizeAdjust: any; - msTouchAction: string | null; - msTouchSelect: string | null; - msUserSelect: string | null; - msWrapFlow: string; - msWrapMargin: any; - msWrapThrough: string; - opacity: string | null; - order: string | null; - orphans: string | null; - outline: string | null; - outlineColor: string | null; - outlineOffset: string | null; - outlineStyle: string | null; - outlineWidth: string | null; - overflow: string | null; - overflowX: string | null; - overflowY: string | null; - padding: string | null; - paddingBottom: string | null; - paddingLeft: string | null; - paddingRight: string | null; - paddingTop: string | null; - pageBreakAfter: string | null; - pageBreakBefore: string | null; - pageBreakInside: string | null; - readonly parentRule: CSSRule; - perspective: string | null; - perspectiveOrigin: string | null; - pointerEvents: string | null; - position: string | null; - quotes: string | null; - right: string | null; - rotate: string | null; - rubyAlign: string | null; - rubyOverhang: string | null; - rubyPosition: string | null; - scale: string | null; - stopColor: string | null; - stopOpacity: string | null; - stroke: string | null; - strokeDasharray: string | null; - strokeDashoffset: string | null; - strokeLinecap: string | null; - strokeLinejoin: string | null; - strokeMiterlimit: string | null; - strokeOpacity: string | null; - strokeWidth: string | null; - tableLayout: string | null; - textAlign: string | null; - textAlignLast: string | null; - textAnchor: string | null; - textDecoration: string | null; - textIndent: string | null; - textJustify: string | null; - textKashida: string | null; - textKashidaSpace: string | null; - textOverflow: string | null; - textShadow: string | null; - textTransform: string | null; - textUnderlinePosition: string | null; - top: string | null; - touchAction: string | null; - transform: string | null; - transformOrigin: string | null; - transformStyle: string | null; - transition: string | null; - transitionDelay: string | null; - transitionDuration: string | null; - transitionProperty: string | null; - transitionTimingFunction: string | null; - translate: string | null; - unicodeBidi: string | null; - verticalAlign: string | null; - visibility: string | null; - webkitAlignContent: string | null; - webkitAlignItems: string | null; - webkitAlignSelf: string | null; - webkitAnimation: string | null; - webkitAnimationDelay: string | null; - webkitAnimationDirection: string | null; - webkitAnimationDuration: string | null; - webkitAnimationFillMode: string | null; - webkitAnimationIterationCount: string | null; - webkitAnimationName: string | null; - webkitAnimationPlayState: string | null; - webkitAnimationTimingFunction: string | null; - webkitAppearance: string | null; - webkitBackfaceVisibility: string | null; - webkitBackgroundClip: string | null; - webkitBackgroundOrigin: string | null; - webkitBackgroundSize: string | null; - webkitBorderBottomLeftRadius: string | null; - webkitBorderBottomRightRadius: string | null; - webkitBorderImage: string | null; - webkitBorderRadius: string | null; - webkitBorderTopLeftRadius: string | null; - webkitBorderTopRightRadius: string | null; - webkitBoxAlign: string | null; - webkitBoxDirection: string | null; - webkitBoxFlex: string | null; - webkitBoxOrdinalGroup: string | null; - webkitBoxOrient: string | null; - webkitBoxPack: string | null; - webkitBoxSizing: string | null; - webkitColumnBreakAfter: string | null; - webkitColumnBreakBefore: string | null; - webkitColumnBreakInside: string | null; - webkitColumnCount: any; - webkitColumnGap: any; - webkitColumnRule: string | null; - webkitColumnRuleColor: any; - webkitColumnRuleStyle: string | null; - webkitColumnRuleWidth: any; - webkitColumns: string | null; - webkitColumnSpan: string | null; - webkitColumnWidth: any; - webkitFilter: string | null; - webkitFlex: string | null; - webkitFlexBasis: string | null; - webkitFlexDirection: string | null; - webkitFlexFlow: string | null; - webkitFlexGrow: string | null; - webkitFlexShrink: string | null; - webkitFlexWrap: string | null; - webkitJustifyContent: string | null; - webkitOrder: string | null; - webkitPerspective: string | null; - webkitPerspectiveOrigin: string | null; - webkitTapHighlightColor: string | null; - webkitTextFillColor: string | null; - webkitTextSizeAdjust: any; - webkitTextStroke: string | null; - webkitTextStrokeColor: string | null; - webkitTextStrokeWidth: string | null; - webkitTransform: string | null; - webkitTransformOrigin: string | null; - webkitTransformStyle: string | null; - webkitTransition: string | null; - webkitTransitionDelay: string | null; - webkitTransitionDuration: string | null; - webkitTransitionProperty: string | null; - webkitTransitionTimingFunction: string | null; - webkitUserModify: string | null; - webkitUserSelect: string | null; - webkitWritingMode: string | null; - whiteSpace: string | null; - widows: string | null; - width: string | null; - wordBreak: string | null; - wordSpacing: string | null; - wordWrap: string | null; - writingMode: string | null; - zIndex: string | null; - zoom: string | null; - resize: string | null; - userSelect: string | null; - getPropertyPriority(propertyName: string): string; - getPropertyValue(propertyName: string): string; - item(index: number): string; - removeProperty(propertyName: string): string; - setProperty(propertyName: string, value: string | null, priority?: string): void; - [index: number]: string; + readonly parentRule: CSSRule | null; + readonly parentStyleSheet: CSSStyleSheet | null; + readonly STYLE_RULE: number; + readonly CHARSET_RULE: number; + readonly IMPORT_RULE: number; + readonly MEDIA_RULE: number; + readonly FONT_FACE_RULE: number; + readonly PAGE_RULE: number; + readonly MARGIN_RULE: number; + readonly NAMESPACE_RULE: number; + readonly KEYFRAMES_RULE: number; + readonly KEYFRAME_RULE: number; + readonly SUPPORTS_RULE: number; } -declare var CSSStyleDeclaration: { - prototype: CSSStyleDeclaration; - new(): CSSStyleDeclaration; +declare var CSSRule: { + prototype: CSSRule; + new(): CSSRule; + readonly STYLE_RULE: number; + readonly CHARSET_RULE: number; + readonly IMPORT_RULE: number; + readonly MEDIA_RULE: number; + readonly FONT_FACE_RULE: number; + readonly PAGE_RULE: number; + readonly MARGIN_RULE: number; + readonly NAMESPACE_RULE: number; + readonly KEYFRAMES_RULE: number; + readonly KEYFRAME_RULE: number; + readonly SUPPORTS_RULE: number; }; interface CSSStyleRule extends CSSRule { - readonly readOnly: boolean; selectorText: string; readonly style: CSSStyleDeclaration; } @@ -2332,770 +1792,544 @@ declare var CSSStyleRule: { new(): CSSStyleRule; }; -interface CSSStyleSheet extends StyleSheet { - readonly cssRules: CSSRuleList; - cssText: string; - readonly id: string; - readonly imports: StyleSheetList; - readonly isAlternate: boolean; - readonly isPrefAlternate: boolean; - readonly ownerRule: CSSRule; - readonly owningElement: Element; - readonly pages: StyleSheetPageList; - readonly readOnly: boolean; - readonly rules: CSSRuleList; - addImport(bstrURL: string, lIndex?: number): number; - addPageRule(bstrSelector: string, bstrStyle: string, lIndex?: number): number; - addRule(bstrSelector: string, bstrStyle?: string, lIndex?: number): number; - deleteRule(index?: number): void; - insertRule(rule: string, index?: number): number; - removeImport(lIndex: number): void; - removeRule(lIndex: number): void; +interface CSSImportRule extends CSSRule { + readonly href: string; + readonly media: MediaList; + readonly styleSheet: CSSStyleSheet; } -declare var CSSStyleSheet: { - prototype: CSSStyleSheet; - new(): CSSStyleSheet; +declare var CSSImportRule: { + prototype: CSSImportRule; + new(): CSSImportRule; }; -interface CSSSupportsRule extends CSSConditionRule { +interface CSSGroupingRule extends CSSRule { + readonly cssRules: CSSRuleList; + insertRule(rule: string, index: number): number; + deleteRule(index: number): void; } -declare var CSSSupportsRule: { - prototype: CSSSupportsRule; - new(): CSSSupportsRule; +declare var CSSGroupingRule: { + prototype: CSSGroupingRule; + new(): CSSGroupingRule; }; -interface CustomEvent extends Event { - readonly detail: any; - initCustomEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, detailArg: any): void; +interface CSSMediaRule extends CSSGroupingRule { + readonly media: MediaList; } -declare var CustomEvent: { - prototype: CustomEvent; - new(typeArg: string, eventInitDict?: CustomEventInit): CustomEvent; +declare var CSSMediaRule: { + prototype: CSSMediaRule; + new(): CSSMediaRule; }; -interface DataCue extends TextTrackCue { - data: ArrayBuffer; - addEventListener(type: K, listener: (this: DataCue, ev: TextTrackCueEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface CSSPageRule extends CSSGroupingRule { + selectorText: string; + readonly style: CSSStyleDeclaration; } -declare var DataCue: { - prototype: DataCue; - new(): DataCue; +declare var CSSPageRule: { + prototype: CSSPageRule; + new(): CSSPageRule; }; -interface DataTransfer { - dropEffect: string; - effectAllowed: string; - readonly files: FileList; - readonly items: DataTransferItemList; - readonly types: string[]; - clearData(format?: string): boolean; - getData(format: string): string; - setData(format: string, data: string): boolean; - setDragImage(image: Element, x: number, y: number): void; +interface CSSMarginRule extends CSSRule { + readonly name: string; + readonly style: CSSStyleDeclaration; } -declare var DataTransfer: { - prototype: DataTransfer; - new(): DataTransfer; +declare var CSSMarginRule: { + prototype: CSSMarginRule; + new(): CSSMarginRule; }; -interface DataTransferItem { - readonly kind: string; - readonly type: string; - getAsFile(): File | null; - getAsString(_callback: FunctionStringCallback | null): void; - webkitGetAsEntry(): any; +interface CSSNamespaceRule extends CSSRule { + readonly namespaceURI: string; + readonly prefix: string; } -declare var DataTransferItem: { - prototype: DataTransferItem; - new(): DataTransferItem; +declare var CSSNamespaceRule: { + prototype: CSSNamespaceRule; + new(): CSSNamespaceRule; }; -interface DataTransferItemList { +interface CSSStyleDeclaration { + cssText: string; readonly length: number; - add(data: File): DataTransferItem | null; - clear(): void; - item(index: number): DataTransferItem; - remove(index: number): void; - [index: number]: DataTransferItem; + readonly parentRule: CSSRule | null; + cssFloat: string; + camel_cased_attribute: string; + webkit_cased_attribute: string; + dashed_attribute: string; + resize: string | null; + userSelect: string | null; + item(index: number): string; + getPropertyValue(property: string): string; + getPropertyPriority(property: string): string; + setProperty(property: string, value: string, priority?: string): void; + setPropertyValue(property: string, value: string): void; + setPropertyPriority(property: string, priority: string): void; + removeProperty(property: string): string; + [index: number]: string; } -declare var DataTransferItemList: { - prototype: DataTransferItemList; - new(): DataTransferItemList; +declare var CSSStyleDeclaration: { + prototype: CSSStyleDeclaration; + new(): CSSStyleDeclaration; }; -interface DeferredPermissionRequest { - readonly id: number; - readonly type: MSWebViewPermissionType; - readonly uri: string; - allow(): void; - deny(): void; +interface CSS { } -declare var DeferredPermissionRequest: { - prototype: DeferredPermissionRequest; - new(): DeferredPermissionRequest; +declare var CSS: { + prototype: CSS; + new(): CSS; + escape(ident: string): string; + supports(property: string, value: string): boolean; + supports(conditionText: string): boolean; }; -interface DelayNode extends AudioNode { - readonly delayTime: AudioParam; +interface TransitionEvent extends Event { + readonly propertyName: string; + readonly elapsedTime: number; + readonly pseudoElement: string; } -declare var DelayNode: { - prototype: DelayNode; - new(): DelayNode; +declare var TransitionEvent: { + prototype: TransitionEvent; + new(type: string, transitionEventInitDict?: TransitionEventInit): TransitionEvent; }; -interface DeviceAcceleration { - readonly x: number | null; - readonly y: number | null; - readonly z: number | null; +interface MediaQueryListEventMap { + "change": undefined; +} + +interface MediaQueryList extends EventTarget { + readonly media: string; + readonly matches: boolean; + onchange: (this: MediaQueryList, ev: undefined) => any; + addListener(listener: EventListenerOrEventListenerObject | null): void; + removeListener(listener: EventListenerOrEventListenerObject | null): void; + addEventListener(type: K, listener: (this: MediaQueryList, ev: MediaQueryListEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var DeviceAcceleration: { - prototype: DeviceAcceleration; - new(): DeviceAcceleration; +declare var MediaQueryList: { + prototype: MediaQueryList; + new(): MediaQueryList; }; -interface DeviceLightEvent extends Event { - readonly value: number; +interface MediaQueryListEvent extends Event { + readonly media: string; + readonly matches: boolean; } -declare var DeviceLightEvent: { - prototype: DeviceLightEvent; - new(typeArg: string, eventInitDict?: DeviceLightEventInit): DeviceLightEvent; +declare var MediaQueryListEvent: { + prototype: MediaQueryListEvent; + new(type: string, eventInitDict?: MediaQueryListEventInit): MediaQueryListEvent; }; -interface DeviceMotionEvent extends Event { - readonly acceleration: DeviceAcceleration | null; - readonly accelerationIncludingGravity: DeviceAcceleration | null; - readonly interval: number | null; - readonly rotationRate: DeviceRotationRate | null; - initDeviceMotionEvent(type: string, bubbles: boolean, cancelable: boolean, acceleration: DeviceAccelerationDict | null, accelerationIncludingGravity: DeviceAccelerationDict | null, rotationRate: DeviceRotationRateDict | null, interval: number | null): void; +interface Screen { + readonly availWidth: number; + readonly availHeight: number; + readonly width: number; + readonly height: number; + readonly colorDepth: number; + readonly pixelDepth: number; } -declare var DeviceMotionEvent: { - prototype: DeviceMotionEvent; - new(typeArg: string, eventInitDict?: DeviceMotionEventInit): DeviceMotionEvent; +declare var Screen: { + prototype: Screen; + new(): Screen; +}; + +interface CaretPosition { + readonly offsetNode: Node; + readonly offset: number; + getClientRect(): DOMRect | null; +} + +declare var CaretPosition: { + prototype: CaretPosition; + new(): CaretPosition; }; interface DeviceOrientationEvent extends Event { - readonly absolute: boolean; readonly alpha: number | null; readonly beta: number | null; readonly gamma: number | null; - initDeviceOrientationEvent(type: string, bubbles: boolean, cancelable: boolean, alpha: number | null, beta: number | null, gamma: number | null, absolute: boolean): void; + readonly absolute: boolean; } declare var DeviceOrientationEvent: { prototype: DeviceOrientationEvent; - new(typeArg: string, eventInitDict?: DeviceOrientationEventInit): DeviceOrientationEvent; + new(type: string, eventInitDict?: DeviceOrientationEventInit): DeviceOrientationEvent; }; -interface DeviceRotationRate { - readonly alpha: number | null; - readonly beta: number | null; - readonly gamma: number | null; +interface DeviceMotionEvent extends Event { + readonly acceleration: DeviceAcceleration | null; + readonly accelerationIncludingGravity: DeviceAcceleration | null; + readonly rotationRate: DeviceRotationRate | null; + readonly interval: number | null; } -declare var DeviceRotationRate: { - prototype: DeviceRotationRate; - new(): DeviceRotationRate; +declare var DeviceMotionEvent: { + prototype: DeviceMotionEvent; + new(type: string, eventInitDict?: DeviceMotionEventInit): DeviceMotionEvent; }; -interface DocumentEventMap extends GlobalEventHandlersEventMap { - "abort": UIEvent; - "activate": UIEvent; - "beforeactivate": UIEvent; - "beforedeactivate": UIEvent; - "blur": FocusEvent; - "canplay": Event; - "canplaythrough": Event; - "change": Event; - "click": MouseEvent; - "contextmenu": PointerEvent; - "dblclick": MouseEvent; - "deactivate": UIEvent; - "drag": DragEvent; - "dragend": DragEvent; - "dragenter": DragEvent; - "dragleave": DragEvent; - "dragover": DragEvent; - "dragstart": DragEvent; - "drop": DragEvent; - "durationchange": Event; - "emptied": Event; - "ended": MediaStreamErrorEvent; - "error": ErrorEvent; - "focus": FocusEvent; - "fullscreenchange": Event; - "fullscreenerror": Event; - "input": Event; - "invalid": Event; - "keydown": KeyboardEvent; - "keypress": KeyboardEvent; - "keyup": KeyboardEvent; - "load": Event; - "loadeddata": Event; - "loadedmetadata": Event; - "loadstart": Event; - "mousedown": MouseEvent; - "mousemove": MouseEvent; - "mouseout": MouseEvent; - "mouseover": MouseEvent; - "mouseup": MouseEvent; - "mousewheel": WheelEvent; - "MSContentZoom": UIEvent; - "MSGestureChange": MSGestureEvent; - "MSGestureDoubleTap": MSGestureEvent; - "MSGestureEnd": MSGestureEvent; - "MSGestureHold": MSGestureEvent; - "MSGestureStart": MSGestureEvent; - "MSGestureTap": MSGestureEvent; - "MSInertiaStart": MSGestureEvent; - "MSManipulationStateChanged": MSManipulationEvent; - "MSPointerCancel": MSPointerEvent; - "MSPointerDown": MSPointerEvent; - "MSPointerEnter": MSPointerEvent; - "MSPointerLeave": MSPointerEvent; - "MSPointerMove": MSPointerEvent; - "MSPointerOut": MSPointerEvent; - "MSPointerOver": MSPointerEvent; - "MSPointerUp": MSPointerEvent; - "mssitemodejumplistitemremoved": MSSiteModeEvent; - "msthumbnailclick": MSSiteModeEvent; - "pause": Event; - "play": Event; - "playing": Event; - "pointerlockchange": Event; - "pointerlockerror": Event; - "progress": ProgressEvent; - "ratechange": Event; - "readystatechange": Event; - "reset": Event; - "scroll": UIEvent; - "seeked": Event; - "seeking": Event; - "select": UIEvent; - "selectionchange": Event; - "selectstart": Event; - "stalled": Event; - "stop": Event; - "submit": Event; - "suspend": Event; - "timeupdate": Event; - "touchcancel": TouchEvent; - "touchend": TouchEvent; - "touchmove": TouchEvent; - "touchstart": TouchEvent; - "volumechange": Event; - "waiting": Event; - "webkitfullscreenchange": Event; - "webkitfullscreenerror": Event; -} - -interface Document extends Node, GlobalEventHandlers, NodeSelector, DocumentEvent, ParentNode, DocumentOrShadowRoot { - /** - * Gets the object that has the focus when the parent document has focus. - */ - readonly activeElement: Element; - /** - * Sets or gets the color of all active links in the document. - */ - alinkColor: string; - /** - * Returns a reference to the collection of elements contained by the object. - */ - readonly all: HTMLAllCollection; +interface Event { + readonly type: string; + readonly target: EventTarget | null; + readonly currentTarget: EventTarget | null; + readonly eventPhase: number; + cancelBubble: boolean; + readonly bubbles: boolean; + readonly cancelable: boolean; + readonly defaultPrevented: boolean; + readonly composed: boolean; + readonly isTrusted: boolean; + readonly timeStamp: number; + readonly scoped: boolean; + composedPath(): EventTarget[]; + stopPropagation(): void; + stopImmediatePropagation(): void; + preventDefault(): void; + initEvent(type: string, bubbles?: boolean, cancelable?: boolean): void; + deepPath(): EventTarget[]; + readonly NONE: number; + readonly CAPTURING_PHASE: number; + readonly AT_TARGET: number; + readonly BUBBLING_PHASE: number; +} + +declare var Event: { + prototype: Event; + new(type: string, eventInitDict?: EventInit): Event; + readonly NONE: number; + readonly CAPTURING_PHASE: number; + readonly AT_TARGET: number; + readonly BUBBLING_PHASE: number; +}; + +interface CustomEvent extends Event { + readonly detail: any; + initCustomEvent(type: string, bubbles?: boolean, cancelable?: boolean, detail?: any): void; +} + +declare var CustomEvent: { + prototype: CustomEvent; + new(type: string, eventInitDict?: CustomEventInit): CustomEvent; +}; + +interface EventTarget { + addEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; + dispatchEvent(event: Event): boolean; +} + +declare var EventTarget: { + prototype: EventTarget; + new(): EventTarget; +}; + +interface NodeList { + readonly length: number; + item(index: number): Node | null; + [index: number]: Node; +} + +declare var NodeList: { + prototype: NodeList; + new(): NodeList; +}; + +interface HTMLCollectionBase { /** - * Retrieves a collection of all a objects that have a name and/or id property. Objects in this collection are in HTML source order. + * Sets or retrieves the number of objects in a collection. */ - anchors: HTMLCollectionOf; + readonly length: number; /** - * Retrieves a collection of all applet objects in the document. + * Retrieves an object from various collections. */ - applets: HTMLCollectionOf; + item(index: number): Element; + [index: number]: Element; +} + +interface HTMLCollection extends HTMLCollectionBase { /** - * Deprecated. Sets or retrieves a value that indicates the background color behind the object. + * Retrieves a select object or an object from an options collection. */ - bgColor: string; + namedItem(name: string): Element | null; +} + +declare var HTMLCollection: { + prototype: HTMLCollection; + new(): HTMLCollection; +}; + +interface MutationObserver { + observe(target: Node, options?: MutationObserverInit): void; + disconnect(): void; + takeRecords(): MutationRecord[]; +} + +declare var MutationObserver: { + prototype: MutationObserver; + new(callback: MutationCallback): MutationObserver; +}; + +interface MutationRecord { + readonly type: string; + readonly target: Node; + readonly addedNodes: NodeList; + readonly removedNodes: NodeList; + readonly previousSibling: Node | null; + readonly nextSibling: Node | null; + readonly attributeName: string | null; + readonly attributeNamespace: string | null; + readonly oldValue: string | null; +} + +declare var MutationRecord: { + prototype: MutationRecord; + new(): MutationRecord; +}; + +interface Node extends EventTarget { + readonly nodeType: number; + readonly nodeName: string; + readonly baseURI: string; + readonly isConnected: boolean; + readonly ownerDocument: Document | null; + readonly parentNode: Node | null; + readonly parentElement: HTMLElement | null; + readonly childNodes: NodeList; + readonly firstChild: Node | null; + readonly lastChild: Node | null; + readonly previousSibling: Node | null; + readonly nextSibling: Node | null; + nodeValue: string | null; + textContent: string | null; + getRootNode(options?: GetRootNodeOptions): Node; + hasChildNodes(): boolean; + normalize(): void; + cloneNode(deep?: boolean): Node; + isEqualNode(otherNode: Node | null): boolean; + isSameNode(otherNode: Node | null): boolean; + compareDocumentPosition(other: Node): number; + contains(other: Node | null): boolean; + lookupPrefix(namespace: string | null): string | null; + lookupNamespaceURI(prefix: string | null): string | null; + isDefaultNamespace(namespace: string | null): boolean; + insertBefore(newChild: T, refChild: Node | null): T; + appendChild(newChild: T): T; + replaceChild(newChild: Node, oldChild: T): T; + removeChild(oldChild: T): T; + readonly ELEMENT_NODE: number; + readonly ATTRIBUTE_NODE: number; + readonly TEXT_NODE: number; + readonly CDATA_SECTION_NODE: number; + readonly ENTITY_REFERENCE_NODE: number; + readonly ENTITY_NODE: number; + readonly PROCESSING_INSTRUCTION_NODE: number; + readonly COMMENT_NODE: number; + readonly DOCUMENT_NODE: number; + readonly DOCUMENT_TYPE_NODE: number; + readonly DOCUMENT_FRAGMENT_NODE: number; + readonly NOTATION_NODE: number; + readonly DOCUMENT_POSITION_DISCONNECTED: number; + readonly DOCUMENT_POSITION_PRECEDING: number; + readonly DOCUMENT_POSITION_FOLLOWING: number; + readonly DOCUMENT_POSITION_CONTAINS: number; + readonly DOCUMENT_POSITION_CONTAINED_BY: number; + readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number; +} + +declare var Node: { + prototype: Node; + new(): Node; + readonly ELEMENT_NODE: number; + readonly ATTRIBUTE_NODE: number; + readonly TEXT_NODE: number; + readonly CDATA_SECTION_NODE: number; + readonly ENTITY_REFERENCE_NODE: number; + readonly ENTITY_NODE: number; + readonly PROCESSING_INSTRUCTION_NODE: number; + readonly COMMENT_NODE: number; + readonly DOCUMENT_NODE: number; + readonly DOCUMENT_TYPE_NODE: number; + readonly DOCUMENT_FRAGMENT_NODE: number; + readonly NOTATION_NODE: number; + readonly DOCUMENT_POSITION_DISCONNECTED: number; + readonly DOCUMENT_POSITION_PRECEDING: number; + readonly DOCUMENT_POSITION_FOLLOWING: number; + readonly DOCUMENT_POSITION_CONTAINS: number; + readonly DOCUMENT_POSITION_CONTAINED_BY: number; + readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number; +}; + +interface DocumentEventMap extends GlobalEventHandlersEventMap, DocumentAndElementEventHandlersEventMap { + "readystatechange": Event; +} + +interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, ParentNode, GeometryUtils, GlobalEventHandlers, DocumentAndElementEventHandlers, ParentNode { /** - * Specifies the beginning and end of the document body. + * Gets the implementation object of the current document. */ - body: HTMLElement; - readonly characterSet: string; + readonly implementation: DOMImplementation; /** - * Gets or sets the character set used to encode the object. + * Sets or gets the URL for the current document. */ - charset: string; + readonly URL: string; + readonly documentURI: string; + readonly origin: string; /** * Gets a value that indicates whether standards-compliant mode is switched on for the object. */ readonly compatMode: string; - cookie: string; - readonly currentScript: HTMLScriptElement | SVGScriptElement | null; - readonly defaultView: Window; + readonly characterSet: string; /** - * Sets or gets a value that indicates whether the document can be edited. + * Gets or sets the character set used to encode the object. */ - designMode: string; + readonly charset: string; /** - * Sets or retrieves a value that indicates the reading order of the object. + * Returns the character encoding used to create the webpage that is loaded into the document object. */ - dir: string; + readonly inputEncoding: string; + readonly contentType: string; /** * Gets an object representing the document type declaration associated with the current document. */ - readonly doctype: DocumentType; + readonly doctype: DocumentType | null; /** * Gets a reference to the root node of the document. */ documentElement: HTMLElement; + readonly scrollingElement: Element | null; + /** + * Contains information about the current URL. + */ + readonly location: Location | null; /** * Sets or gets the security domain of the document. */ domain: string; /** - * Retrieves a collection of all embed objects in the document. + * Gets the URL of the location that referred the user to the current page. */ - embeds: HTMLCollectionOf; + readonly referrer: string; + cookie: string; /** - * Sets or gets the foreground (text) color of the document. + * Gets the date that the page was last modified, if the page supplies one. */ - fgColor: string; + readonly lastModified: string; /** - * Retrieves a collection, in source order, of all form objects in the document. + * Retrieves a value that indicates the current state of the object. */ - forms: HTMLCollectionOf; - readonly fullscreenElement: Element | null; - readonly fullscreenEnabled: boolean; - readonly head: HTMLHeadElement; - readonly hidden: boolean; + readonly readyState: DocumentReadyState; /** - * Retrieves a collection, in source order, of img objects in the document. + * Contains the title of the document. */ - images: HTMLCollectionOf; + title: string; /** - * Gets the implementation object of the current document. + * Sets or retrieves a value that indicates the reading order of the object. */ - readonly implementation: DOMImplementation; + dir: string; /** - * Returns the character encoding used to create the webpage that is loaded into the document object. + * Specifies the beginning and end of the document body. */ - readonly inputEncoding: string | null; + body: HTMLElement | null; + readonly head: HTMLHeadElement | null; /** - * Gets the date that the page was last modified, if the page supplies one. + * Retrieves a collection, in source order, of img objects in the document. */ - readonly lastModified: string; + images: HTMLCollectionOf; /** - * Sets or gets the color of the document links. + * Retrieves a collection of all embed objects in the document. */ - linkColor: string; + embeds: HTMLCollectionOf; + plugins: HTMLCollectionOf; /** * Retrieves a collection of all a objects that specify the href property and all area objects in the document. */ links: HTMLCollectionOf; /** - * Contains information about the current URL. + * Retrieves a collection, in source order, of all form objects in the document. */ - readonly location: Location; - msCapsLockWarningOff: boolean; - msCSSOMElementFloatMetrics: boolean; + forms: HTMLCollectionOf; /** - * Fires when the user aborts the download. - * @param ev The event. + * Retrieves a collection of all script objects in the document. */ - onabort: (this: Document, ev: UIEvent) => any; - /** - * Fires when the object is set as the active element. - * @param ev The event. - */ - onactivate: (this: Document, ev: UIEvent) => any; - /** - * Fires immediately before the object is set as the active element. - * @param ev The event. - */ - onbeforeactivate: (this: Document, ev: UIEvent) => any; - /** - * Fires immediately before the activeElement is changed from the current object to another object in the parent document. - * @param ev The event. - */ - onbeforedeactivate: (this: Document, ev: UIEvent) => any; - /** - * Fires when the object loses the input focus. - * @param ev The focus event. - */ - onblur: (this: Document, ev: FocusEvent) => any; - /** - * Occurs when playback is possible, but would require further buffering. - * @param ev The event. - */ - oncanplay: (this: Document, ev: Event) => any; - oncanplaythrough: (this: Document, ev: Event) => any; - /** - * Fires when the contents of the object or selection have changed. - * @param ev The event. - */ - onchange: (this: Document, ev: Event) => any; - /** - * Fires when the user clicks the left mouse button on the object - * @param ev The mouse event. - */ - onclick: (this: Document, ev: MouseEvent) => any; - /** - * Fires when the user clicks the right mouse button in the client area, opening the context menu. - * @param ev The mouse event. - */ - oncontextmenu: (this: Document, ev: PointerEvent) => any; - /** - * Fires when the user double-clicks the object. - * @param ev The mouse event. - */ - ondblclick: (this: Document, ev: MouseEvent) => any; - /** - * Fires when the activeElement is changed from the current object to another object in the parent document. - * @param ev The UI Event - */ - ondeactivate: (this: Document, ev: UIEvent) => any; - /** - * Fires on the source object continuously during a drag operation. - * @param ev The event. - */ - ondrag: (this: Document, ev: DragEvent) => any; - /** - * Fires on the source object when the user releases the mouse at the close of a drag operation. - * @param ev The event. - */ - ondragend: (this: Document, ev: DragEvent) => any; - /** - * Fires on the target element when the user drags the object to a valid drop target. - * @param ev The drag event. - */ - ondragenter: (this: Document, ev: DragEvent) => any; - /** - * Fires on the target object when the user moves the mouse out of a valid drop target during a drag operation. - * @param ev The drag event. - */ - ondragleave: (this: Document, ev: DragEvent) => any; - /** - * Fires on the target element continuously while the user drags the object over a valid drop target. - * @param ev The event. - */ - ondragover: (this: Document, ev: DragEvent) => any; - /** - * Fires on the source object when the user starts to drag a text selection or selected object. - * @param ev The event. - */ - ondragstart: (this: Document, ev: DragEvent) => any; - ondrop: (this: Document, ev: DragEvent) => any; - /** - * Occurs when the duration attribute is updated. - * @param ev The event. - */ - ondurationchange: (this: Document, ev: Event) => any; - /** - * Occurs when the media element is reset to its initial state. - * @param ev The event. - */ - onemptied: (this: Document, ev: Event) => any; - /** - * Occurs when the end of playback is reached. - * @param ev The event - */ - onended: (this: Document, ev: MediaStreamErrorEvent) => any; - /** - * Fires when an error occurs during object loading. - * @param ev The event. - */ - onerror: (this: Document, ev: ErrorEvent) => any; - /** - * Fires when the object receives focus. - * @param ev The event. - */ - onfocus: (this: Document, ev: FocusEvent) => any; - onfullscreenchange: (this: Document, ev: Event) => any; - onfullscreenerror: (this: Document, ev: Event) => any; - oninput: (this: Document, ev: Event) => any; - oninvalid: (this: Document, ev: Event) => any; - /** - * Fires when the user presses a key. - * @param ev The keyboard event - */ - onkeydown: (this: Document, ev: KeyboardEvent) => any; - /** - * Fires when the user presses an alphanumeric key. - * @param ev The event. - */ - onkeypress: (this: Document, ev: KeyboardEvent) => any; - /** - * Fires when the user releases a key. - * @param ev The keyboard event - */ - onkeyup: (this: Document, ev: KeyboardEvent) => any; - /** - * Fires immediately after the browser loads the object. - * @param ev The event. - */ - onload: (this: Document, ev: Event) => any; - /** - * Occurs when media data is loaded at the current playback position. - * @param ev The event. - */ - onloadeddata: (this: Document, ev: Event) => any; - /** - * Occurs when the duration and dimensions of the media have been determined. - * @param ev The event. - */ - onloadedmetadata: (this: Document, ev: Event) => any; - /** - * Occurs when Internet Explorer begins looking for media data. - * @param ev The event. - */ - onloadstart: (this: Document, ev: Event) => any; - /** - * Fires when the user clicks the object with either mouse button. - * @param ev The mouse event. - */ - onmousedown: (this: Document, ev: MouseEvent) => any; - /** - * Fires when the user moves the mouse over the object. - * @param ev The mouse event. - */ - onmousemove: (this: Document, ev: MouseEvent) => any; - /** - * Fires when the user moves the mouse pointer outside the boundaries of the object. - * @param ev The mouse event. - */ - onmouseout: (this: Document, ev: MouseEvent) => any; - /** - * Fires when the user moves the mouse pointer into the object. - * @param ev The mouse event. - */ - onmouseover: (this: Document, ev: MouseEvent) => any; - /** - * Fires when the user releases a mouse button while the mouse is over the object. - * @param ev The mouse event. - */ - onmouseup: (this: Document, ev: MouseEvent) => any; - /** - * Fires when the wheel button is rotated. - * @param ev The mouse event - */ - onmousewheel: (this: Document, ev: WheelEvent) => any; - onmscontentzoom: (this: Document, ev: UIEvent) => any; - onmsgesturechange: (this: Document, ev: MSGestureEvent) => any; - onmsgesturedoubletap: (this: Document, ev: MSGestureEvent) => any; - onmsgestureend: (this: Document, ev: MSGestureEvent) => any; - onmsgesturehold: (this: Document, ev: MSGestureEvent) => any; - onmsgesturestart: (this: Document, ev: MSGestureEvent) => any; - onmsgesturetap: (this: Document, ev: MSGestureEvent) => any; - onmsinertiastart: (this: Document, ev: MSGestureEvent) => any; - onmsmanipulationstatechanged: (this: Document, ev: MSManipulationEvent) => any; - onmspointercancel: (this: Document, ev: MSPointerEvent) => any; - onmspointerdown: (this: Document, ev: MSPointerEvent) => any; - onmspointerenter: (this: Document, ev: MSPointerEvent) => any; - onmspointerleave: (this: Document, ev: MSPointerEvent) => any; - onmspointermove: (this: Document, ev: MSPointerEvent) => any; - onmspointerout: (this: Document, ev: MSPointerEvent) => any; - onmspointerover: (this: Document, ev: MSPointerEvent) => any; - onmspointerup: (this: Document, ev: MSPointerEvent) => any; - /** - * Occurs when an item is removed from a Jump List of a webpage running in Site Mode. - * @param ev The event. - */ - onmssitemodejumplistitemremoved: (this: Document, ev: MSSiteModeEvent) => any; - /** - * Occurs when a user clicks a button in a Thumbnail Toolbar of a webpage running in Site Mode. - * @param ev The event. - */ - onmsthumbnailclick: (this: Document, ev: MSSiteModeEvent) => any; - /** - * Occurs when playback is paused. - * @param ev The event. - */ - onpause: (this: Document, ev: Event) => any; - /** - * Occurs when the play method is requested. - * @param ev The event. - */ - onplay: (this: Document, ev: Event) => any; - /** - * Occurs when the audio or video has started playing. - * @param ev The event. - */ - onplaying: (this: Document, ev: Event) => any; - onpointerlockchange: (this: Document, ev: Event) => any; - onpointerlockerror: (this: Document, ev: Event) => any; + scripts: HTMLCollectionOf; + readonly currentScript: HTMLScriptElement | SVGScriptElement | null; + readonly defaultView: any; /** - * Occurs to indicate progress while downloading media data. - * @param ev The event. + * Gets the object that has the focus when the parent document has focus. */ - onprogress: (this: Document, ev: ProgressEvent) => any; + readonly activeElement: Element | null; /** - * Occurs when the playback rate is increased or decreased. - * @param ev The event. + * Sets or gets a value that indicates whether the document can be edited. */ - onratechange: (this: Document, ev: Event) => any; + designMode: string; /** * Fires when the state of the object has changed. * @param ev The event */ onreadystatechange: (this: Document, ev: Event) => any; /** - * Fires when the user resets a form. - * @param ev The event. - */ - onreset: (this: Document, ev: Event) => any; - /** - * Fires when the user repositions the scroll box in the scroll bar on the object. - * @param ev The event. - */ - onscroll: (this: Document, ev: UIEvent) => any; - /** - * Occurs when the seek operation ends. - * @param ev The event. - */ - onseeked: (this: Document, ev: Event) => any; - /** - * Occurs when the current playback position is moved. - * @param ev The event. - */ - onseeking: (this: Document, ev: Event) => any; - /** - * Fires when the current selection changes. - * @param ev The event. - */ - onselect: (this: Document, ev: UIEvent) => any; - /** - * Fires when the selection state of a document changes. - * @param ev The event. - */ - onselectionchange: (this: Document, ev: Event) => any; - onselectstart: (this: Document, ev: Event) => any; - /** - * Occurs when the download has stopped. - * @param ev The event. - */ - onstalled: (this: Document, ev: Event) => any; - /** - * Fires when the user clicks the Stop button or leaves the Web page. - * @param ev The event. - */ - onstop: (this: Document, ev: Event) => any; - onsubmit: (this: Document, ev: Event) => any; - /** - * Occurs if the load operation has been intentionally halted. - * @param ev The event. + * Sets or gets the foreground (text) color of the document. */ - onsuspend: (this: Document, ev: Event) => any; + fgColor: string; /** - * Occurs to indicate the current playback position. - * @param ev The event. + * Sets or gets the color of the document links. */ - ontimeupdate: (this: Document, ev: Event) => any; - ontouchcancel: (ev: TouchEvent) => any; - ontouchend: (ev: TouchEvent) => any; - ontouchmove: (ev: TouchEvent) => any; - ontouchstart: (ev: TouchEvent) => any; + linkColor: string; /** - * Occurs when the volume is changed, or playback is muted or unmuted. - * @param ev The event. + * Sets or gets the color of the links that the user has visited. */ - onvolumechange: (this: Document, ev: Event) => any; + vlinkColor: string; /** - * Occurs when playback stops because the next frame of a video resource is not available. - * @param ev The event. + * Sets or gets the color of all active links in the document. */ - onwaiting: (this: Document, ev: Event) => any; - onwebkitfullscreenchange: (this: Document, ev: Event) => any; - onwebkitfullscreenerror: (this: Document, ev: Event) => any; - plugins: HTMLCollectionOf; - readonly pointerLockElement: Element; + alinkColor: string; /** - * Retrieves a value that indicates the current state of the object. + * Deprecated. Sets or retrieves a value that indicates the background color behind the object. */ - readonly readyState: string; + bgColor: string; /** - * Gets the URL of the location that referred the user to the current page. + * Retrieves a collection of all a objects that have a name and/or id property. Objects in this collection are in HTML source order. */ - readonly referrer: string; + anchors: HTMLCollectionOf; /** - * Gets the root svg element in the document hierarchy. + * Retrieves a collection of all applet objects in the document. */ - readonly rootElement: SVGSVGElement; + applets: HTMLCollectionOf; /** - * Retrieves a collection of all script objects in the document. + * Returns a reference to the collection of elements contained by the object. */ - scripts: HTMLCollectionOf; - readonly scrollingElement: Element | null; + readonly all: HTMLAllCollection; /** * Retrieves a collection of styleSheet objects representing the style sheets that correspond to each instance of a link or style object in the document. */ readonly styleSheets: StyleSheetList; /** - * Contains the title of the document. - */ - title: string; - /** - * Sets or gets the URL for the current document. - */ - readonly URL: string; - /** - * Gets the URL for the document, stripped of any character encoding. - */ - readonly URLUnencoded: string; - readonly visibilityState: VisibilityState; - /** - * Sets or gets the color of the links that the user has visited. - */ - vlinkColor: string; - readonly webkitCurrentFullScreenElement: Element | null; - readonly webkitFullscreenElement: Element | null; - readonly webkitFullscreenEnabled: boolean; - readonly webkitIsFullScreen: boolean; - readonly xmlEncoding: string | null; - xmlStandalone: boolean; - /** - * Gets or sets the version attribute specified in the declaration of an XML document. - */ - xmlVersion: string | null; - adoptNode(source: T): T; - captureEvents(): void; - caretRangeFromPoint(x: number, y: number): Range; - clear(): void; - /** - * Closes an output stream and forces the sent data to display. - */ - close(): void; - /** - * Creates an attribute object with a specified name. - * @param name String that sets the attribute object's name. - */ - createAttribute(name: string): Attr; - createAttributeNS(namespaceURI: string | null, qualifiedName: string): Attr; - createCDATASection(data: string): CDATASection; - /** - * Creates a comment object with the specified data. - * @param data Sets the comment object's data. + * Gets the root svg element in the document hierarchy. */ - createComment(data: string): Comment; + readonly rootElement: SVGSVGElement | null; + readonly timeline: DocumentTimeline; /** - * Creates a new document. + * Retrieves a collection of objects based on the specified element name. + * @param name Specifies the name of an element. */ - createDocumentFragment(): DocumentFragment; + getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf; + getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf; + getElementsByTagNameNS(namespaceURI: string, localName: string): HTMLCollectionOf; + getElementsByClassName(classNames: string): HTMLCollectionOf; /** * Creates an instance of the element for the specified tag. * @param tagName The name of an element. */ - createElement(tagName: K): HTMLElementTagNameMap[K]; - createElement(tagName: string): HTMLElement; createElementNS(namespaceURI: "http://www.w3.org/1999/xhtml", qualifiedName: string): HTMLElement; createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "a"): SVGAElement; createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "circle"): SVGCircleElement; @@ -3159,29 +2393,100 @@ interface Document extends Node, GlobalEventHandlers, NodeSelector, DocumentEven createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "use"): SVGUseElement; createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "view"): SVGViewElement; createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: string): SVGElement; - createElementNS(namespaceURI: string | null, qualifiedName: string): Element; - createExpression(expression: string, resolver: XPathNSResolver): XPathExpression; + createElementNS(namespace: string | null, qualifiedName: string, options?: ElementCreationOptions): Element; /** - * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document. - * @param root The root element or node to start traversing on. - * @param whatToShow The type of nodes or elements to appear in the node list - * @param filter A custom NodeFilter function to use. For more information, see filter. Use null for no filter. - * @param entityReferenceExpansion A flag that specifies whether entity reference nodes are expanded. + * Creates a new document. + */ + createDocumentFragment(): DocumentFragment; + /** + * Creates a text string from the specified value. + * @param data String that specifies the nodeValue property of the text node. + */ + createTextNode(data: string): Text; + createCDATASection(data: string): CDATASection; + /** + * Creates a comment object with the specified data. + * @param data Sets the comment object's data. */ - createNodeIterator(root: Node, whatToShow?: number, filter?: NodeFilter, entityReferenceExpansion?: boolean): NodeIterator; - createNSResolver(nodeResolver: Node): XPathNSResolver; + createComment(data: string): Comment; createProcessingInstruction(target: string, data: string): ProcessingInstruction; + importNode(importedNode: T, deep: boolean): T; + adoptNode(source: T): T; + /** + * Creates an attribute object with a specified name. + * @param name String that sets the attribute object's name. + */ + createAttribute(localName: string): Attr; + createAttributeNS(namespace: string | null, qualifiedName: string): Attr; + createEvent(eventInterface: "AnimationEvent"): AnimationEvent; + createEvent(eventInterface: "AnimationPlaybackEvent"): AnimationPlaybackEvent; + createEvent(eventInterface: "AudioProcessingEvent"): AudioProcessingEvent; + createEvent(eventInterface: "BeforeUnloadEvent"): BeforeUnloadEvent; + createEvent(eventInterface: "ClipboardEvent"): ClipboardEvent; + createEvent(eventInterface: "CloseEvent"): CloseEvent; + createEvent(eventInterface: "CustomEvent"): CustomEvent; + createEvent(eventInterface: "DeviceMotionEvent"): DeviceMotionEvent; + createEvent(eventInterface: "DeviceOrientationEvent"): DeviceOrientationEvent; + createEvent(eventInterface: "DragEvent"): DragEvent; + createEvent(eventInterface: "ErrorEvent"): ErrorEvent; + createEvent(eventInterface: "ExtendableEvent"): ExtendableEvent; + createEvent(eventInterface: "ExtendableMessageEvent"): ExtendableMessageEvent; + createEvent(eventInterface: "FetchEvent"): FetchEvent; + createEvent(eventInterface: "GamepadEvent"): GamepadEvent; + createEvent(eventInterface: "HashChangeEvent"): HashChangeEvent; + createEvent(eventInterface: "IDBVersionChangeEvent"): IDBVersionChangeEvent; + createEvent(eventInterface: "InstallEvent"): InstallEvent; + createEvent(eventInterface: "KeyboardEvent"): KeyboardEvent; + createEvent(eventInterface: "MediaEncryptedEvent"): MediaEncryptedEvent; + createEvent(eventInterface: "MediaKeyMessageEvent"): MediaKeyMessageEvent; + createEvent(eventInterface: "MediaQueryListEvent"): MediaQueryListEvent; + createEvent(eventInterface: "MediaStreamTrackEvent"): MediaStreamTrackEvent; + createEvent(eventInterface: "MessageEvent"): MessageEvent; + createEvent(eventInterface: "MouseEvent"): MouseEvent; + createEvent(eventInterface: "MouseEvents"): MouseEvent; + createEvent(eventInterface: "NotificationEvent"): NotificationEvent; + createEvent(eventInterface: "OfflineAudioCompletionEvent"): OfflineAudioCompletionEvent; + createEvent(eventInterface: "OverconstrainedErrorEvent"): OverconstrainedErrorEvent; + createEvent(eventInterface: "PageTransitionEvent"): PageTransitionEvent; + createEvent(eventInterface: "PaymentRequestUpdateEvent"): PaymentRequestUpdateEvent; + createEvent(eventInterface: "PopStateEvent"): PopStateEvent; + createEvent(eventInterface: "ProgressEvent"): ProgressEvent; + createEvent(eventInterface: "PromiseRejectionEvent"): PromiseRejectionEvent; + createEvent(eventInterface: "PushEvent"): PushEvent; + createEvent(eventInterface: "PushSubscriptionChangeEvent"): PushSubscriptionChangeEvent; + createEvent(eventInterface: "RTCDTMFToneChangeEvent"): RTCDTMFToneChangeEvent; + createEvent(eventInterface: "RTCDataChannelEvent"): RTCDataChannelEvent; + createEvent(eventInterface: "RTCErrorEvent"): RTCErrorEvent; + createEvent(eventInterface: "RTCPeerConnectionIceErrorEvent"): RTCPeerConnectionIceErrorEvent; + createEvent(eventInterface: "RTCPeerConnectionIceEvent"): RTCPeerConnectionIceEvent; + createEvent(eventInterface: "RTCTrackEvent"): RTCTrackEvent; + createEvent(eventInterface: "RelatedEvent"): RelatedEvent; + createEvent(eventInterface: "SensorErrorEvent"): SensorErrorEvent; + createEvent(eventInterface: "SpeechRecognitionError"): SpeechRecognitionError; + createEvent(eventInterface: "SpeechRecognitionEvent"): SpeechRecognitionEvent; + createEvent(eventInterface: "SpeechSynthesisEvent"): SpeechSynthesisEvent; + createEvent(eventInterface: "StorageEvent"): StorageEvent; + createEvent(eventInterface: "SyncEvent"): SyncEvent; + createEvent(eventInterface: "TrackEvent"): TrackEvent; + createEvent(eventInterface: "TransitionEvent"): TransitionEvent; + createEvent(eventInterface: "UIEvent"): UIEvent; + createEvent(eventInterface: "UIEvents"): UIEvent; + createEvent(eventInterface: "WebGLContextEvent"): WebGLContextEvent; + createEvent(eventInterface: "WheelEvent"): WheelEvent; + createEvent(eventInterface: "undefined"): undefined; + createEvent(eventInterface: string): Event; /** * Returns an empty range object that has both of its boundary points positioned at the beginning of the document. */ createRange(): Range; /** - * Creates a text string from the specified value. - * @param data String that specifies the nodeValue property of the text node. + * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document. + * @param root The root element or node to start traversing on. + * @param whatToShow The type of nodes or elements to appear in the node list + * @param filter A custom NodeFilter function to use. For more information, see filter. Use null for no filter. + * @param entityReferenceExpansion A flag that specifies whether entity reference nodes are expanded. */ - createTextNode(data: string): Text; - createTouch(view: Window, target: EventTarget, identifier: number, pageX: number, pageY: number, screenX: number, screenY: number): Touch; - createTouchList(...touches: Touch[]): TouchList; + createNodeIterator(root: Node, whatToShow?: number, filter?: NodeFilter): NodeIterator; /** * Creates a TreeWalker object that you can use to traverse filtered lists of nodes or elements in a document. * @param root The root element or node to start traversing on. @@ -3189,63 +2494,28 @@ interface Document extends Node, GlobalEventHandlers, NodeSelector, DocumentEven * @param filter A custom NodeFilter function to use. * @param entityReferenceExpansion A flag that specifies whether entity reference nodes are expanded. */ - createTreeWalker(root: Node, whatToShow?: number, filter?: NodeFilter, entityReferenceExpansion?: boolean): TreeWalker; + createTreeWalker(root: Node, whatToShow?: number, filter?: NodeFilter): TreeWalker; /** * Returns the element for the specified x coordinate and the specified y coordinate. * @param x The x-offset * @param y The y-offset */ - elementFromPoint(x: number, y: number): Element; - evaluate(expression: string, contextNode: Node, resolver: XPathNSResolver | null, type: number, result: XPathResult | null): XPathResult; - /** - * Executes a command on the current document, current selection, or the given range. - * @param commandId String that specifies the command to execute. This command can be any of the command identifiers that can be executed in script. - * @param showUI Display the user interface, defaults to false. - * @param value Value to assign. - */ - execCommand(commandId: string, showUI?: boolean, value?: any): boolean; - /** - * Displays help information for the given command identifier. - * @param commandId Displays help information for the given command identifier. - */ - execCommandShowHelp(commandId: string): boolean; - exitFullscreen(): void; - exitPointerLock(): void; - /** - * Causes the element to receive the focus and executes the code specified by the onfocus event. - */ - focus(): void; - /** - * Returns a reference to the first object with the specified value of the ID or NAME attribute. - * @param elementId String that specifies the ID value. Case-insensitive. - */ - getElementById(elementId: string): HTMLElement | null; - getElementsByClassName(classNames: string): HTMLCollectionOf; + elementFromPoint(x: number, y: number): Element | null; + elementsFromPoint(x: number, y: number): Element[]; + caretPositionFromPoint(x: number, y: number): CaretPosition | null; /** * Gets a collection of objects based on the value of the NAME or ID attribute. * @param elementName Gets a collection of objects based on the value of the NAME or ID attribute. */ getElementsByName(elementName: string): NodeListOf; /** - * Retrieves a collection of objects based on the specified element name. - * @param name Specifies the name of an element. - */ - getElementsByTagName(tagname: K): ElementListTagNameMap[K]; - getElementsByTagName(tagname: string): NodeListOf; - getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf; - getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf; - getElementsByTagNameNS(namespaceURI: string, localName: string): HTMLCollectionOf; - /** - * Returns an object representing the current selection of the document that is loaded into the object displaying a webpage. - */ - getSelection(): Selection; - /** - * Gets a value indicating whether the object currently has focus. + * Opens a new window and loads a document specified by a given URL. Also, opens a new window that uses the url parameter and the name parameter to collect the output of the write method and the writeln method. + * @param url Specifies a MIME type for the document. + * @param name Specifies the name of the window. This name is used as the value for the TARGET attribute on a form or an anchor element. + * @param features Contains a list of items separated by commas. Each item consists of an option and a value, separated by an equals sign (for example, "fullscreen=yes, toolbar=yes"). The following values are supported. + * @param replace Specifies whether the existing entry for the document is replaced in the history list. */ - hasFocus(): boolean; - importNode(importedNode: T, deep: boolean): T; - msElementsFromPoint(x: number, y: number): NodeListOf; - msElementsFromRect(left: number, top: number, width: number, height: number): NodeListOf; + open(url?: string, name?: string, features?: string, replace?: boolean): Document; /** * Opens a new window and loads a document specified by a given URL. Also, opens a new window that uses the url parameter and the name parameter to collect the output of the write method and the writeln method. * @param url Specifies a MIME type for the document. @@ -3254,6 +2524,31 @@ interface Document extends Node, GlobalEventHandlers, NodeSelector, DocumentEven * @param replace Specifies whether the existing entry for the document is replaced in the history list. */ open(url?: string, name?: string, features?: string, replace?: boolean): Document; + /** + * Closes an output stream and forces the sent data to display. + */ + close(): void; + /** + * Writes one or more HTML expressions to a document in the specified window. + * @param content Specifies the text and HTML tags to write. + */ + write(...text: string[]): void; + /** + * Writes one or more HTML expressions, followed by a carriage return, to a document in the specified window. + * @param content The text and HTML tags to write. + */ + writeln(...text: string[]): void; + /** + * Gets a value indicating whether the object currently has focus. + */ + hasFocus(): boolean; + /** + * Executes a command on the current document, current selection, or the given range. + * @param commandId String that specifies the command to execute. This command can be any of the command identifiers that can be executed in script. + * @param showUI Display the user interface, defaults to false. + * @param value Value to assign. + */ + execCommand(commandId: string, showUI?: boolean, value?: string): boolean; /** * Returns a Boolean value that indicates whether a specified command can be successfully executed using execCommand, given the current state of the document. * @param commandId Specifies a command identifier. @@ -3274,35 +2569,24 @@ interface Document extends Node, GlobalEventHandlers, NodeSelector, DocumentEven * @param commandId Specifies a command identifier. */ queryCommandSupported(commandId: string): boolean; - /** - * Retrieves the string associated with a command. - * @param commandId String that contains the identifier of a command. This can be any command identifier given in the list of Command Identifiers. - */ - queryCommandText(commandId: string): string; /** * Returns the current value of the document, range, or current selection for the given command. * @param commandId String that specifies a command identifier. */ queryCommandValue(commandId: string): string; + clear(): void; + captureEvents(): void; releaseEvents(): void; /** - * Allows updating the print settings for the page. - */ - updateSettings(): void; - webkitCancelFullScreen(): void; - webkitExitFullscreen(): void; - /** - * Writes one or more HTML expressions to a document in the specified window. - * @param content Specifies the text and HTML tags to write. - */ - write(...content: string[]): void; - /** - * Writes one or more HTML expressions, followed by a carriage return, to a document in the specified window. - * @param content The text and HTML tags to write. + * Returns an object representing the current selection of the document that is loaded into the object displaying a webpage. */ - writeln(...content: string[]): void; + getSelection(): Selection | null; + createTouch(view: any, target: EventTarget, identifier: number, pageX: number, pageY: number, screenX: number, screenY: number): Touch; + createTouchList(...touches: Touch[]): TouchList; + getAnimations(): Animation[]; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + [name: string]: any; } declare var Document: { @@ -3310,109 +2594,20 @@ declare var Document: { new(): Document; }; -interface DocumentFragment extends Node, NodeSelector, ParentNode { - getElementById(elementId: string): HTMLElement | null; -} - -declare var DocumentFragment: { - prototype: DocumentFragment; - new(): DocumentFragment; -}; - -interface DocumentType extends Node, ChildNode { - readonly entities: NamedNodeMap; - readonly internalSubset: string | null; - readonly name: string; - readonly notations: NamedNodeMap; - readonly publicId: string; - readonly systemId: string; -} - -declare var DocumentType: { - prototype: DocumentType; - new(): DocumentType; -}; - -interface DOMError { - readonly name: string; - toString(): string; +interface XMLDocument extends Document { + addEventListener(type: K, listener: (this: XMLDocument, ev: DocumentEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var DOMError: { - prototype: DOMError; - new(): DOMError; -}; - -interface DOMException { - readonly code: number; - readonly message: string; - readonly name: string; - toString(): string; - readonly ABORT_ERR: number; - readonly DATA_CLONE_ERR: number; - readonly DOMSTRING_SIZE_ERR: number; - readonly HIERARCHY_REQUEST_ERR: number; - readonly INDEX_SIZE_ERR: number; - readonly INUSE_ATTRIBUTE_ERR: number; - readonly INVALID_ACCESS_ERR: number; - readonly INVALID_CHARACTER_ERR: number; - readonly INVALID_MODIFICATION_ERR: number; - readonly INVALID_NODE_TYPE_ERR: number; - readonly INVALID_STATE_ERR: number; - readonly NAMESPACE_ERR: number; - readonly NETWORK_ERR: number; - readonly NO_DATA_ALLOWED_ERR: number; - readonly NO_MODIFICATION_ALLOWED_ERR: number; - readonly NOT_FOUND_ERR: number; - readonly NOT_SUPPORTED_ERR: number; - readonly PARSE_ERR: number; - readonly QUOTA_EXCEEDED_ERR: number; - readonly SECURITY_ERR: number; - readonly SERIALIZE_ERR: number; - readonly SYNTAX_ERR: number; - readonly TIMEOUT_ERR: number; - readonly TYPE_MISMATCH_ERR: number; - readonly URL_MISMATCH_ERR: number; - readonly VALIDATION_ERR: number; - readonly WRONG_DOCUMENT_ERR: number; -} - -declare var DOMException: { - prototype: DOMException; - new(message?: string, name?: string): DOMException; - readonly ABORT_ERR: number; - readonly DATA_CLONE_ERR: number; - readonly DOMSTRING_SIZE_ERR: number; - readonly HIERARCHY_REQUEST_ERR: number; - readonly INDEX_SIZE_ERR: number; - readonly INUSE_ATTRIBUTE_ERR: number; - readonly INVALID_ACCESS_ERR: number; - readonly INVALID_CHARACTER_ERR: number; - readonly INVALID_MODIFICATION_ERR: number; - readonly INVALID_NODE_TYPE_ERR: number; - readonly INVALID_STATE_ERR: number; - readonly NAMESPACE_ERR: number; - readonly NETWORK_ERR: number; - readonly NO_DATA_ALLOWED_ERR: number; - readonly NO_MODIFICATION_ALLOWED_ERR: number; - readonly NOT_FOUND_ERR: number; - readonly NOT_SUPPORTED_ERR: number; - readonly PARSE_ERR: number; - readonly QUOTA_EXCEEDED_ERR: number; - readonly SECURITY_ERR: number; - readonly SERIALIZE_ERR: number; - readonly SYNTAX_ERR: number; - readonly TIMEOUT_ERR: number; - readonly TYPE_MISMATCH_ERR: number; - readonly URL_MISMATCH_ERR: number; - readonly VALIDATION_ERR: number; - readonly WRONG_DOCUMENT_ERR: number; +declare var XMLDocument: { + prototype: XMLDocument; + new(): XMLDocument; }; interface DOMImplementation { - createDocument(namespaceURI: string | null, qualifiedName: string | null, doctype: DocumentType | null): Document; createDocumentType(qualifiedName: string, publicId: string, systemId: string): DocumentType; - createHTMLDocument(title: string): Document; + createDocument(namespaceURI: string | null, qualifiedName: string | null, doctype: DocumentType | null): Document; + createHTMLDocument(title?: string): Document; hasFeature(feature: string | null, version: string | null): boolean; } @@ -3421,210 +2616,109 @@ declare var DOMImplementation: { new(): DOMImplementation; }; -interface DOMParser { - parseFromString(source: string, mimeType: string): Document; -} - -declare var DOMParser: { - prototype: DOMParser; - new(): DOMParser; -}; - -interface DOMSettableTokenList extends DOMTokenList { - value: string; -} - -declare var DOMSettableTokenList: { - prototype: DOMSettableTokenList; - new(): DOMSettableTokenList; -}; - -interface DOMStringList { - readonly length: number; - contains(str: string): boolean; - item(index: number): string | null; - [index: number]: string; -} - -declare var DOMStringList: { - prototype: DOMStringList; - new(): DOMStringList; -}; - -interface DOMStringMap { - [name: string]: string | undefined; +interface DocumentType extends Node, ChildNode { + readonly name: string; + readonly publicId: string; + readonly systemId: string; } -declare var DOMStringMap: { - prototype: DOMStringMap; - new(): DOMStringMap; +declare var DocumentType: { + prototype: DocumentType; + new(): DocumentType; }; -interface DOMTokenList { - readonly length: number; - add(...token: string[]): void; - contains(token: string): boolean; - item(index: number): string; - remove(...token: string[]): void; - toggle(token: string, force?: boolean): boolean; - toString(): string; - [index: number]: string; +interface DocumentFragment extends Node, NonElementParentNode, ParentNode, ParentNode { + getElementById(elementId: string): HTMLElement | null; } -declare var DOMTokenList: { - prototype: DOMTokenList; - new(): DOMTokenList; +declare var DocumentFragment: { + prototype: DocumentFragment; + new(): DocumentFragment; }; -interface DragEvent extends MouseEvent { - readonly dataTransfer: DataTransfer; - initDragEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, ctrlKeyArg: boolean, altKeyArg: boolean, shiftKeyArg: boolean, metaKeyArg: boolean, buttonArg: number, relatedTargetArg: EventTarget, dataTransferArg: DataTransfer): void; - msConvertURL(file: File, targetType: string, targetURL?: string): void; +interface ShadowRoot extends DocumentFragment, DocumentOrShadowRoot { + readonly mode: ShadowRootMode; + readonly host: Element; } -declare var DragEvent: { - prototype: DragEvent; - new(type: "drag" | "dragend" | "dragenter" | "dragexit" | "dragleave" | "dragover" | "dragstart" | "drop", dragEventInit?: { dataTransfer?: DataTransfer }): DragEvent; +declare var ShadowRoot: { + prototype: ShadowRoot; + new(): ShadowRoot; }; -interface DynamicsCompressorNode extends AudioNode { - readonly attack: AudioParam; - readonly knee: AudioParam; - readonly ratio: AudioParam; - readonly reduction: number; - readonly release: AudioParam; - readonly threshold: AudioParam; +interface ElementEventMap { + "gotpointercapture": Event; + "lostpointercapture": Event; } -declare var DynamicsCompressorNode: { - prototype: DynamicsCompressorNode; - new(): DynamicsCompressorNode; -}; - -interface ElementEventMap extends GlobalEventHandlersEventMap { - "ariarequest": Event; - "command": Event; - "gotpointercapture": PointerEvent; - "lostpointercapture": PointerEvent; - "MSGestureChange": MSGestureEvent; - "MSGestureDoubleTap": MSGestureEvent; - "MSGestureEnd": MSGestureEvent; - "MSGestureHold": MSGestureEvent; - "MSGestureStart": MSGestureEvent; - "MSGestureTap": MSGestureEvent; - "MSGotPointerCapture": MSPointerEvent; - "MSInertiaStart": MSGestureEvent; - "MSLostPointerCapture": MSPointerEvent; - "MSPointerCancel": MSPointerEvent; - "MSPointerDown": MSPointerEvent; - "MSPointerEnter": MSPointerEvent; - "MSPointerLeave": MSPointerEvent; - "MSPointerMove": MSPointerEvent; - "MSPointerOut": MSPointerEvent; - "MSPointerOver": MSPointerEvent; - "MSPointerUp": MSPointerEvent; - "touchcancel": TouchEvent; - "touchend": TouchEvent; - "touchmove": TouchEvent; - "touchstart": TouchEvent; - "webkitfullscreenchange": Event; - "webkitfullscreenerror": Event; -} - -interface Element extends Node, GlobalEventHandlers, ElementTraversal, NodeSelector, ChildNode, ParentNode { - readonly classList: DOMTokenList; +interface Element extends Node, ParentNode, NonDocumentTypeChildNode, ChildNode, Slotable, GeometryUtils, Animatable, ParentNode { + readonly namespaceURI: string | null; + readonly prefix: string | null; + readonly localName: string; + readonly tagName: string; + id: string; className: string; - readonly clientHeight: number; - readonly clientLeft: number; + readonly classList: DOMTokenList; + slot: string; + readonly attributes: NamedNodeMap; + readonly shadowRoot: ShadowRoot | null; + scrollTop: number; + scrollLeft: number; + readonly scrollWidth: number; + readonly scrollHeight: number; readonly clientTop: number; + readonly clientLeft: number; readonly clientWidth: number; - id: string; + readonly clientHeight: number; innerHTML: string; - msContentZoomFactor: number; - readonly msRegionOverflow: string; - onariarequest: (this: Element, ev: Event) => any; - oncommand: (this: Element, ev: Event) => any; - ongotpointercapture: (this: Element, ev: PointerEvent) => any; - onlostpointercapture: (this: Element, ev: PointerEvent) => any; - onmsgesturechange: (this: Element, ev: MSGestureEvent) => any; - onmsgesturedoubletap: (this: Element, ev: MSGestureEvent) => any; - onmsgestureend: (this: Element, ev: MSGestureEvent) => any; - onmsgesturehold: (this: Element, ev: MSGestureEvent) => any; - onmsgesturestart: (this: Element, ev: MSGestureEvent) => any; - onmsgesturetap: (this: Element, ev: MSGestureEvent) => any; - onmsgotpointercapture: (this: Element, ev: MSPointerEvent) => any; - onmsinertiastart: (this: Element, ev: MSGestureEvent) => any; - onmslostpointercapture: (this: Element, ev: MSPointerEvent) => any; - onmspointercancel: (this: Element, ev: MSPointerEvent) => any; - onmspointerdown: (this: Element, ev: MSPointerEvent) => any; - onmspointerenter: (this: Element, ev: MSPointerEvent) => any; - onmspointerleave: (this: Element, ev: MSPointerEvent) => any; - onmspointermove: (this: Element, ev: MSPointerEvent) => any; - onmspointerout: (this: Element, ev: MSPointerEvent) => any; - onmspointerover: (this: Element, ev: MSPointerEvent) => any; - onmspointerup: (this: Element, ev: MSPointerEvent) => any; - ontouchcancel: (ev: TouchEvent) => any; - ontouchend: (ev: TouchEvent) => any; - ontouchmove: (ev: TouchEvent) => any; - ontouchstart: (ev: TouchEvent) => any; - onwebkitfullscreenchange: (this: Element, ev: Event) => any; - onwebkitfullscreenerror: (this: Element, ev: Event) => any; outerHTML: string; - readonly prefix: string | null; - readonly scrollHeight: number; - scrollLeft: number; - scrollTop: number; - readonly scrollWidth: number; - readonly tagName: string; + ongotpointercapture: (this: Element, ev: Event) => any; + onlostpointercapture: (this: Element, ev: Event) => any; readonly assignedSlot: HTMLSlotElement | null; - slot: string; - readonly shadowRoot: ShadowRoot | null; + hasAttributes(): boolean; + getAttributeNames(): string[]; getAttribute(name: string): string | null; - getAttributeNode(name: string): Attr; - getAttributeNodeNS(namespaceURI: string, localName: string): Attr; - getAttributeNS(namespaceURI: string, localName: string): string; - getBoundingClientRect(): ClientRect; - getClientRects(): ClientRectList; - getElementsByTagName(name: K): ElementListTagNameMap[K]; - getElementsByTagName(name: string): NodeListOf; + getAttributeNS(namespace: string | null, localName: string): string | null; + setAttribute(name: string, value: string): void; + setAttributeNS(namespace: string | null, qualifiedName: string, value: string): void; + removeAttribute(qualifiedName: string): void; + removeAttributeNS(namespace: string | null, localName: string): void; + hasAttribute(qualifiedName: string): boolean; + hasAttributeNS(namespace: string | null, localName: string): boolean; + getAttributeNode(qualifiedName: string): Attr | null; + getAttributeNodeNS(namespace: string | null, localName: string): Attr | null; + setAttributeNode(attr: Attr): Attr | null; + setAttributeNodeNS(attr: Attr): Attr | null; + removeAttributeNode(attr: Attr): Attr; + attachShadow(init: ShadowRootInit): ShadowRoot; + closest(selectors: string): Element | null; + matches(selectors: string): boolean; + webkitMatchesSelector(selectors: string): boolean; getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf; getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf; getElementsByTagNameNS(namespaceURI: string, localName: string): HTMLCollectionOf; - hasAttribute(name: string): boolean; - hasAttributeNS(namespaceURI: string, localName: string): boolean; - msGetRegionContent(): MSRangeCollection; - msGetUntransformedBounds(): ClientRect; - msMatchesSelector(selectors: string): boolean; - msReleasePointerCapture(pointerId: number): void; - msSetPointerCapture(pointerId: number): void; - msZoomTo(args: MsZoomToOptions): void; - releasePointerCapture(pointerId: number): void; - removeAttribute(qualifiedName: string): void; - removeAttributeNode(oldAttr: Attr): Attr; - removeAttributeNS(namespaceURI: string, localName: string): void; - requestFullscreen(): void; - requestPointerLock(): void; - setAttribute(name: string, value: string): void; - setAttributeNode(newAttr: Attr): Attr; - setAttributeNodeNS(newAttr: Attr): Attr; - setAttributeNS(namespaceURI: string, qualifiedName: string, value: string): void; - setPointerCapture(pointerId: number): void; - webkitMatchesSelector(selectors: string): boolean; - webkitRequestFullscreen(): void; - webkitRequestFullScreen(): void; - getElementsByClassName(classNames: string): NodeListOf; - matches(selector: string): boolean; - closest(selector: string): Element | null; - scrollIntoView(arg?: boolean | ScrollIntoViewOptions): void; + getElementsByClassName(classNames: string): HTMLCollectionOf; + insertAdjacentElement(where: string, element: Element): Element | null; + insertAdjacentText(where: string, data: string): void; + getClientRects(): DOMRect[]; + getBoundingClientRect(): DOMRect; + scrollIntoView(): void; + scrollIntoView(arg: any): void; scroll(options?: ScrollToOptions): void; scroll(x: number, y: number): void; scrollTo(options?: ScrollToOptions): void; scrollTo(x: number, y: number): void; scrollBy(options?: ScrollToOptions): void; scrollBy(x: number, y: number): void; - insertAdjacentElement(position: InsertPosition, insertedElement: Element): Element | null; - insertAdjacentHTML(where: InsertPosition, html: string): void; - insertAdjacentText(where: InsertPosition, text: string): void; + insertAdjacentHTML(position: string, text: string): void; + setPointerCapture(pointerId: number): void; + releasePointerCapture(pointerId: number): void; + getElementsByClassName(classNames: string): NodeListOf; + matches(selector: string): boolean; + closest(selector: string): Element | null; + insertAdjacentElement(position: string, insertedElement: Element): Element | null; + insertAdjacentHTML(where: string, html: string): void; + insertAdjacentText(where: string, text: string): void; attachShadow(shadowRootInitDict: ShadowRootInit): ShadowRoot; addEventListener(type: K, listener: (this: Element, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; @@ -3635,252 +2729,289 @@ declare var Element: { new(): Element; }; -interface ErrorEvent extends Event { - readonly colno: number; - readonly error: any; - readonly filename: string; - readonly lineno: number; - readonly message: string; - initErrorEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, messageArg: string, filenameArg: string, linenoArg: number): void; +interface NamedNodeMap { + readonly length: number; + item(index: number): Attr | null; + getNamedItem(qualifiedName: string): Attr | null; + getNamedItemNS(namespace: string | null, localName: string): Attr | null; + setNamedItem(attr: Attr): Attr | null; + setNamedItemNS(attr: Attr): Attr | null; + removeNamedItem(qualifiedName: string): Attr; + removeNamedItemNS(namespace: string | null, localName: string): Attr; + [index: number]: Attr; } -declare var ErrorEvent: { - prototype: ErrorEvent; - new(type: string, errorEventInitDict?: ErrorEventInit): ErrorEvent; +declare var NamedNodeMap: { + prototype: NamedNodeMap; + new(): NamedNodeMap; }; -interface Event { - readonly bubbles: boolean; - readonly cancelable: boolean; - cancelBubble: boolean; - readonly currentTarget: EventTarget; - readonly defaultPrevented: boolean; - readonly eventPhase: number; - readonly isTrusted: boolean; - returnValue: boolean; - readonly srcElement: Element | null; - readonly target: EventTarget; - readonly timeStamp: number; - readonly type: string; - readonly scoped: boolean; - initEvent(eventTypeArg: string, canBubbleArg: boolean, cancelableArg: boolean): void; - preventDefault(): void; - stopImmediatePropagation(): void; - stopPropagation(): void; - deepPath(): EventTarget[]; - readonly AT_TARGET: number; - readonly BUBBLING_PHASE: number; - readonly CAPTURING_PHASE: number; +interface Attr extends Node { + readonly namespaceURI: string | null; + readonly prefix: string | null; + readonly localName: string; + readonly name: string; + value: string; + readonly ownerElement: Element | null; + readonly specified: boolean; } -declare var Event: { - prototype: Event; - new(typeArg: string, eventInitDict?: EventInit): Event; - readonly AT_TARGET: number; - readonly BUBBLING_PHASE: number; - readonly CAPTURING_PHASE: number; +declare var Attr: { + prototype: Attr; + new(): Attr; }; -interface EventTarget { - addEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; - dispatchEvent(evt: Event): boolean; - removeEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +interface CharacterData extends Node, NonDocumentTypeChildNode, ChildNode { + data: string; + readonly length: number; + substringData(offset: number, count: number): string; + appendData(data: string): void; + insertData(offset: number, data: string): void; + deleteData(offset: number, count: number): void; + replaceData(offset: number, count: number, data: string): void; } -declare var EventTarget: { - prototype: EventTarget; - new(): EventTarget; +declare var CharacterData: { + prototype: CharacterData; + new(): CharacterData; }; -interface EXT_frag_depth { -} +interface Text extends CharacterData, Slotable, GeometryUtils { + readonly wholeText: string; + readonly assignedSlot: HTMLSlotElement | null; + splitText(offset: number): Text; +} -declare var EXT_frag_depth: { - prototype: EXT_frag_depth; - new(): EXT_frag_depth; +declare var Text: { + prototype: Text; + new(data?: string): Text; }; -interface EXT_texture_filter_anisotropic { - readonly MAX_TEXTURE_MAX_ANISOTROPY_EXT: number; - readonly TEXTURE_MAX_ANISOTROPY_EXT: number; +interface CDATASection extends Text { } -declare var EXT_texture_filter_anisotropic: { - prototype: EXT_texture_filter_anisotropic; - new(): EXT_texture_filter_anisotropic; - readonly MAX_TEXTURE_MAX_ANISOTROPY_EXT: number; - readonly TEXTURE_MAX_ANISOTROPY_EXT: number; +declare var CDATASection: { + prototype: CDATASection; + new(): CDATASection; }; -interface ExtensionScriptApis { - extensionIdToShortId(extensionId: string): number; - fireExtensionApiTelemetry(functionName: string, isSucceeded: boolean, isSupported: boolean): void; - genericFunction(routerAddress: any, parameters?: string, callbackId?: number): void; - genericSynchronousFunction(functionId: number, parameters?: string): string; - getExtensionId(): string; - registerGenericFunctionCallbackHandler(callbackHandler: any): void; - registerGenericPersistentCallbackHandler(callbackHandler: any): void; +interface ProcessingInstruction extends CharacterData, LinkStyle { + readonly target: string; } -declare var ExtensionScriptApis: { - prototype: ExtensionScriptApis; - new(): ExtensionScriptApis; +declare var ProcessingInstruction: { + prototype: ProcessingInstruction; + new(): ProcessingInstruction; }; -interface External { +interface Comment extends CharacterData { } -declare var External: { - prototype: External; - new(): External; +declare var Comment: { + prototype: Comment; + new(data?: string): Comment; }; -interface File extends Blob { - readonly lastModifiedDate: any; - readonly name: string; - readonly webkitRelativePath: string; +interface Range { + readonly startContainer: Node; + readonly startOffset: number; + readonly endContainer: Node; + readonly endOffset: number; + readonly collapsed: boolean; + readonly commonAncestorContainer: Node; + setStart(node: Node, offset: number): void; + setEnd(node: Node, offset: number): void; + setStartBefore(node: Node): void; + setStartAfter(node: Node): void; + setEndBefore(node: Node): void; + setEndAfter(node: Node): void; + collapse(toStart?: boolean): void; + selectNode(node: Node): void; + selectNodeContents(node: Node): void; + compareBoundaryPoints(how: number, sourceRange: Range): number; + deleteContents(): void; + extractContents(): DocumentFragment; + cloneContents(): DocumentFragment; + insertNode(node: Node): void; + surroundContents(newParent: Node): void; + cloneRange(): Range; + detach(): void; + isPointInRange(node: Node, offset: number): boolean; + comparePoint(node: Node, offset: number): number; + intersectsNode(node: Node): boolean; + getClientRects(): DOMRect[]; + getBoundingClientRect(): DOMRect; + createContextualFragment(fragment: string): DocumentFragment; + readonly START_TO_START: number; + readonly START_TO_END: number; + readonly END_TO_END: number; + readonly END_TO_START: number; } -declare var File: { - prototype: File; - new (parts: (ArrayBuffer | ArrayBufferView | Blob | string)[], filename: string, properties?: FilePropertyBag): File; +declare var Range: { + prototype: Range; + new(): Range; + readonly START_TO_START: number; + readonly START_TO_END: number; + readonly END_TO_END: number; + readonly END_TO_START: number; }; -interface FileList { - readonly length: number; - item(index: number): File; - [index: number]: File; +interface NodeIterator { + readonly root: Node; + readonly referenceNode: Node; + readonly pointerBeforeReferenceNode: boolean; + readonly whatToShow: number; + readonly filter: NodeFilter | null; + nextNode(): Node | null; + previousNode(): Node | null; + detach(): void; } -declare var FileList: { - prototype: FileList; - new(): FileList; +declare var NodeIterator: { + prototype: NodeIterator; + new(): NodeIterator; }; -interface FileReader extends EventTarget, MSBaseReader { - readonly error: DOMError; - readAsArrayBuffer(blob: Blob): void; - readAsBinaryString(blob: Blob): void; - readAsDataURL(blob: Blob): void; - readAsText(blob: Blob, encoding?: string): void; - addEventListener(type: K, listener: (this: FileReader, ev: MSBaseReaderEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface TreeWalker { + readonly root: Node; + readonly whatToShow: number; + readonly filter: NodeFilter | null; + currentNode: Node; + parentNode(): Node | null; + firstChild(): Node | null; + lastChild(): Node | null; + previousSibling(): Node | null; + nextSibling(): Node | null; + previousNode(): Node | null; + nextNode(): Node | null; } -declare var FileReader: { - prototype: FileReader; - new(): FileReader; +declare var TreeWalker: { + prototype: TreeWalker; + new(): TreeWalker; }; -interface FocusEvent extends UIEvent { - readonly relatedTarget: EventTarget; - initFocusEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, relatedTargetArg: EventTarget): void; +interface DOMTokenList { + readonly length: number; + value: string; + item(index: number): string | null; + contains(token: string): boolean; + add(...tokens: string[]): void; + remove(...tokens: string[]): void; + toggle(token: string, force?: boolean): boolean; + replace(token: string, newToken: string): void; + supports(token: string): boolean; + [index: number]: string; } -declare var FocusEvent: { - prototype: FocusEvent; - new(typeArg: string, eventInitDict?: FocusEventInit): FocusEvent; +declare var DOMTokenList: { + prototype: DOMTokenList; + new(): DOMTokenList; }; -interface FocusNavigationEvent extends Event { - readonly navigationReason: NavigationReason; - readonly originHeight: number; - readonly originLeft: number; - readonly originTop: number; - readonly originWidth: number; - requestFocus(): void; +interface DOMParser { + parseFromString(str: string, type: any): Document; } -declare var FocusNavigationEvent: { - prototype: FocusNavigationEvent; - new(type: string, eventInitDict?: FocusNavigationEventInit): FocusNavigationEvent; +declare var DOMParser: { + prototype: DOMParser; + new(): DOMParser; }; -interface FormData { - append(name: string, value: string | Blob, fileName?: string): void; - delete(name: string): void; - get(name: string): FormDataEntryValue | null; - getAll(name: string): FormDataEntryValue[]; - has(name: string): boolean; - set(name: string, value: string | Blob, fileName?: string): void; +interface XMLSerializer { + serializeToString(root: Node): string; } -declare var FormData: { - prototype: FormData; - new (form?: HTMLFormElement): FormData; +declare var XMLSerializer: { + prototype: XMLSerializer; + new(): XMLSerializer; }; -interface GainNode extends AudioNode { - readonly gain: AudioParam; +interface MediaKeySystemAccess { + readonly keySystem: string; + getConfiguration(): MediaKeySystemConfiguration; + createMediaKeys(): Promise; } -declare var GainNode: { - prototype: GainNode; - new(): GainNode; +declare var MediaKeySystemAccess: { + prototype: MediaKeySystemAccess; + new(): MediaKeySystemAccess; }; -interface Gamepad { - readonly axes: number[]; - readonly buttons: GamepadButton[]; - readonly connected: boolean; - readonly id: string; - readonly index: number; - readonly mapping: string; - readonly timestamp: number; +interface MediaKeys { + createSession(sessionType?: MediaKeySessionType): MediaKeySession; + setServerCertificate(serverCertificate: BufferSource): Promise; } -declare var Gamepad: { - prototype: Gamepad; - new(): Gamepad; +declare var MediaKeys: { + prototype: MediaKeys; + new(): MediaKeys; }; -interface GamepadButton { - readonly pressed: boolean; - readonly value: number; +interface MediaKeySessionEventMap { + "keystatuseschange": undefined; + "message": MediaKeyMessageEvent; } -declare var GamepadButton: { - prototype: GamepadButton; - new(): GamepadButton; +interface MediaKeySession extends EventTarget { + readonly sessionId: string; + readonly expiration: number; + readonly closed: Promise; + readonly keyStatuses: MediaKeyStatusMap; + onkeystatuseschange: (this: MediaKeySession, ev: undefined) => any; + onmessage: (this: MediaKeySession, ev: MediaKeyMessageEvent) => any; + generateRequest(initDataType: string, initData: BufferSource): Promise; + load(sessionId: string): Promise; + update(response: BufferSource): Promise; + close(): Promise; + remove(): Promise; + addEventListener(type: K, listener: (this: MediaKeySession, ev: MediaKeySessionEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var MediaKeySession: { + prototype: MediaKeySession; + new(): MediaKeySession; }; -interface GamepadEvent extends Event { - readonly gamepad: Gamepad; +interface MediaKeyStatusMap { + readonly size: number; + has(keyId: BufferSource): boolean; + get(keyId: BufferSource): any; } -declare var GamepadEvent: { - prototype: GamepadEvent; - new(typeArg: string, eventInitDict?: GamepadEventInit): GamepadEvent; +declare var MediaKeyStatusMap: { + prototype: MediaKeyStatusMap; + new(): MediaKeyStatusMap; }; -interface Geolocation { - clearWatch(watchId: number): void; - getCurrentPosition(successCallback: PositionCallback, errorCallback?: PositionErrorCallback, options?: PositionOptions): void; - watchPosition(successCallback: PositionCallback, errorCallback?: PositionErrorCallback, options?: PositionOptions): number; +interface MediaKeyMessageEvent extends Event { + readonly messageType: MediaKeyMessageType; + readonly message: ArrayBuffer; } -declare var Geolocation: { - prototype: Geolocation; - new(): Geolocation; +declare var MediaKeyMessageEvent: { + prototype: MediaKeyMessageEvent; + new(type: string, eventInitDict: MediaKeyMessageEventInit): MediaKeyMessageEvent; }; -interface HashChangeEvent extends Event { - readonly newURL: string | null; - readonly oldURL: string | null; +interface MediaEncryptedEvent extends Event { + readonly initDataType: string; + readonly initData: ArrayBuffer | null; } -declare var HashChangeEvent: { - prototype: HashChangeEvent; - new(typeArg: string, eventInitDict?: HashChangeEventInit): HashChangeEvent; +declare var MediaEncryptedEvent: { + prototype: MediaEncryptedEvent; + new(type: string, eventInitDict?: MediaEncryptedEventInit): MediaEncryptedEvent; }; interface Headers { - append(name: string, value: string): void; - delete(name: string): void; - forEach(callback: ForEachCallback): void; - get(name: string): string | null; - has(name: string): boolean; - set(name: string, value: string): void; + append(name: any, value: any): void; + delete(name: any): void; + get(name: any): any; + has(name: any): boolean; + set(name: any, value: any): void; } declare var Headers: { @@ -3888,761 +3019,970 @@ declare var Headers: { new(init?: Headers | string[][] | object): Headers; }; -interface History { - readonly length: number; - readonly state: any; - scrollRestoration: ScrollRestoration; - back(): void; - forward(): void; - go(delta?: number): void; - pushState(data: any, title: string, url?: string | null): void; - replaceState(data: any, title: string, url?: string | null): void; +interface Request extends Object, Body { + readonly method: any; + readonly url: string; + readonly headers: Headers; + readonly type: RequestType; + readonly destination: RequestDestination; + readonly referrer: string; + readonly referrerPolicy: any; + readonly mode: RequestMode; + readonly credentials: RequestCredentials; + readonly cache: RequestCache; + readonly redirect: RequestRedirect; + readonly integrity: string; + readonly keepalive: boolean; + clone(): Request; } -declare var History: { - prototype: History; - new(): History; +declare var Request: { + prototype: Request; + new(input: RequestInfo, init?: RequestInit): Request; }; -interface HTMLAllCollection { - readonly length: number; - item(nameOrIndex?: string): HTMLCollection | Element | null; - namedItem(name: string): HTMLCollection | Element | null; - [index: number]: Element; +interface Response extends Object, Body { + readonly type: ResponseType; + readonly url: string; + readonly redirected: boolean; + readonly status: number; + readonly ok: boolean; + readonly statusText: any; + readonly headers: Headers; + readonly trailer: Promise; + readonly redirected: boolean; + clone(): Response; } -declare var HTMLAllCollection: { - prototype: HTMLAllCollection; - new(): HTMLAllCollection; +declare var Response: { + prototype: Response; + new(body?: any, init?: ResponseInit): Response; + error: () => Response; + redirect: (url: string, status?: number) => Response; + error(): Response; + redirect(url: string, status?: number): Response; }; -interface HTMLAnchorElement extends HTMLElement { - /** - * Sets or retrieves the character set used to encode the object. - */ - charset: string; - /** - * Sets or retrieves the coordinates of the object. - */ - coords: string; - download: string; - /** - * Contains the anchor portion of the URL including the hash sign (#). - */ - hash: string; - /** - * Contains the hostname and port values of the URL. - */ - host: string; - /** - * Contains the hostname of a URL. - */ - hostname: string; - /** - * Sets or retrieves a destination URL or an anchor point. - */ - href: string; - /** - * Sets or retrieves the language code of the object. - */ - hreflang: string; - Methods: string; - readonly mimeType: string; - /** - * Sets or retrieves the shape of the object. - */ - name: string; - readonly nameProp: string; - /** - * Contains the pathname of the URL. - */ - pathname: string; - /** - * Sets or retrieves the port number associated with a URL. - */ - port: string; - /** - * Contains the protocol of the URL. - */ - protocol: string; - readonly protocolLong: string; - /** - * Sets or retrieves the relationship between the object and the destination of the link. - */ - rel: string; - /** - * Sets or retrieves the relationship between the object and the destination of the link. - */ - rev: string; - /** - * Sets or retrieves the substring of the href property that follows the question mark. - */ - search: string; - /** - * Sets or retrieves the shape of the object. - */ - shape: string; - /** - * Sets or retrieves the window or frame at which to target content. - */ - target: string; - /** - * Retrieves or sets the text of the object as a string. - */ - text: string; - type: string; - urn: string; - /** - * Returns a string representation of an object. - */ - toString(): string; - addEventListener(type: K, listener: (this: HTMLAnchorElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; +interface Blob { + readonly size: number; + readonly type: string; + readonly isClosed: boolean; + slice(start?: number, end?: number, contentType?: string): Blob; + close(): void; +} + +declare var Blob: { + prototype: Blob; + new (blobParts?: any[], options?: BlobPropertyBag): Blob; +}; + +interface File extends Blob { + readonly name: string; + readonly lastModified: number; +} + +declare var File: { + prototype: File; + new (parts: (ArrayBuffer | ArrayBufferView | Blob | string)[], filename: string, properties?: FilePropertyBag): File; +}; + +interface FileList { + readonly length: number; + item(index: number): File | null; + [index: number]: File; +} + +declare var FileList: { + prototype: FileList; + new(): FileList; +}; + +interface FileReaderEventMap { + "loadstart": ProgressEvent; + "progress": ProgressEvent; + "load": ProgressEvent; + "abort": ProgressEvent; + "error": ProgressEvent; + "loadend": ProgressEvent; +} + +interface FileReader extends EventTarget { + readonly readyState: number; + readonly result: string | ArrayBuffer | null; + readonly error: any; + onloadstart: (this: FileReader, ev: ProgressEvent) => any; + onprogress: (this: FileReader, ev: ProgressEvent) => any; + onload: (this: FileReader, ev: ProgressEvent) => any; + onabort: (this: FileReader, ev: ProgressEvent) => any; + onerror: (this: FileReader, ev: ProgressEvent) => any; + onloadend: (this: FileReader, ev: ProgressEvent) => any; + readAsArrayBuffer(blob: Blob): void; + readAsText(blob: Blob, label?: string): void; + readAsDataURL(blob: Blob): void; + abort(): void; + readonly EMPTY: number; + readonly LOADING: number; + readonly DONE: number; + addEventListener(type: K, listener: (this: FileReader, ev: FileReaderEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var FileReader: { + prototype: FileReader; + new(): FileReader; + readonly EMPTY: number; + readonly LOADING: number; + readonly DONE: number; +}; + +interface FileReaderSync { + readAsArrayBuffer(blob: Blob): ArrayBuffer; + readAsText(blob: Blob, label?: string): string; + readAsDataURL(blob: Blob): string; +} + +declare var FileReaderSync: { + prototype: FileReaderSync; + new(): FileReaderSync; +}; + +interface SVGFilterElement extends SVGElement, SVGURIReference, SVGUnitTypes { + readonly filterUnits: SVGAnimatedEnumeration; + readonly primitiveUnits: SVGAnimatedEnumeration; + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + readonly width: SVGAnimatedLength; + readonly height: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGFilterElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFilterElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFilterElement: { + prototype: SVGFilterElement; + new(): SVGFilterElement; +}; + +interface SVGFEBlendElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + readonly in2: SVGAnimatedString; + readonly mode: SVGAnimatedEnumeration; + readonly SVG_FEBLEND_MODE_UNKNOWN: number; + readonly SVG_FEBLEND_MODE_NORMAL: number; + readonly SVG_FEBLEND_MODE_MULTIPLY: number; + readonly SVG_FEBLEND_MODE_SCREEN: number; + readonly SVG_FEBLEND_MODE_DARKEN: number; + readonly SVG_FEBLEND_MODE_LIGHTEN: number; + addEventListener(type: K, listener: (this: SVGFEBlendElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEBlendElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFEBlendElement: { + prototype: SVGFEBlendElement; + new(): SVGFEBlendElement; + readonly SVG_FEBLEND_MODE_UNKNOWN: number; + readonly SVG_FEBLEND_MODE_NORMAL: number; + readonly SVG_FEBLEND_MODE_MULTIPLY: number; + readonly SVG_FEBLEND_MODE_SCREEN: number; + readonly SVG_FEBLEND_MODE_DARKEN: number; + readonly SVG_FEBLEND_MODE_LIGHTEN: number; +}; + +interface SVGFEColorMatrixElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + readonly type: SVGAnimatedEnumeration; + readonly values: SVGAnimatedNumberList; + readonly SVG_FECOLORMATRIX_TYPE_UNKNOWN: number; + readonly SVG_FECOLORMATRIX_TYPE_MATRIX: number; + readonly SVG_FECOLORMATRIX_TYPE_SATURATE: number; + readonly SVG_FECOLORMATRIX_TYPE_HUEROTATE: number; + readonly SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA: number; + addEventListener(type: K, listener: (this: SVGFEColorMatrixElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEColorMatrixElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFEColorMatrixElement: { + prototype: SVGFEColorMatrixElement; + new(): SVGFEColorMatrixElement; + readonly SVG_FECOLORMATRIX_TYPE_UNKNOWN: number; + readonly SVG_FECOLORMATRIX_TYPE_MATRIX: number; + readonly SVG_FECOLORMATRIX_TYPE_SATURATE: number; + readonly SVG_FECOLORMATRIX_TYPE_HUEROTATE: number; + readonly SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA: number; +}; + +interface SVGFEComponentTransferElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + addEventListener(type: K, listener: (this: SVGFEComponentTransferElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEComponentTransferElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFEComponentTransferElement: { + prototype: SVGFEComponentTransferElement; + new(): SVGFEComponentTransferElement; +}; + +interface SVGComponentTransferFunctionElement extends SVGElement { + readonly type: SVGAnimatedEnumeration; + readonly tableValues: SVGAnimatedNumberList; + readonly slope: SVGAnimatedNumber; + readonly intercept: SVGAnimatedNumber; + readonly amplitude: SVGAnimatedNumber; + readonly exponent: SVGAnimatedNumber; + readonly offset: SVGAnimatedNumber; + readonly SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_TABLE: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_LINEAR: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_GAMMA: number; + addEventListener(type: K, listener: (this: SVGComponentTransferFunctionElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGComponentTransferFunctionElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGComponentTransferFunctionElement: { + prototype: SVGComponentTransferFunctionElement; + new(): SVGComponentTransferFunctionElement; + readonly SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_TABLE: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_LINEAR: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_GAMMA: number; +}; + +interface SVGFEFuncRElement extends SVGComponentTransferFunctionElement { + addEventListener(type: K, listener: (this: SVGFEFuncRElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEFuncRElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFEFuncRElement: { + prototype: SVGFEFuncRElement; + new(): SVGFEFuncRElement; +}; + +interface SVGFEFuncGElement extends SVGComponentTransferFunctionElement { + addEventListener(type: K, listener: (this: SVGFEFuncGElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEFuncGElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFEFuncGElement: { + prototype: SVGFEFuncGElement; + new(): SVGFEFuncGElement; +}; + +interface SVGFEFuncBElement extends SVGComponentTransferFunctionElement { + addEventListener(type: K, listener: (this: SVGFEFuncBElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEFuncBElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFEFuncBElement: { + prototype: SVGFEFuncBElement; + new(): SVGFEFuncBElement; +}; + +interface SVGFEFuncAElement extends SVGComponentTransferFunctionElement { + addEventListener(type: K, listener: (this: SVGFEFuncAElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEFuncAElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFEFuncAElement: { + prototype: SVGFEFuncAElement; + new(): SVGFEFuncAElement; +}; + +interface SVGFECompositeElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + readonly in2: SVGAnimatedString; + readonly operator: SVGAnimatedEnumeration; + readonly k1: SVGAnimatedNumber; + readonly k2: SVGAnimatedNumber; + readonly k3: SVGAnimatedNumber; + readonly k4: SVGAnimatedNumber; + readonly SVG_FECOMPOSITE_OPERATOR_UNKNOWN: number; + readonly SVG_FECOMPOSITE_OPERATOR_OVER: number; + readonly SVG_FECOMPOSITE_OPERATOR_IN: number; + readonly SVG_FECOMPOSITE_OPERATOR_OUT: number; + readonly SVG_FECOMPOSITE_OPERATOR_ATOP: number; + readonly SVG_FECOMPOSITE_OPERATOR_XOR: number; + readonly SVG_FECOMPOSITE_OPERATOR_ARITHMETIC: number; + addEventListener(type: K, listener: (this: SVGFECompositeElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFECompositeElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFECompositeElement: { + prototype: SVGFECompositeElement; + new(): SVGFECompositeElement; + readonly SVG_FECOMPOSITE_OPERATOR_UNKNOWN: number; + readonly SVG_FECOMPOSITE_OPERATOR_OVER: number; + readonly SVG_FECOMPOSITE_OPERATOR_IN: number; + readonly SVG_FECOMPOSITE_OPERATOR_OUT: number; + readonly SVG_FECOMPOSITE_OPERATOR_ATOP: number; + readonly SVG_FECOMPOSITE_OPERATOR_XOR: number; + readonly SVG_FECOMPOSITE_OPERATOR_ARITHMETIC: number; +}; + +interface SVGFEConvolveMatrixElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + readonly orderX: SVGAnimatedInteger; + readonly orderY: SVGAnimatedInteger; + readonly kernelMatrix: SVGAnimatedNumberList; + readonly divisor: SVGAnimatedNumber; + readonly bias: SVGAnimatedNumber; + readonly targetX: SVGAnimatedInteger; + readonly targetY: SVGAnimatedInteger; + readonly edgeMode: SVGAnimatedEnumeration; + readonly kernelUnitLengthX: SVGAnimatedNumber; + readonly kernelUnitLengthY: SVGAnimatedNumber; + readonly SVG_EDGEMODE_UNKNOWN: number; + readonly SVG_EDGEMODE_DUPLICATE: number; + readonly SVG_EDGEMODE_WRAP: number; + readonly SVG_EDGEMODE_NONE: number; + addEventListener(type: K, listener: (this: SVGFEConvolveMatrixElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEConvolveMatrixElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFEConvolveMatrixElement: { + prototype: SVGFEConvolveMatrixElement; + new(): SVGFEConvolveMatrixElement; + readonly SVG_EDGEMODE_UNKNOWN: number; + readonly SVG_EDGEMODE_DUPLICATE: number; + readonly SVG_EDGEMODE_WRAP: number; + readonly SVG_EDGEMODE_NONE: number; +}; + +interface SVGFEDiffuseLightingElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + readonly surfaceScale: SVGAnimatedNumber; + readonly diffuseConstant: SVGAnimatedNumber; + readonly kernelUnitLengthX: SVGAnimatedNumber; + readonly kernelUnitLengthY: SVGAnimatedNumber; + addEventListener(type: K, listener: (this: SVGFEDiffuseLightingElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEDiffuseLightingElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFEDiffuseLightingElement: { + prototype: SVGFEDiffuseLightingElement; + new(): SVGFEDiffuseLightingElement; +}; + +interface SVGFEDistantLightElement extends SVGElement { + readonly azimuth: SVGAnimatedNumber; + readonly elevation: SVGAnimatedNumber; + addEventListener(type: K, listener: (this: SVGFEDistantLightElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEDistantLightElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFEDistantLightElement: { + prototype: SVGFEDistantLightElement; + new(): SVGFEDistantLightElement; +}; + +interface SVGFEPointLightElement extends SVGElement { + readonly x: SVGAnimatedNumber; + readonly y: SVGAnimatedNumber; + readonly z: SVGAnimatedNumber; + addEventListener(type: K, listener: (this: SVGFEPointLightElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEPointLightElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFEPointLightElement: { + prototype: SVGFEPointLightElement; + new(): SVGFEPointLightElement; +}; + +interface SVGFESpotLightElement extends SVGElement { + readonly x: SVGAnimatedNumber; + readonly y: SVGAnimatedNumber; + readonly z: SVGAnimatedNumber; + readonly pointsAtX: SVGAnimatedNumber; + readonly pointsAtY: SVGAnimatedNumber; + readonly pointsAtZ: SVGAnimatedNumber; + readonly specularExponent: SVGAnimatedNumber; + readonly limitingConeAngle: SVGAnimatedNumber; + addEventListener(type: K, listener: (this: SVGFESpotLightElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFESpotLightElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLAnchorElement: { - prototype: HTMLAnchorElement; - new(): HTMLAnchorElement; +declare var SVGFESpotLightElement: { + prototype: SVGFESpotLightElement; + new(): SVGFESpotLightElement; }; -interface HTMLAppletElement extends HTMLElement { - align: string; - /** - * Sets or retrieves a text alternative to the graphic. - */ - alt: string; - /** - * Gets or sets the optional alternative HTML script to execute if the object fails to load. - */ - altHtml: string; - /** - * Sets or retrieves a character string that can be used to implement your own archive functionality for the object. - */ - archive: string; - /** - * Retrieves a string of the URL where the object tag can be found. This is often the href of the document that the object is in, or the value set by a base element. - */ - readonly BaseHref: string; - border: string; - code: string; - /** - * Sets or retrieves the URL of the component. - */ - codeBase: string; - /** - * Sets or retrieves the Internet media type for the code associated with the object. - */ - codeType: string; - /** - * Address of a pointer to the document this page or frame contains. If there is no document, then null will be returned. - */ - readonly contentDocument: Document; - /** - * Sets or retrieves the URL that references the data of the object. - */ - data: string; - /** - * Sets or retrieves a character string that can be used to implement your own declare functionality for the object. - */ - declare: boolean; - readonly form: HTMLFormElement | null; - /** - * Sets or retrieves the height of the object. - */ - height: string; - hspace: number; - /** - * Sets or retrieves the shape of the object. - */ - name: string; - object: string | null; - /** - * Sets or retrieves a message to be displayed while an object is loading. - */ - standby: string; - /** - * Returns the content type of the object. - */ - type: string; - /** - * Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map. - */ - useMap: string; - vspace: number; - width: number; - addEventListener(type: K, listener: (this: HTMLAppletElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; +interface SVGFEDisplacementMapElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + readonly in2: SVGAnimatedString; + readonly scale: SVGAnimatedNumber; + readonly xChannelSelector: SVGAnimatedEnumeration; + readonly yChannelSelector: SVGAnimatedEnumeration; + readonly SVG_CHANNEL_UNKNOWN: number; + readonly SVG_CHANNEL_R: number; + readonly SVG_CHANNEL_G: number; + readonly SVG_CHANNEL_B: number; + readonly SVG_CHANNEL_A: number; + addEventListener(type: K, listener: (this: SVGFEDisplacementMapElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEDisplacementMapElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLAppletElement: { - prototype: HTMLAppletElement; - new(): HTMLAppletElement; +declare var SVGFEDisplacementMapElement: { + prototype: SVGFEDisplacementMapElement; + new(): SVGFEDisplacementMapElement; + readonly SVG_CHANNEL_UNKNOWN: number; + readonly SVG_CHANNEL_R: number; + readonly SVG_CHANNEL_G: number; + readonly SVG_CHANNEL_B: number; + readonly SVG_CHANNEL_A: number; }; -interface HTMLAreaElement extends HTMLElement { - /** - * Sets or retrieves a text alternative to the graphic. - */ - alt: string; - /** - * Sets or retrieves the coordinates of the object. - */ - coords: string; - download: string; - /** - * Sets or retrieves the subsection of the href property that follows the number sign (#). - */ - hash: string; - /** - * Sets or retrieves the hostname and port number of the location or URL. - */ - host: string; - /** - * Sets or retrieves the host name part of the location or URL. - */ - hostname: string; - /** - * Sets or retrieves a destination URL or an anchor point. - */ - href: string; - /** - * Sets or gets whether clicks in this region cause action. - */ - noHref: boolean; - /** - * Sets or retrieves the file name or path specified by the object. - */ - pathname: string; - /** - * Sets or retrieves the port number associated with a URL. - */ - port: string; - /** - * Sets or retrieves the protocol portion of a URL. - */ - protocol: string; - rel: string; - /** - * Sets or retrieves the substring of the href property that follows the question mark. - */ - search: string; - /** - * Sets or retrieves the shape of the object. - */ - shape: string; - /** - * Sets or retrieves the window or frame at which to target content. - */ - target: string; - /** - * Returns a string representation of an object. - */ - toString(): string; - addEventListener(type: K, listener: (this: HTMLAreaElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; +interface SVGFEDropShadowElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + readonly dx: SVGAnimatedNumber; + readonly dy: SVGAnimatedNumber; + readonly stdDeviationX: SVGAnimatedNumber; + readonly stdDeviationY: SVGAnimatedNumber; + setStdDeviation(stdDeviationX: number, stdDeviationY: number): void; + addEventListener(type: K, listener: (this: SVGFEDropShadowElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEDropShadowElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFEDropShadowElement: { + prototype: SVGFEDropShadowElement; + new(): SVGFEDropShadowElement; +}; + +interface SVGFEFloodElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + addEventListener(type: K, listener: (this: SVGFEFloodElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEFloodElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFEFloodElement: { + prototype: SVGFEFloodElement; + new(): SVGFEFloodElement; +}; + +interface SVGFEGaussianBlurElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + readonly stdDeviationX: SVGAnimatedNumber; + readonly stdDeviationY: SVGAnimatedNumber; + readonly edgeMode: SVGAnimatedEnumeration; + setStdDeviation(stdDeviationX: number, stdDeviationY: number): void; + readonly SVG_EDGEMODE_UNKNOWN: number; + readonly SVG_EDGEMODE_DUPLICATE: number; + readonly SVG_EDGEMODE_WRAP: number; + readonly SVG_EDGEMODE_NONE: number; + addEventListener(type: K, listener: (this: SVGFEGaussianBlurElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEGaussianBlurElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFEGaussianBlurElement: { + prototype: SVGFEGaussianBlurElement; + new(): SVGFEGaussianBlurElement; + readonly SVG_EDGEMODE_UNKNOWN: number; + readonly SVG_EDGEMODE_DUPLICATE: number; + readonly SVG_EDGEMODE_WRAP: number; + readonly SVG_EDGEMODE_NONE: number; +}; + +interface SVGFEImageElement extends SVGElement, SVGFilterPrimitiveStandardAttributes, SVGURIReference { + readonly preserveAspectRatio: SVGAnimatedPreserveAspectRatio; + readonly crossOrigin: SVGAnimatedString; + addEventListener(type: K, listener: (this: SVGFEImageElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEImageElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFEImageElement: { + prototype: SVGFEImageElement; + new(): SVGFEImageElement; +}; + +interface SVGFEMergeElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + addEventListener(type: K, listener: (this: SVGFEMergeElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEMergeElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFEMergeElement: { + prototype: SVGFEMergeElement; + new(): SVGFEMergeElement; +}; + +interface SVGFEMergeNodeElement extends SVGElement { + readonly in1: SVGAnimatedString; + addEventListener(type: K, listener: (this: SVGFEMergeNodeElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEMergeNodeElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFEMergeNodeElement: { + prototype: SVGFEMergeNodeElement; + new(): SVGFEMergeNodeElement; +}; + +interface SVGFEMorphologyElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + readonly operator: SVGAnimatedEnumeration; + readonly radiusX: SVGAnimatedNumber; + readonly radiusY: SVGAnimatedNumber; + readonly SVG_MORPHOLOGY_OPERATOR_UNKNOWN: number; + readonly SVG_MORPHOLOGY_OPERATOR_ERODE: number; + readonly SVG_MORPHOLOGY_OPERATOR_DILATE: number; + addEventListener(type: K, listener: (this: SVGFEMorphologyElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEMorphologyElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFEMorphologyElement: { + prototype: SVGFEMorphologyElement; + new(): SVGFEMorphologyElement; + readonly SVG_MORPHOLOGY_OPERATOR_UNKNOWN: number; + readonly SVG_MORPHOLOGY_OPERATOR_ERODE: number; + readonly SVG_MORPHOLOGY_OPERATOR_DILATE: number; +}; + +interface SVGFEOffsetElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + readonly dx: SVGAnimatedNumber; + readonly dy: SVGAnimatedNumber; + addEventListener(type: K, listener: (this: SVGFEOffsetElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEOffsetElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SVGFEOffsetElement: { + prototype: SVGFEOffsetElement; + new(): SVGFEOffsetElement; +}; + +interface SVGFESpecularLightingElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + readonly surfaceScale: SVGAnimatedNumber; + readonly specularConstant: SVGAnimatedNumber; + readonly specularExponent: SVGAnimatedNumber; + readonly kernelUnitLengthX: SVGAnimatedNumber; + readonly kernelUnitLengthY: SVGAnimatedNumber; + addEventListener(type: K, listener: (this: SVGFESpecularLightingElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFESpecularLightingElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLAreaElement: { - prototype: HTMLAreaElement; - new(): HTMLAreaElement; +declare var SVGFESpecularLightingElement: { + prototype: SVGFESpecularLightingElement; + new(): SVGFESpecularLightingElement; }; -interface HTMLAreasCollection extends HTMLCollectionBase { +interface SVGFETileElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + addEventListener(type: K, listener: (this: SVGFETileElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFETileElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLAreasCollection: { - prototype: HTMLAreasCollection; - new(): HTMLAreasCollection; +declare var SVGFETileElement: { + prototype: SVGFETileElement; + new(): SVGFETileElement; }; -interface HTMLAudioElement extends HTMLMediaElement { - addEventListener(type: K, listener: (this: HTMLAudioElement, ev: HTMLMediaElementEventMap[K]) => any, useCapture?: boolean): void; +interface SVGFETurbulenceElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly baseFrequencyX: SVGAnimatedNumber; + readonly baseFrequencyY: SVGAnimatedNumber; + readonly numOctaves: SVGAnimatedInteger; + readonly seed: SVGAnimatedNumber; + readonly stitchTiles: SVGAnimatedEnumeration; + readonly type: SVGAnimatedEnumeration; + readonly SVG_TURBULENCE_TYPE_UNKNOWN: number; + readonly SVG_TURBULENCE_TYPE_FRACTALNOISE: number; + readonly SVG_TURBULENCE_TYPE_TURBULENCE: number; + readonly SVG_STITCHTYPE_UNKNOWN: number; + readonly SVG_STITCHTYPE_STITCH: number; + readonly SVG_STITCHTYPE_NOSTITCH: number; + addEventListener(type: K, listener: (this: SVGFETurbulenceElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFETurbulenceElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLAudioElement: { - prototype: HTMLAudioElement; - new(): HTMLAudioElement; +declare var SVGFETurbulenceElement: { + prototype: SVGFETurbulenceElement; + new(): SVGFETurbulenceElement; + readonly SVG_TURBULENCE_TYPE_UNKNOWN: number; + readonly SVG_TURBULENCE_TYPE_FRACTALNOISE: number; + readonly SVG_TURBULENCE_TYPE_TURBULENCE: number; + readonly SVG_STITCHTYPE_UNKNOWN: number; + readonly SVG_STITCHTYPE_STITCH: number; + readonly SVG_STITCHTYPE_NOSTITCH: number; }; -interface HTMLBaseElement extends HTMLElement { - /** - * Gets or sets the baseline URL on which relative links are based. - */ - href: string; - /** - * Sets or retrieves the window or frame at which to target content. - */ - target: string; - addEventListener(type: K, listener: (this: HTMLBaseElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface Gamepad { + readonly id: string; + readonly index: number; + readonly connected: boolean; + readonly timestamp: number; + readonly mapping: GamepadMappingType; + readonly axes: number[]; + readonly buttons: GamepadButton[]; } -declare var HTMLBaseElement: { - prototype: HTMLBaseElement; - new(): HTMLBaseElement; +declare var Gamepad: { + prototype: Gamepad; + new(): Gamepad; }; -interface HTMLBaseFontElement extends HTMLElement, DOML2DeprecatedColorProperty { - /** - * Sets or retrieves the current typeface family. - */ - face: string; - /** - * Sets or retrieves the font size of the object. - */ - size: number; - addEventListener(type: K, listener: (this: HTMLBaseFontElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface GamepadButton { + readonly pressed: boolean; + readonly touched: boolean; + readonly value: number; } -declare var HTMLBaseFontElement: { - prototype: HTMLBaseFontElement; - new(): HTMLBaseFontElement; +declare var GamepadButton: { + prototype: GamepadButton; + new(): GamepadButton; }; -interface HTMLBodyElementEventMap extends HTMLElementEventMap { - "afterprint": Event; - "beforeprint": Event; - "beforeunload": BeforeUnloadEvent; - "blur": FocusEvent; - "error": ErrorEvent; - "focus": FocusEvent; - "hashchange": HashChangeEvent; - "load": Event; - "message": MessageEvent; - "offline": Event; - "online": Event; - "orientationchange": Event; - "pagehide": PageTransitionEvent; - "pageshow": PageTransitionEvent; - "popstate": PopStateEvent; - "resize": UIEvent; - "scroll": UIEvent; - "storage": StorageEvent; - "unload": Event; +interface GamepadEvent extends Event { + readonly gamepad: Gamepad; } -interface HTMLBodyElement extends HTMLElement { - aLink: any; - background: string; - bgColor: any; - bgProperties: string; - link: any; - noWrap: boolean; - onafterprint: (this: HTMLBodyElement, ev: Event) => any; - onbeforeprint: (this: HTMLBodyElement, ev: Event) => any; - onbeforeunload: (this: HTMLBodyElement, ev: BeforeUnloadEvent) => any; - onblur: (this: HTMLBodyElement, ev: FocusEvent) => any; - onerror: (this: HTMLBodyElement, ev: ErrorEvent) => any; - onfocus: (this: HTMLBodyElement, ev: FocusEvent) => any; - onhashchange: (this: HTMLBodyElement, ev: HashChangeEvent) => any; - onload: (this: HTMLBodyElement, ev: Event) => any; - onmessage: (this: HTMLBodyElement, ev: MessageEvent) => any; - onoffline: (this: HTMLBodyElement, ev: Event) => any; - ononline: (this: HTMLBodyElement, ev: Event) => any; - onorientationchange: (this: HTMLBodyElement, ev: Event) => any; - onpagehide: (this: HTMLBodyElement, ev: PageTransitionEvent) => any; - onpageshow: (this: HTMLBodyElement, ev: PageTransitionEvent) => any; - onpopstate: (this: HTMLBodyElement, ev: PopStateEvent) => any; - onresize: (this: HTMLBodyElement, ev: UIEvent) => any; - onscroll: (this: HTMLBodyElement, ev: UIEvent) => any; - onstorage: (this: HTMLBodyElement, ev: StorageEvent) => any; - onunload: (this: HTMLBodyElement, ev: Event) => any; - text: any; - vLink: any; - addEventListener(type: K, listener: (this: HTMLBodyElement, ev: HTMLBodyElementEventMap[K]) => any, useCapture?: boolean): void; +declare var GamepadEvent: { + prototype: GamepadEvent; + new(eventInitDict: GamepadEventInit): GamepadEvent; +}; + +interface SensorEventMap { + "change": undefined; + "activate": undefined; + "error": SensorErrorEvent; +} + +interface Sensor extends EventTarget { + readonly state: SensorState; + readonly timestamp: number | null; + onchange: (this: Sensor, ev: undefined) => any; + onactivate: (this: Sensor, ev: undefined) => any; + onerror: (this: Sensor, ev: SensorErrorEvent) => any; + start(): void; + stop(): void; + addEventListener(type: K, listener: (this: Sensor, ev: SensorEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLBodyElement: { - prototype: HTMLBodyElement; - new(): HTMLBodyElement; +declare var Sensor: { + prototype: Sensor; + new(): Sensor; }; -interface HTMLBRElement extends HTMLElement { - /** - * Sets or retrieves the side on which floating objects are not to be positioned when any IHTMLBlockElement is inserted into the document. - */ - clear: string; - addEventListener(type: K, listener: (this: HTMLBRElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface SensorErrorEvent extends Event { + readonly error: any; } -declare var HTMLBRElement: { - prototype: HTMLBRElement; - new(): HTMLBRElement; +declare var SensorErrorEvent: { + prototype: SensorErrorEvent; + new(type: string, errorEventInitDict: SensorErrorEventInit): SensorErrorEvent; }; -interface HTMLButtonElement extends HTMLElement { - /** - * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing. - */ - autofocus: boolean; - disabled: boolean; - /** - * Retrieves a reference to the form that the object is embedded in. - */ - readonly form: HTMLFormElement | null; - /** - * Overrides the action attribute (where the data on a form is sent) on the parent form element. - */ - formAction: string; - /** - * Used to override the encoding (formEnctype attribute) specified on the form element. - */ - formEnctype: string; - /** - * Overrides the submit method attribute previously specified on a form element. - */ - formMethod: string; - /** - * Overrides any validation or required attributes on a form or form elements to allow it to be submitted without validation. This can be used to create a "save draft"-type submit option. - */ - formNoValidate: string; - /** - * Overrides the target attribute on a form element. - */ - formTarget: string; - /** - * Sets or retrieves the name of the object. - */ - name: string; - status: any; - /** - * Gets the classification and default behavior of the button. - */ - type: string; - /** - * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. - */ - readonly validationMessage: string; - /** - * Returns a ValidityState object that represents the validity states of an element. - */ - readonly validity: ValidityState; - /** - * Sets or retrieves the default or selected value of the control. - */ - value: string; - /** - * Returns whether an element will successfully validate based on forms validation rules and constraints. - */ - readonly willValidate: boolean; - /** - * Returns whether a form will validate when it is submitted, without having to submit it. - */ - checkValidity(): boolean; - /** - * Sets a custom error message that is displayed when a form is submitted. - * @param error Sets a custom error message that is displayed when a form is submitted. - */ - setCustomValidity(error: string): void; - addEventListener(type: K, listener: (this: HTMLButtonElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface DOMPointReadOnly { + readonly x: number; + readonly y: number; + readonly z: number; + readonly w: number; + matrixTransform(matrix?: DOMMatrixInit): DOMPoint; } -declare var HTMLButtonElement: { - prototype: HTMLButtonElement; - new(): HTMLButtonElement; +declare var DOMPointReadOnly: { + prototype: DOMPointReadOnly; + new(x?: number, y?: number, z?: number, w?: number): DOMPointReadOnly; + fromPoint(other?: DOMPointInit): DOMPointReadOnly; }; -interface HTMLCanvasElement extends HTMLElement { - /** - * Gets or sets the height of a canvas element on a document. - */ - height: number; - /** - * Gets or sets the width of a canvas element on a document. - */ - width: number; - /** - * Returns an object that provides methods and properties for drawing and manipulating images and graphics on a canvas element in a document. A context object includes information about colors, line widths, fonts, and other graphic parameters that can be drawn on a canvas. - * @param contextId The identifier (ID) of the type of canvas to create. Internet Explorer 9 and Internet Explorer 10 support only a 2-D context using canvas.getContext("2d"); IE11 Preview also supports 3-D or WebGL context using canvas.getContext("experimental-webgl"); - */ - getContext(contextId: "2d", contextAttributes?: Canvas2DContextAttributes): CanvasRenderingContext2D | null; - getContext(contextId: "webgl" | "experimental-webgl", contextAttributes?: WebGLContextAttributes): WebGLRenderingContext | null; - getContext(contextId: string, contextAttributes?: {}): CanvasRenderingContext2D | WebGLRenderingContext | null; - /** - * Returns a blob object encoded as a Portable Network Graphics (PNG) format from a canvas image or drawing. - */ - msToBlob(): Blob; - /** - * Returns the content of the current canvas as an image that you can use as a source for another canvas or an HTML element. - * @param type The standard MIME type for the image format to return. If you do not specify this parameter, the default value is a PNG format image. - */ - toDataURL(type?: string, ...args: any[]): string; - toBlob(callback: (result: Blob | null) => void, type?: string, ...arguments: any[]): void; - addEventListener(type: K, listener: (this: HTMLCanvasElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface DOMPoint extends DOMPointReadOnly { + x: number; + y: number; + z: number; + w: number; } -declare var HTMLCanvasElement: { - prototype: HTMLCanvasElement; - new(): HTMLCanvasElement; +declare var DOMPoint: { + prototype: DOMPoint; + new(x?: number, y?: number, z?: number, w?: number): DOMPoint; + fromPoint(other?: DOMPointInit): DOMPoint; }; -interface HTMLCollectionBase { - /** - * Sets or retrieves the number of objects in a collection. - */ - readonly length: number; - /** - * Retrieves an object from various collections. - */ - item(index: number): Element; - [index: number]: Element; +interface DOMRectReadOnly { + readonly x: number; + readonly y: number; + readonly width: number; + readonly height: number; + readonly top: number; + readonly right: number; + readonly bottom: number; + readonly left: number; } -interface HTMLCollection extends HTMLCollectionBase { - /** - * Retrieves a select object or an object from an options collection. - */ - namedItem(name: string): Element | null; +declare var DOMRectReadOnly: { + prototype: DOMRectReadOnly; + new(x?: number, y?: number, width?: number, height?: number): DOMRectReadOnly; + fromRect(other?: DOMRectInit): DOMRectReadOnly; +}; + +interface DOMRect extends DOMRectReadOnly { + x: number; + y: number; + width: number; + height: number; +} + +declare var DOMRect: { + prototype: DOMRect; + new(x?: number, y?: number, width?: number, height?: number): DOMRect; + fromRect(other?: DOMRectInit): DOMRect; +}; + +interface DOMQuad { + readonly p1: DOMPoint; + readonly p2: DOMPoint; + readonly p3: DOMPoint; + readonly p4: DOMPoint; + getBounds(): DOMRect; +} + +declare var DOMQuad: { + prototype: DOMQuad; + new(p1?: DOMPointInit, p2?: DOMPointInit, p3?: DOMPointInit, p4?: DOMPointInit): DOMQuad; + fromRect(other?: DOMRectInit): DOMQuad; + fromQuad(other?: DOMQuadInit): DOMQuad; +}; + +interface DOMMatrixReadOnly { + readonly a: number; + readonly b: number; + readonly c: number; + readonly d: number; + readonly e: number; + readonly f: number; + readonly m11: number; + readonly m12: number; + readonly m13: number; + readonly m14: number; + readonly m21: number; + readonly m22: number; + readonly m23: number; + readonly m24: number; + readonly m31: number; + readonly m32: number; + readonly m33: number; + readonly m34: number; + readonly m41: number; + readonly m42: number; + readonly m43: number; + readonly m44: number; + readonly is2D: boolean; + readonly isIdentity: boolean; + translate(tx?: number, ty?: number, tz?: number): DOMMatrix; + scale(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + scale3d(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + rotate(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix; + rotateFromVector(x?: number, y?: number): DOMMatrix; + rotateAxisAngle(x?: number, y?: number, z?: number, angle?: number): DOMMatrix; + skewX(sx?: number): DOMMatrix; + skewY(sy?: number): DOMMatrix; + multiply(other?: DOMMatrixInit): DOMMatrix; + flipX(): DOMMatrix; + flipY(): DOMMatrix; + inverse(): DOMMatrix; + transformPoint(point?: DOMPointInit): DOMPoint; + toFloat32Array(): Float32Array; + toFloat64Array(): Float64Array; +} + +declare var DOMMatrixReadOnly: { + prototype: DOMMatrixReadOnly; + new(): DOMMatrixReadOnly; + new(transformList: string): DOMMatrixReadOnly; + new(numberSequence: number[]): DOMMatrixReadOnly; + fromMatrix(other?: DOMMatrixInit): DOMMatrixReadOnly; + fromFloat32Array(array32: Float32Array): DOMMatrixReadOnly; + fromFloat64Array(array64: Float64Array): DOMMatrixReadOnly; +}; + +interface DOMMatrix extends DOMMatrixReadOnly { + a: number; + b: number; + c: number; + d: number; + e: number; + f: number; + m11: number; + m12: number; + m13: number; + m14: number; + m21: number; + m22: number; + m23: number; + m24: number; + m31: number; + m32: number; + m33: number; + m34: number; + m41: number; + m42: number; + m43: number; + m44: number; + multiplySelf(other?: DOMMatrixInit): DOMMatrix; + preMultiplySelf(other?: DOMMatrixInit): DOMMatrix; + translateSelf(tx?: number, ty?: number, tz?: number): DOMMatrix; + scaleSelf(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + scale3dSelf(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + rotateSelf(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix; + rotateFromVectorSelf(x?: number, y?: number): DOMMatrix; + rotateAxisAngleSelf(x?: number, y?: number, z?: number, angle?: number): DOMMatrix; + skewXSelf(sx?: number): DOMMatrix; + skewYSelf(sy?: number): DOMMatrix; + invertSelf(): DOMMatrix; + setMatrixValue(transformList: string): DOMMatrix; +} + +declare var DOMMatrix: { + prototype: DOMMatrix; + new(): DOMMatrix; + new(transformList: string): DOMMatrix; + new(numberSequence: number[]): DOMMatrix; + fromMatrix(other?: DOMMatrixInit): DOMMatrix; + fromFloat32Array(array32: Float32Array): DOMMatrix; + fromFloat64Array(array64: Float64Array): DOMMatrix; +}; + +interface PerformanceEventMap { + "resourcetimingbufferfull": undefined; +} + +interface Performance extends EventTarget { + readonly timing: PerformanceTiming; + readonly navigation: PerformanceNavigation; + onresourcetimingbufferfull: (this: Performance, ev: undefined) => any; + now(): number; + getEntries(): PerformanceEntryList; + getEntriesByType(type: string): PerformanceEntryList; + getEntriesByName(name: string, type?: string): PerformanceEntryList; + clearResourceTimings(): void; + setResourceTimingBufferSize(maxSize: number): void; + mark(markName: string): void; + clearMarks(markName?: string): void; + measure(measureName: string, startMark?: string, endMark?: string): void; + clearMeasures(measureName?: string): void; + addEventListener(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLCollection: { - prototype: HTMLCollection; - new(): HTMLCollection; +declare var Performance: { + prototype: Performance; + new(): Performance; }; -interface HTMLDataElement extends HTMLElement { - value: string; - addEventListener(type: K, listener: (this: HTMLDataElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface Example { } -declare var HTMLDataElement: { - prototype: HTMLDataElement; - new(): HTMLDataElement; +declare var Example: { + prototype: Example; + new(): Example; }; -interface HTMLDataListElement extends HTMLElement { - options: HTMLCollectionOf; - addEventListener(type: K, listener: (this: HTMLDataListElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface HTMLAllCollection { + readonly length: number; + namedItem(name: string): HTMLCollection | Element | null; + item(nameOrIndex?: string): HTMLCollection | Element | null; + [index: number]: Element; } -declare var HTMLDataListElement: { - prototype: HTMLDataListElement; - new(): HTMLDataListElement; +declare var HTMLAllCollection: { + prototype: HTMLAllCollection; + new(): HTMLAllCollection; }; -interface HTMLDirectoryElement extends HTMLElement { - compact: boolean; - addEventListener(type: K, listener: (this: HTMLDirectoryElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface HTMLFormControlsCollection extends HTMLCollectionBase { + namedItem(name: string): RadioNodeList | Element | null; } -declare var HTMLDirectoryElement: { - prototype: HTMLDirectoryElement; - new(): HTMLDirectoryElement; +declare var HTMLFormControlsCollection: { + prototype: HTMLFormControlsCollection; + new(): HTMLFormControlsCollection; }; -interface HTMLDivElement extends HTMLElement { - /** - * Sets or retrieves how the object is aligned with adjacent text. - */ - align: string; - /** - * Sets or retrieves whether the browser automatically performs wordwrap. - */ - noWrap: boolean; - addEventListener(type: K, listener: (this: HTMLDivElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface RadioNodeList extends NodeList { + value: string; } -declare var HTMLDivElement: { - prototype: HTMLDivElement; - new(): HTMLDivElement; +declare var RadioNodeList: { + prototype: RadioNodeList; + new(): RadioNodeList; }; -interface HTMLDListElement extends HTMLElement { - compact: boolean; - addEventListener(type: K, listener: (this: HTMLDListElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface HTMLOptionsCollection extends HTMLCollectionOf { + length: number; + selectedIndex: number; + add(element: HTMLOptionElement | HTMLOptGroupElement, before?: HTMLElement | number): void; + remove(index: number): void; } -declare var HTMLDListElement: { - prototype: HTMLDListElement; - new(): HTMLDListElement; +declare var HTMLOptionsCollection: { + prototype: HTMLOptionsCollection; + new(): HTMLOptionsCollection; }; -interface HTMLDocument extends Document { - addEventListener(type: K, listener: (this: HTMLDocument, ev: DocumentEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface DOMStringList { + readonly length: number; + item(index: number): string | null; + contains(string: string): boolean; + [index: number]: string; } -declare var HTMLDocument: { - prototype: HTMLDocument; - new(): HTMLDocument; +declare var DOMStringList: { + prototype: DOMStringList; + new(): DOMStringList; }; -interface HTMLElementEventMap extends ElementEventMap { - "abort": UIEvent; - "activate": UIEvent; - "beforeactivate": UIEvent; - "beforecopy": ClipboardEvent; - "beforecut": ClipboardEvent; - "beforedeactivate": UIEvent; - "beforepaste": ClipboardEvent; - "blur": FocusEvent; - "canplay": Event; - "canplaythrough": Event; - "change": Event; - "click": MouseEvent; - "contextmenu": PointerEvent; - "copy": ClipboardEvent; - "cuechange": Event; - "cut": ClipboardEvent; - "dblclick": MouseEvent; - "deactivate": UIEvent; - "drag": DragEvent; - "dragend": DragEvent; - "dragenter": DragEvent; - "dragleave": DragEvent; - "dragover": DragEvent; - "dragstart": DragEvent; - "drop": DragEvent; - "durationchange": Event; - "emptied": Event; - "ended": MediaStreamErrorEvent; - "error": ErrorEvent; - "focus": FocusEvent; - "input": Event; - "invalid": Event; - "keydown": KeyboardEvent; - "keypress": KeyboardEvent; - "keyup": KeyboardEvent; - "load": Event; - "loadeddata": Event; - "loadedmetadata": Event; - "loadstart": Event; - "mousedown": MouseEvent; - "mouseenter": MouseEvent; - "mouseleave": MouseEvent; - "mousemove": MouseEvent; - "mouseout": MouseEvent; - "mouseover": MouseEvent; - "mouseup": MouseEvent; - "mousewheel": WheelEvent; - "MSContentZoom": UIEvent; - "MSManipulationStateChanged": MSManipulationEvent; - "paste": ClipboardEvent; - "pause": Event; - "play": Event; - "playing": Event; - "progress": ProgressEvent; - "ratechange": Event; - "reset": Event; - "scroll": UIEvent; - "seeked": Event; - "seeking": Event; - "select": UIEvent; - "selectstart": Event; - "stalled": Event; - "submit": Event; - "suspend": Event; - "timeupdate": Event; - "volumechange": Event; - "waiting": Event; -} - -interface HTMLElement extends Element { - accessKey: string; - readonly children: HTMLCollection; - contentEditable: string; - readonly dataset: DOMStringMap; +interface HTMLElement extends Element, GlobalEventHandlers, DocumentAndElementEventHandlers, ElementContentEditable, ElementCSSInlineStyle { + title: string; + lang: string; + translate: boolean; dir: string; - draggable: boolean; + readonly dataset: DOMStringMap; hidden: boolean; - hideFocus: boolean; + tabIndex: number; + accessKey: string; + readonly accessKeyLabel: string; + draggable: boolean; + contextMenu: HTMLMenuElement | null; + spellcheck: boolean; innerText: string; - readonly isContentEditable: boolean; - lang: string; - readonly offsetHeight: number; - readonly offsetLeft: number; - readonly offsetParent: Element; + readonly offsetParent: Element | null; readonly offsetTop: number; + readonly offsetLeft: number; readonly offsetWidth: number; - onabort: (this: HTMLElement, ev: UIEvent) => any; - onactivate: (this: HTMLElement, ev: UIEvent) => any; - onbeforeactivate: (this: HTMLElement, ev: UIEvent) => any; - onbeforecopy: (this: HTMLElement, ev: ClipboardEvent) => any; - onbeforecut: (this: HTMLElement, ev: ClipboardEvent) => any; - onbeforedeactivate: (this: HTMLElement, ev: UIEvent) => any; - onbeforepaste: (this: HTMLElement, ev: ClipboardEvent) => any; - onblur: (this: HTMLElement, ev: FocusEvent) => any; - oncanplay: (this: HTMLElement, ev: Event) => any; - oncanplaythrough: (this: HTMLElement, ev: Event) => any; - onchange: (this: HTMLElement, ev: Event) => any; - onclick: (this: HTMLElement, ev: MouseEvent) => any; - oncontextmenu: (this: HTMLElement, ev: PointerEvent) => any; - oncopy: (this: HTMLElement, ev: ClipboardEvent) => any; - oncuechange: (this: HTMLElement, ev: Event) => any; - oncut: (this: HTMLElement, ev: ClipboardEvent) => any; - ondblclick: (this: HTMLElement, ev: MouseEvent) => any; - ondeactivate: (this: HTMLElement, ev: UIEvent) => any; - ondrag: (this: HTMLElement, ev: DragEvent) => any; - ondragend: (this: HTMLElement, ev: DragEvent) => any; - ondragenter: (this: HTMLElement, ev: DragEvent) => any; - ondragleave: (this: HTMLElement, ev: DragEvent) => any; - ondragover: (this: HTMLElement, ev: DragEvent) => any; - ondragstart: (this: HTMLElement, ev: DragEvent) => any; - ondrop: (this: HTMLElement, ev: DragEvent) => any; - ondurationchange: (this: HTMLElement, ev: Event) => any; - onemptied: (this: HTMLElement, ev: Event) => any; - onended: (this: HTMLElement, ev: MediaStreamErrorEvent) => any; - onerror: (this: HTMLElement, ev: ErrorEvent) => any; - onfocus: (this: HTMLElement, ev: FocusEvent) => any; - oninput: (this: HTMLElement, ev: Event) => any; - oninvalid: (this: HTMLElement, ev: Event) => any; - onkeydown: (this: HTMLElement, ev: KeyboardEvent) => any; - onkeypress: (this: HTMLElement, ev: KeyboardEvent) => any; - onkeyup: (this: HTMLElement, ev: KeyboardEvent) => any; - onload: (this: HTMLElement, ev: Event) => any; - onloadeddata: (this: HTMLElement, ev: Event) => any; - onloadedmetadata: (this: HTMLElement, ev: Event) => any; - onloadstart: (this: HTMLElement, ev: Event) => any; - onmousedown: (this: HTMLElement, ev: MouseEvent) => any; - onmouseenter: (this: HTMLElement, ev: MouseEvent) => any; - onmouseleave: (this: HTMLElement, ev: MouseEvent) => any; - onmousemove: (this: HTMLElement, ev: MouseEvent) => any; - onmouseout: (this: HTMLElement, ev: MouseEvent) => any; - onmouseover: (this: HTMLElement, ev: MouseEvent) => any; - onmouseup: (this: HTMLElement, ev: MouseEvent) => any; - onmousewheel: (this: HTMLElement, ev: WheelEvent) => any; - onmscontentzoom: (this: HTMLElement, ev: UIEvent) => any; - onmsmanipulationstatechanged: (this: HTMLElement, ev: MSManipulationEvent) => any; - onpaste: (this: HTMLElement, ev: ClipboardEvent) => any; - onpause: (this: HTMLElement, ev: Event) => any; - onplay: (this: HTMLElement, ev: Event) => any; - onplaying: (this: HTMLElement, ev: Event) => any; - onprogress: (this: HTMLElement, ev: ProgressEvent) => any; - onratechange: (this: HTMLElement, ev: Event) => any; - onreset: (this: HTMLElement, ev: Event) => any; - onscroll: (this: HTMLElement, ev: UIEvent) => any; - onseeked: (this: HTMLElement, ev: Event) => any; - onseeking: (this: HTMLElement, ev: Event) => any; - onselect: (this: HTMLElement, ev: UIEvent) => any; - onselectstart: (this: HTMLElement, ev: Event) => any; - onstalled: (this: HTMLElement, ev: Event) => any; - onsubmit: (this: HTMLElement, ev: Event) => any; - onsuspend: (this: HTMLElement, ev: Event) => any; - ontimeupdate: (this: HTMLElement, ev: Event) => any; - onvolumechange: (this: HTMLElement, ev: Event) => any; - onwaiting: (this: HTMLElement, ev: Event) => any; - outerText: string; - spellcheck: boolean; - readonly style: CSSStyleDeclaration; - tabIndex: number; - title: string; - blur(): void; + readonly offsetHeight: number; click(): void; - dragDrop(): boolean; focus(): void; - msGetInputContext(): MSInputMethodContext; - addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; + blur(): void; + forceSpellCheck(): void; + addEventListener(type: K, listener: (this: HTMLElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } @@ -4651,369 +3991,212 @@ declare var HTMLElement: { new(): HTMLElement; }; -interface HTMLEmbedElement extends HTMLElement, GetSVGDocument { - /** - * Sets or retrieves the height of the object. - */ - height: string; - hidden: any; - /** - * Gets or sets whether the DLNA PlayTo device is available. - */ - msPlayToDisabled: boolean; - /** - * Gets or sets the path to the preferred media source. This enables the Play To target device to stream the media content, which can be DRM protected, from a different location, such as a cloud media server. - */ - msPlayToPreferredSourceUri: string; - /** - * Gets or sets the primary DLNA PlayTo device. - */ - msPlayToPrimary: boolean; - /** - * Gets the source associated with the media element for use by the PlayToManager. - */ - readonly msPlayToSource: any; - /** - * Sets or retrieves the name of the object. - */ - name: string; - /** - * Retrieves the palette used for the embedded document. - */ - readonly palette: string; - /** - * Retrieves the URL of the plug-in used to view an embedded document. - */ - readonly pluginspage: string; - readonly readyState: string; - /** - * Sets or retrieves a URL to be loaded by the object. - */ - src: string; - /** - * Sets or retrieves the height and width units of the embed object. - */ - units: string; - /** - * Sets or retrieves the width of the object. - */ - width: string; - addEventListener(type: K, listener: (this: HTMLEmbedElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var HTMLEmbedElement: { - prototype: HTMLEmbedElement; - new(): HTMLEmbedElement; -}; - -interface HTMLFieldSetElement extends HTMLElement { - /** - * Sets or retrieves how the object is aligned with adjacent text. - */ - align: string; - disabled: boolean; - /** - * Retrieves a reference to the form that the object is embedded in. - */ - readonly form: HTMLFormElement | null; - name: string; - /** - * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. - */ - readonly validationMessage: string; - /** - * Returns a ValidityState object that represents the validity states of an element. - */ - readonly validity: ValidityState; - /** - * Returns whether an element will successfully validate based on forms validation rules and constraints. - */ - readonly willValidate: boolean; - /** - * Returns whether a form will validate when it is submitted, without having to submit it. - */ - checkValidity(): boolean; - /** - * Sets a custom error message that is displayed when a form is submitted. - * @param error Sets a custom error message that is displayed when a form is submitted. - */ - setCustomValidity(error: string): void; - addEventListener(type: K, listener: (this: HTMLFieldSetElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var HTMLFieldSetElement: { - prototype: HTMLFieldSetElement; - new(): HTMLFieldSetElement; -}; - -interface HTMLFontElement extends HTMLElement, DOML2DeprecatedColorProperty, DOML2DeprecatedSizeProperty { - /** - * Sets or retrieves the current typeface family. - */ - face: string; - addEventListener(type: K, listener: (this: HTMLFontElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; +interface HTMLUnknownElement extends HTMLElement { + addEventListener(type: K, listener: (this: HTMLUnknownElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLUnknownElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLUnknownElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLFontElement: { - prototype: HTMLFontElement; - new(): HTMLFontElement; -}; - -interface HTMLFormControlsCollection extends HTMLCollectionBase { - namedItem(name: string): HTMLCollection | Element | null; -} - -declare var HTMLFormControlsCollection: { - prototype: HTMLFormControlsCollection; - new(): HTMLFormControlsCollection; +declare var HTMLUnknownElement: { + prototype: HTMLUnknownElement; + new(): HTMLUnknownElement; }; - -interface HTMLFormElement extends HTMLElement { - /** - * Sets or retrieves a list of character encodings for input data that must be accepted by the server processing the form. - */ - acceptCharset: string; - /** - * Sets or retrieves the URL to which the form content is sent for processing. - */ - action: string; - /** - * Specifies whether autocomplete is applied to an editable text field. - */ - autocomplete: string; - /** - * Retrieves a collection, in source order, of all controls in a given form. - */ - readonly elements: HTMLFormControlsCollection; - /** - * Sets or retrieves the MIME encoding for the form. - */ - encoding: string; - /** - * Sets or retrieves the encoding type for the form. - */ - enctype: string; - /** - * Sets or retrieves the number of objects in a collection. - */ - readonly length: number; + +interface DOMStringMap { + [name: string]: string | undefined; +} + +declare var DOMStringMap: { + prototype: DOMStringMap; + new(): DOMStringMap; +}; + +interface HTMLHtmlElement extends HTMLElement { /** - * Sets or retrieves how to send the form data to the server. + * Sets or retrieves the DTD version that governs the current document. */ - method: string; + version: string; + addEventListener(type: K, listener: (this: HTMLHtmlElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLHtmlElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLHtmlElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLHtmlElement: { + prototype: HTMLHtmlElement; + new(): HTMLHtmlElement; +}; + +interface HTMLHeadElement extends HTMLElement { + addEventListener(type: K, listener: (this: HTMLHeadElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLHeadElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLHeadElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLHeadElement: { + prototype: HTMLHeadElement; + new(): HTMLHeadElement; +}; + +interface HTMLTitleElement extends HTMLElement { /** - * Sets or retrieves the name of the object. + * Retrieves or sets the text of the object as a string. */ - name: string; + text: string; + addEventListener(type: K, listener: (this: HTMLTitleElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTitleElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTitleElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLTitleElement: { + prototype: HTMLTitleElement; + new(): HTMLTitleElement; +}; + +interface HTMLBaseElement extends HTMLElement { /** - * Designates a form that is not validated when submitted. + * Gets or sets the baseline URL on which relative links are based. */ - noValidate: boolean; + href: string; /** * Sets or retrieves the window or frame at which to target content. */ target: string; - /** - * Returns whether a form will validate when it is submitted, without having to submit it. - */ - checkValidity(): boolean; - /** - * Retrieves a form object or an object from an elements collection. - * @param name Variant of type Number or String that specifies the object or collection to retrieve. If this parameter is a Number, it is the zero-based index of the object. If this parameter is a string, all objects with matching name or id properties are retrieved, and a collection is returned if more than one match is made. - * @param index Variant of type Number that specifies the zero-based index of the object to retrieve when a collection is returned. - */ - item(name?: any, index?: any): any; - /** - * Retrieves a form object or an object from an elements collection. - */ - namedItem(name: string): any; - /** - * Fires when the user resets a form. - */ - reset(): void; - /** - * Fires when a FORM is about to be submitted. - */ - submit(): void; - addEventListener(type: K, listener: (this: HTMLFormElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLBaseElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLBaseElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLBaseElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; - [name: string]: any; } -declare var HTMLFormElement: { - prototype: HTMLFormElement; - new(): HTMLFormElement; +declare var HTMLBaseElement: { + prototype: HTMLBaseElement; + new(): HTMLBaseElement; }; -interface HTMLFrameElementEventMap extends HTMLElementEventMap { - "load": Event; -} - -interface HTMLFrameElement extends HTMLElement, GetSVGDocument { - /** - * Specifies the properties of a border drawn around an object. - */ - border: string; - /** - * Sets or retrieves the border color of the object. - */ - borderColor: any; +interface HTMLLinkElement extends HTMLElement, LinkStyle { /** - * Retrieves the document object of the page or frame. + * Sets or retrieves a destination URL or an anchor point. */ - readonly contentDocument: Document; + href: string; + crossOrigin: string | null; /** - * Retrieves the object of the specified. + * Sets or retrieves the relationship between the object and the destination of the link. */ - readonly contentWindow: Window; + rel: string; + as: RequestDestination; + readonly relList: DOMTokenList; /** - * Sets or retrieves whether to display a border for the frame. + * Sets or retrieves the media type. */ - frameBorder: string; + media: string; + nonce: string; + integrity: string; /** - * Sets or retrieves the amount of additional space between the frames. + * Sets or retrieves the language code of the object. */ - frameSpacing: any; + hreflang: string; /** - * Sets or retrieves the height of the object. + * Sets or retrieves the MIME type of the object. */ - height: string | number; + type: string; + readonly sizes: DOMTokenList; + referrerPolicy: string; + scope: string; + workerType: WorkerType; + useCache: boolean; /** - * Sets or retrieves a URI to a long description of the object. + * Sets or retrieves the character set used to encode the object. */ - longDesc: string; + charset: string; /** - * Sets or retrieves the top and bottom margin heights before displaying the text in a frame. + * Sets or retrieves the relationship between the object and the destination of the link. */ - marginHeight: string; + rev: string; /** - * Sets or retrieves the left and right margin widths before displaying the text in a frame. + * Sets or retrieves the window or frame at which to target content. */ - marginWidth: string; + target: string; + import?: Document; + addEventListener(type: K, listener: (this: HTMLLinkElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLLinkElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLLinkElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLLinkElement: { + prototype: HTMLLinkElement; + new(): HTMLLinkElement; +}; + +interface HTMLMetaElement extends HTMLElement { /** - * Sets or retrieves the frame name. + * Sets or retrieves the value specified in the content attribute of the meta object. */ name: string; /** - * Sets or retrieves whether the user can resize the frame. - */ - noResize: boolean; - /** - * Raised when the object has been completely received from the server. - */ - onload: (this: HTMLFrameElement, ev: Event) => any; - /** - * Sets or retrieves whether the frame can be scrolled. + * Gets or sets information used to bind the value of a content attribute of a meta element to an HTTP response header. */ - scrolling: string; + httpEquiv: string; /** - * Sets or retrieves a URL to be loaded by the object. + * Gets or sets meta-information to associate with httpEquiv or name. */ - src: string; + content: string; /** - * Sets or retrieves the width of the object. + * Sets or retrieves a scheme to be used in interpreting the value of a property specified for the object. */ - width: string | number; - addEventListener(type: K, listener: (this: HTMLFrameElement, ev: HTMLFrameElementEventMap[K]) => any, useCapture?: boolean): void; + scheme: string; + addEventListener(type: K, listener: (this: HTMLMetaElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLMetaElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLMetaElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLFrameElement: { - prototype: HTMLFrameElement; - new(): HTMLFrameElement; +declare var HTMLMetaElement: { + prototype: HTMLMetaElement; + new(): HTMLMetaElement; }; -interface HTMLFrameSetElementEventMap extends HTMLElementEventMap { - "afterprint": Event; - "beforeprint": Event; - "beforeunload": BeforeUnloadEvent; - "blur": FocusEvent; - "error": ErrorEvent; - "focus": FocusEvent; - "hashchange": HashChangeEvent; - "load": Event; - "message": MessageEvent; - "offline": Event; - "online": Event; - "orientationchange": Event; - "pagehide": PageTransitionEvent; - "pageshow": PageTransitionEvent; - "popstate": PopStateEvent; - "resize": UIEvent; - "scroll": UIEvent; - "storage": StorageEvent; - "unload": Event; -} - -interface HTMLFrameSetElement extends HTMLElement { - border: string; - /** - * Sets or retrieves the border color of the object. - */ - borderColor: any; - /** - * Sets or retrieves the frame widths of the object. - */ - cols: string; - /** - * Sets or retrieves whether to display a border for the frame. - */ - frameBorder: string; +interface HTMLStyleElement extends HTMLElement, LinkStyle { /** - * Sets or retrieves the amount of additional space between the frames. + * Sets or retrieves the media type. */ - frameSpacing: any; - name: string; - onafterprint: (this: HTMLFrameSetElement, ev: Event) => any; - onbeforeprint: (this: HTMLFrameSetElement, ev: Event) => any; - onbeforeunload: (this: HTMLFrameSetElement, ev: BeforeUnloadEvent) => any; - /** - * Fires when the object loses the input focus. - */ - onblur: (this: HTMLFrameSetElement, ev: FocusEvent) => any; - onerror: (this: HTMLFrameSetElement, ev: ErrorEvent) => any; - /** - * Fires when the object receives focus. - */ - onfocus: (this: HTMLFrameSetElement, ev: FocusEvent) => any; - onhashchange: (this: HTMLFrameSetElement, ev: HashChangeEvent) => any; - onload: (this: HTMLFrameSetElement, ev: Event) => any; - onmessage: (this: HTMLFrameSetElement, ev: MessageEvent) => any; - onoffline: (this: HTMLFrameSetElement, ev: Event) => any; - ononline: (this: HTMLFrameSetElement, ev: Event) => any; - onorientationchange: (this: HTMLFrameSetElement, ev: Event) => any; - onpagehide: (this: HTMLFrameSetElement, ev: PageTransitionEvent) => any; - onpageshow: (this: HTMLFrameSetElement, ev: PageTransitionEvent) => any; - onpopstate: (this: HTMLFrameSetElement, ev: PopStateEvent) => any; - onresize: (this: HTMLFrameSetElement, ev: UIEvent) => any; - onscroll: (this: HTMLFrameSetElement, ev: UIEvent) => any; - onstorage: (this: HTMLFrameSetElement, ev: StorageEvent) => any; - onunload: (this: HTMLFrameSetElement, ev: Event) => any; + media: string; + nonce: string; /** - * Sets or retrieves the frame heights of the object. + * Retrieves the CSS language in which the style sheet is written. */ - rows: string; - addEventListener(type: K, listener: (this: HTMLFrameSetElement, ev: HTMLFrameSetElementEventMap[K]) => any, useCapture?: boolean): void; + type: string; + addEventListener(type: K, listener: (this: HTMLStyleElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLStyleElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLStyleElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLFrameSetElement: { - prototype: HTMLFrameSetElement; - new(): HTMLFrameSetElement; +declare var HTMLStyleElement: { + prototype: HTMLStyleElement; + new(): HTMLStyleElement; }; -interface HTMLHeadElement extends HTMLElement { - profile: string; - addEventListener(type: K, listener: (this: HTMLHeadElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; +interface HTMLBodyElement extends HTMLElement, WindowEventHandlers { + text: string; + link: string; + vLink: string; + aLink: string; + bgColor: string; + background: string; + addEventListener(type: K, listener: (this: HTMLBodyElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLBodyElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLBodyElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLBodyElement, ev: WindowEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLHeadElement: { - prototype: HTMLHeadElement; - new(): HTMLHeadElement; +declare var HTMLBodyElement: { + prototype: HTMLBodyElement; + new(): HTMLBodyElement; }; interface HTMLHeadingElement extends HTMLElement { @@ -5021,7 +4204,9 @@ interface HTMLHeadingElement extends HTMLElement { * Sets or retrieves a value that indicates the table alignment. */ align: string; - addEventListener(type: K, listener: (this: HTMLHeadingElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLHeadingElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLHeadingElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLHeadingElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } @@ -5030,680 +4215,746 @@ declare var HTMLHeadingElement: { new(): HTMLHeadingElement; }; -interface HTMLHRElement extends HTMLElement, DOML2DeprecatedColorProperty, DOML2DeprecatedSizeProperty { +interface HTMLParagraphElement extends HTMLElement { + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + align: string; + addEventListener(type: K, listener: (this: HTMLParagraphElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLParagraphElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLParagraphElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLParagraphElement: { + prototype: HTMLParagraphElement; + new(): HTMLParagraphElement; +}; + +interface HTMLHRElement extends HTMLElement { /** * Sets or retrieves how the object is aligned with adjacent text. */ align: string; + color: string; /** * Sets or retrieves whether the horizontal rule is drawn with 3-D shading. */ noShade: boolean; + size: string; /** * Sets or retrieves the width of the object. */ + width: string; + addEventListener(type: K, listener: (this: HTMLHRElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLHRElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLHRElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLHRElement: { + prototype: HTMLHRElement; + new(): HTMLHRElement; +}; + +interface HTMLPreElement extends HTMLElement { + /** + * Sets or gets a value that you can use to implement your own width functionality for the object. + */ width: number; - addEventListener(type: K, listener: (this: HTMLHRElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLPreElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLPreElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLPreElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLPreElement: { + prototype: HTMLPreElement; + new(): HTMLPreElement; +}; + +interface HTMLQuoteElement extends HTMLElement { + /** + * Sets or retrieves reference information about the object. + */ + cite: string; + addEventListener(type: K, listener: (this: HTMLQuoteElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLQuoteElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLQuoteElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLQuoteElement: { + prototype: HTMLQuoteElement; + new(): HTMLQuoteElement; +}; + +interface HTMLOListElement extends HTMLElement { + reversed: boolean; + /** + * The starting number. + */ + start: number; + type: string; + compact: boolean; + addEventListener(type: K, listener: (this: HTMLOListElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLOListElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLOListElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLOListElement: { + prototype: HTMLOListElement; + new(): HTMLOListElement; +}; + +interface HTMLUListElement extends HTMLElement { + compact: boolean; + type: string; + addEventListener(type: K, listener: (this: HTMLUListElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLUListElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLUListElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLHRElement: { - prototype: HTMLHRElement; - new(): HTMLHRElement; +declare var HTMLUListElement: { + prototype: HTMLUListElement; + new(): HTMLUListElement; }; -interface HTMLHtmlElement extends HTMLElement { +interface HTMLLIElement extends HTMLElement { /** - * Sets or retrieves the DTD version that governs the current document. + * Sets or retrieves the value of a list item. */ - version: string; - addEventListener(type: K, listener: (this: HTMLHtmlElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; + value: number; + type: string; + addEventListener(type: K, listener: (this: HTMLLIElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLLIElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLLIElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLHtmlElement: { - prototype: HTMLHtmlElement; - new(): HTMLHtmlElement; +declare var HTMLLIElement: { + prototype: HTMLLIElement; + new(): HTMLLIElement; }; -interface HTMLIFrameElementEventMap extends HTMLElementEventMap { - "load": Event; +interface HTMLDListElement extends HTMLElement { + compact: boolean; + addEventListener(type: K, listener: (this: HTMLDListElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLDListElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLDListElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -interface HTMLIFrameElement extends HTMLElement, GetSVGDocument { +declare var HTMLDListElement: { + prototype: HTMLDListElement; + new(): HTMLDListElement; +}; + +interface HTMLDivElement extends HTMLElement { /** * Sets or retrieves how the object is aligned with adjacent text. */ align: string; - allowFullscreen: boolean; - allowPaymentRequest: boolean; - /** - * Specifies the properties of a border drawn around an object. - */ - border: string; - /** - * Retrieves the document object of the page or frame. - */ - readonly contentDocument: Document; + addEventListener(type: K, listener: (this: HTMLDivElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLDivElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLDivElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLDivElement: { + prototype: HTMLDivElement; + new(): HTMLDivElement; +}; + +interface HTMLAnchorElement extends HTMLElement, HTMLHyperlinkElementUtils { /** - * Retrieves the object of the specified. + * Sets or retrieves the window or frame at which to target content. */ - readonly contentWindow: Window; + target: string; + download: string; + ping: string; /** - * Sets or retrieves whether to display a border for the frame. + * Sets or retrieves the relationship between the object and the destination of the link. */ - frameBorder: string; + rel: string; + readonly relList: DOMTokenList; /** - * Sets or retrieves the amount of additional space between the frames. + * Sets or retrieves the language code of the object. */ - frameSpacing: any; + hreflang: string; + type: string; /** - * Sets or retrieves the height of the object. + * Retrieves or sets the text of the object as a string. */ - height: string; + text: string; + referrerPolicy: string; /** - * Sets or retrieves the horizontal margin for the object. + * Sets or retrieves the coordinates of the object. */ - hspace: number; + coords: string; /** - * Sets or retrieves a URI to a long description of the object. + * Sets or retrieves the character set used to encode the object. */ - longDesc: string; + charset: string; /** - * Sets or retrieves the top and bottom margin heights before displaying the text in a frame. + * Sets or retrieves the shape of the object. */ - marginHeight: string; + name: string; /** - * Sets or retrieves the left and right margin widths before displaying the text in a frame. + * Sets or retrieves the relationship between the object and the destination of the link. */ - marginWidth: string; + rev: string; /** - * Sets or retrieves the frame name. + * Sets or retrieves the shape of the object. */ - name: string; + shape: string; + addEventListener(type: K, listener: (this: HTMLAnchorElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLAnchorElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLAnchorElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLAnchorElement: { + prototype: HTMLAnchorElement; + new(): HTMLAnchorElement; +}; + +interface HTMLDataElement extends HTMLElement { + value: string; + addEventListener(type: K, listener: (this: HTMLDataElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLDataElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLDataElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLDataElement: { + prototype: HTMLDataElement; + new(): HTMLDataElement; +}; + +interface HTMLTimeElement extends HTMLElement { + dateTime: string; + addEventListener(type: K, listener: (this: HTMLTimeElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTimeElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTimeElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLTimeElement: { + prototype: HTMLTimeElement; + new(): HTMLTimeElement; +}; + +interface HTMLSpanElement extends HTMLElement { + addEventListener(type: K, listener: (this: HTMLSpanElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLSpanElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLSpanElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLSpanElement: { + prototype: HTMLSpanElement; + new(): HTMLSpanElement; +}; + +interface HTMLBRElement extends HTMLElement { /** - * Sets or retrieves whether the user can resize the frame. + * Sets or retrieves the side on which floating objects are not to be positioned when any IHTMLBlockElement is inserted into the document. */ - noResize: boolean; + clear: string; + addEventListener(type: K, listener: (this: HTMLBRElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLBRElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLBRElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLBRElement: { + prototype: HTMLBRElement; + new(): HTMLBRElement; +}; + +interface HTMLModElement extends HTMLElement { /** - * Raised when the object has been completely received from the server. + * Sets or retrieves reference information about the object. */ - onload: (this: HTMLIFrameElement, ev: Event) => any; - readonly sandbox: DOMSettableTokenList; + cite: string; /** - * Sets or retrieves whether the frame can be scrolled. + * Sets or retrieves the date and time of a modification to the object. */ - scrolling: string; + dateTime: string; + addEventListener(type: K, listener: (this: HTMLModElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLModElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLModElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLModElement: { + prototype: HTMLModElement; + new(): HTMLModElement; +}; + +interface HTMLPictureElement extends HTMLElement { + addEventListener(type: K, listener: (this: HTMLPictureElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLPictureElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLPictureElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLPictureElement: { + prototype: HTMLPictureElement; + new(): HTMLPictureElement; +}; + +interface HTMLSourceElement extends HTMLElement { /** - * Sets or retrieves a URL to be loaded by the object. + * The address or URL of the a media resource that is to be considered. */ src: string; /** - * Sets or retrieves the vertical margin for the object. + * Gets or sets the MIME type of a media resource. */ - vspace: number; + type: string; + srcset: string; + sizes: string; /** - * Sets or retrieves the width of the object. + * Gets or sets the intended media type of the media source. */ - width: string; - addEventListener(type: K, listener: (this: HTMLIFrameElement, ev: HTMLIFrameElementEventMap[K]) => any, useCapture?: boolean): void; + media: string; + addEventListener(type: K, listener: (this: HTMLSourceElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLSourceElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLSourceElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLIFrameElement: { - prototype: HTMLIFrameElement; - new(): HTMLIFrameElement; +declare var HTMLSourceElement: { + prototype: HTMLSourceElement; + new(): HTMLSourceElement; }; interface HTMLImageElement extends HTMLElement { - /** - * Sets or retrieves how the object is aligned with adjacent text. - */ - align: string; /** * Sets or retrieves a text alternative to the graphic. */ alt: string; - /** - * Specifies the properties of a border drawn around an object. - */ - border: string; - /** - * Retrieves whether the object is fully loaded. - */ - readonly complete: boolean; - crossOrigin: string | null; - readonly currentSrc: string; - /** - * Sets or retrieves the height of the object. - */ - height: number; - /** - * Sets or retrieves the width of the border to draw around the object. - */ - hspace: number; - /** - * Sets or retrieves whether the image is a server-side image map. - */ - isMap: boolean; - /** - * Sets or retrieves a Uniform Resource Identifier (URI) to a long description of the object. - */ - longDesc: string; - lowsrc: string; - /** - * Gets or sets whether the DLNA PlayTo device is available. - */ - msPlayToDisabled: boolean; - msPlayToPreferredSourceUri: string; - /** - * Gets or sets the primary DLNA PlayTo device. - */ - msPlayToPrimary: boolean; - /** - * Gets the source associated with the media element for use by the PlayToManager. - */ - readonly msPlayToSource: any; - /** - * Sets or retrieves the name of the object. - */ - name: string; - /** - * The original height of the image resource before sizing. - */ - readonly naturalHeight: number; - /** - * The original width of the image resource before sizing. - */ - readonly naturalWidth: number; - sizes: string; /** * The address or URL of the a media resource that is to be considered. */ src: string; srcset: string; + sizes: string; + crossOrigin: string | null; /** - * Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map. - */ - useMap: string; - /** - * Sets or retrieves the vertical margin for the object. - */ - vspace: number; - /** - * Sets or retrieves the width of the object. - */ - width: number; - readonly x: number; - readonly y: number; - msGetAsCastingSource(): any; - addEventListener(type: K, listener: (this: HTMLImageElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var HTMLImageElement: { - prototype: HTMLImageElement; - new(): HTMLImageElement; -}; - -interface HTMLInputElement extends HTMLElement { - /** - * Sets or retrieves a comma-separated list of content types. - */ - accept: string; - /** - * Sets or retrieves how the object is aligned with adjacent text. + * Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map. */ - align: string; + useMap: string; /** - * Sets or retrieves a text alternative to the graphic. + * Sets or retrieves whether the image is a server-side image map. */ - alt: string; + isMap: boolean; /** - * Specifies whether autocomplete is applied to an editable text field. + * Sets or retrieves the width of the object. */ - autocomplete: string; + width: number; /** - * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing. + * Sets or retrieves the height of the object. */ - autofocus: boolean; + height: number; /** - * Sets or retrieves the width of the border to draw around the object. + * The original width of the image resource before sizing. */ - border: string; + readonly naturalWidth: number; /** - * Sets or retrieves the state of the check box or radio button. + * The original height of the image resource before sizing. */ - checked: boolean; + readonly naturalHeight: number; /** * Retrieves whether the object is fully loaded. */ readonly complete: boolean; + readonly currentSrc: string; + referrerPolicy: string; /** - * Sets or retrieves the state of the check box or radio button. + * Sets or retrieves the name of the object. */ - defaultChecked: boolean; + name: string; + lowsrc: string; /** - * Sets or retrieves the initial contents of the object. + * Sets or retrieves how the object is aligned with adjacent text. */ - defaultValue: string; - disabled: boolean; + align: string; /** - * Returns a FileList object on a file type input object. + * Sets or retrieves the width of the border to draw around the object. */ - readonly files: FileList | null; + hspace: number; /** - * Retrieves a reference to the form that the object is embedded in. + * Sets or retrieves the vertical margin for the object. */ - readonly form: HTMLFormElement | null; + vspace: number; /** - * Overrides the action attribute (where the data on a form is sent) on the parent form element. + * Sets or retrieves a Uniform Resource Identifier (URI) to a long description of the object. */ - formAction: string; + longDesc: string; /** - * Used to override the encoding (formEnctype attribute) specified on the form element. + * Specifies the properties of a border drawn around an object. */ - formEnctype: string; + border: string; + readonly x: number; + readonly y: number; + addEventListener(type: K, listener: (this: HTMLImageElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLImageElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLImageElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLImageElement: { + prototype: HTMLImageElement; + new(): HTMLImageElement; +}; + +interface HTMLIFrameElement extends HTMLElement { /** - * Overrides the submit method attribute previously specified on a form element. + * Sets or retrieves a URL to be loaded by the object. */ - formMethod: string; + src: string; + srcdoc: string; /** - * Overrides any validation or required attributes on a form or form elements to allow it to be submitted without validation. This can be used to create a "save draft"-type submit option. + * Sets or retrieves the frame name. */ - formNoValidate: string; + name: string; + readonly sandbox: DOMTokenList; + allowFullscreen: boolean; + allowPaymentRequest: boolean; + allowUserMedia: boolean; /** - * Overrides the target attribute on a form element. + * Sets or retrieves the width of the object. */ - formTarget: string; + width: string; /** * Sets or retrieves the height of the object. */ height: string; + referrerPolicy: string; /** - * Sets or retrieves the width of the border to draw around the object. + * Retrieves the document object of the page or frame. */ - hspace: number; - indeterminate: boolean; + readonly contentDocument: Document | null; /** - * Specifies the ID of a pre-defined datalist of options for an input element. + * Retrieves the object of the specified. */ - readonly list: HTMLElement; + readonly contentWindow: any; /** - * Defines the maximum acceptable value for an input element with type="number".When used with the min and step attributes, lets you control the range and increment (such as only even numbers) that the user can enter into an input field. + * Sets or retrieves how the object is aligned with adjacent text. */ - max: string; + align: string; /** - * Sets or retrieves the maximum number of characters that the user can enter in a text control. + * Sets or retrieves whether the frame can be scrolled. */ - maxLength: number; + scrolling: string; /** - * Defines the minimum acceptable value for an input element with type="number". When used with the max and step attributes, lets you control the range and increment (such as even numbers only) that the user can enter into an input field. + * Sets or retrieves whether to display a border for the frame. */ - min: string; + frameBorder: string; /** - * Sets or retrieves the Boolean value indicating whether multiple items can be selected from a list. + * Sets or retrieves a URI to a long description of the object. */ - multiple: boolean; + longDesc: string; /** - * Sets or retrieves the name of the object. + * Sets or retrieves the top and bottom margin heights before displaying the text in a frame. */ - name: string; + marginHeight: string; /** - * Gets or sets a string containing a regular expression that the user's input must match. + * Sets or retrieves the left and right margin widths before displaying the text in a frame. */ - pattern: string; + marginWidth: string; + getSVGDocument(): Document | null; + addEventListener(type: K, listener: (this: HTMLIFrameElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLIFrameElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLIFrameElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLIFrameElement: { + prototype: HTMLIFrameElement; + new(): HTMLIFrameElement; +}; + +interface HTMLEmbedElement extends HTMLElement { /** - * Gets or sets a text string that is displayed in an input field as a hint or prompt to users as the format or type of information they need to enter.The text appears in an input field until the user puts focus on the field. + * Sets or retrieves a URL to be loaded by the object. */ - placeholder: string; - readOnly: boolean; + src: string; + type: string; /** - * When present, marks an element that can't be submitted without a value. + * Sets or retrieves the width of the object. */ - required: boolean; - selectionDirection: string; + width: string; /** - * Gets or sets the end position or offset of a text selection. + * Sets or retrieves the height of the object. */ - selectionEnd: number; + height: string; + align: string; /** - * Gets or sets the starting position or offset of a text selection. + * Sets or retrieves the name of the object. */ - selectionStart: number; - size: number; + name: string; + getSVGDocument(): Document | null; + addEventListener(type: K, listener: (this: HTMLEmbedElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLEmbedElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLEmbedElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLEmbedElement: { + prototype: HTMLEmbedElement; + new(): HTMLEmbedElement; +}; + +interface HTMLObjectElement extends HTMLElement { /** - * The address or URL of the a media resource that is to be considered. + * Sets or retrieves the URL that references the data of the object. */ - src: string; - status: boolean; + data: string; /** - * Defines an increment or jump between values that you want to allow the user to enter. When used with the max and min attributes, lets you control the range and increment (for example, allow only even numbers) that the user can enter into an input field. + * Sets or retrieves the MIME type of the object. */ - step: string; + type: string; + typeMustMatch: boolean; /** - * Returns the content type of the object. + * Sets or retrieves the name of the object. */ - type: string; + name: string; /** * Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map. */ useMap: string; /** - * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. - */ - readonly validationMessage: string; - /** - * Returns a ValidityState object that represents the validity states of an element. - */ - readonly validity: ValidityState; - /** - * Returns the value of the data at the cursor's current position. - */ - value: string; - valueAsDate: Date; - /** - * Returns the input field value as a number. - */ - valueAsNumber: number; - /** - * Sets or retrieves the vertical margin for the object. + * Retrieves a reference to the form that the object is embedded in. */ - vspace: number; - webkitdirectory: boolean; + readonly form: HTMLFormElement | null; /** * Sets or retrieves the width of the object. */ width: string; /** - * Returns whether an element will successfully validate based on forms validation rules and constraints. + * Sets or retrieves the height of the object. */ - readonly willValidate: boolean; - minLength: number; + height: string; /** - * Returns whether a form will validate when it is submitted, without having to submit it. + * Retrieves the document object of the page or frame. */ - checkValidity(): boolean; + readonly contentDocument: Document | null; + readonly contentWindow: any; /** - * Makes the selection equal to the current object. + * Returns whether an element will successfully validate based on forms validation rules and constraints. */ - select(): void; + readonly willValidate: boolean; /** - * Sets a custom error message that is displayed when a form is submitted. - * @param error Sets a custom error message that is displayed when a form is submitted. + * Returns a ValidityState object that represents the validity states of an element. */ - setCustomValidity(error: string): void; + readonly validity: ValidityState; /** - * 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. + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. */ - setSelectionRange(start?: number, end?: number, direction?: string): void; + readonly validationMessage: string; + align: string; /** - * 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. + * Sets or retrieves a character string that can be used to implement your own archive functionality for the object. */ - stepDown(n?: number): void; + archive: string; /** - * Increments a range input control's value by the value given by the Step attribute. If the optional parameter is used, will increment the input control's value by that value. - * @param n Value to increment the value by. + * Sets or retrieves the URL of the file containing the compiled Java class. */ - stepUp(n?: number): void; - addEventListener(type: K, listener: (this: HTMLInputElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var HTMLInputElement: { - prototype: HTMLInputElement; - new(): HTMLInputElement; -}; - -interface HTMLLabelElement extends HTMLElement { + code: string; + declare: boolean; + hspace: number; /** - * Retrieves a reference to the form that the object is embedded in. + * Sets or retrieves a message to be displayed while an object is loading. */ - readonly form: HTMLFormElement | null; + standby: string; + vspace: number; /** - * Sets or retrieves the object to which the given label object is assigned. + * Sets or retrieves the URL of the component. */ - htmlFor: string; - addEventListener(type: K, listener: (this: HTMLLabelElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var HTMLLabelElement: { - prototype: HTMLLabelElement; - new(): HTMLLabelElement; -}; - -interface HTMLLegendElement extends HTMLElement { + codeBase: string; /** - * Retrieves a reference to the form that the object is embedded in. + * Sets or retrieves the Internet media type for the code associated with the object. */ - align: string; + codeType: string; + border: string; + getSVGDocument(): Document | null; /** - * Retrieves a reference to the form that the object is embedded in. + * Returns whether a form will validate when it is submitted, without having to submit it. */ - readonly form: HTMLFormElement | null; - addEventListener(type: K, listener: (this: HTMLLegendElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var HTMLLegendElement: { - prototype: HTMLLegendElement; - new(): HTMLLegendElement; -}; - -interface HTMLLIElement extends HTMLElement { - type: string; + checkValidity(): boolean; + reportValidity(): boolean; /** - * Sets or retrieves the value of a list item. + * Sets a custom error message that is displayed when a form is submitted. + * @param error Sets a custom error message that is displayed when a form is submitted. */ - value: number; - addEventListener(type: K, listener: (this: HTMLLIElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; + setCustomValidity(error: string): void; + addEventListener(type: K, listener: (this: HTMLObjectElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLObjectElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLObjectElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLLIElement: { - prototype: HTMLLIElement; - new(): HTMLLIElement; +declare var HTMLObjectElement: { + prototype: HTMLObjectElement; + new(): HTMLObjectElement; }; -interface HTMLLinkElement extends HTMLElement, LinkStyle { +interface HTMLParamElement extends HTMLElement { /** - * Sets or retrieves the character set used to encode the object. + * Sets or retrieves the name of an input parameter for an element. */ - charset: string; - disabled: boolean; + name: string; /** - * Sets or retrieves a destination URL or an anchor point. + * Sets or retrieves the value of an input parameter for an element. */ - href: string; + value: string; /** - * Sets or retrieves the language code of the object. + * Sets or retrieves the content type of the resource designated by the value attribute. */ - hreflang: string; + type: string; /** - * Sets or retrieves the media type. + * Sets or retrieves the data type of the value attribute. */ - media: string; + valueType: string; + addEventListener(type: K, listener: (this: HTMLParamElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLParamElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLParamElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLParamElement: { + prototype: HTMLParamElement; + new(): HTMLParamElement; +}; + +interface HTMLVideoElement extends HTMLMediaElement { /** - * Sets or retrieves the relationship between the object and the destination of the link. + * Gets or sets the width of the video element. */ - rel: string; + width: number; /** - * Sets or retrieves the relationship between the object and the destination of the link. + * Gets or sets the height of the video element. */ - rev: string; + height: number; /** - * Sets or retrieves the window or frame at which to target content. + * Gets the intrinsic width of a video in CSS pixels, or zero if the dimensions are not known. */ - target: string; + readonly videoWidth: number; /** - * Sets or retrieves the MIME type of the object. + * Gets the intrinsic height of a video in CSS pixels, or zero if the dimensions are not known. */ - type: string; - import?: Document; - integrity: string; - addEventListener(type: K, listener: (this: HTMLLinkElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; + readonly videoHeight: number; + /** + * Gets or sets a URL of an image to display, for example, like a movie poster. This can be a still frame from the video, or another image if no video data is available. + */ + poster: string; + playsInline: boolean; + getVideoPlaybackQuality(): VideoPlaybackQuality; + addEventListener(type: K, listener: (this: HTMLVideoElement, ev: HTMLMediaElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLLinkElement: { - prototype: HTMLLinkElement; - new(): HTMLLinkElement; +declare var HTMLVideoElement: { + prototype: HTMLVideoElement; + new(): HTMLVideoElement; }; -interface HTMLMapElement extends HTMLElement { - /** - * Retrieves a collection of the area objects defined for the given map object. - */ - readonly areas: HTMLAreasCollection; - /** - * Sets or retrieves the name of the object. - */ - name: string; - addEventListener(type: K, listener: (this: HTMLMapElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; +interface HTMLAudioElement extends HTMLMediaElement { + addEventListener(type: K, listener: (this: HTMLAudioElement, ev: HTMLMediaElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLMapElement: { - prototype: HTMLMapElement; - new(): HTMLMapElement; +declare var HTMLAudioElement: { + prototype: HTMLAudioElement; + new(): HTMLAudioElement; }; -interface HTMLMarqueeElementEventMap extends HTMLElementEventMap { - "bounce": Event; - "finish": Event; - "start": Event; -} - -interface HTMLMarqueeElement extends HTMLElement { - behavior: string; - bgColor: any; - direction: string; - height: string; - hspace: number; - loop: number; - onbounce: (this: HTMLMarqueeElement, ev: Event) => any; - onfinish: (this: HTMLMarqueeElement, ev: Event) => any; - onstart: (this: HTMLMarqueeElement, ev: Event) => any; - scrollAmount: number; - scrollDelay: number; - trueSpeed: boolean; - vspace: number; - width: string; - start(): void; - stop(): void; - addEventListener(type: K, listener: (this: HTMLMarqueeElement, ev: HTMLMarqueeElementEventMap[K]) => any, useCapture?: boolean): void; +interface HTMLTrackElement extends HTMLElement { + kind: string; + src: string; + srclang: string; + label: string; + default: boolean; + readonly readyState: number; + readonly track: TextTrack; + readonly NONE: number; + readonly LOADING: number; + readonly LOADED: number; + readonly ERROR: number; + addEventListener(type: K, listener: (this: HTMLTrackElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTrackElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTrackElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLMarqueeElement: { - prototype: HTMLMarqueeElement; - new(): HTMLMarqueeElement; +declare var HTMLTrackElement: { + prototype: HTMLTrackElement; + new(): HTMLTrackElement; + readonly NONE: number; + readonly LOADING: number; + readonly LOADED: number; + readonly ERROR: number; }; -interface HTMLMediaElementEventMap extends HTMLElementEventMap { +interface HTMLMediaElementEventMap extends ElementEventMap, GlobalEventHandlersEventMap, DocumentAndElementEventHandlersEventMap { "encrypted": MediaEncryptedEvent; - "msneedkey": MSMediaKeyNeededEvent; + "waitingforkey": undefined; } interface HTMLMediaElement extends HTMLElement { /** - * Returns an AudioTrackList object with the audio tracks for a given video element. - */ - readonly audioTracks: AudioTrackList; - /** - * Gets or sets a value that indicates whether to start playing the media automatically. - */ - autoplay: boolean; - /** - * Gets a collection of buffered time ranges. + * Returns an object representing the current error state of the audio or video element. */ - readonly buffered: TimeRanges; + readonly error: MediaError | null; /** - * Gets or sets a flag that indicates whether the client provides a set of controls for the media (in case the developer does not include controls for the player). + * The address or URL of the a media resource that is to be considered. */ - controls: boolean; - crossOrigin: string | null; + src: string; + srcObject: MediaProvider | null; /** * Gets the address or URL of the current media resource that is selected by IHTMLMediaElement. */ readonly currentSrc: string; + crossOrigin: string | null; /** - * Gets or sets the current playback position, in seconds. - */ - currentTime: number; - defaultMuted: boolean; - /** - * Gets or sets the default playback rate when the user is not using fast forward or reverse for a video or audio resource. - */ - defaultPlaybackRate: number; - /** - * Returns the duration in seconds of the current media resource. A NaN value is returned if duration is not available, or Infinity if the media resource is streaming. - */ - readonly duration: number; - /** - * Gets information about whether the playback has ended or not. - */ - readonly ended: boolean; - /** - * Returns an object representing the current error state of the audio or video element. - */ - readonly error: MediaError; - /** - * Gets or sets a flag to specify whether playback should restart after it completes. - */ - loop: boolean; - readonly mediaKeys: MediaKeys | null; - /** - * Specifies the purpose of the audio or video media, such as background audio or alerts. - */ - msAudioCategory: string; - /** - * Specifies the output device id that the audio will be sent to. - */ - msAudioDeviceType: string; - readonly msGraphicsTrustStatus: MSGraphicsTrust; - /** - * Gets the MSMediaKeys object, which is used for decrypting media data, that is associated with this media element. - */ - readonly msKeys: MSMediaKeys; - /** - * Gets or sets whether the DLNA PlayTo device is available. - */ - msPlayToDisabled: boolean; - /** - * Gets or sets the path to the preferred media source. This enables the Play To target device to stream the media content, which can be DRM protected, from a different location, such as a cloud media server. + * Gets the current network activity for the element. */ - msPlayToPreferredSourceUri: string; + readonly networkState: number; /** - * Gets or sets the primary DLNA PlayTo device. + * Gets or sets the current playback position, in seconds. */ - msPlayToPrimary: boolean; + preload: string; /** - * Gets the source associated with the media element for use by the PlayToManager. + * Gets a collection of buffered time ranges. */ - readonly msPlayToSource: any; + readonly buffered: TimeRanges; + readyState: number; /** - * Specifies whether or not to enable low-latency playback on the media element. + * Gets a flag that indicates whether the the client is currently moving to a new playback position in the media resource. */ - msRealTime: boolean; + readonly seeking: boolean; /** - * Gets or sets a flag that indicates whether the audio (either audio or the audio track on video media) is muted. + * Gets or sets the current playback position, in seconds. */ - muted: boolean; + currentTime: number; /** - * Gets the current network activity for the element. + * Returns the duration in seconds of the current media resource. A NaN value is returned if duration is not available, or Infinity if the media resource is streaming. */ - readonly networkState: number; - onencrypted: (this: HTMLMediaElement, ev: MediaEncryptedEvent) => any; - onmsneedkey: (this: HTMLMediaElement, ev: MSMediaKeyNeededEvent) => any; + readonly duration: number; /** * Gets a flag that specifies whether playback is paused. */ readonly paused: boolean; + /** + * Gets or sets the default playback rate when the user is not using fast forward or reverse for a video or audio resource. + */ + defaultPlaybackRate: number; /** * Gets or sets the current rate of speed for the media resource to play. This speed is expressed as a multiple of the normal speed of the media resource. */ @@ -5712,574 +4963,790 @@ interface HTMLMediaElement extends HTMLElement { * Gets TimeRanges for the current media resource that has been played. */ readonly played: TimeRanges; - /** - * Gets or sets the current playback position, in seconds. - */ - preload: string; - readyState: number; /** * Returns a TimeRanges object that represents the ranges of the current media resource that can be seeked. */ readonly seekable: TimeRanges; /** - * Gets a flag that indicates whether the the client is currently moving to a new playback position in the media resource. + * Gets information about whether the playback has ended or not. */ - readonly seeking: boolean; + readonly ended: boolean; /** - * The address or URL of the a media resource that is to be considered. + * Gets or sets a value that indicates whether to start playing the media automatically. */ - src: string; - srcObject: MediaStream | null; - readonly textTracks: TextTrackList; - readonly videoTracks: VideoTrackList; + autoplay: boolean; /** - * Gets or sets the volume level for audio portions of the media element. + * Gets or sets a flag to specify whether playback should restart after it completes. */ - volume: number; - addTextTrack(kind: string, label?: string, language?: string): TextTrack; + loop: boolean; /** - * Returns a string that specifies whether the client can play a given media resource type. + * Gets or sets a flag that indicates whether the client provides a set of controls for the media (in case the developer does not include controls for the player). */ - canPlayType(type: string): string; + controls: boolean; /** - * Resets the audio or video object and loads a new media resource. + * Gets or sets the volume level for audio portions of the media element. */ - load(): void; + volume: number; /** - * Clears all effects from the media pipeline. + * Gets or sets a flag that indicates whether the audio (either audio or the audio track on video media) is muted. */ - msClearEffects(): void; - msGetAsCastingSource(): any; + muted: boolean; + defaultMuted: boolean; /** - * Inserts the specified audio effect into media pipeline. + * Returns an AudioTrackList object with the audio tracks for a given video element. */ - msInsertAudioEffect(activatableClassId: string, effectRequired: boolean, config?: any): void; - msSetMediaKeys(mediaKeys: MSMediaKeys): void; + readonly audioTracks: AudioTrackList; + readonly videoTracks: VideoTrackList; + readonly textTracks: TextTrackList; + readonly mediaKeys: MediaKeys | null; + onencrypted: (this: HTMLMediaElement, ev: MediaEncryptedEvent) => any; + onwaitingforkey: (this: HTMLMediaElement, ev: undefined) => any; /** - * Specifies the media protection manager for a given media pipeline. + * Resets the audio or video object and loads a new media resource. */ - msSetMediaProtectionManager(mediaProtectionManager?: any): void; + load(): void; /** - * Pauses the current playback and sets paused to TRUE. This can be used to test whether the media is playing or paused. You can also use the pause or play events to tell whether the media is playing or not. + * Returns a string that specifies whether the client can play a given media resource type. */ - pause(): void; + canPlayType(type: string): CanPlayTypeResult; + fastSeek(time: number): void; + getStartDate(): any; /** * Loads and starts playback of a media resource. */ play(): Promise; + /** + * Pauses the current playback and sets paused to TRUE. This can be used to test whether the media is playing or paused. You can also use the pause or play events to tell whether the media is playing or not. + */ + pause(): void; + addTextTrack(kind: TextTrackKind, label?: string, language?: string): TextTrack; setMediaKeys(mediaKeys: MediaKeys | null): Promise; - readonly HAVE_CURRENT_DATA: number; - readonly HAVE_ENOUGH_DATA: number; - readonly HAVE_FUTURE_DATA: number; - readonly HAVE_METADATA: number; - readonly HAVE_NOTHING: number; readonly NETWORK_EMPTY: number; readonly NETWORK_IDLE: number; readonly NETWORK_LOADING: number; readonly NETWORK_NO_SOURCE: number; + readonly HAVE_NOTHING: number; + readonly HAVE_METADATA: number; + readonly HAVE_CURRENT_DATA: number; + readonly HAVE_FUTURE_DATA: number; + readonly HAVE_ENOUGH_DATA: number; addEventListener(type: K, listener: (this: HTMLMediaElement, ev: HTMLMediaElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } declare var HTMLMediaElement: { - prototype: HTMLMediaElement; - new(): HTMLMediaElement; - readonly HAVE_CURRENT_DATA: number; - readonly HAVE_ENOUGH_DATA: number; - readonly HAVE_FUTURE_DATA: number; - readonly HAVE_METADATA: number; - readonly HAVE_NOTHING: number; + prototype: HTMLMediaElement; + new(): HTMLMediaElement; readonly NETWORK_EMPTY: number; readonly NETWORK_IDLE: number; readonly NETWORK_LOADING: number; readonly NETWORK_NO_SOURCE: number; + readonly HAVE_NOTHING: number; + readonly HAVE_METADATA: number; + readonly HAVE_CURRENT_DATA: number; + readonly HAVE_FUTURE_DATA: number; + readonly HAVE_ENOUGH_DATA: number; }; -interface HTMLMenuElement extends HTMLElement { - compact: boolean; - type: string; - addEventListener(type: K, listener: (this: HTMLMenuElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; +interface MediaError { + readonly code: number; + readonly message: string; + readonly MEDIA_ERR_ABORTED: number; + readonly MEDIA_ERR_NETWORK: number; + readonly MEDIA_ERR_DECODE: number; + readonly MEDIA_ERR_SRC_NOT_SUPPORTED: number; +} + +declare var MediaError: { + prototype: MediaError; + new(): MediaError; + readonly MEDIA_ERR_ABORTED: number; + readonly MEDIA_ERR_NETWORK: number; + readonly MEDIA_ERR_DECODE: number; + readonly MEDIA_ERR_SRC_NOT_SUPPORTED: number; +}; + +interface AudioTrackListEventMap { + "change": undefined; + "addtrack": TrackEvent; + "removetrack": TrackEvent; +} + +interface AudioTrackList extends EventTarget { + readonly length: number; + onchange: (this: AudioTrackList, ev: undefined) => any; + onaddtrack: (this: AudioTrackList, ev: TrackEvent) => any; + onremovetrack: (this: AudioTrackList, ev: TrackEvent) => any; + getTrackById(id: string): AudioTrack | null; + addEventListener(type: K, listener: (this: AudioTrackList, ev: AudioTrackListEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + [index: number]: AudioTrack; } -declare var HTMLMenuElement: { - prototype: HTMLMenuElement; - new(): HTMLMenuElement; +declare var AudioTrackList: { + prototype: AudioTrackList; + new(): AudioTrackList; }; -interface HTMLMetaElement extends HTMLElement { - /** - * Sets or retrieves the character set used to encode the object. - */ - charset: string; - /** - * Gets or sets meta-information to associate with httpEquiv or name. - */ - content: string; - /** - * Gets or sets information used to bind the value of a content attribute of a meta element to an HTTP response header. - */ - httpEquiv: string; - /** - * Sets or retrieves the value specified in the content attribute of the meta object. - */ - name: string; - /** - * Sets or retrieves a scheme to be used in interpreting the value of a property specified for the object. - */ - scheme: string; - /** - * Sets or retrieves the URL property that will be loaded after the specified time has elapsed. - */ - url: string; - addEventListener(type: K, listener: (this: HTMLMetaElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; +interface AudioTrack { + readonly id: string; + readonly kind: string; + readonly label: string; + readonly language: string; + enabled: boolean; + readonly sourceBuffer: SourceBuffer | null; +} + +declare var AudioTrack: { + prototype: AudioTrack; + new(): AudioTrack; +}; + +interface VideoTrackListEventMap { + "change": undefined; + "addtrack": TrackEvent; + "removetrack": TrackEvent; +} + +interface VideoTrackList extends EventTarget { + readonly length: number; + readonly selectedIndex: number; + onchange: (this: VideoTrackList, ev: undefined) => any; + onaddtrack: (this: VideoTrackList, ev: TrackEvent) => any; + onremovetrack: (this: VideoTrackList, ev: TrackEvent) => any; + getTrackById(id: string): VideoTrack | null; + addEventListener(type: K, listener: (this: VideoTrackList, ev: VideoTrackListEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + [index: number]: VideoTrack; } -declare var HTMLMetaElement: { - prototype: HTMLMetaElement; - new(): HTMLMetaElement; +declare var VideoTrackList: { + prototype: VideoTrackList; + new(): VideoTrackList; }; -interface HTMLMeterElement extends HTMLElement { - high: number; - low: number; - max: number; - min: number; - optimum: number; - value: number; - addEventListener(type: K, listener: (this: HTMLMeterElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; +interface VideoTrack { + readonly id: string; + readonly kind: string; + readonly label: string; + readonly language: string; + selected: boolean; + readonly sourceBuffer: SourceBuffer | null; +} + +declare var VideoTrack: { + prototype: VideoTrack; + new(): VideoTrack; +}; + +interface TextTrackListEventMap { + "change": undefined; + "addtrack": TrackEvent; + "removetrack": TrackEvent; +} + +interface TextTrackList extends EventTarget { + readonly length: number; + onchange: (this: TextTrackList, ev: undefined) => any; + onaddtrack: (this: TextTrackList, ev: TrackEvent) => any; + onremovetrack: (this: TextTrackList, ev: TrackEvent) => any; + getTrackById(id: string): TextTrack | null; + addEventListener(type: K, listener: (this: TextTrackList, ev: TextTrackListEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + [index: number]: TextTrack; } -declare var HTMLMeterElement: { - prototype: HTMLMeterElement; - new(): HTMLMeterElement; +declare var TextTrackList: { + prototype: TextTrackList; + new(): TextTrackList; }; -interface HTMLModElement extends HTMLElement { +interface TextTrackEventMap { + "cuechange": undefined; +} + +interface TextTrack extends EventTarget { + readonly kind: TextTrackKind; + readonly label: string; + readonly language: string; + readonly id: string; + readonly inBandMetadataTrackDispatchType: string; + mode: TextTrackMode; + readonly cues: TextTrackCueList | null; + readonly activeCues: TextTrackCueList | null; + oncuechange: (this: TextTrack, ev: undefined) => any; + readonly sourceBuffer: SourceBuffer | null; + addCue(cue: TextTrackCue): void; + removeCue(cue: TextTrackCue): void; + addEventListener(type: K, listener: (this: TextTrack, ev: TextTrackEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var TextTrack: { + prototype: TextTrack; + new(): TextTrack; +}; + +interface TextTrackCueList { + readonly length: number; + getCueById(id: string): TextTrackCue | null; + [index: number]: TextTrackCue; +} + +declare var TextTrackCueList: { + prototype: TextTrackCueList; + new(): TextTrackCueList; +}; + +interface TextTrackCueEventMap { + "enter": Event; + "exit": Event; +} + +interface TextTrackCue extends EventTarget { + readonly track: TextTrack | null; + id: string; + startTime: number; + endTime: number; + pauseOnExit: boolean; + onenter: (this: TextTrackCue, ev: Event) => any; + onexit: (this: TextTrackCue, ev: Event) => any; + addEventListener(type: K, listener: (this: TextTrackCue, ev: TextTrackCueEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var TextTrackCue: { + prototype: TextTrackCue; + new(): TextTrackCue; +}; + +interface TimeRanges { + readonly length: number; + start(index: number): number; + end(index: number): number; +} + +declare var TimeRanges: { + prototype: TimeRanges; + new(): TimeRanges; +}; + +interface TrackEvent extends Event { + readonly track: VideoTrack | AudioTrack | TextTrack | null; +} + +declare var TrackEvent: { + prototype: TrackEvent; + new(type: string, eventInitDict?: TrackEventInit): TrackEvent; +}; + +interface HTMLMapElement extends HTMLElement { /** - * Sets or retrieves reference information about the object. + * Sets or retrieves the name of the object. */ - cite: string; + name: string; /** - * Sets or retrieves the date and time of a modification to the object. + * Retrieves a collection of the area objects defined for the given map object. */ - dateTime: string; - addEventListener(type: K, listener: (this: HTMLModElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; + readonly areas: HTMLCollection; + addEventListener(type: K, listener: (this: HTMLMapElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLMapElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLMapElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLModElement: { - prototype: HTMLModElement; - new(): HTMLModElement; +declare var HTMLMapElement: { + prototype: HTMLMapElement; + new(): HTMLMapElement; }; -interface HTMLObjectElement extends HTMLElement, GetSVGDocument { - align: string; +interface HTMLAreaElement extends HTMLElement, HTMLHyperlinkElementUtils { /** * Sets or retrieves a text alternative to the graphic. */ alt: string; /** - * Gets or sets the optional alternative HTML script to execute if the object fails to load. + * Sets or retrieves the coordinates of the object. */ - altHtml: string; + coords: string; /** - * Sets or retrieves a character string that can be used to implement your own archive functionality for the object. + * Sets or retrieves the shape of the object. */ - archive: string; + shape: string; /** - * Retrieves a string of the URL where the object tag can be found. This is often the href of the document that the object is in, or the value set by a base element. + * Sets or retrieves the window or frame at which to target content. */ - readonly BaseHref: string; - border: string; + target: string; + download: string; + ping: string; + rel: string; + readonly relList: DOMTokenList; + referrerPolicy: string; /** - * Sets or retrieves the URL of the file containing the compiled Java class. + * Sets or gets whether clicks in this region cause action. */ - code: string; + noHref: boolean; + addEventListener(type: K, listener: (this: HTMLAreaElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLAreaElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLAreaElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLAreaElement: { + prototype: HTMLAreaElement; + new(): HTMLAreaElement; +}; + +interface HTMLTableElement extends HTMLElement { /** - * Sets or retrieves the URL of the component. + * Retrieves the caption object of a table. */ - codeBase: string; + caption: HTMLTableCaptionElement | null; /** - * Sets or retrieves the Internet media type for the code associated with the object. + * Retrieves the tHead object of the table. */ - codeType: string; + tHead: HTMLTableSectionElement | null; + /** + * Retrieves the tFoot object of the table. + */ + tFoot: HTMLTableSectionElement | null; + /** + * Retrieves a collection of all tBody objects in the table. Objects in this collection are in source order. + */ + tBodies: HTMLCollectionOf; /** - * Retrieves the document object of the page or frame. + * Sets or retrieves the number of horizontal rows contained in the object. */ - readonly contentDocument: Document; + rows: HTMLCollectionOf; /** - * Sets or retrieves the URL that references the data of the object. + * Sets or retrieves a value that indicates the table alignment. */ - data: string; - declare: boolean; + align: string; /** - * Retrieves a reference to the form that the object is embedded in. + * Sets or retrieves the width of the border to draw around the object. */ - readonly form: HTMLFormElement | null; + border: string; /** - * Sets or retrieves the height of the object. + * Sets or retrieves the way the border frame around the table is displayed. */ - height: string; - hspace: number; + frame: string; /** - * Gets or sets whether the DLNA PlayTo device is available. + * Sets or retrieves which dividing lines (inner borders) are displayed. */ - msPlayToDisabled: boolean; + rules: string; /** - * Gets or sets the path to the preferred media source. This enables the Play To target device to stream the media content, which can be DRM protected, from a different location, such as a cloud media server. + * Sets or retrieves a description and/or structure of the object. */ - msPlayToPreferredSourceUri: string; + summary: string; /** - * Gets or sets the primary DLNA PlayTo device. + * Sets or retrieves the width of the object. */ - msPlayToPrimary: boolean; + width: string; + bgColor: string; /** - * Gets the source associated with the media element for use by the PlayToManager. + * Sets or retrieves the amount of space between the border of the cell and the content of the cell. */ - readonly msPlayToSource: any; + cellPadding: string; /** - * Sets or retrieves the name of the object. + * Sets or retrieves the amount of space between cells in a table. */ - name: string; - readonly readyState: number; + cellSpacing: string; /** - * Sets or retrieves a message to be displayed while an object is loading. + * Creates an empty caption element in the table. */ - standby: string; + createCaption(): HTMLTableCaptionElement; /** - * Sets or retrieves the MIME type of the object. + * Deletes the caption element and its contents from the table. */ - type: string; + deleteCaption(): void; /** - * Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map. + * Returns the tHead element object if successful, or null otherwise. */ - useMap: string; + createTHead(): HTMLTableSectionElement; /** - * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. + * Deletes the tHead element and its contents from the table. */ - readonly validationMessage: string; + deleteTHead(): void; /** - * Returns a ValidityState object that represents the validity states of an element. + * Creates an empty tFoot element in the table. */ - readonly validity: ValidityState; - vspace: number; + createTFoot(): HTMLTableSectionElement; /** - * Sets or retrieves the width of the object. + * Deletes the tFoot element and its contents from the table. */ - width: string; + deleteTFoot(): void; /** - * Returns whether an element will successfully validate based on forms validation rules and constraints. + * Creates an empty tBody element in the table. */ - readonly willValidate: boolean; + createTBody(): HTMLTableSectionElement; /** - * Returns whether a form will validate when it is submitted, without having to submit it. + * Creates a new row (tr) in the table, and adds the row to the rows collection. + * @param index Number that specifies where to insert the row in the rows collection. The default value is -1, which appends the new row to the end of the rows collection. */ - checkValidity(): boolean; + insertRow(index?: number): HTMLTableRowElement; /** - * Sets a custom error message that is displayed when a form is submitted. - * @param error Sets a custom error message that is displayed when a form is submitted. + * Removes the specified row (tr) from the element and from the rows collection. + * @param index Number that specifies the zero-based position in the rows collection of the row to remove. */ - setCustomValidity(error: string): void; - addEventListener(type: K, listener: (this: HTMLObjectElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; + deleteRow(index: number): void; + addEventListener(type: K, listener: (this: HTMLTableElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTableElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTableElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLObjectElement: { - prototype: HTMLObjectElement; - new(): HTMLObjectElement; +declare var HTMLTableElement: { + prototype: HTMLTableElement; + new(): HTMLTableElement; }; -interface HTMLOListElement extends HTMLElement { - compact: boolean; +interface HTMLTableCaptionElement extends HTMLElement { /** - * The starting number. + * Sets or retrieves the alignment of the caption or legend. */ - start: number; - type: string; - addEventListener(type: K, listener: (this: HTMLOListElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; + align: string; + addEventListener(type: K, listener: (this: HTMLTableCaptionElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTableCaptionElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTableCaptionElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLOListElement: { - prototype: HTMLOListElement; - new(): HTMLOListElement; +declare var HTMLTableCaptionElement: { + prototype: HTMLTableCaptionElement; + new(): HTMLTableCaptionElement; }; -interface HTMLOptGroupElement extends HTMLElement { +interface HTMLTableColElement extends HTMLElement { /** - * Sets or retrieves the status of an option. + * Sets or retrieves the number of columns in the group. */ - defaultSelected: boolean; - disabled: boolean; + span: number; /** - * Retrieves a reference to the form that the object is embedded in. + * Sets or retrieves the alignment of the object relative to the display or table. */ - readonly form: HTMLFormElement | null; + align: string; + ch: string; + chOff: string; + vAlign: string; /** - * Sets or retrieves the ordinal position of an option in a list box. + * Sets or retrieves the width of the object. */ - readonly index: number; + width: string; + addEventListener(type: K, listener: (this: HTMLTableColElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTableColElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTableColElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLTableColElement: { + prototype: HTMLTableColElement; + new(): HTMLTableColElement; +}; + +interface HTMLTableSectionElement extends HTMLElement { /** - * Sets or retrieves a value that you can use to implement your own label functionality for the object. + * Sets or retrieves the number of horizontal rows contained in the object. */ - label: string; + rows: HTMLCollectionOf; /** - * Sets or retrieves whether the option in the list box is the default item. + * Sets or retrieves a value that indicates the table alignment. */ - selected: boolean; + align: string; + ch: string; + chOff: string; + vAlign: string; /** - * Sets or retrieves the text string specified by the option tag. + * Creates a new row (tr) in the table, and adds the row to the rows collection. + * @param index Number that specifies where to insert the row in the rows collection. The default value is -1, which appends the new row to the end of the rows collection. */ - readonly text: string; + insertRow(index?: number): HTMLTableRowElement; /** - * Sets or retrieves the value which is returned to the server when the form control is submitted. + * Removes the specified row (tr) from the element and from the rows collection. + * @param index Number that specifies the zero-based position in the rows collection of the row to remove. */ - value: string; - addEventListener(type: K, listener: (this: HTMLOptGroupElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; + deleteRow(index: number): void; + addEventListener(type: K, listener: (this: HTMLTableSectionElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTableSectionElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTableSectionElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLOptGroupElement: { - prototype: HTMLOptGroupElement; - new(): HTMLOptGroupElement; +declare var HTMLTableSectionElement: { + prototype: HTMLTableSectionElement; + new(): HTMLTableSectionElement; }; -interface HTMLOptionElement extends HTMLElement { - /** - * Sets or retrieves the status of an option. - */ - defaultSelected: boolean; - disabled: boolean; +interface HTMLTableRowElement extends HTMLElement { /** - * Retrieves a reference to the form that the object is embedded in. + * Retrieves the position of the object in the rows collection for the table. */ - readonly form: HTMLFormElement | null; + readonly rowIndex: number; /** - * Sets or retrieves the ordinal position of an option in a list box. + * Retrieves the position of the object in the collection. */ - readonly index: number; + readonly sectionRowIndex: number; /** - * Sets or retrieves a value that you can use to implement your own label functionality for the object. + * Retrieves a collection of all cells in the table row. */ - label: string; + cells: HTMLCollectionOf; /** - * Sets or retrieves whether the option in the list box is the default item. + * Sets or retrieves how the object is aligned with adjacent text. */ - selected: boolean; + align: string; + ch: string; + chOff: string; + vAlign: string; + bgColor: string; /** - * Sets or retrieves the text string specified by the option tag. + * Creates a new cell in the table row, and adds the cell to the cells collection. + * @param index Number that specifies where to insert the cell in the tr. The default value is -1, which appends the new cell to the end of the cells collection. */ - text: string; + insertCell(index?: number): HTMLTableCellElement; /** - * Sets or retrieves the value which is returned to the server when the form control is submitted. + * Removes the specified cell from the table row, as well as from the cells collection. + * @param index Number that specifies the zero-based position of the cell to remove from the table row. If no value is provided, the last cell in the cells collection is deleted. */ - value: string; - addEventListener(type: K, listener: (this: HTMLOptionElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var HTMLOptionElement: { - prototype: HTMLOptionElement; - new(): HTMLOptionElement; -}; - -interface HTMLOptionsCollection extends HTMLCollectionOf { - length: number; - selectedIndex: number; - add(element: HTMLOptionElement | HTMLOptGroupElement, before?: HTMLElement | number): void; - remove(index: number): void; -} - -declare var HTMLOptionsCollection: { - prototype: HTMLOptionsCollection; - new(): HTMLOptionsCollection; -}; - -interface HTMLOutputElement extends HTMLElement { - defaultValue: string; - readonly form: HTMLFormElement | null; - readonly htmlFor: DOMSettableTokenList; - name: string; - readonly type: string; - readonly validationMessage: string; - readonly validity: ValidityState; - value: string; - readonly willValidate: boolean; - checkValidity(): boolean; - reportValidity(): boolean; - setCustomValidity(error: string): void; - addEventListener(type: K, listener: (this: HTMLOutputElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; + deleteCell(index: number): void; + addEventListener(type: K, listener: (this: HTMLTableRowElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTableRowElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTableRowElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLOutputElement: { - prototype: HTMLOutputElement; - new(): HTMLOutputElement; +declare var HTMLTableRowElement: { + prototype: HTMLTableRowElement; + new(): HTMLTableRowElement; }; -interface HTMLParagraphElement extends HTMLElement { +interface HTMLTableCellElement extends HTMLElement { + /** + * Sets or retrieves the number columns in the table that the object should span. + */ + colSpan: number; + /** + * Sets or retrieves how many rows in a table the cell should span. + */ + rowSpan: number; + /** + * Sets or retrieves a list of header cells that provide information for the object. + */ + headers: string; + /** + * Retrieves the position of the object in the cells collection of a row. + */ + readonly cellIndex: number; + /** + * Sets or retrieves the group of cells in a table to which the object's information applies. + */ + scope: string; + /** + * Sets or retrieves abbreviated text for the object. + */ + abbr: string; /** * Sets or retrieves how the object is aligned with adjacent text. */ align: string; - clear: string; - addEventListener(type: K, listener: (this: HTMLParagraphElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; + /** + * Sets or retrieves a comma-delimited list of conceptual categories associated with the object. + */ + axis: string; + /** + * Sets or retrieves the height of the object. + */ + height: string; + /** + * Sets or retrieves the width of the object. + */ + width: string; + ch: string; + chOff: string; + /** + * Sets or retrieves whether the browser automatically performs wordwrap. + */ + noWrap: boolean; + vAlign: string; + bgColor: string; + addEventListener(type: K, listener: (this: HTMLTableCellElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTableCellElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTableCellElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLParagraphElement: { - prototype: HTMLParagraphElement; - new(): HTMLParagraphElement; +declare var HTMLTableCellElement: { + prototype: HTMLTableCellElement; + new(): HTMLTableCellElement; }; -interface HTMLParamElement extends HTMLElement { +interface HTMLFormElement extends HTMLElement { /** - * Sets or retrieves the name of an input parameter for an element. + * Sets or retrieves a list of character encodings for input data that must be accepted by the server processing the form. + */ + acceptCharset: string; + /** + * Sets or retrieves the URL to which the form content is sent for processing. + */ + action: string; + /** + * Specifies whether autocomplete is applied to an editable text field. + */ + autocomplete: string; + /** + * Sets or retrieves the encoding type for the form. + */ + enctype: string; + /** + * Sets or retrieves the MIME encoding for the form. + */ + encoding: string; + /** + * Sets or retrieves how to send the form data to the server. + */ + method: string; + /** + * Sets or retrieves the name of the object. */ name: string; /** - * Sets or retrieves the content type of the resource designated by the value attribute. + * Designates a form that is not validated when submitted. */ - type: string; + noValidate: boolean; /** - * Sets or retrieves the value of an input parameter for an element. + * Sets or retrieves the window or frame at which to target content. */ - value: string; + target: string; /** - * Sets or retrieves the data type of the value attribute. + * Retrieves a collection, in source order, of all controls in a given form. */ - valueType: string; - addEventListener(type: K, listener: (this: HTMLParamElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var HTMLParamElement: { - prototype: HTMLParamElement; - new(): HTMLParamElement; -}; - -interface HTMLPictureElement extends HTMLElement { - addEventListener(type: K, listener: (this: HTMLPictureElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; + readonly elements: HTMLFormControlsCollection; + /** + * Sets or retrieves the number of objects in a collection. + */ + readonly length: number; + /** + * Fires when a FORM is about to be submitted. + */ + submit(): void; + /** + * Fires when the user resets a form. + */ + reset(): void; + /** + * Returns whether a form will validate when it is submitted, without having to submit it. + */ + checkValidity(): boolean; + reportValidity(): boolean; + addEventListener(type: K, listener: (this: HTMLFormElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLFormElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLFormElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + [index: number]: Element; } -declare var HTMLPictureElement: { - prototype: HTMLPictureElement; - new(): HTMLPictureElement; +declare var HTMLFormElement: { + prototype: HTMLFormElement; + new(): HTMLFormElement; }; -interface HTMLPreElement extends HTMLElement { +interface HTMLLabelElement extends HTMLElement { /** - * Sets or gets a value that you can use to implement your own width functionality for the object. + * Retrieves a reference to the form that the object is embedded in. */ - width: number; - addEventListener(type: K, listener: (this: HTMLPreElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; + readonly form: HTMLFormElement | null; + /** + * Sets or retrieves the object to which the given label object is assigned. + */ + htmlFor: string; + readonly control: HTMLElement | null; + addEventListener(type: K, listener: (this: HTMLLabelElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLLabelElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLLabelElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLPreElement: { - prototype: HTMLPreElement; - new(): HTMLPreElement; +declare var HTMLLabelElement: { + prototype: HTMLLabelElement; + new(): HTMLLabelElement; }; -interface HTMLProgressElement extends HTMLElement { +interface HTMLInputElement extends HTMLElement { /** - * Retrieves a reference to the form that the object is embedded in. + * Sets or retrieves a comma-separated list of content types. */ - readonly form: HTMLFormElement | null; + accept: string; /** - * Defines the maximum, or "done" value for a progress element. + * Sets or retrieves a text alternative to the graphic. */ - max: number; + alt: string; /** - * Returns the quotient of value/max when the value attribute is set (determinate progress bar), or -1 when the value attribute is missing (indeterminate progress bar). + * Specifies whether autocomplete is applied to an editable text field. */ - readonly position: number; + autocomplete: string; /** - * Sets or gets the current value of a progress element. The value must be a non-negative number between 0 and the max value. + * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing. */ - value: number; - addEventListener(type: K, listener: (this: HTMLProgressElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var HTMLProgressElement: { - prototype: HTMLProgressElement; - new(): HTMLProgressElement; -}; - -interface HTMLQuoteElement extends HTMLElement { + autofocus: boolean; /** - * Sets or retrieves reference information about the object. + * Sets or retrieves the state of the check box or radio button. */ - cite: string; - addEventListener(type: K, listener: (this: HTMLQuoteElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var HTMLQuoteElement: { - prototype: HTMLQuoteElement; - new(): HTMLQuoteElement; -}; - -interface HTMLScriptElement extends HTMLElement { - async: boolean; + defaultChecked: boolean; /** - * Sets or retrieves the character set used to encode the object. + * Sets or retrieves the state of the check box or radio button. */ - charset: string; - crossOrigin: string | null; + checked: boolean; + dirName: string; + disabled: boolean; /** - * Sets or retrieves the status of the script. + * Retrieves a reference to the form that the object is embedded in. */ - defer: boolean; + readonly form: HTMLFormElement | null; /** - * Sets or retrieves the event for which the script is written. + * Returns a FileList object on a file type input object. */ - event: string; + readonly files: FileList | null; /** - * Sets or retrieves the object that is bound to the event script. + * Overrides the action attribute (where the data on a form is sent) on the parent form element. */ - htmlFor: string; + formAction: string; /** - * Retrieves the URL to an external file that contains the source code or data. + * Used to override the encoding (formEnctype attribute) specified on the form element. */ - src: string; + formEnctype: string; /** - * Retrieves or sets the text of the object as a string. + * Overrides the submit method attribute previously specified on a form element. */ - text: string; + formMethod: string; /** - * Sets or retrieves the MIME type for the associated scripting engine. + * Overrides any validation or required attributes on a form or form elements to allow it to be submitted without validation. This can be used to create a "save draft"-type submit option. */ - type: string; - integrity: string; - addEventListener(type: K, listener: (this: HTMLScriptElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var HTMLScriptElement: { - prototype: HTMLScriptElement; - new(): HTMLScriptElement; -}; - -interface HTMLSelectElement extends HTMLElement { + formNoValidate: boolean; /** - * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing. + * Overrides the target attribute on a form element. */ - autofocus: boolean; - disabled: boolean; + formTarget: string; /** - * Retrieves a reference to the form that the object is embedded in. + * Sets or retrieves the height of the object. */ - readonly form: HTMLFormElement | null; + height: number; + indeterminate: boolean; + inputMode: string; /** - * Sets or retrieves the number of objects in a collection. + * Specifies the ID of a pre-defined datalist of options for an input element. */ - length: number; + readonly list: HTMLElement | null; + /** + * Defines the maximum acceptable value for an input element with type="number".When used with the min and step attributes, lets you control the range and increment (such as only even numbers) that the user can enter into an input field. + */ + max: string; + /** + * Sets or retrieves the maximum number of characters that the user can enter in a text control. + */ + maxLength: number; + /** + * Defines the minimum acceptable value for an input element with type="number". When used with the max and step attributes, lets you control the range and increment (such as even numbers only) that the user can enter into an input field. + */ + min: string; + minLength: number; /** * Sets or retrieves the Boolean value indicating whether multiple items can be selected from a list. */ @@ -6288,448 +5755,378 @@ interface HTMLSelectElement extends HTMLElement { * Sets or retrieves the name of the object. */ name: string; - readonly options: HTMLOptionsCollection; /** - * When present, marks an element that can't be submitted without a value. + * Gets or sets a string containing a regular expression that the user's input must match. */ - required: boolean; + pattern: string; /** - * Sets or retrieves the index of the selected option in a select object. + * Gets or sets a text string that is displayed in an input field as a hint or prompt to users as the format or type of information they need to enter.The text appears in an input field until the user puts focus on the field. */ - selectedIndex: number; - selectedOptions: HTMLCollectionOf; + placeholder: string; + readOnly: boolean; /** - * Sets or retrieves the number of rows in the list box. + * When present, marks an element that can't be submitted without a value. */ + required: boolean; size: number; /** - * Retrieves the type of select control based on the value of the MULTIPLE attribute. + * The address or URL of the a media resource that is to be considered. */ - readonly type: string; + src: string; /** - * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. + * Defines an increment or jump between values that you want to allow the user to enter. When used with the max and min attributes, lets you control the range and increment (for example, allow only even numbers) that the user can enter into an input field. */ - readonly validationMessage: string; + step: string; /** - * Returns a ValidityState object that represents the validity states of an element. + * Returns the content type of the object. */ - readonly validity: ValidityState; + type: string; /** - * Sets or retrieves the value which is returned to the server when the form control is submitted. + * Sets or retrieves the initial contents of the object. + */ + defaultValue: string; + /** + * Returns the value of the data at the cursor's current position. */ value: string; + valueAsDate: any; /** - * Returns whether an element will successfully validate based on forms validation rules and constraints. + * Returns the input field value as a number. */ - readonly willValidate: boolean; + valueAsNumber: number; /** - * Adds an element to the areas, controlRange, or options collection. - * @param element Variant of type Number that specifies the index position in the collection where the element is placed. If no value is given, the method places the element at the end of the collection. - * @param before Variant of type Object that specifies an element to insert before, or null to append the object to the collection. + * Sets or retrieves the width of the object. */ - add(element: HTMLElement, before?: HTMLElement | number): void; + width: number; /** - * Returns whether a form will validate when it is submitted, without having to submit it. + * Returns whether an element will successfully validate based on forms validation rules and constraints. */ - checkValidity(): boolean; + readonly willValidate: boolean; /** - * Retrieves a select object or an object from an options collection. - * @param name Variant of type Number or String that specifies the object or collection to retrieve. If this parameter is an integer, it is the zero-based index of the object. If this parameter is a string, all objects with matching name or id properties are retrieved, and a collection is returned if more than one match is made. - * @param index Variant of type Number that specifies the zero-based index of the object to retrieve when a collection is returned. + * Returns a ValidityState object that represents the validity states of an element. + */ + readonly validity: ValidityState; + /** + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. */ - item(name?: any, index?: any): any; + readonly validationMessage: string; + readonly labels: NodeList | null; /** - * Retrieves a select object or an object from an options collection. - * @param namedItem A String that specifies the name or id property of the object to retrieve. A collection is returned if more than one match is made. + * Gets or sets the starting position or offset of a text selection. */ - namedItem(name: string): any; + selectionStart: number | null; /** - * Removes an element from the collection. - * @param index Number that specifies the zero-based index of the element to remove from the collection. + * Gets or sets the end position or offset of a text selection. */ - remove(index?: number): void; + selectionEnd: number | null; + selectionDirection: string | null; /** - * Sets a custom error message that is displayed when a form is submitted. - * @param error Sets a custom error message that is displayed when a form is submitted. + * Sets or retrieves how the object is aligned with adjacent text. */ - setCustomValidity(error: string): void; - addEventListener(type: K, listener: (this: HTMLSelectElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; - [name: string]: any; -} - -declare var HTMLSelectElement: { - prototype: HTMLSelectElement; - new(): HTMLSelectElement; -}; - -interface HTMLSourceElement extends HTMLElement { + align: string; /** - * Gets or sets the intended media type of the media source. + * Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map. */ - media: string; - msKeySystem: string; - sizes: string; + useMap: string; /** - * The address or URL of the a media resource that is to be considered. + * Increments a range input control's value by the value given by the Step attribute. If the optional parameter is used, will increment the input control's value by that value. + * @param n Value to increment the value by. */ - src: string; - srcset: string; + stepUp(n?: number): void; /** - * Gets or sets the MIME type of a media resource. + * 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. */ - type: string; - addEventListener(type: K, listener: (this: HTMLSourceElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var HTMLSourceElement: { - prototype: HTMLSourceElement; - new(): HTMLSourceElement; -}; - -interface HTMLSpanElement extends HTMLElement { - addEventListener(type: K, listener: (this: HTMLSpanElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var HTMLSpanElement: { - prototype: HTMLSpanElement; - new(): HTMLSpanElement; -}; - -interface HTMLStyleElement extends HTMLElement, LinkStyle { - disabled: boolean; + stepDown(n?: number): void; /** - * Sets or retrieves the media type. + * Returns whether a form will validate when it is submitted, without having to submit it. */ - media: string; + checkValidity(): boolean; + reportValidity(): boolean; /** - * Retrieves the CSS language in which the style sheet is written. + * Sets a custom error message that is displayed when a form is submitted. + * @param error Sets a custom error message that is displayed when a form is submitted. */ - type: string; - addEventListener(type: K, listener: (this: HTMLStyleElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var HTMLStyleElement: { - prototype: HTMLStyleElement; - new(): HTMLStyleElement; -}; - -interface HTMLTableCaptionElement extends HTMLElement { + setCustomValidity(error: string): void; /** - * Sets or retrieves the alignment of the caption or legend. + * Makes the selection equal to the current object. */ - align: string; + select(): void; + setRangeText(replacement: string): void; + setRangeText(replacement: string, start: number, end: number, selectionMode?: SelectionMode): void; /** - * Sets or retrieves whether the caption appears at the top or bottom of the table. + * 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. */ - vAlign: string; - addEventListener(type: K, listener: (this: HTMLTableCaptionElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; + setSelectionRange(start: number, end: number, direction?: string): void; + addEventListener(type: K, listener: (this: HTMLInputElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLInputElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLInputElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLTableCaptionElement: { - prototype: HTMLTableCaptionElement; - new(): HTMLTableCaptionElement; +declare var HTMLInputElement: { + prototype: HTMLInputElement; + new(): HTMLInputElement; }; -interface HTMLTableCellElement extends HTMLElement, HTMLTableAlignment { +interface HTMLButtonElement extends HTMLElement { /** - * Sets or retrieves abbreviated text for the object. + * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing. */ - abbr: string; + autofocus: boolean; + disabled: boolean; /** - * Sets or retrieves how the object is aligned with adjacent text. + * Retrieves a reference to the form that the object is embedded in. */ - align: string; + readonly form: HTMLFormElement | null; /** - * Sets or retrieves a comma-delimited list of conceptual categories associated with the object. + * Overrides the action attribute (where the data on a form is sent) on the parent form element. */ - axis: string; - bgColor: any; + formAction: string; /** - * Retrieves the position of the object in the cells collection of a row. + * Used to override the encoding (formEnctype attribute) specified on the form element. */ - readonly cellIndex: number; + formEnctype: string; /** - * Sets or retrieves the number columns in the table that the object should span. + * Overrides the submit method attribute previously specified on a form element. */ - colSpan: number; + formMethod: string; /** - * Sets or retrieves a list of header cells that provide information for the object. + * Overrides any validation or required attributes on a form or form elements to allow it to be submitted without validation. This can be used to create a "save draft"-type submit option. */ - headers: string; + formNoValidate: boolean; /** - * Sets or retrieves the height of the object. + * Overrides the target attribute on a form element. */ - height: any; + formTarget: string; /** - * Sets or retrieves whether the browser automatically performs wordwrap. + * Sets or retrieves the name of the object. */ - noWrap: boolean; + name: string; /** - * Sets or retrieves how many rows in a table the cell should span. + * Gets the classification and default behavior of the button. */ - rowSpan: number; + type: string; /** - * Sets or retrieves the group of cells in a table to which the object's information applies. + * Sets or retrieves the default or selected value of the control. */ - scope: string; + value: string; /** - * Sets or retrieves the width of the object. + * Returns whether an element will successfully validate based on forms validation rules and constraints. */ - width: string; - addEventListener(type: K, listener: (this: HTMLTableCellElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var HTMLTableCellElement: { - prototype: HTMLTableCellElement; - new(): HTMLTableCellElement; -}; - -interface HTMLTableColElement extends HTMLElement, HTMLTableAlignment { + readonly willValidate: boolean; /** - * Sets or retrieves the alignment of the object relative to the display or table. + * Returns a ValidityState object that represents the validity states of an element. */ - align: string; + readonly validity: ValidityState; /** - * Sets or retrieves the number of columns in the group. + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. */ - span: number; + readonly validationMessage: string; + readonly labels: NodeList; /** - * Sets or retrieves the width of the object. + * Returns whether a form will validate when it is submitted, without having to submit it. */ - width: any; - addEventListener(type: K, listener: (this: HTMLTableColElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var HTMLTableColElement: { - prototype: HTMLTableColElement; - new(): HTMLTableColElement; -}; - -interface HTMLTableDataCellElement extends HTMLTableCellElement { - addEventListener(type: K, listener: (this: HTMLTableDataCellElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; + checkValidity(): boolean; + reportValidity(): boolean; + /** + * Sets a custom error message that is displayed when a form is submitted. + * @param error Sets a custom error message that is displayed when a form is submitted. + */ + setCustomValidity(error: string): void; + addEventListener(type: K, listener: (this: HTMLButtonElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLButtonElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLButtonElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLTableDataCellElement: { - prototype: HTMLTableDataCellElement; - new(): HTMLTableDataCellElement; +declare var HTMLButtonElement: { + prototype: HTMLButtonElement; + new(): HTMLButtonElement; }; -interface HTMLTableElement extends HTMLElement { - /** - * Sets or retrieves a value that indicates the table alignment. - */ - align: string; - bgColor: any; - /** - * Sets or retrieves the width of the border to draw around the object. - */ - border: string; - /** - * Sets or retrieves the border color of the object. - */ - borderColor: any; - /** - * Retrieves the caption object of a table. - */ - caption: HTMLTableCaptionElement; - /** - * Sets or retrieves the amount of space between the border of the cell and the content of the cell. - */ - cellPadding: string; +interface HTMLSelectElement extends HTMLElement { + autocomplete: string; /** - * Sets or retrieves the amount of space between cells in a table. + * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing. */ - cellSpacing: string; + autofocus: boolean; + disabled: boolean; /** - * Sets or retrieves the number of columns in the table. + * Retrieves a reference to the form that the object is embedded in. */ - cols: number; + readonly form: HTMLFormElement | null; /** - * Sets or retrieves the way the border frame around the table is displayed. + * Sets or retrieves the Boolean value indicating whether multiple items can be selected from a list. */ - frame: string; + multiple: boolean; /** - * Sets or retrieves the height of the object. + * Sets or retrieves the name of the object. */ - height: any; + name: string; /** - * Sets or retrieves the number of horizontal rows contained in the object. + * When present, marks an element that can't be submitted without a value. */ - rows: HTMLCollectionOf; + required: boolean; /** - * Sets or retrieves which dividing lines (inner borders) are displayed. + * Sets or retrieves the number of rows in the list box. */ - rules: string; + size: number; /** - * Sets or retrieves a description and/or structure of the object. + * Retrieves the type of select control based on the value of the MULTIPLE attribute. */ - summary: string; + readonly type: string; + readonly options: HTMLOptionsCollection; /** - * Retrieves a collection of all tBody objects in the table. Objects in this collection are in source order. + * Sets or retrieves the number of objects in a collection. */ - tBodies: HTMLCollectionOf; + length: number; + selectedOptions: HTMLCollectionOf; /** - * Retrieves the tFoot object of the table. + * Sets or retrieves the index of the selected option in a select object. */ - tFoot: HTMLTableSectionElement; + selectedIndex: number; /** - * Retrieves the tHead object of the table. + * Sets or retrieves the value which is returned to the server when the form control is submitted. */ - tHead: HTMLTableSectionElement; + value: string; /** - * Sets or retrieves the width of the object. + * Returns whether an element will successfully validate based on forms validation rules and constraints. */ - width: string; + readonly willValidate: boolean; /** - * Creates an empty caption element in the table. + * Returns a ValidityState object that represents the validity states of an element. */ - createCaption(): HTMLTableCaptionElement; + readonly validity: ValidityState; /** - * Creates an empty tBody element in the table. + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. */ - createTBody(): HTMLTableSectionElement; + readonly validationMessage: string; + readonly labels: NodeList; /** - * Creates an empty tFoot element in the table. + * Retrieves a select object or an object from an options collection. + * @param name Variant of type Number or String that specifies the object or collection to retrieve. If this parameter is an integer, it is the zero-based index of the object. If this parameter is a string, all objects with matching name or id properties are retrieved, and a collection is returned if more than one match is made. + * @param index Variant of type Number that specifies the zero-based index of the object to retrieve when a collection is returned. */ - createTFoot(): HTMLTableSectionElement; + item(index: number): Element | null; /** - * Returns the tHead element object if successful, or null otherwise. + * Retrieves a select object or an object from an options collection. + * @param namedItem A String that specifies the name or id property of the object to retrieve. A collection is returned if more than one match is made. */ - createTHead(): HTMLTableSectionElement; + namedItem(name: string): HTMLOptionElement | null; /** - * Deletes the caption element and its contents from the table. + * Adds an element to the areas, controlRange, or options collection. + * @param element Variant of type Number that specifies the index position in the collection where the element is placed. If no value is given, the method places the element at the end of the collection. + * @param before Variant of type Object that specifies an element to insert before, or null to append the object to the collection. */ - deleteCaption(): void; + add(element: HTMLOptionElement | HTMLOptGroupElement, before?: HTMLElement | number): void; /** - * Removes the specified row (tr) from the element and from the rows collection. - * @param index Number that specifies the zero-based position in the rows collection of the row to remove. + * Removes an element from the collection. + * @param index Number that specifies the zero-based index of the element to remove from the collection. */ - deleteRow(index?: number): void; + remove(): void; /** - * Deletes the tFoot element and its contents from the table. + * Removes an element from the collection. + * @param index Number that specifies the zero-based index of the element to remove from the collection. */ - deleteTFoot(): void; + remove(index: number): void; /** - * Deletes the tHead element and its contents from the table. + * Returns whether a form will validate when it is submitted, without having to submit it. */ - deleteTHead(): void; + checkValidity(): boolean; + reportValidity(): boolean; /** - * Creates a new row (tr) in the table, and adds the row to the rows collection. - * @param index Number that specifies where to insert the row in the rows collection. The default value is -1, which appends the new row to the end of the rows collection. + * Sets a custom error message that is displayed when a form is submitted. + * @param error Sets a custom error message that is displayed when a form is submitted. */ - insertRow(index?: number): HTMLTableRowElement; - addEventListener(type: K, listener: (this: HTMLTableElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; + setCustomValidity(error: string): void; + addEventListener(type: K, listener: (this: HTMLSelectElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLSelectElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLSelectElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + [index: number]: Element; } -declare var HTMLTableElement: { - prototype: HTMLTableElement; - new(): HTMLTableElement; +declare var HTMLSelectElement: { + prototype: HTMLSelectElement; + new(): HTMLSelectElement; }; -interface HTMLTableHeaderCellElement extends HTMLTableCellElement { - /** - * Sets or retrieves the group of cells in a table to which the object's information applies. - */ - scope: string; - addEventListener(type: K, listener: (this: HTMLTableHeaderCellElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; +interface HTMLDataListElement extends HTMLElement { + options: HTMLCollectionOf; + addEventListener(type: K, listener: (this: HTMLDataListElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLDataListElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLDataListElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLTableHeaderCellElement: { - prototype: HTMLTableHeaderCellElement; - new(): HTMLTableHeaderCellElement; +declare var HTMLDataListElement: { + prototype: HTMLDataListElement; + new(): HTMLDataListElement; }; -interface HTMLTableRowElement extends HTMLElement, HTMLTableAlignment { - /** - * Sets or retrieves how the object is aligned with adjacent text. - */ - align: string; - bgColor: any; - /** - * Retrieves a collection of all cells in the table row. - */ - cells: HTMLCollectionOf; - /** - * Sets or retrieves the height of the object. - */ - height: any; +interface HTMLOptGroupElement extends HTMLElement { + disabled: boolean; /** - * Retrieves the position of the object in the rows collection for the table. + * Sets or retrieves a value that you can use to implement your own label functionality for the object. */ - readonly rowIndex: number; + label: string; + addEventListener(type: K, listener: (this: HTMLOptGroupElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLOptGroupElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLOptGroupElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLOptGroupElement: { + prototype: HTMLOptGroupElement; + new(): HTMLOptGroupElement; +}; + +interface HTMLOptionElement extends HTMLElement { + disabled: boolean; /** - * Retrieves the position of the object in the collection. + * Retrieves a reference to the form that the object is embedded in. */ - readonly sectionRowIndex: number; + readonly form: HTMLFormElement | null; /** - * Removes the specified cell from the table row, as well as from the cells collection. - * @param index Number that specifies the zero-based position of the cell to remove from the table row. If no value is provided, the last cell in the cells collection is deleted. + * Sets or retrieves a value that you can use to implement your own label functionality for the object. */ - deleteCell(index?: number): void; + label: string; /** - * Creates a new cell in the table row, and adds the cell to the cells collection. - * @param index Number that specifies where to insert the cell in the tr. The default value is -1, which appends the new cell to the end of the cells collection. + * Sets or retrieves the status of an option. */ - insertCell(index?: number): HTMLTableDataCellElement; - addEventListener(type: K, listener: (this: HTMLTableRowElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var HTMLTableRowElement: { - prototype: HTMLTableRowElement; - new(): HTMLTableRowElement; -}; - -interface HTMLTableSectionElement extends HTMLElement, HTMLTableAlignment { + defaultSelected: boolean; /** - * Sets or retrieves a value that indicates the table alignment. + * Sets or retrieves whether the option in the list box is the default item. */ - align: string; + selected: boolean; /** - * Sets or retrieves the number of horizontal rows contained in the object. + * Sets or retrieves the value which is returned to the server when the form control is submitted. */ - rows: HTMLCollectionOf; + value: string; /** - * Removes the specified row (tr) from the element and from the rows collection. - * @param index Number that specifies the zero-based position in the rows collection of the row to remove. + * Sets or retrieves the text string specified by the option tag. */ - deleteRow(index?: number): void; + text: string; /** - * Creates a new row (tr) in the table, and adds the row to the rows collection. - * @param index Number that specifies where to insert the row in the rows collection. The default value is -1, which appends the new row to the end of the rows collection. + * Sets or retrieves the ordinal position of an option in a list box. */ - insertRow(index?: number): HTMLTableRowElement; - addEventListener(type: K, listener: (this: HTMLTableSectionElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var HTMLTableSectionElement: { - prototype: HTMLTableSectionElement; - new(): HTMLTableSectionElement; -}; - -interface HTMLTemplateElement extends HTMLElement { - readonly content: DocumentFragment; - addEventListener(type: K, listener: (this: HTMLTemplateElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; + readonly index: number; + addEventListener(type: K, listener: (this: HTMLOptionElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLOptionElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLOptionElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLTemplateElement: { - prototype: HTMLTemplateElement; - new(): HTMLTemplateElement; +declare var HTMLOptionElement: { + prototype: HTMLOptionElement; + new(): HTMLOptionElement; }; interface HTMLTextAreaElement extends HTMLElement { + autocomplete: string; /** * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing. */ @@ -6738,19 +6135,18 @@ interface HTMLTextAreaElement extends HTMLElement { * Sets or retrieves the width of the object. */ cols: number; - /** - * Sets or retrieves the initial contents of the object. - */ - defaultValue: string; + dirName: string; disabled: boolean; /** * Retrieves a reference to the form that the object is embedded in. */ readonly form: HTMLFormElement | null; + inputMode: string; /** * Sets or retrieves the maximum number of characters that the user can enter in a text control. */ maxLength: number; + minLength: number; /** * Sets or retrieves the name of the object. */ @@ -6772,62 +6168,69 @@ interface HTMLTextAreaElement extends HTMLElement { */ rows: number; /** - * Gets or sets the end position or offset of a text selection. + * Sets or retrieves how to handle wordwrapping in the object. */ - selectionEnd: number; + wrap: string; /** - * Gets or sets the starting position or offset of a text selection. + * Retrieves the type of control. */ - selectionStart: number; + readonly type: string; /** - * Sets or retrieves the value indicating whether the control is selected. + * Sets or retrieves the initial contents of the object. */ - status: any; + defaultValue: string; /** - * Retrieves the type of control. + * Retrieves or sets the text in the entry field of the textArea element. */ - readonly type: string; + value: string; + readonly textLength: number; /** - * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. + * Returns whether an element will successfully validate based on forms validation rules and constraints. */ - readonly validationMessage: string; + readonly willValidate: boolean; /** * Returns a ValidityState object that represents the validity states of an element. */ readonly validity: ValidityState; /** - * Retrieves or sets the text in the entry field of the textArea element. + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. */ - value: string; + readonly validationMessage: string; + readonly labels: NodeList; /** - * Returns whether an element will successfully validate based on forms validation rules and constraints. + * Gets or sets the starting position or offset of a text selection. */ - readonly willValidate: boolean; + selectionStart: number; /** - * Sets or retrieves how to handle wordwrapping in the object. + * Gets or sets the end position or offset of a text selection. */ - wrap: string; - minLength: number; + selectionEnd: number; + selectionDirection: string; /** * Returns whether a form will validate when it is submitted, without having to submit it. */ checkValidity(): boolean; - /** - * Highlights the input area of a form element. - */ - select(): void; + reportValidity(): boolean; /** * Sets a custom error message that is displayed when a form is submitted. * @param error Sets a custom error message that is displayed when a form is submitted. */ setCustomValidity(error: string): void; + /** + * Highlights the input area of a form element. + */ + select(): void; + setRangeText(replacement: string): void; + setRangeText(replacement: string, start: number, end: number, selectionMode?: SelectionMode): void; /** * 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. */ - setSelectionRange(start: number, end: number): void; - addEventListener(type: K, listener: (this: HTMLTextAreaElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; + setSelectionRange(start: number, end: number, direction?: string): void; + addEventListener(type: K, listener: (this: HTMLTextAreaElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTextAreaElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTextAreaElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } @@ -6836,352 +6239,392 @@ declare var HTMLTextAreaElement: { new(): HTMLTextAreaElement; }; -interface HTMLTimeElement extends HTMLElement { - dateTime: string; - addEventListener(type: K, listener: (this: HTMLTimeElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; +interface HTMLOutputElement extends HTMLElement { + readonly htmlFor: DOMTokenList; + readonly form: HTMLFormElement | null; + name: string; + readonly type: string; + defaultValue: string; + value: string; + readonly willValidate: boolean; + readonly validity: ValidityState; + readonly validationMessage: string; + readonly labels: NodeList; + checkValidity(): boolean; + reportValidity(): boolean; + setCustomValidity(error: string): void; + addEventListener(type: K, listener: (this: HTMLOutputElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLOutputElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLOutputElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLTimeElement: { - prototype: HTMLTimeElement; - new(): HTMLTimeElement; +declare var HTMLOutputElement: { + prototype: HTMLOutputElement; + new(): HTMLOutputElement; }; -interface HTMLTitleElement extends HTMLElement { +interface HTMLProgressElement extends HTMLElement { /** - * Retrieves or sets the text of the object as a string. + * Sets or gets the current value of a progress element. The value must be a non-negative number between 0 and the max value. */ - text: string; - addEventListener(type: K, listener: (this: HTMLTitleElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var HTMLTitleElement: { - prototype: HTMLTitleElement; - new(): HTMLTitleElement; -}; - -interface HTMLTrackElement extends HTMLElement { - default: boolean; - kind: string; - label: string; - readonly readyState: number; - src: string; - srclang: string; - readonly track: TextTrack; - readonly ERROR: number; - readonly LOADED: number; - readonly LOADING: number; - readonly NONE: number; - addEventListener(type: K, listener: (this: HTMLTrackElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var HTMLTrackElement: { - prototype: HTMLTrackElement; - new(): HTMLTrackElement; - readonly ERROR: number; - readonly LOADED: number; - readonly LOADING: number; - readonly NONE: number; -}; - -interface HTMLUListElement extends HTMLElement { - compact: boolean; - type: string; - addEventListener(type: K, listener: (this: HTMLUListElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; + value: number; + /** + * Defines the maximum, or "done" value for a progress element. + */ + max: number; + /** + * Returns the quotient of value/max when the value attribute is set (determinate progress bar), or -1 when the value attribute is missing (indeterminate progress bar). + */ + readonly position: number; + readonly labels: NodeList; + addEventListener(type: K, listener: (this: HTMLProgressElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLProgressElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLProgressElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLUListElement: { - prototype: HTMLUListElement; - new(): HTMLUListElement; +declare var HTMLProgressElement: { + prototype: HTMLProgressElement; + new(): HTMLProgressElement; }; -interface HTMLUnknownElement extends HTMLElement { - addEventListener(type: K, listener: (this: HTMLUnknownElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; +interface HTMLMeterElement extends HTMLElement { + value: number; + min: number; + max: number; + low: number; + high: number; + optimum: number; + readonly labels: NodeList; + addEventListener(type: K, listener: (this: HTMLMeterElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLMeterElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLMeterElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLUnknownElement: { - prototype: HTMLUnknownElement; - new(): HTMLUnknownElement; +declare var HTMLMeterElement: { + prototype: HTMLMeterElement; + new(): HTMLMeterElement; }; -interface HTMLVideoElementEventMap extends HTMLMediaElementEventMap { - "MSVideoFormatChanged": Event; - "MSVideoFrameStepCompleted": Event; - "MSVideoOptimalLayoutChanged": Event; -} - -interface HTMLVideoElement extends HTMLMediaElement { +interface HTMLFieldSetElement extends HTMLElement { + disabled: boolean; /** - * Gets or sets the height of the video element. + * Retrieves a reference to the form that the object is embedded in. */ - height: number; - msHorizontalMirror: boolean; - readonly msIsLayoutOptimalForPlayback: boolean; - readonly msIsStereo3D: boolean; - msStereo3DPackingMode: string; - msStereo3DRenderMode: string; - msZoom: boolean; - onMSVideoFormatChanged: (this: HTMLVideoElement, ev: Event) => any; - onMSVideoFrameStepCompleted: (this: HTMLVideoElement, ev: Event) => any; - onMSVideoOptimalLayoutChanged: (this: HTMLVideoElement, ev: Event) => any; + readonly form: HTMLFormElement | null; + name: string; + readonly type: string; + readonly elements: HTMLCollection; /** - * Gets or sets a URL of an image to display, for example, like a movie poster. This can be a still frame from the video, or another image if no video data is available. + * Returns whether an element will successfully validate based on forms validation rules and constraints. */ - poster: string; + readonly willValidate: boolean; /** - * Gets the intrinsic height of a video in CSS pixels, or zero if the dimensions are not known. + * Returns a ValidityState object that represents the validity states of an element. */ - readonly videoHeight: number; + readonly validity: ValidityState; /** - * Gets the intrinsic width of a video in CSS pixels, or zero if the dimensions are not known. + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. */ - readonly videoWidth: number; - readonly webkitDisplayingFullscreen: boolean; - readonly webkitSupportsFullscreen: boolean; + readonly validationMessage: string; /** - * Gets or sets the width of the video element. + * Returns whether a form will validate when it is submitted, without having to submit it. */ - width: number; - getVideoPlaybackQuality(): VideoPlaybackQuality; - msFrameStep(forward: boolean): void; - msInsertVideoEffect(activatableClassId: string, effectRequired: boolean, config?: any): void; - msSetVideoRectangle(left: number, top: number, right: number, bottom: number): void; - webkitEnterFullscreen(): void; - webkitEnterFullScreen(): void; - webkitExitFullscreen(): void; - webkitExitFullScreen(): void; - addEventListener(type: K, listener: (this: HTMLVideoElement, ev: HTMLVideoElementEventMap[K]) => any, useCapture?: boolean): void; + checkValidity(): boolean; + reportValidity(): boolean; + /** + * Sets a custom error message that is displayed when a form is submitted. + * @param error Sets a custom error message that is displayed when a form is submitted. + */ + setCustomValidity(error: string): void; + addEventListener(type: K, listener: (this: HTMLFieldSetElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLFieldSetElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLFieldSetElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLVideoElement: { - prototype: HTMLVideoElement; - new(): HTMLVideoElement; +declare var HTMLFieldSetElement: { + prototype: HTMLFieldSetElement; + new(): HTMLFieldSetElement; }; -interface IDBCursor { - readonly direction: IDBCursorDirection; - key: IDBKeyRange | IDBValidKey; - readonly primaryKey: any; - source: IDBObjectStore | IDBIndex; - advance(count: number): void; - continue(key?: IDBKeyRange | IDBValidKey): void; - delete(): IDBRequest; - update(value: any): IDBRequest; - readonly NEXT: string; - readonly NEXT_NO_DUPLICATE: string; - readonly PREV: string; - readonly PREV_NO_DUPLICATE: string; +interface HTMLLegendElement extends HTMLElement { + /** + * Retrieves a reference to the form that the object is embedded in. + */ + readonly form: HTMLFormElement | null; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + align: string; + addEventListener(type: K, listener: (this: HTMLLegendElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLLegendElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLLegendElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var IDBCursor: { - prototype: IDBCursor; - new(): IDBCursor; - readonly NEXT: string; - readonly NEXT_NO_DUPLICATE: string; - readonly PREV: string; - readonly PREV_NO_DUPLICATE: string; +declare var HTMLLegendElement: { + prototype: HTMLLegendElement; + new(): HTMLLegendElement; }; -interface IDBCursorWithValue extends IDBCursor { - readonly value: any; +interface ValidityState { + readonly valueMissing: boolean; + readonly typeMismatch: boolean; + readonly patternMismatch: boolean; + readonly tooLong: boolean; + readonly tooShort: boolean; + readonly rangeUnderflow: boolean; + readonly rangeOverflow: boolean; + readonly stepMismatch: boolean; + readonly badInput: boolean; + readonly customError: boolean; + readonly valid: boolean; + readonly tooShort: boolean; } -declare var IDBCursorWithValue: { - prototype: IDBCursorWithValue; - new(): IDBCursorWithValue; +declare var ValidityState: { + prototype: ValidityState; + new(): ValidityState; }; -interface IDBDatabaseEventMap { - "abort": Event; - "error": Event; -} - -interface IDBDatabase extends EventTarget { - readonly name: string; - readonly objectStoreNames: DOMStringList; - onabort: (this: IDBDatabase, ev: Event) => any; - onerror: (this: IDBDatabase, ev: Event) => any; - version: number; - onversionchange: (ev: IDBVersionChangeEvent) => any; - close(): void; - createObjectStore(name: string, optionalParameters?: IDBObjectStoreParameters): IDBObjectStore; - deleteObjectStore(name: string): void; - transaction(storeNames: string | string[], mode?: IDBTransactionMode): IDBTransaction; - addEventListener(type: "versionchange", listener: (ev: IDBVersionChangeEvent) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, useCapture?: boolean): void; +interface HTMLDetailsElement extends HTMLElement { + open: boolean; + addEventListener(type: K, listener: (this: HTMLDetailsElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLDetailsElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLDetailsElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var IDBDatabase: { - prototype: IDBDatabase; - new(): IDBDatabase; +declare var HTMLDetailsElement: { + prototype: HTMLDetailsElement; + new(): HTMLDetailsElement; }; -interface IDBFactory { - cmp(first: any, second: any): number; - deleteDatabase(name: string): IDBOpenDBRequest; - open(name: string, version?: number): IDBOpenDBRequest; +interface HTMLMenuElement extends HTMLElement { + type: string; + label: string; + compact: boolean; + addEventListener(type: K, listener: (this: HTMLMenuElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLMenuElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLMenuElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var IDBFactory: { - prototype: IDBFactory; - new(): IDBFactory; +declare var HTMLMenuElement: { + prototype: HTMLMenuElement; + new(): HTMLMenuElement; }; -interface IDBIndex { - keyPath: string | string[]; - readonly name: string; - readonly objectStore: IDBObjectStore; - readonly unique: boolean; - multiEntry: boolean; - count(key?: IDBKeyRange | IDBValidKey): IDBRequest; - get(key: IDBKeyRange | IDBValidKey): IDBRequest; - getKey(key: IDBKeyRange | IDBValidKey): IDBRequest; - openCursor(range?: IDBKeyRange | IDBValidKey, direction?: IDBCursorDirection): IDBRequest; - openKeyCursor(range?: IDBKeyRange | IDBValidKey, direction?: IDBCursorDirection): IDBRequest; +interface HTMLMenuItemElement extends HTMLElement { + type: string; + label: string; + icon: string; + disabled: boolean; + checked: boolean; + radiogroup: string; + default: boolean; + addEventListener(type: K, listener: (this: HTMLMenuItemElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLMenuItemElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLMenuItemElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var IDBIndex: { - prototype: IDBIndex; - new(): IDBIndex; +declare var HTMLMenuItemElement: { + prototype: HTMLMenuItemElement; + new(): HTMLMenuItemElement; }; -interface IDBKeyRange { - readonly lower: any; - readonly lowerOpen: boolean; - readonly upper: any; - readonly upperOpen: boolean; +interface RelatedEvent extends Event { + readonly relatedTarget: EventTarget | null; } -declare var IDBKeyRange: { - prototype: IDBKeyRange; - new(): IDBKeyRange; - bound(lower: any, upper: any, lowerOpen?: boolean, upperOpen?: boolean): IDBKeyRange; - lowerBound(lower: any, open?: boolean): IDBKeyRange; - only(value: any): IDBKeyRange; - upperBound(upper: any, open?: boolean): IDBKeyRange; +declare var RelatedEvent: { + prototype: RelatedEvent; + new(type: string, eventInitDict?: RelatedEventInit): RelatedEvent; }; -interface IDBObjectStore { - readonly indexNames: DOMStringList; - keyPath: string | string[]; - readonly name: string; - readonly transaction: IDBTransaction; - autoIncrement: boolean; - add(value: any, key?: IDBKeyRange | IDBValidKey): IDBRequest; - clear(): IDBRequest; - count(key?: IDBKeyRange | IDBValidKey): IDBRequest; - createIndex(name: string, keyPath: string | string[], optionalParameters?: IDBIndexParameters): IDBIndex; - delete(key: IDBKeyRange | IDBValidKey): IDBRequest; - deleteIndex(indexName: string): void; - get(key: any): IDBRequest; - index(name: string): IDBIndex; - openCursor(range?: IDBKeyRange | IDBValidKey, direction?: IDBCursorDirection): IDBRequest; - put(value: any, key?: IDBKeyRange | IDBValidKey): IDBRequest; +interface HTMLDialogElement extends HTMLElement { + open: boolean; + returnValue: string; + show(): void; + showModal(): void; + close(returnValue?: string): void; + addEventListener(type: K, listener: (this: HTMLDialogElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLDialogElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLDialogElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var IDBObjectStore: { - prototype: IDBObjectStore; - new(): IDBObjectStore; +declare var HTMLDialogElement: { + prototype: HTMLDialogElement; + new(): HTMLDialogElement; }; -interface IDBOpenDBRequestEventMap extends IDBRequestEventMap { - "blocked": Event; - "upgradeneeded": IDBVersionChangeEvent; +interface HTMLScriptElement extends HTMLElement { + /** + * Retrieves the URL to an external file that contains the source code or data. + */ + src: string; + /** + * Sets or retrieves the MIME type for the associated scripting engine. + */ + type: string; + noModule: boolean; + /** + * Sets or retrieves the character set used to encode the object. + */ + charset: string; + async: boolean; + /** + * Sets or retrieves the status of the script. + */ + defer: boolean; + crossOrigin: string | null; + /** + * Retrieves or sets the text of the object as a string. + */ + text: string; + nonce: string; + integrity: string; + /** + * Sets or retrieves the event for which the script is written. + */ + event: string; + /** + * Sets or retrieves the object that is bound to the event script. + */ + htmlFor: string; + addEventListener(type: K, listener: (this: HTMLScriptElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLScriptElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLScriptElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -interface IDBOpenDBRequest extends IDBRequest { - onblocked: (this: IDBOpenDBRequest, ev: Event) => any; - onupgradeneeded: (this: IDBOpenDBRequest, ev: IDBVersionChangeEvent) => any; - addEventListener(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, useCapture?: boolean): void; +declare var HTMLScriptElement: { + prototype: HTMLScriptElement; + new(): HTMLScriptElement; +}; + +interface HTMLTemplateElement extends HTMLElement { + readonly content: DocumentFragment; + addEventListener(type: K, listener: (this: HTMLTemplateElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTemplateElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTemplateElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var IDBOpenDBRequest: { - prototype: IDBOpenDBRequest; - new(): IDBOpenDBRequest; +declare var HTMLTemplateElement: { + prototype: HTMLTemplateElement; + new(): HTMLTemplateElement; }; -interface IDBRequestEventMap { - "error": Event; - "success": Event; +interface HTMLSlotElement extends HTMLElement { + name: string; + assignedNodes(options?: AssignedNodesOptions): Node[]; + addEventListener(type: K, listener: (this: HTMLSlotElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLSlotElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLSlotElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -interface IDBRequest extends EventTarget { - readonly error: DOMException; - onerror: (this: IDBRequest, ev: Event) => any; - onsuccess: (this: IDBRequest, ev: Event) => any; - readonly readyState: IDBRequestReadyState; - readonly result: any; - source: IDBObjectStore | IDBIndex | IDBCursor; - readonly transaction: IDBTransaction; - addEventListener(type: K, listener: (this: IDBRequest, ev: IDBRequestEventMap[K]) => any, useCapture?: boolean): void; +declare var HTMLSlotElement: { + prototype: HTMLSlotElement; + new(): HTMLSlotElement; +}; + +interface HTMLCanvasElement extends HTMLElement { + /** + * Gets or sets the width of a canvas element on a document. + */ + width: number; + /** + * Gets or sets the height of a canvas element on a document. + */ + height: number; + /** + * Returns an object that provides methods and properties for drawing and manipulating images and graphics on a canvas element in a document. A context object includes information about colors, line widths, fonts, and other graphic parameters that can be drawn on a canvas. + * @param contextId The identifier (ID) of the type of canvas to create. Internet Explorer 9 and Internet Explorer 10 support only a 2-D context using canvas.getContext("2d"); IE11 Preview also supports 3-D or WebGL context using canvas.getContext("experimental-webgl"); + */ + getContext(contextId: "2d", contextAttributes?: Canvas2DContextAttributes): CanvasRenderingContext2D | null; + getContext(contextId: "webgl" | "experimental-webgl", contextAttributes?: WebGLContextAttributes): WebGLRenderingContext | null; + getContext(contextId: string, contextAttributes?: {}): CanvasRenderingContext2D | WebGLRenderingContext | null; + /** + * Returns the content of the current canvas as an image that you can use as a source for another canvas or an HTML element. + * @param type The standard MIME type for the image format to return. If you do not specify this parameter, the default value is a PNG format image. + */ + toDataURL(type?: string, quality?: any): string; + toBlob(callback: BlobCallback, type?: string, quality?: any): void; + transferControlToOffscreen(): OffscreenCanvas; + toBlob(callback: (result: Blob | null) => void, type?: string, ...arguments: any[]): void; + addEventListener(type: K, listener: (this: HTMLCanvasElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLCanvasElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLCanvasElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var IDBRequest: { - prototype: IDBRequest; - new(): IDBRequest; +declare var HTMLCanvasElement: { + prototype: HTMLCanvasElement; + new(): HTMLCanvasElement; }; -interface IDBTransactionEventMap { - "abort": Event; - "complete": Event; - "error": Event; +interface CanvasRenderingContext2D extends Object, CanvasState, CanvasTransform, CanvasCompositing, CanvasImageSmoothing, CanvasFillStrokeStyles, CanvasShadowStyles, CanvasFilters, CanvasRect, CanvasDrawPath, CanvasUserInterface, CanvasText, CanvasDrawImage, CanvasImageData, CanvasPathDrawingStyles, CanvasTextDrawingStyles, CanvasPath { + readonly canvas: HTMLCanvasElement; + mozImageSmoothingEnabled: boolean; + webkitImageSmoothingEnabled: boolean; + oImageSmoothingEnabled: boolean; } -interface IDBTransaction extends EventTarget { - readonly db: IDBDatabase; - readonly error: DOMException; - readonly mode: IDBTransactionMode; - onabort: (this: IDBTransaction, ev: Event) => any; - oncomplete: (this: IDBTransaction, ev: Event) => any; - onerror: (this: IDBTransaction, ev: Event) => any; - abort(): void; - objectStore(name: string): IDBObjectStore; - readonly READ_ONLY: string; - readonly READ_WRITE: string; - readonly VERSION_CHANGE: string; - addEventListener(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare var CanvasRenderingContext2D: { + prototype: CanvasRenderingContext2D; + new(): CanvasRenderingContext2D; +}; + +interface CanvasGradient { + addColorStop(offset: number, color: string): void; } -declare var IDBTransaction: { - prototype: IDBTransaction; - new(): IDBTransaction; - readonly READ_ONLY: string; - readonly READ_WRITE: string; - readonly VERSION_CHANGE: string; +declare var CanvasGradient: { + prototype: CanvasGradient; + new(): CanvasGradient; }; -interface IDBVersionChangeEvent extends Event { - readonly newVersion: number | null; - readonly oldVersion: number; +interface CanvasPattern { + setTransform(transform?: DOMMatrixInit): void; + setTransform(matrix: SVGMatrix): void; } -declare var IDBVersionChangeEvent: { - prototype: IDBVersionChangeEvent; - new(): IDBVersionChangeEvent; +declare var CanvasPattern: { + prototype: CanvasPattern; + new(): CanvasPattern; }; -interface IIRFilterNode extends AudioNode { - getFrequencyResponse(frequencyHz: Float32Array, magResponse: Float32Array, phaseResponse: Float32Array): void; +interface TextMetrics { + readonly width: number; + readonly actualBoundingBoxLeft: number; + readonly actualBoundingBoxRight: number; + readonly fontBoundingBoxAscent: number; + readonly fontBoundingBoxDescent: number; + readonly actualBoundingBoxAscent: number; + readonly actualBoundingBoxDescent: number; + readonly emHeightAscent: number; + readonly emHeightDescent: number; + readonly hangingBaseline: number; + readonly alphabeticBaseline: number; + readonly ideographicBaseline: number; } -declare var IIRFilterNode: { - prototype: IIRFilterNode; - new(): IIRFilterNode; +declare var TextMetrics: { + prototype: TextMetrics; + new(): TextMetrics; }; interface ImageData { - data: Uint8ClampedArray; - readonly height: number; readonly width: number; + readonly height: number; + data: Uint8ClampedArray; } declare var ImageData: { @@ -7190,411 +6633,439 @@ declare var ImageData: { new(array: Uint8ClampedArray, width: number, height: number): ImageData; }; -interface IntersectionObserver { - readonly root: Element | null; - readonly rootMargin: string; - readonly thresholds: number[]; - disconnect(): void; - observe(target: Element): void; - takeRecords(): IntersectionObserverEntry[]; - unobserve(target: Element): void; -} - -declare var IntersectionObserver: { - prototype: IntersectionObserver; - new(callback: IntersectionObserverCallback, options?: IntersectionObserverInit): IntersectionObserver; -}; - -interface IntersectionObserverEntry { - readonly boundingClientRect: ClientRect; - readonly intersectionRatio: number; - readonly intersectionRect: ClientRect; - readonly rootBounds: ClientRect; - readonly target: Element; - readonly time: number; - readonly isIntersecting: boolean; +interface Path2D extends Object, CanvasPath { + addPath(path: Path2D, transform?: DOMMatrixInit): void; } -declare var IntersectionObserverEntry: { - prototype: IntersectionObserverEntry; - new(intersectionObserverEntryInit: IntersectionObserverEntryInit): IntersectionObserverEntry; +declare var Path2D: { + prototype: Path2D; + new(): Path2D; + new(path: Path2D): Path2D; + new(paths: Path2D[], fillRule?: CanvasFillRule): Path2D; + new(d: string): Path2D; }; -interface KeyboardEvent extends UIEvent { - readonly altKey: boolean; - readonly char: string | null; - readonly charCode: number; - readonly ctrlKey: boolean; - readonly key: string; - readonly keyCode: number; - readonly locale: string; - readonly location: number; - readonly metaKey: boolean; - readonly repeat: boolean; - readonly shiftKey: boolean; - readonly which: number; - readonly code: string; - getModifierState(keyArg: string): boolean; - initKeyboardEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, keyArg: string, locationArg: number, modifiersListArg: string, repeat: boolean, locale: string): void; - readonly DOM_KEY_LOCATION_JOYSTICK: number; - readonly DOM_KEY_LOCATION_LEFT: number; - readonly DOM_KEY_LOCATION_MOBILE: number; - readonly DOM_KEY_LOCATION_NUMPAD: number; - readonly DOM_KEY_LOCATION_RIGHT: number; - readonly DOM_KEY_LOCATION_STANDARD: number; +interface ImageBitmapRenderingContext { + readonly canvas: HTMLCanvasElement; + transferFromImageBitmap(bitmap: ImageBitmap | null): void; } -declare var KeyboardEvent: { - prototype: KeyboardEvent; - new(typeArg: string, eventInitDict?: KeyboardEventInit): KeyboardEvent; - readonly DOM_KEY_LOCATION_JOYSTICK: number; - readonly DOM_KEY_LOCATION_LEFT: number; - readonly DOM_KEY_LOCATION_MOBILE: number; - readonly DOM_KEY_LOCATION_NUMPAD: number; - readonly DOM_KEY_LOCATION_RIGHT: number; - readonly DOM_KEY_LOCATION_STANDARD: number; +declare var ImageBitmapRenderingContext: { + prototype: ImageBitmapRenderingContext; + new(): ImageBitmapRenderingContext; }; -interface ListeningStateChangedEvent extends Event { - readonly label: string; - readonly state: ListeningState; +interface OffscreenCanvas extends EventTarget { + width: number; + height: number; + getContext(contextType: OffscreenRenderingContextType, ...arguments: any[]): OffscreenRenderingContext | null; + transferToImageBitmap(): ImageBitmap; + convertToBlob(options?: ImageEncodeOptions): Promise; } -declare var ListeningStateChangedEvent: { - prototype: ListeningStateChangedEvent; - new(): ListeningStateChangedEvent; +declare var OffscreenCanvas: { + prototype: OffscreenCanvas; + new(width: number, height: number): OffscreenCanvas; }; -interface Location { - hash: string; - host: string; - hostname: string; - href: string; - readonly origin: string; - pathname: string; - port: string; - protocol: string; - search: string; - assign(url: string): void; - reload(forcedReload?: boolean): void; - replace(url: string): void; - toString(): string; +interface OffscreenCanvasRenderingContext2D extends Object, CanvasState, CanvasTransform, CanvasCompositing, CanvasImageSmoothing, CanvasFillStrokeStyles, CanvasShadowStyles, CanvasFilters, CanvasRect, CanvasDrawPath, CanvasDrawImage, CanvasImageData, CanvasPathDrawingStyles, CanvasPath { + readonly canvas: OffscreenCanvas; + commit(): void; } -declare var Location: { - prototype: Location; - new(): Location; +declare var OffscreenCanvasRenderingContext2D: { + prototype: OffscreenCanvasRenderingContext2D; + new(): OffscreenCanvasRenderingContext2D; }; -interface LongRunningScriptDetectedEvent extends Event { - readonly executionTime: number; - stopPageScriptExecution: boolean; +interface CustomElementRegistry { + define(name: string, constructor: Function, options?: ElementDefinitionOptions): void; + get(name: string): any; + whenDefined(name: string): Promise; } -declare var LongRunningScriptDetectedEvent: { - prototype: LongRunningScriptDetectedEvent; - new(): LongRunningScriptDetectedEvent; +declare var CustomElementRegistry: { + prototype: CustomElementRegistry; + new(): CustomElementRegistry; }; -interface MediaDeviceInfo { - readonly deviceId: string; - readonly groupId: string; - readonly kind: MediaDeviceKind; - readonly label: string; +interface DataTransfer { + dropEffect: string; + effectAllowed: string; + readonly items: DataTransferItemList; + readonly types: string[]; + readonly files: FileList; + setDragImage(image: Element, x: number, y: number): void; + getData(format: string): string; + setData(format: string, data: string): void; + clearData(format?: string): void; } -declare var MediaDeviceInfo: { - prototype: MediaDeviceInfo; - new(): MediaDeviceInfo; +declare var DataTransfer: { + prototype: DataTransfer; + new(): DataTransfer; }; -interface MediaDevicesEventMap { - "devicechange": Event; -} - -interface MediaDevices extends EventTarget { - ondevicechange: (this: MediaDevices, ev: Event) => any; - enumerateDevices(): Promise; - getSupportedConstraints(): MediaTrackSupportedConstraints; - getUserMedia(constraints: MediaStreamConstraints): Promise; - addEventListener(type: K, listener: (this: MediaDevices, ev: MediaDevicesEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface DataTransferItemList { + readonly length: number; + add(data: string, type: string): DataTransferItem | null; + add(data: File): DataTransferItem | null; + remove(index: number): void; + clear(): void; + [index: number]: DataTransferItem; } -declare var MediaDevices: { - prototype: MediaDevices; - new(): MediaDevices; +declare var DataTransferItemList: { + prototype: DataTransferItemList; + new(): DataTransferItemList; }; -interface MediaElementAudioSourceNode extends AudioNode { +interface DataTransferItem { + readonly kind: string; + readonly type: string; + getAsString(callback: FunctionStringCallback | null): void; + getAsFile(): File | null; } -declare var MediaElementAudioSourceNode: { - prototype: MediaElementAudioSourceNode; - new(): MediaElementAudioSourceNode; +declare var DataTransferItem: { + prototype: DataTransferItem; + new(): DataTransferItem; }; -interface MediaEncryptedEvent extends Event { - readonly initData: ArrayBuffer | null; - readonly initDataType: string; +interface DragEvent extends MouseEvent { + readonly dataTransfer: DataTransfer | null; } -declare var MediaEncryptedEvent: { - prototype: MediaEncryptedEvent; - new(type: string, eventInitDict?: MediaEncryptedEventInit): MediaEncryptedEvent; +declare var DragEvent: { + prototype: DragEvent; + new(type: "drag" | "dragend" | "dragenter" | "dragexit" | "dragleave" | "dragover" | "dragstart" | "drop", dragEventInit?: { dataTransfer?: DataTransfer }): DragEvent; }; -interface MediaError { - readonly code: number; - readonly msExtendedCode: number; - readonly MEDIA_ERR_ABORTED: number; - readonly MEDIA_ERR_DECODE: number; - readonly MEDIA_ERR_NETWORK: number; - readonly MEDIA_ERR_SRC_NOT_SUPPORTED: number; - readonly MS_MEDIA_ERR_ENCRYPTED: number; +interface WindowEventMap extends GlobalEventHandlersEventMap, WindowEventHandlersEventMap { + "deviceorientation": Event; + "devicemotion": Event; } -declare var MediaError: { - prototype: MediaError; - new(): MediaError; - readonly MEDIA_ERR_ABORTED: number; - readonly MEDIA_ERR_DECODE: number; - readonly MEDIA_ERR_NETWORK: number; - readonly MEDIA_ERR_SRC_NOT_SUPPORTED: number; - readonly MS_MEDIA_ERR_ENCRYPTED: number; -}; - -interface MediaKeyMessageEvent extends Event { - readonly message: ArrayBuffer; - readonly messageType: MediaKeyMessageType; +interface Window extends EventTarget, GlobalEventHandlers, WindowEventHandlers, WindowOrWorkerGlobalScope, WindowSessionStorage, WindowLocalStorage, GlobalPerformance, IDBEnvironment, GlobalCrypto, SpeechSynthesisGetter { + readonly window: any; + readonly self: any; + readonly document: Document; + name: string; + readonly location: Location; + readonly history: History; + readonly customElements: CustomElementRegistry; + readonly locationbar: BarProp; + readonly menubar: BarProp; + readonly personalbar: BarProp; + readonly scrollbars: BarProp; + readonly statusbar: BarProp; + readonly toolbar: BarProp; + status: string; + readonly closed: boolean; + readonly frames: any; + readonly length: number; + readonly top: any; + opener: any; + readonly parent: any; + readonly frameElement: Element | null; + readonly navigator: Navigator; + readonly applicationCache: ApplicationCache; + readonly external: External; + readonly screen: Screen; + readonly innerWidth: number; + readonly innerHeight: number; + readonly scrollX: number; + readonly pageXOffset: number; + readonly scrollY: number; + readonly pageYOffset: number; + readonly screenX: number; + readonly screenY: number; + readonly outerWidth: number; + readonly outerHeight: number; + readonly devicePixelRatio: number; + ondeviceorientation: (this: Window, ev: Event) => any; + ondevicemotion: (this: Window, ev: Event) => any; + readonly audioWorklet: Worklet; + URLSearchParams: typeof URLSearchParams; + Blob: typeof Blob; + close(): void; + stop(): void; + focus(): void; + blur(): void; + open(url?: string, target?: string, features?: string, replace?: boolean): Window; + alert(message?: any): void; + alert(message?: any): void; + confirm(message?: string): boolean; + prompt(message?: string, _default?: string): string | null; + print(): void; + requestAnimationFrame(callback: FrameRequestCallback): number; + cancelAnimationFrame(handle: number): void; + postMessage(message: any, targetOrigin: string, transfer?: any[]): void; + captureEvents(): void; + releaseEvents(): void; + getComputedStyle(elt: Element, pseudoElt?: string): CSSStyleDeclaration; + matchMedia(query: string): MediaQueryList; + moveTo(x: number, y: number): void; + moveBy(x: number, y: number): void; + resizeTo(x: number, y: number): void; + resizeBy(x: number, y: number): void; + scroll(options?: ScrollToOptions): void; + scroll(x: number, y: number): void; + scrollTo(options?: ScrollToOptions): void; + scrollTo(x: number, y: number): void; + scrollBy(options?: ScrollToOptions): void; + scrollBy(x: number, y: number): void; + getSelection(): Selection | null; + createImageBitmap(image: HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | ImageData | Blob, options?: ImageBitmapOptions): Promise; + createImageBitmap(image: HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | ImageData | Blob, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise; + addEventListener(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var MediaKeyMessageEvent: { - prototype: MediaKeyMessageEvent; - new(type: string, eventInitDict?: MediaKeyMessageEventInit): MediaKeyMessageEvent; +declare var Window: { + prototype: Window; + new(): Window; }; -interface MediaKeys { - createSession(sessionType?: MediaKeySessionType): MediaKeySession; - setServerCertificate(serverCertificate: any): Promise; +interface BarProp { + readonly visible: boolean; } -declare var MediaKeys: { - prototype: MediaKeys; - new(): MediaKeys; +declare var BarProp: { + prototype: BarProp; + new(): BarProp; }; -interface MediaKeySession extends EventTarget { - readonly closed: Promise; - readonly expiration: number; - readonly keyStatuses: MediaKeyStatusMap; - readonly sessionId: string; - close(): Promise; - generateRequest(initDataType: string, initData: any): Promise; - load(sessionId: string): Promise; - remove(): Promise; - update(response: any): Promise; +interface History { + readonly length: number; + scrollRestoration: ScrollRestoration; + readonly state: any; + go(delta?: number): void; + back(): void; + forward(): void; + pushState(data: any, title: string, url?: string | null): void; + replaceState(data: any, title: string, url?: string | null): void; } -declare var MediaKeySession: { - prototype: MediaKeySession; - new(): MediaKeySession; +declare var History: { + prototype: History; + new(): History; }; -interface MediaKeyStatusMap { - readonly size: number; - forEach(callback: ForEachCallback): void; - get(keyId: any): MediaKeyStatus; - has(keyId: any): boolean; +interface Location { + href: string; + readonly origin: string; + protocol: string; + host: string; + hostname: string; + port: string; + pathname: string; + search: string; + hash: string; + readonly ancestorOrigins: DOMStringList; + assign(url: string): void; + replace(url: string): void; + reload(): void; } -declare var MediaKeyStatusMap: { - prototype: MediaKeyStatusMap; - new(): MediaKeyStatusMap; +declare var Location: { + prototype: Location; + new(): Location; }; -interface MediaKeySystemAccess { - readonly keySystem: string; - createMediaKeys(): Promise; - getConfiguration(): MediaKeySystemConfiguration; +interface PopStateEvent extends Event { + readonly state: any; } -declare var MediaKeySystemAccess: { - prototype: MediaKeySystemAccess; - new(): MediaKeySystemAccess; +declare var PopStateEvent: { + prototype: PopStateEvent; + new(type: string, eventInitDict?: PopStateEventInit): PopStateEvent; }; -interface MediaList { - readonly length: number; - mediaText: string; - appendMedium(newMedium: string): void; - deleteMedium(oldMedium: string): void; - item(index: number): string; - toString(): string; - [index: number]: string; +interface HashChangeEvent extends Event { + readonly oldURL: string; + readonly newURL: string; } -declare var MediaList: { - prototype: MediaList; - new(): MediaList; +declare var HashChangeEvent: { + prototype: HashChangeEvent; + new(type: string, eventInitDict?: HashChangeEventInit): HashChangeEvent; }; -interface MediaQueryList { - readonly matches: boolean; - readonly media: string; - addListener(listener: MediaQueryListListener): void; - removeListener(listener: MediaQueryListListener): void; +interface PageTransitionEvent extends Event { + readonly persisted: boolean; } -declare var MediaQueryList: { - prototype: MediaQueryList; - new(): MediaQueryList; +declare var PageTransitionEvent: { + prototype: PageTransitionEvent; + new(type: string, eventInitDict?: PageTransitionEventInit): PageTransitionEvent; }; -interface MediaSource extends EventTarget { - readonly activeSourceBuffers: SourceBufferList; - duration: number; - readonly readyState: string; - readonly sourceBuffers: SourceBufferList; - addSourceBuffer(type: string): SourceBuffer; - endOfStream(error?: number): void; - removeSourceBuffer(sourceBuffer: SourceBuffer): void; +interface BeforeUnloadEvent extends Event { + returnValue: any; } -declare var MediaSource: { - prototype: MediaSource; - new(): MediaSource; - isTypeSupported(type: string): boolean; +declare var BeforeUnloadEvent: { + prototype: BeforeUnloadEvent; + new(): BeforeUnloadEvent; }; -interface MediaStreamEventMap { - "active": Event; - "addtrack": MediaStreamTrackEvent; - "inactive": Event; - "removetrack": MediaStreamTrackEvent; +interface ApplicationCacheEventMap { + "checking": Event; + "error": ErrorEvent; + "noupdate": Event; + "downloading": Event; + "progress": ProgressEvent; + "updateready": Event; + "cached": Event; + "obsolete": Event; } -interface MediaStream extends EventTarget { - readonly active: boolean; - readonly id: string; - onactive: (this: MediaStream, ev: Event) => any; - onaddtrack: (this: MediaStream, ev: MediaStreamTrackEvent) => any; - oninactive: (this: MediaStream, ev: Event) => any; - onremovetrack: (this: MediaStream, ev: MediaStreamTrackEvent) => any; - addTrack(track: MediaStreamTrack): void; - clone(): MediaStream; - getAudioTracks(): MediaStreamTrack[]; - getTrackById(trackId: string): MediaStreamTrack | null; - getTracks(): MediaStreamTrack[]; - getVideoTracks(): MediaStreamTrack[]; - removeTrack(track: MediaStreamTrack): void; - stop(): void; - addEventListener(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, useCapture?: boolean): void; +interface ApplicationCache extends EventTarget { + readonly status: number; + onchecking: (this: ApplicationCache, ev: Event) => any; + onerror: (this: ApplicationCache, ev: ErrorEvent) => any; + onnoupdate: (this: ApplicationCache, ev: Event) => any; + ondownloading: (this: ApplicationCache, ev: Event) => any; + onprogress: (this: ApplicationCache, ev: ProgressEvent) => any; + onupdateready: (this: ApplicationCache, ev: Event) => any; + oncached: (this: ApplicationCache, ev: Event) => any; + onobsolete: (this: ApplicationCache, ev: Event) => any; + update(): void; + abort(): void; + swapCache(): void; + readonly UNCACHED: number; + readonly IDLE: number; + readonly CHECKING: number; + readonly DOWNLOADING: number; + readonly UPDATEREADY: number; + readonly OBSOLETE: number; + addEventListener(type: K, listener: (this: ApplicationCache, ev: ApplicationCacheEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var MediaStream: { - prototype: MediaStream; - new(streamOrTracks?: MediaStream | MediaStreamTrack[]): MediaStream; +declare var ApplicationCache: { + prototype: ApplicationCache; + new(): ApplicationCache; + readonly UNCACHED: number; + readonly IDLE: number; + readonly CHECKING: number; + readonly DOWNLOADING: number; + readonly UPDATEREADY: number; + readonly OBSOLETE: number; }; -interface MediaStreamAudioSourceNode extends AudioNode { +interface ErrorEvent extends Event { + readonly message: string; + readonly filename: string; + readonly lineno: number; + readonly colno: number; + readonly error: any; } -declare var MediaStreamAudioSourceNode: { - prototype: MediaStreamAudioSourceNode; - new(): MediaStreamAudioSourceNode; +declare var ErrorEvent: { + prototype: ErrorEvent; + new(type: string, errorEventInitDict?: ErrorEventInit): ErrorEvent; }; -interface MediaStreamError { - readonly constraintName: string | null; - readonly message: string | null; - readonly name: string; +interface PromiseRejectionEvent extends Event { + readonly promise: Promise; + readonly reason: any; } -declare var MediaStreamError: { - prototype: MediaStreamError; - new(): MediaStreamError; +declare var PromiseRejectionEvent: { + prototype: PromiseRejectionEvent; + new(type: string, eventInitDict: PromiseRejectionEventInit): PromiseRejectionEvent; }; -interface MediaStreamErrorEvent extends Event { - readonly error: MediaStreamError | null; +interface Navigator extends Object, NavigatorID, NavigatorLanguage, NavigatorOnLine, NavigatorContentUtils, NavigatorCookies, NavigatorPlugins, NavigatorConcurrentHardware, NavigatorUserMedia { + readonly geolocation: Geolocation; + readonly maxTouchPoints: number; + readonly serviceWorker: ServiceWorkerContainer; + readonly authentication: WebAuthentication; + readonly hardwareConcurrency: number; + readonly languages: string[]; + sendBeacon(url: string, data?: BodyInit): boolean; + requestMediaKeySystemAccess(keySystem: string, supportedConfigurations: MediaKeySystemConfiguration[]): Promise; + getGamepads(): any; + vibrate(pattern: number | number[]): boolean; } -declare var MediaStreamErrorEvent: { - prototype: MediaStreamErrorEvent; - new(typeArg: string, eventInitDict?: MediaStreamErrorEventInit): MediaStreamErrorEvent; +declare var Navigator: { + prototype: Navigator; + new(): Navigator; }; -interface MediaStreamEvent extends Event { - readonly stream: MediaStream | null; +interface PluginArray { + readonly length: number; + refresh(reload?: boolean): void; + item(index: number): Plugin | null; + namedItem(name: string): Plugin | null; + [index: number]: Plugin; } -declare var MediaStreamEvent: { - prototype: MediaStreamEvent; - new(type: string, eventInitDict: MediaStreamEventInit): MediaStreamEvent; +declare var PluginArray: { + prototype: PluginArray; + new(): PluginArray; }; -interface MediaStreamTrackEventMap { - "ended": MediaStreamErrorEvent; - "mute": Event; - "overconstrained": MediaStreamErrorEvent; - "unmute": Event; +interface MimeTypeArray { + readonly length: number; + item(index: number): MimeType | null; + namedItem(name: string): MimeType | null; + [index: number]: MimeType; } -interface MediaStreamTrack extends EventTarget { - enabled: boolean; - readonly id: string; - readonly kind: string; - readonly label: string; - readonly muted: boolean; - onended: (this: MediaStreamTrack, ev: MediaStreamErrorEvent) => any; - onmute: (this: MediaStreamTrack, ev: Event) => any; - onoverconstrained: (this: MediaStreamTrack, ev: MediaStreamErrorEvent) => any; - onunmute: (this: MediaStreamTrack, ev: Event) => any; - readonly readonly: boolean; - readonly readyState: MediaStreamTrackState; - readonly remote: boolean; - applyConstraints(constraints: MediaTrackConstraints): Promise; - clone(): MediaStreamTrack; - getCapabilities(): MediaTrackCapabilities; - getConstraints(): MediaTrackConstraints; - getSettings(): MediaTrackSettings; - stop(): void; - addEventListener(type: K, listener: (this: MediaStreamTrack, ev: MediaStreamTrackEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare var MimeTypeArray: { + prototype: MimeTypeArray; + new(): MimeTypeArray; +}; + +interface Plugin { + readonly name: string; + readonly description: string; + readonly filename: string; + readonly length: number; + item(index: number): MimeType | null; + namedItem(name: string): MimeType | null; + [index: number]: MimeType; } -declare var MediaStreamTrack: { - prototype: MediaStreamTrack; - new(): MediaStreamTrack; +declare var Plugin: { + prototype: Plugin; + new(): Plugin; }; -interface MediaStreamTrackEvent extends Event { - readonly track: MediaStreamTrack; +interface MimeType { + readonly type: string; + readonly description: string; + readonly suffixes: string; + readonly enabledPlugin: Plugin; } -declare var MediaStreamTrackEvent: { - prototype: MediaStreamTrackEvent; - new(typeArg: string, eventInitDict?: MediaStreamTrackEventInit): MediaStreamTrackEvent; +declare var MimeType: { + prototype: MimeType; + new(): MimeType; }; -interface MessageChannel { - readonly port1: MessagePort; - readonly port2: MessagePort; +interface ImageBitmap { + readonly width: number; + readonly height: number; + close(): void; } -declare var MessageChannel: { - prototype: MessageChannel; - new(): MessageChannel; +declare var ImageBitmap: { + prototype: ImageBitmap; + new(): ImageBitmap; }; interface MessageEvent extends Event { readonly data: any; readonly origin: string; - readonly ports: any; - readonly source: Window; - initMessageEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, dataArg: any, originArg: string, lastEventIdArg: string, sourceArg: Window): void; + readonly lastEventId: string; + readonly source: MessageEventSource | null; + readonly ports: ReadonlyArray; + initMessageEvent(type: string, bubbles?: boolean, cancelable?: boolean, data?: any, origin?: string, lastEventId?: string, source?: MessageEventSource, ports?: MessagePort[]): void; } declare var MessageEvent: { @@ -7602,1338 +7073,1122 @@ declare var MessageEvent: { new(type: string, eventInitDict?: MessageEventInit): MessageEvent; }; -interface MessagePortEventMap { +interface EventSourceEventMap { + "open": undefined; "message": MessageEvent; + "error": undefined; } -interface MessagePort extends EventTarget { - onmessage: (this: MessagePort, ev: MessageEvent) => any; +interface EventSource extends EventTarget { + readonly url: string; + readonly withCredentials: boolean; + readonly readyState: number; + onopen: (this: EventSource, ev: undefined) => any; + onmessage: (this: EventSource, ev: MessageEvent) => any; + onerror: (this: EventSource, ev: undefined) => any; close(): void; - postMessage(message?: any, transfer?: any[]): void; - start(): void; - addEventListener(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, useCapture?: boolean): void; + readonly CONNECTING: number; + readonly OPEN: number; + readonly CLOSED: number; + addEventListener(type: K, listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var MessagePort: { - prototype: MessagePort; - new(): MessagePort; -}; - -interface MimeType { - readonly description: string; - readonly enabledPlugin: Plugin; - readonly suffixes: string; - readonly type: string; -} - -declare var MimeType: { - prototype: MimeType; - new(): MimeType; -}; - -interface MimeTypeArray { - readonly length: number; - item(index: number): Plugin; - namedItem(type: string): Plugin; - [index: number]: Plugin; -} - -declare var MimeTypeArray: { - prototype: MimeTypeArray; - new(): MimeTypeArray; +declare var EventSource: { + prototype: EventSource; + new(url: string, eventSourceInitDict?: EventSourceInit): EventSource; + readonly CONNECTING: number; + readonly OPEN: number; + readonly CLOSED: number; }; -interface MouseEvent extends UIEvent { - readonly altKey: boolean; - readonly button: number; - readonly buttons: number; - readonly clientX: number; - readonly clientY: number; - readonly ctrlKey: boolean; - readonly fromElement: Element; - readonly layerX: number; - readonly layerY: number; - readonly metaKey: boolean; - readonly movementX: number; - readonly movementY: number; - readonly offsetX: number; - readonly offsetY: number; - readonly pageX: number; - readonly pageY: number; - readonly relatedTarget: EventTarget; - readonly screenX: number; - readonly screenY: number; - readonly shiftKey: boolean; - readonly toElement: Element; - readonly which: number; - readonly x: number; - readonly y: number; - getModifierState(keyArg: string): boolean; - initMouseEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, ctrlKeyArg: boolean, altKeyArg: boolean, shiftKeyArg: boolean, metaKeyArg: boolean, buttonArg: number, relatedTargetArg: EventTarget | null): void; -} - -declare var MouseEvent: { - prototype: MouseEvent; - new(typeArg: string, eventInitDict?: MouseEventInit): MouseEvent; -}; - -interface MSApp { - clearTemporaryWebDataAsync(): MSAppAsyncOperation; - createBlobFromRandomAccessStream(type: string, seeker: any): Blob; - createDataPackage(object: any): any; - createDataPackageFromSelection(): any; - createFileFromStorageFile(storageFile: any): File; - createStreamFromInputStream(type: string, inputStream: any): MSStream; - execAsyncAtPriority(asynchronousCallback: MSExecAtPriorityFunctionCallback, priority: string, ...args: any[]): void; - execAtPriority(synchronousCallback: MSExecAtPriorityFunctionCallback, priority: string, ...args: any[]): any; - getCurrentPriority(): string; - getHtmlPrintDocumentSourceAsync(htmlDoc: any): Promise; - getViewId(view: any): any; - isTaskScheduledAtPriorityOrHigher(priority: string): boolean; - pageHandlesAllApplicationActivations(enabled: boolean): void; - suppressSubdownloadCredentialPrompts(suppress: boolean): void; - terminateApp(exceptionObject: any): void; - readonly CURRENT: string; - readonly HIGH: string; - readonly IDLE: string; - readonly NORMAL: string; -} -declare var MSApp: MSApp; - -interface MSAppAsyncOperationEventMap { - "complete": Event; - "error": Event; +interface WebSocketEventMap { + "open": undefined; + "error": ErrorEvent; + "close": undefined; + "message": MessageEvent; } -interface MSAppAsyncOperation extends EventTarget { - readonly error: DOMError; - oncomplete: (this: MSAppAsyncOperation, ev: Event) => any; - onerror: (this: MSAppAsyncOperation, ev: Event) => any; +interface WebSocket extends EventTarget { + readonly url: string; readonly readyState: number; - readonly result: any; - start(): void; - readonly COMPLETED: number; - readonly ERROR: number; - readonly STARTED: number; - addEventListener(type: K, listener: (this: MSAppAsyncOperation, ev: MSAppAsyncOperationEventMap[K]) => any, useCapture?: boolean): void; + readonly bufferedAmount: number; + onopen: (this: WebSocket, ev: undefined) => any; + onerror: (this: WebSocket, ev: ErrorEvent) => any; + onclose: (this: WebSocket, ev: undefined) => any; + readonly extensions: string; + readonly protocol: string; + onmessage: (this: WebSocket, ev: MessageEvent) => any; + binaryType: BinaryType; + close(code?: number, reason?: string): void; + send(data: string): void; + send(data: Blob): void; + send(data: ArrayBuffer): void; + send(data: ArrayBufferView): void; + readonly CONNECTING: number; + readonly OPEN: number; + readonly CLOSING: number; + readonly CLOSED: number; + addEventListener(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var MSAppAsyncOperation: { - prototype: MSAppAsyncOperation; - new(): MSAppAsyncOperation; - readonly COMPLETED: number; - readonly ERROR: number; - readonly STARTED: number; +declare var WebSocket: { + prototype: WebSocket; + new(url: string, protocols?: string | string[]): WebSocket; + readonly CONNECTING: number; + readonly OPEN: number; + readonly CLOSING: number; + readonly CLOSED: number; }; -interface MSAssertion { - readonly id: string; - readonly type: MSCredentialType; +interface CloseEvent extends Event { + readonly wasClean: boolean; + readonly code: number; + readonly reason: string; } -declare var MSAssertion: { - prototype: MSAssertion; - new(): MSAssertion; +declare var CloseEvent: { + prototype: CloseEvent; + new(type: string, eventInitDict?: CloseEventInit): CloseEvent; }; -interface MSBlobBuilder { - append(data: any, endings?: string): void; - getBlob(contentType?: string): Blob; +interface MessageChannel { + readonly port1: MessagePort; + readonly port2: MessagePort; } -declare var MSBlobBuilder: { - prototype: MSBlobBuilder; - new(): MSBlobBuilder; +declare var MessageChannel: { + prototype: MessageChannel; + new(): MessageChannel; }; -interface MSCredentials { - getAssertion(challenge: string, filter?: MSCredentialFilter, params?: MSSignatureParameters): Promise; - makeCredential(accountInfo: MSAccountInfo, params: MSCredentialParameters[], challenge?: string): Promise; +interface MessagePortEventMap { + "message": MessageEvent; } -declare var MSCredentials: { - prototype: MSCredentials; - new(): MSCredentials; -}; - -interface MSFIDOCredentialAssertion extends MSAssertion { - readonly algorithm: string | Algorithm; - readonly attestation: any; - readonly publicKey: string; - readonly transportHints: MSTransportType[]; +interface MessagePort extends EventTarget { + onmessage: (this: MessagePort, ev: MessageEvent) => any; + postMessage(message: any, transfer?: any[]): void; + start(): void; + close(): void; + addEventListener(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var MSFIDOCredentialAssertion: { - prototype: MSFIDOCredentialAssertion; - new(): MSFIDOCredentialAssertion; +declare var MessagePort: { + prototype: MessagePort; + new(): MessagePort; }; -interface MSFIDOSignature { - readonly authnrData: string; - readonly clientData: string; - readonly signature: string; +interface BroadcastChannelEventMap { + "message": MessageEvent; } -declare var MSFIDOSignature: { - prototype: MSFIDOSignature; - new(): MSFIDOSignature; -}; - -interface MSFIDOSignatureAssertion extends MSAssertion { - readonly signature: MSFIDOSignature; +interface BroadcastChannel extends EventTarget { + readonly name: string; + onmessage: (this: BroadcastChannel, ev: MessageEvent) => any; + postMessage(message: any): void; + close(): void; + addEventListener(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var MSFIDOSignatureAssertion: { - prototype: MSFIDOSignatureAssertion; - new(): MSFIDOSignatureAssertion; +declare var BroadcastChannel: { + prototype: BroadcastChannel; + new(name: string): BroadcastChannel; }; -interface MSGesture { - target: Element; - addPointer(pointerId: number): void; - stop(): void; +interface WorkerGlobalScopeEventMap { + "error": ErrorEvent; } -declare var MSGesture: { - prototype: MSGesture; - new(): MSGesture; -}; - -interface MSGestureEvent extends UIEvent { - readonly clientX: number; - readonly clientY: number; - readonly expansion: number; - readonly gestureObject: any; - readonly hwTimestamp: number; - readonly offsetX: number; - readonly offsetY: number; - readonly rotation: number; - readonly scale: number; - readonly screenX: number; - readonly screenY: number; - readonly translationX: number; - readonly translationY: number; - readonly velocityAngular: number; - readonly velocityExpansion: number; - readonly velocityX: number; - readonly velocityY: number; - initGestureEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, offsetXArg: number, offsetYArg: number, translationXArg: number, translationYArg: number, scaleArg: number, expansionArg: number, rotationArg: number, velocityXArg: number, velocityYArg: number, velocityExpansionArg: number, velocityAngularArg: number, hwTimestampArg: number): void; - readonly MSGESTURE_FLAG_BEGIN: number; - readonly MSGESTURE_FLAG_CANCEL: number; - readonly MSGESTURE_FLAG_END: number; - readonly MSGESTURE_FLAG_INERTIA: number; - readonly MSGESTURE_FLAG_NONE: number; -} - -declare var MSGestureEvent: { - prototype: MSGestureEvent; - new(): MSGestureEvent; - readonly MSGESTURE_FLAG_BEGIN: number; - readonly MSGESTURE_FLAG_CANCEL: number; - readonly MSGESTURE_FLAG_END: number; - readonly MSGESTURE_FLAG_INERTIA: number; - readonly MSGESTURE_FLAG_NONE: number; -}; - -interface MSGraphicsTrust { - readonly constrictionActive: boolean; - readonly status: string; -} - -declare var MSGraphicsTrust: { - prototype: MSGraphicsTrust; - new(): MSGraphicsTrust; -}; - -interface MSHTMLWebViewElement extends HTMLElement { - readonly canGoBack: boolean; - readonly canGoForward: boolean; - readonly containsFullScreenElement: boolean; - readonly documentTitle: string; - height: number; - readonly settings: MSWebViewSettings; - src: string; - width: number; - addWebAllowedObject(name: string, applicationObject: any): void; - buildLocalStreamUri(contentIdentifier: string, relativePath: string): string; - capturePreviewToBlobAsync(): MSWebViewAsyncOperation; - captureSelectedContentToDataPackageAsync(): MSWebViewAsyncOperation; - getDeferredPermissionRequestById(id: number): DeferredPermissionRequest; - getDeferredPermissionRequests(): DeferredPermissionRequest[]; - goBack(): void; - goForward(): void; - invokeScriptAsync(scriptName: string, ...args: any[]): MSWebViewAsyncOperation; - navigate(uri: string): void; - navigateFocus(navigationReason: NavigationReason, origin: FocusNavigationOrigin): void; - navigateToLocalStreamUri(source: string, streamResolver: any): void; - navigateToString(contents: string): void; - navigateWithHttpRequestMessage(requestMessage: any): void; - refresh(): void; - stop(): void; - addEventListener(type: K, listener: (this: MSHTMLWebViewElement, ev: HTMLElementEventMap[K]) => any, useCapture?: boolean): void; +interface WorkerGlobalScope extends EventTarget, WindowOrWorkerGlobalScope, GlobalPerformance, GlobalCrypto { + readonly self: WorkerGlobalScope; + readonly location: WorkerLocation; + readonly navigator: WorkerNavigator; + onerror: OnErrorEventHandler; + onlanguagechange: (this: WorkerGlobalScope, ev: undefined) => any; + onoffline: (this: WorkerGlobalScope, ev: undefined) => any; + ononline: (this: WorkerGlobalScope, ev: undefined) => any; + onrejectionhandled: (this: WorkerGlobalScope, ev: PromiseRejectionEvent) => any; + onunhandledrejection: (this: WorkerGlobalScope, ev: PromiseRejectionEvent) => any; + importScripts(...urls: string[]): void; + createImageBitmap(image: ImageBitmap | ImageData | Blob, options?: ImageBitmapOptions): Promise; + createImageBitmap(image: ImageBitmap | ImageData | Blob, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise; + addEventListener(type: K, listener: (this: WorkerGlobalScope, ev: WorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var MSHTMLWebViewElement: { - prototype: MSHTMLWebViewElement; - new(): MSHTMLWebViewElement; +declare var WorkerGlobalScope: { + prototype: WorkerGlobalScope; + new(): WorkerGlobalScope; }; -interface MSInputMethodContextEventMap { - "MSCandidateWindowHide": Event; - "MSCandidateWindowShow": Event; - "MSCandidateWindowUpdate": Event; +interface DedicatedWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap { + "message": MessageEvent; } -interface MSInputMethodContext extends EventTarget { - readonly compositionEndOffset: number; - readonly compositionStartOffset: number; - oncandidatewindowhide: (this: MSInputMethodContext, ev: Event) => any; - oncandidatewindowshow: (this: MSInputMethodContext, ev: Event) => any; - oncandidatewindowupdate: (this: MSInputMethodContext, ev: Event) => any; - readonly target: HTMLElement; - getCandidateWindowClientRect(): ClientRect; - getCompositionAlternatives(): string[]; - hasComposition(): boolean; - isCandidateWindowVisible(): boolean; - addEventListener(type: K, listener: (this: MSInputMethodContext, ev: MSInputMethodContextEventMap[K]) => any, useCapture?: boolean): void; +interface DedicatedWorkerGlobalScope extends WorkerGlobalScope { + onmessage: (this: DedicatedWorkerGlobalScope, ev: MessageEvent) => any; + postMessage(message: any, transfer?: any[]): void; + close(): void; + addEventListener(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var MSInputMethodContext: { - prototype: MSInputMethodContext; - new(): MSInputMethodContext; +declare var DedicatedWorkerGlobalScope: { + prototype: DedicatedWorkerGlobalScope; + new(): DedicatedWorkerGlobalScope; }; -interface MSManipulationEvent extends UIEvent { - readonly currentState: number; - readonly inertiaDestinationX: number; - readonly inertiaDestinationY: number; - readonly lastState: number; - initMSManipulationEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, lastState: number, currentState: number): void; - readonly MS_MANIPULATION_STATE_ACTIVE: number; - readonly MS_MANIPULATION_STATE_CANCELLED: number; - readonly MS_MANIPULATION_STATE_COMMITTED: number; - readonly MS_MANIPULATION_STATE_DRAGGING: number; - readonly MS_MANIPULATION_STATE_INERTIA: number; - readonly MS_MANIPULATION_STATE_PRESELECT: number; - readonly MS_MANIPULATION_STATE_SELECTING: number; - readonly MS_MANIPULATION_STATE_STOPPED: number; +interface SharedWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap { + "connect": MessageEvent; } -declare var MSManipulationEvent: { - prototype: MSManipulationEvent; - new(): MSManipulationEvent; - readonly MS_MANIPULATION_STATE_ACTIVE: number; - readonly MS_MANIPULATION_STATE_CANCELLED: number; - readonly MS_MANIPULATION_STATE_COMMITTED: number; - readonly MS_MANIPULATION_STATE_DRAGGING: number; - readonly MS_MANIPULATION_STATE_INERTIA: number; - readonly MS_MANIPULATION_STATE_PRESELECT: number; - readonly MS_MANIPULATION_STATE_SELECTING: number; - readonly MS_MANIPULATION_STATE_STOPPED: number; -}; - -interface MSMediaKeyError { - readonly code: number; - readonly systemCode: number; - readonly MS_MEDIA_KEYERR_CLIENT: number; - readonly MS_MEDIA_KEYERR_DOMAIN: number; - readonly MS_MEDIA_KEYERR_HARDWARECHANGE: number; - readonly MS_MEDIA_KEYERR_OUTPUT: number; - readonly MS_MEDIA_KEYERR_SERVICE: number; - readonly MS_MEDIA_KEYERR_UNKNOWN: number; +interface SharedWorkerGlobalScope extends WorkerGlobalScope { + readonly name: string; + onconnect: (this: SharedWorkerGlobalScope, ev: MessageEvent) => any; + close(): void; + addEventListener(type: K, listener: (this: SharedWorkerGlobalScope, ev: SharedWorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var MSMediaKeyError: { - prototype: MSMediaKeyError; - new(): MSMediaKeyError; - readonly MS_MEDIA_KEYERR_CLIENT: number; - readonly MS_MEDIA_KEYERR_DOMAIN: number; - readonly MS_MEDIA_KEYERR_HARDWARECHANGE: number; - readonly MS_MEDIA_KEYERR_OUTPUT: number; - readonly MS_MEDIA_KEYERR_SERVICE: number; - readonly MS_MEDIA_KEYERR_UNKNOWN: number; +declare var SharedWorkerGlobalScope: { + prototype: SharedWorkerGlobalScope; + new(): SharedWorkerGlobalScope; }; -interface MSMediaKeyMessageEvent extends Event { - readonly destinationURL: string | null; - readonly message: Uint8Array; +interface WorkerEventMap extends AbstractWorkerEventMap { + "message": MessageEvent; } -declare var MSMediaKeyMessageEvent: { - prototype: MSMediaKeyMessageEvent; - new(): MSMediaKeyMessageEvent; -}; - -interface MSMediaKeyNeededEvent extends Event { - readonly initData: Uint8Array | null; +interface Worker extends EventTarget, AbstractWorker { + onmessage: (this: Worker, ev: MessageEvent) => any; + terminate(): void; + postMessage(message: any, transfer?: any[]): void; + addEventListener(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var MSMediaKeyNeededEvent: { - prototype: MSMediaKeyNeededEvent; - new(): MSMediaKeyNeededEvent; +declare var Worker: { + prototype: Worker; + new(scriptURL: string, options?: WorkerOptions): Worker; }; -interface MSMediaKeys { - readonly keySystem: string; - createSession(type: string, initData: Uint8Array, cdmData?: Uint8Array): MSMediaKeySession; +interface SharedWorker extends EventTarget, AbstractWorker { + readonly port: MessagePort; + addEventListener(type: K, listener: (this: SharedWorker, ev: AbstractWorkerEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var MSMediaKeys: { - prototype: MSMediaKeys; - new(keySystem: string): MSMediaKeys; - isTypeSupported(keySystem: string, type?: string): boolean; - isTypeSupportedWithFeatures(keySystem: string, type?: string): string; +declare var SharedWorker: { + prototype: SharedWorker; + new(scriptURL: string, name?: string, options?: WorkerOptions): SharedWorker; }; -interface MSMediaKeySession extends EventTarget { - readonly error: MSMediaKeyError | null; - readonly keySystem: string; - readonly sessionId: string; - close(): void; - update(key: Uint8Array): void; +interface WorkerNavigator extends Object, NavigatorID, NavigatorLanguage, NavigatorOnLine, NavigatorConcurrentHardware { + readonly serviceWorker: ServiceWorkerContainer; + readonly hardwareConcurrency: number; } -declare var MSMediaKeySession: { - prototype: MSMediaKeySession; - new(): MSMediaKeySession; +declare var WorkerNavigator: { + prototype: WorkerNavigator; + new(): WorkerNavigator; }; -interface MSPointerEvent extends MouseEvent { - readonly currentPoint: any; - readonly height: number; - readonly hwTimestamp: number; - readonly intermediatePoints: any; - readonly isPrimary: boolean; - readonly pointerId: number; - readonly pointerType: any; - readonly pressure: number; - readonly rotation: number; - readonly tiltX: number; - readonly tiltY: number; - readonly width: number; - getCurrentPoint(element: Element): void; - getIntermediatePoints(element: Element): void; - initPointerEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, ctrlKeyArg: boolean, altKeyArg: boolean, shiftKeyArg: boolean, metaKeyArg: boolean, buttonArg: number, relatedTargetArg: EventTarget, offsetXArg: number, offsetYArg: number, widthArg: number, heightArg: number, pressure: number, rotation: number, tiltX: number, tiltY: number, pointerIdArg: number, pointerType: any, hwTimestampArg: number, isPrimary: boolean): void; +interface WorkerLocation { + readonly href: string; + readonly origin: string; + readonly protocol: string; + readonly host: string; + readonly hostname: string; + readonly port: string; + readonly pathname: string; + readonly search: string; + readonly hash: string; } -declare var MSPointerEvent: { - prototype: MSPointerEvent; - new(typeArg: string, eventInitDict?: PointerEventInit): MSPointerEvent; +declare var WorkerLocation: { + prototype: WorkerLocation; + new(): WorkerLocation; }; -interface MSRangeCollection { +interface Storage { readonly length: number; - item(index: number): Range; - [index: number]: Range; -} - -declare var MSRangeCollection: { - prototype: MSRangeCollection; - new(): MSRangeCollection; -}; - -interface MSSiteModeEvent extends Event { - readonly actionURL: string; - readonly buttonID: number; + key(index: number): string | null; + getItem(key: string): string | null; + setItem(key: string, value: string): void; + removeItem(key: string): void; + clear(): void; } -declare var MSSiteModeEvent: { - prototype: MSSiteModeEvent; - new(): MSSiteModeEvent; +declare var Storage: { + prototype: Storage; + new(): Storage; }; -interface MSStream { - readonly type: string; - msClose(): void; - msDetachStream(): any; +interface StorageEvent extends Event { + readonly url: string; + key?: string; + oldValue?: string; + newValue?: string; + storageArea?: Storage; } -declare var MSStream: { - prototype: MSStream; - new(): MSStream; +declare var StorageEvent: { + prototype: StorageEvent; + new (type: string, eventInitDict?: StorageEventInit): StorageEvent; }; -interface MSStreamReader extends EventTarget, MSBaseReader { - readonly error: DOMError; - readAsArrayBuffer(stream: MSStream, size?: number): void; - readAsBinaryString(stream: MSStream, size?: number): void; - readAsBlob(stream: MSStream, size?: number): void; - readAsDataURL(stream: MSStream, size?: number): void; - readAsText(stream: MSStream, encoding?: string, size?: number): void; - addEventListener(type: K, listener: (this: MSStreamReader, ev: MSBaseReaderEventMap[K]) => any, useCapture?: boolean): void; +interface HTMLAppletElement extends HTMLElement { + align: string; + /** + * Sets or retrieves a text alternative to the graphic. + */ + alt: string; + /** + * Sets or retrieves a character string that can be used to implement your own archive functionality for the object. + */ + archive: string; + code: string; + /** + * Sets or retrieves the URL of the component. + */ + codeBase: string; + /** + * Sets or retrieves the height of the object. + */ + height: string; + hspace: number; + /** + * Sets or retrieves the shape of the object. + */ + name: string; + object: string; + vspace: number; + width: string; + addEventListener(type: K, listener: (this: HTMLAppletElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLAppletElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLAppletElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var MSStreamReader: { - prototype: MSStreamReader; - new(): MSStreamReader; +declare var HTMLAppletElement: { + prototype: HTMLAppletElement; + new(): HTMLAppletElement; }; -interface MSWebViewAsyncOperationEventMap { - "complete": Event; - "error": Event; +interface HTMLMarqueeElementEventMap extends ElementEventMap, GlobalEventHandlersEventMap, DocumentAndElementEventHandlersEventMap { + "bounce": Event; + "finish": undefined; + "start": undefined; } -interface MSWebViewAsyncOperation extends EventTarget { - readonly error: DOMError; - oncomplete: (this: MSWebViewAsyncOperation, ev: Event) => any; - onerror: (this: MSWebViewAsyncOperation, ev: Event) => any; - readonly readyState: number; - readonly result: any; - readonly target: MSHTMLWebViewElement; - readonly type: number; +interface HTMLMarqueeElement extends HTMLElement { + behavior: string; + bgColor: string; + direction: string; + height: string; + hspace: number; + loop: number; + scrollAmount: number; + scrollDelay: number; + trueSpeed: boolean; + vspace: number; + width: string; + onbounce: (this: HTMLMarqueeElement, ev: Event) => any; + onfinish: (this: HTMLMarqueeElement, ev: undefined) => any; + onstart: (this: HTMLMarqueeElement, ev: undefined) => any; start(): void; - readonly COMPLETED: number; - readonly ERROR: number; - readonly STARTED: number; - readonly TYPE_CAPTURE_PREVIEW_TO_RANDOM_ACCESS_STREAM: number; - readonly TYPE_CREATE_DATA_PACKAGE_FROM_SELECTION: number; - readonly TYPE_INVOKE_SCRIPT: number; - addEventListener(type: K, listener: (this: MSWebViewAsyncOperation, ev: MSWebViewAsyncOperationEventMap[K]) => any, useCapture?: boolean): void; + stop(): void; + addEventListener(type: K, listener: (this: HTMLMarqueeElement, ev: HTMLMarqueeElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var MSWebViewAsyncOperation: { - prototype: MSWebViewAsyncOperation; - new(): MSWebViewAsyncOperation; - readonly COMPLETED: number; - readonly ERROR: number; - readonly STARTED: number; - readonly TYPE_CAPTURE_PREVIEW_TO_RANDOM_ACCESS_STREAM: number; - readonly TYPE_CREATE_DATA_PACKAGE_FROM_SELECTION: number; - readonly TYPE_INVOKE_SCRIPT: number; -}; - -interface MSWebViewSettings { - isIndexedDBEnabled: boolean; - isJavaScriptEnabled: boolean; -} - -declare var MSWebViewSettings: { - prototype: MSWebViewSettings; - new(): MSWebViewSettings; +declare var HTMLMarqueeElement: { + prototype: HTMLMarqueeElement; + new(): HTMLMarqueeElement; }; -interface MutationEvent extends Event { - readonly attrChange: number; - readonly attrName: string; - readonly newValue: string; - readonly prevValue: string; - readonly relatedNode: Node; - initMutationEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, relatedNodeArg: Node, prevValueArg: string, newValueArg: string, attrNameArg: string, attrChangeArg: number): void; - readonly ADDITION: number; - readonly MODIFICATION: number; - readonly REMOVAL: number; +interface HTMLFrameSetElement extends HTMLElement, WindowEventHandlers { + /** + * Sets or retrieves the frame widths of the object. + */ + cols: string; + /** + * Sets or retrieves the frame heights of the object. + */ + rows: string; + addEventListener(type: K, listener: (this: HTMLFrameSetElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLFrameSetElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLFrameSetElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLFrameSetElement, ev: WindowEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var MutationEvent: { - prototype: MutationEvent; - new(): MutationEvent; - readonly ADDITION: number; - readonly MODIFICATION: number; - readonly REMOVAL: number; +declare var HTMLFrameSetElement: { + prototype: HTMLFrameSetElement; + new(): HTMLFrameSetElement; }; -interface MutationObserver { - disconnect(): void; - observe(target: Node, options: MutationObserverInit): void; - takeRecords(): MutationRecord[]; +interface HTMLFrameElement extends HTMLElement { + /** + * Sets or retrieves the frame name. + */ + name: string; + /** + * Sets or retrieves whether the frame can be scrolled. + */ + scrolling: string; + /** + * Sets or retrieves a URL to be loaded by the object. + */ + src: string; + /** + * Sets or retrieves whether to display a border for the frame. + */ + frameBorder: string; + /** + * Sets or retrieves a URI to a long description of the object. + */ + longDesc: string; + /** + * Sets or retrieves whether the user can resize the frame. + */ + noResize: boolean; + /** + * Retrieves the document object of the page or frame. + */ + readonly contentDocument: Document | null; + /** + * Retrieves the object of the specified. + */ + readonly contentWindow: any; + /** + * Sets or retrieves the top and bottom margin heights before displaying the text in a frame. + */ + marginHeight: string; + /** + * Sets or retrieves the left and right margin widths before displaying the text in a frame. + */ + marginWidth: string; + addEventListener(type: K, listener: (this: HTMLFrameElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLFrameElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLFrameElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var MutationObserver: { - prototype: MutationObserver; - new(callback: MutationCallback): MutationObserver; +declare var HTMLFrameElement: { + prototype: HTMLFrameElement; + new(): HTMLFrameElement; }; -interface MutationRecord { - readonly addedNodes: NodeList; - readonly attributeName: string | null; - readonly attributeNamespace: string | null; - readonly nextSibling: Node | null; - readonly oldValue: string | null; - readonly previousSibling: Node | null; - readonly removedNodes: NodeList; - readonly target: Node; - readonly type: string; +interface HTMLDirectoryElement extends HTMLElement { + compact: boolean; + addEventListener(type: K, listener: (this: HTMLDirectoryElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLDirectoryElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLDirectoryElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var MutationRecord: { - prototype: MutationRecord; - new(): MutationRecord; +declare var HTMLDirectoryElement: { + prototype: HTMLDirectoryElement; + new(): HTMLDirectoryElement; }; -interface NamedNodeMap { - readonly length: number; - getNamedItem(name: string): Attr; - getNamedItemNS(namespaceURI: string | null, localName: string | null): Attr; - item(index: number): Attr; - removeNamedItem(name: string): Attr; - removeNamedItemNS(namespaceURI: string | null, localName: string | null): Attr; - setNamedItem(arg: Attr): Attr; - setNamedItemNS(arg: Attr): Attr; - [index: number]: Attr; +interface HTMLFontElement extends HTMLElement { + color: string; + /** + * Sets or retrieves the current typeface family. + */ + face: string; + size: string; + addEventListener(type: K, listener: (this: HTMLFontElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLFontElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLFontElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var NamedNodeMap: { - prototype: NamedNodeMap; - new(): NamedNodeMap; +declare var HTMLFontElement: { + prototype: HTMLFontElement; + new(): HTMLFontElement; }; -interface NavigationCompletedEvent extends NavigationEvent { - readonly isSuccess: boolean; - readonly webErrorStatus: number; +interface IDBKeyRange { + readonly lower: any; + readonly upper: any; + readonly lowerOpen: boolean; + readonly upperOpen: boolean; } -declare var NavigationCompletedEvent: { - prototype: NavigationCompletedEvent; - new(): NavigationCompletedEvent; +declare var IDBKeyRange: { + prototype: IDBKeyRange; + new(): IDBKeyRange; + only(value: any): IDBKeyRange; + lowerBound(lower: any, open?: boolean): IDBKeyRange; + upperBound(upper: any, open?: boolean): IDBKeyRange; + bound(lower: any, upper: any, lowerOpen?: boolean, upperOpen?: boolean): IDBKeyRange; }; -interface NavigationEvent extends Event { - readonly uri: string; +interface IDBRequestEventMap { + "success": Event; + "error": ErrorEvent; } -declare var NavigationEvent: { - prototype: NavigationEvent; - new(): NavigationEvent; -}; - -interface NavigationEventWithReferrer extends NavigationEvent { - readonly referer: string; +interface IDBRequest extends EventTarget { + readonly result: any; + readonly error: DOMException; + source: IDBObjectStore | IDBIndex | IDBCursor; + readonly transaction: IDBTransaction; + readonly readyState: IDBRequestReadyState; + onsuccess: (this: IDBRequest, ev: Event) => any; + onerror: (this: IDBRequest, ev: ErrorEvent) => any; + addEventListener(type: K, listener: (this: IDBRequest, ev: IDBRequestEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var NavigationEventWithReferrer: { - prototype: NavigationEventWithReferrer; - new(): NavigationEventWithReferrer; +declare var IDBRequest: { + prototype: IDBRequest; + new(): IDBRequest; }; -interface Navigator extends Object, NavigatorID, NavigatorOnLine, NavigatorContentUtils, NavigatorStorageUtils, NavigatorGeolocation, MSNavigatorDoNotTrack, MSFileSaver, NavigatorBeacon, NavigatorConcurrentHardware, NavigatorUserMedia { - readonly authentication: WebAuthentication; - readonly cookieEnabled: boolean; - gamepadInputEmulation: GamepadInputEmulationType; - readonly language: string; - readonly maxTouchPoints: number; - readonly mimeTypes: MimeTypeArray; - readonly msManipulationViewsEnabled: boolean; - readonly msMaxTouchPoints: number; - readonly msPointerEnabled: boolean; - readonly plugins: PluginArray; - readonly pointerEnabled: boolean; - readonly serviceWorker: ServiceWorkerContainer; - readonly webdriver: boolean; - readonly hardwareConcurrency: number; - readonly languages: string[]; - getGamepads(): Gamepad[]; - javaEnabled(): boolean; - msLaunchUri(uri: string, successCallback?: MSLaunchUriCallback, noHandlerCallback?: MSLaunchUriCallback): void; - requestMediaKeySystemAccess(keySystem: string, supportedConfigurations: MediaKeySystemConfiguration[]): Promise; - vibrate(pattern: number | number[]): boolean; +interface IDBOpenDBRequestEventMap extends IDBRequestEventMap { + "blocked": Event; + "upgradeneeded": Event; } -declare var Navigator: { - prototype: Navigator; - new(): Navigator; -}; - -interface Node extends EventTarget { - readonly attributes: NamedNodeMap; - readonly baseURI: string | null; - readonly childNodes: NodeList; - readonly firstChild: Node | null; - readonly lastChild: Node | null; - readonly localName: string | null; - readonly namespaceURI: string | null; - readonly nextSibling: Node | null; - readonly nodeName: string; - readonly nodeType: number; - nodeValue: string | null; - readonly ownerDocument: Document; - readonly parentElement: HTMLElement | null; - readonly parentNode: Node | null; - readonly previousSibling: Node | null; - textContent: string | null; - appendChild(newChild: T): T; - cloneNode(deep?: boolean): Node; - compareDocumentPosition(other: Node): number; - contains(child: Node): boolean; - hasAttributes(): boolean; - hasChildNodes(): boolean; - insertBefore(newChild: T, refChild: Node | null): T; - isDefaultNamespace(namespaceURI: string | null): boolean; - isEqualNode(arg: Node): boolean; - isSameNode(other: Node): boolean; - lookupNamespaceURI(prefix: string | null): string | null; - lookupPrefix(namespaceURI: string | null): string | null; - normalize(): void; - removeChild(oldChild: T): T; - replaceChild(newChild: Node, oldChild: T): T; - readonly ATTRIBUTE_NODE: number; - readonly CDATA_SECTION_NODE: number; - readonly COMMENT_NODE: number; - readonly DOCUMENT_FRAGMENT_NODE: number; - readonly DOCUMENT_NODE: number; - readonly DOCUMENT_POSITION_CONTAINED_BY: number; - readonly DOCUMENT_POSITION_CONTAINS: number; - readonly DOCUMENT_POSITION_DISCONNECTED: number; - readonly DOCUMENT_POSITION_FOLLOWING: number; - readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number; - readonly DOCUMENT_POSITION_PRECEDING: number; - readonly DOCUMENT_TYPE_NODE: number; - readonly ELEMENT_NODE: number; - readonly ENTITY_NODE: number; - readonly ENTITY_REFERENCE_NODE: number; - readonly NOTATION_NODE: number; - readonly PROCESSING_INSTRUCTION_NODE: number; - readonly TEXT_NODE: number; +interface IDBOpenDBRequest extends IDBRequest { + onblocked: (this: IDBOpenDBRequest, ev: Event) => any; + onupgradeneeded: (this: IDBOpenDBRequest, ev: Event) => any; + addEventListener(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var Node: { - prototype: Node; - new(): Node; - readonly ATTRIBUTE_NODE: number; - readonly CDATA_SECTION_NODE: number; - readonly COMMENT_NODE: number; - readonly DOCUMENT_FRAGMENT_NODE: number; - readonly DOCUMENT_NODE: number; - readonly DOCUMENT_POSITION_CONTAINED_BY: number; - readonly DOCUMENT_POSITION_CONTAINS: number; - readonly DOCUMENT_POSITION_DISCONNECTED: number; - readonly DOCUMENT_POSITION_FOLLOWING: number; - readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number; - readonly DOCUMENT_POSITION_PRECEDING: number; - readonly DOCUMENT_TYPE_NODE: number; - readonly ELEMENT_NODE: number; - readonly ENTITY_NODE: number; - readonly ENTITY_REFERENCE_NODE: number; - readonly NOTATION_NODE: number; - readonly PROCESSING_INSTRUCTION_NODE: number; - readonly TEXT_NODE: number; -}; - -interface NodeFilter { - acceptNode(n: Node): number; -} - -declare var NodeFilter: { - readonly FILTER_ACCEPT: number; - readonly FILTER_REJECT: number; - readonly FILTER_SKIP: number; - readonly SHOW_ALL: number; - readonly SHOW_ATTRIBUTE: number; - readonly SHOW_CDATA_SECTION: number; - readonly SHOW_COMMENT: number; - readonly SHOW_DOCUMENT: number; - readonly SHOW_DOCUMENT_FRAGMENT: number; - readonly SHOW_DOCUMENT_TYPE: number; - readonly SHOW_ELEMENT: number; - readonly SHOW_ENTITY: number; - readonly SHOW_ENTITY_REFERENCE: number; - readonly SHOW_NOTATION: number; - readonly SHOW_PROCESSING_INSTRUCTION: number; - readonly SHOW_TEXT: number; +declare var IDBOpenDBRequest: { + prototype: IDBOpenDBRequest; + new(): IDBOpenDBRequest; }; -interface NodeIterator { - readonly expandEntityReferences: boolean; - readonly filter: NodeFilter; - readonly root: Node; - readonly whatToShow: number; - detach(): void; - nextNode(): Node; - previousNode(): Node; +interface IDBVersionChangeEvent extends Event { + readonly oldVersion: number; + readonly newVersion: number | null; } -declare var NodeIterator: { - prototype: NodeIterator; - new(): NodeIterator; +declare var IDBVersionChangeEvent: { + prototype: IDBVersionChangeEvent; + new(type: string, eventInitDict?: IDBVersionChangeEventInit): IDBVersionChangeEvent; }; -interface NodeList { - readonly length: number; - item(index: number): Node; - [index: number]: Node; +interface IDBFactory { + open(name: string, version?: number): IDBOpenDBRequest; + deleteDatabase(name: string): IDBOpenDBRequest; + cmp(first: any, second: any): number; } -declare var NodeList: { - prototype: NodeList; - new(): NodeList; +declare var IDBFactory: { + prototype: IDBFactory; + new(): IDBFactory; }; -interface NotificationEventMap { - "click": Event; - "close": Event; - "error": Event; - "show": Event; +interface IDBDatabaseEventMap { + "abort": Event; + "error": undefined; + "versionchange": IDBVersionChangeEvent; } -interface Notification extends EventTarget { - readonly body: string; - readonly dir: NotificationDirection; - readonly icon: string; - readonly lang: string; - onclick: (this: Notification, ev: Event) => any; - onclose: (this: Notification, ev: Event) => any; - onerror: (this: Notification, ev: Event) => any; - onshow: (this: Notification, ev: Event) => any; - readonly permission: NotificationPermission; - readonly tag: string; - readonly title: string; +interface IDBDatabase extends EventTarget { + readonly name: string; + version: number; + readonly objectStoreNames: DOMStringList; + onabort: (this: IDBDatabase, ev: Event) => any; + onerror: (this: IDBDatabase, ev: undefined) => any; + onversionchange: (this: IDBDatabase, ev: IDBVersionChangeEvent) => any; + createObjectStore(name: string, optionalParameters?: IDBObjectStoreParameters): IDBObjectStore; + deleteObjectStore(name: string): void; + transaction(storeNames: string | string[], mode?: IDBTransactionMode): IDBTransaction; close(): void; - addEventListener(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: "versionchange", listener: (ev: IDBVersionChangeEvent) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var Notification: { - prototype: Notification; - new(title: string, options?: NotificationOptions): Notification; - requestPermission(callback?: NotificationPermissionCallback): Promise; +declare var IDBDatabase: { + prototype: IDBDatabase; + new(): IDBDatabase; }; -interface OES_element_index_uint { +interface IDBObjectStore { + readonly name: string; + keyPath: string | string[]; + readonly indexNames: DOMStringList; + readonly transaction: IDBTransaction; + readonly autoIncrement: boolean; + put(value: any, key?: IDBKeyRange | IDBValidKey): IDBRequest; + add(value: any, key?: IDBKeyRange | IDBValidKey): IDBRequest; + delete(key: IDBKeyRange | IDBValidKey): IDBRequest; + get(key: any): IDBRequest; + clear(): IDBRequest; + openCursor(range?: IDBKeyRange | IDBValidKey, direction?: IDBCursorDirection): IDBRequest; + createIndex(name: string, keyPath: string | string[], optionalParameters?: IDBIndexParameters): IDBIndex; + index(name: string): IDBIndex; + deleteIndex(indexName: string): void; + count(key?: IDBKeyRange | IDBValidKey): IDBRequest; } -declare var OES_element_index_uint: { - prototype: OES_element_index_uint; - new(): OES_element_index_uint; +declare var IDBObjectStore: { + prototype: IDBObjectStore; + new(): IDBObjectStore; }; -interface OES_standard_derivatives { - readonly FRAGMENT_SHADER_DERIVATIVE_HINT_OES: number; +interface IDBIndex { + readonly name: string; + readonly objectStore: IDBObjectStore; + keyPath: string | string[]; + readonly multiEntry: boolean; + readonly unique: boolean; + openCursor(range?: IDBKeyRange | IDBValidKey, direction?: IDBCursorDirection): IDBRequest; + openKeyCursor(range?: IDBKeyRange | IDBValidKey, direction?: IDBCursorDirection): IDBRequest; + get(key: IDBKeyRange | IDBValidKey): IDBRequest; + getKey(key: IDBKeyRange | IDBValidKey): IDBRequest; + count(key?: IDBKeyRange | IDBValidKey): IDBRequest; } -declare var OES_standard_derivatives: { - prototype: OES_standard_derivatives; - new(): OES_standard_derivatives; - readonly FRAGMENT_SHADER_DERIVATIVE_HINT_OES: number; +declare var IDBIndex: { + prototype: IDBIndex; + new(): IDBIndex; }; -interface OES_texture_float { +interface IDBCursor { + source: IDBObjectStore | IDBIndex; + readonly direction: IDBCursorDirection; + key: IDBKeyRange | IDBValidKey; + readonly primaryKey: any; + update(value: any): IDBRequest; + advance(count: number): void; + continue(key?: IDBKeyRange | IDBValidKey): void; + delete(): IDBRequest; } -declare var OES_texture_float: { - prototype: OES_texture_float; - new(): OES_texture_float; +declare var IDBCursor: { + prototype: IDBCursor; + new(): IDBCursor; }; -interface OES_texture_float_linear { +interface IDBCursorWithValue extends IDBCursor { + readonly value: any; } -declare var OES_texture_float_linear: { - prototype: OES_texture_float_linear; - new(): OES_texture_float_linear; +declare var IDBCursorWithValue: { + prototype: IDBCursorWithValue; + new(): IDBCursorWithValue; }; -interface OES_texture_half_float { - readonly HALF_FLOAT_OES: number; +interface IDBTransactionEventMap { + "abort": Event; + "complete": Event; + "error": ErrorEvent; +} + +interface IDBTransaction extends EventTarget { + readonly mode: IDBTransactionMode; + readonly db: IDBDatabase; + readonly error: DOMException; + onabort: (this: IDBTransaction, ev: Event) => any; + oncomplete: (this: IDBTransaction, ev: Event) => any; + onerror: (this: IDBTransaction, ev: ErrorEvent) => any; + objectStore(name: string): IDBObjectStore; + abort(): void; + addEventListener(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var OES_texture_half_float: { - prototype: OES_texture_half_float; - new(): OES_texture_half_float; - readonly HALF_FLOAT_OES: number; +declare var IDBTransaction: { + prototype: IDBTransaction; + new(): IDBTransaction; }; -interface OES_texture_half_float_linear { +interface IntersectionObserver { + readonly root: Element | null; + readonly rootMargin: string; + readonly thresholds: ReadonlyArray; + observe(target: Element): void; + unobserve(target: Element): void; + disconnect(): void; + takeRecords(): IntersectionObserverEntry[]; } -declare var OES_texture_half_float_linear: { - prototype: OES_texture_half_float_linear; - new(): OES_texture_half_float_linear; +declare var IntersectionObserver: { + prototype: IntersectionObserver; + new(callback: IntersectionObserverCallback, options?: IntersectionObserverInit): IntersectionObserver; }; -interface OfflineAudioCompletionEvent extends Event { - readonly renderedBuffer: AudioBuffer; +interface IntersectionObserverEntry { + readonly time: number; + readonly rootBounds: DOMRectReadOnly; + readonly boundingClientRect: DOMRectReadOnly; + readonly intersectionRect: DOMRectReadOnly; + readonly isIntersecting: boolean; + readonly intersectionRatio: number; + readonly target: Element; + readonly isIntersecting: boolean; } -declare var OfflineAudioCompletionEvent: { - prototype: OfflineAudioCompletionEvent; - new(): OfflineAudioCompletionEvent; +declare var IntersectionObserverEntry: { + prototype: IntersectionObserverEntry; + new(intersectionObserverEntryInit: IntersectionObserverEntryInit): IntersectionObserverEntry; }; -interface OfflineAudioContextEventMap extends AudioContextEventMap { - "complete": OfflineAudioCompletionEvent; +interface MediaStreamEventMap { + "addtrack": TrackEvent; + "removetrack": TrackEvent; } -interface OfflineAudioContext extends AudioContextBase { - readonly length: number; - oncomplete: (this: OfflineAudioContext, ev: OfflineAudioCompletionEvent) => any; - startRendering(): Promise; - suspend(suspendTime: number): Promise; - addEventListener(type: K, listener: (this: OfflineAudioContext, ev: OfflineAudioContextEventMap[K]) => any, useCapture?: boolean): void; +interface MediaStream extends EventTarget { + readonly id: string; + readonly active: boolean; + onaddtrack: (this: MediaStream, ev: TrackEvent) => any; + onremovetrack: (this: MediaStream, ev: TrackEvent) => any; + getAudioTracks(): MediaStreamTrack[]; + getVideoTracks(): MediaStreamTrack[]; + getTracks(): MediaStreamTrack[]; + getTrackById(trackId: string): MediaStreamTrack | null; + addTrack(track: MediaStreamTrack): void; + removeTrack(track: MediaStreamTrack): void; + clone(): MediaStream; + addEventListener(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var OfflineAudioContext: { - prototype: OfflineAudioContext; - new(numberOfChannels: number, length: number, sampleRate: number): OfflineAudioContext; +declare var MediaStream: { + prototype: MediaStream; + new(): MediaStream; + new(stream: MediaStream): MediaStream; + new(tracks: MediaStreamTrack[]): MediaStream; }; -interface OscillatorNodeEventMap { - "ended": MediaStreamErrorEvent; +interface MediaStreamTrackEventMap { + "mute": Event; + "unmute": Event; + "ended": undefined; + "overconstrained": OverconstrainedErrorEvent; + "isolationchange": undefined; } -interface OscillatorNode extends AudioNode { - readonly detune: AudioParam; - readonly frequency: AudioParam; - onended: (this: OscillatorNode, ev: MediaStreamErrorEvent) => any; - type: OscillatorType; - setPeriodicWave(periodicWave: PeriodicWave): void; - start(when?: number): void; - stop(when?: number): void; - addEventListener(type: K, listener: (this: OscillatorNode, ev: OscillatorNodeEventMap[K]) => any, useCapture?: boolean): void; +interface MediaStreamTrack extends EventTarget { + readonly kind: string; + readonly id: string; + readonly label: string; + enabled: boolean; + readonly muted: boolean; + onmute: (this: MediaStreamTrack, ev: Event) => any; + onunmute: (this: MediaStreamTrack, ev: Event) => any; + readonly readyState: MediaStreamTrackState; + onended: (this: MediaStreamTrack, ev: undefined) => any; + onoverconstrained: (this: MediaStreamTrack, ev: OverconstrainedErrorEvent) => any; + readonly isolated: boolean; + onisolationchange: (this: MediaStreamTrack, ev: undefined) => any; + clone(): MediaStreamTrack; + stop(): void; + getCapabilities(): MediaTrackCapabilities; + getConstraints(): MediaTrackConstraints; + getSettings(): MediaTrackSettings; + applyConstraints(constraints?: MediaTrackConstraints): Promise; + addEventListener(type: K, listener: (this: MediaStreamTrack, ev: MediaStreamTrackEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var OscillatorNode: { - prototype: OscillatorNode; - new(): OscillatorNode; +declare var MediaStreamTrack: { + prototype: MediaStreamTrack; + new(): MediaStreamTrack; }; -interface OverflowEvent extends UIEvent { - readonly horizontalOverflow: boolean; - readonly orient: number; - readonly verticalOverflow: boolean; - readonly BOTH: number; - readonly HORIZONTAL: number; - readonly VERTICAL: number; +interface MediaStreamTrackEvent extends Event { + readonly track: MediaStreamTrack; } -declare var OverflowEvent: { - prototype: OverflowEvent; - new(): OverflowEvent; - readonly BOTH: number; - readonly HORIZONTAL: number; - readonly VERTICAL: number; +declare var MediaStreamTrackEvent: { + prototype: MediaStreamTrackEvent; + new(type: string, eventInitDict: MediaStreamTrackEventInit): MediaStreamTrackEvent; }; -interface PageTransitionEvent extends Event { - readonly persisted: boolean; +interface OverconstrainedErrorEvent extends Event { + readonly error: any; } -declare var PageTransitionEvent: { - prototype: PageTransitionEvent; - new(): PageTransitionEvent; +declare var OverconstrainedErrorEvent: { + prototype: OverconstrainedErrorEvent; + new(type: string, eventInitDict: OverconstrainedErrorEventInit): OverconstrainedErrorEvent; }; -interface PannerNode extends AudioNode { - coneInnerAngle: number; - coneOuterAngle: number; - coneOuterGain: number; - distanceModel: DistanceModelType; - maxDistance: number; - panningModel: PanningModelType; - refDistance: number; - rolloffFactor: number; - setOrientation(x: number, y: number, z: number): void; - setPosition(x: number, y: number, z: number): void; - setVelocity(x: number, y: number, z: number): void; +interface MediaDevicesEventMap { + "devicechange": Event; } -declare var PannerNode: { - prototype: PannerNode; - new(): PannerNode; -}; - -interface Path2D extends Object, CanvasPathMethods { +interface MediaDevices extends EventTarget { + ondevicechange: (this: MediaDevices, ev: Event) => any; + enumerateDevices(): Promise; + getSupportedConstraints(): MediaTrackSupportedConstraints; + getUserMedia(constraints?: MediaStreamConstraints): Promise; + addEventListener(type: K, listener: (this: MediaDevices, ev: MediaDevicesEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var Path2D: { - prototype: Path2D; - new(path?: Path2D): Path2D; +declare var MediaDevices: { + prototype: MediaDevices; + new(): MediaDevices; }; -interface PaymentAddress { - readonly addressLine: string[]; - readonly city: string; - readonly country: string; - readonly dependentLocality: string; - readonly languageCode: string; - readonly organization: string; - readonly phone: string; - readonly postalCode: string; - readonly recipient: string; - readonly region: string; - readonly sortingCode: string; - toJSON(): any; +interface MediaDeviceInfo { + readonly deviceId: string; + readonly kind: MediaDeviceKind; + readonly label: string; + readonly groupId: string; } -declare var PaymentAddress: { - prototype: PaymentAddress; - new(): PaymentAddress; +declare var MediaDeviceInfo: { + prototype: MediaDeviceInfo; + new(): MediaDeviceInfo; }; -interface PaymentRequestEventMap { - "shippingaddresschange": Event; - "shippingoptionchange": Event; +interface InputDeviceInfo extends MediaDeviceInfo { + getCapabilities(): MediaTrackCapabilities; } -interface PaymentRequest extends EventTarget { - onshippingaddresschange: (this: PaymentRequest, ev: Event) => any; - onshippingoptionchange: (this: PaymentRequest, ev: Event) => any; - readonly shippingAddress: PaymentAddress | null; - readonly shippingOption: string | null; - readonly shippingType: PaymentShippingType | null; - abort(): Promise; - show(): Promise; - addEventListener(type: K, listener: (this: PaymentRequest, ev: PaymentRequestEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare var InputDeviceInfo: { + prototype: InputDeviceInfo; + new(): InputDeviceInfo; +}; + +interface VideoPlaybackQuality { + readonly creationTime: number; + readonly corruptedVideoFrames: number; + readonly droppedVideoFrames: number; + readonly totalVideoFrames: number; } -declare var PaymentRequest: { - prototype: PaymentRequest; - new(methodData: PaymentMethodData[], details: PaymentDetails, options?: PaymentOptions): PaymentRequest; +declare var VideoPlaybackQuality: { + prototype: VideoPlaybackQuality; + new(): VideoPlaybackQuality; }; -interface PaymentRequestUpdateEvent extends Event { - updateWith(d: Promise): void; +interface MediaSourceEventMap { + "sourceopen": undefined; + "sourceended": undefined; + "sourceclose": undefined; } -declare var PaymentRequestUpdateEvent: { - prototype: PaymentRequestUpdateEvent; - new(type: string, eventInitDict?: PaymentRequestUpdateEventInit): PaymentRequestUpdateEvent; -}; - -interface PaymentResponse { - readonly details: any; - readonly methodName: string; - readonly payerEmail: string | null; - readonly payerName: string | null; - readonly payerPhone: string | null; - readonly shippingAddress: PaymentAddress | null; - readonly shippingOption: string | null; - complete(result?: PaymentComplete): Promise; - toJSON(): any; +interface MediaSource extends EventTarget { + readonly sourceBuffers: SourceBufferList; + readonly activeSourceBuffers: SourceBufferList; + readonly readyState: string; + duration: number; + onsourceopen: (this: MediaSource, ev: undefined) => any; + onsourceended: (this: MediaSource, ev: undefined) => any; + onsourceclose: (this: MediaSource, ev: undefined) => any; + addSourceBuffer(type: string): SourceBuffer; + removeSourceBuffer(sourceBuffer: SourceBuffer): void; + endOfStream(error?: EndOfStreamError): void; + setLiveSeekableRange(start: number, end: number): void; + clearLiveSeekableRange(): void; + addEventListener(type: K, listener: (this: MediaSource, ev: MediaSourceEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var PaymentResponse: { - prototype: PaymentResponse; - new(): PaymentResponse; +declare var MediaSource: { + prototype: MediaSource; + new(): MediaSource; + isTypeSupported(type: string): boolean; }; -interface Performance { - readonly navigation: PerformanceNavigation; - readonly timing: PerformanceTiming; - clearMarks(markName?: string): void; - clearMeasures(measureName?: string): void; - clearResourceTimings(): void; - getEntries(): any; - getEntriesByName(name: string, entryType?: string): any; - getEntriesByType(entryType: string): any; - getMarks(markName?: string): any; - getMeasures(measureName?: string): any; - mark(markName: string): void; - measure(measureName: string, startMarkName?: string, endMarkName?: string): void; - now(): number; - setResourceTimingBufferSize(maxSize: number): void; - toJSON(): any; +interface SourceBufferEventMap { + "updatestart": undefined; + "update": undefined; + "updateend": undefined; + "error": undefined; + "abort": undefined; } -declare var Performance: { - prototype: Performance; - new(): Performance; +interface SourceBuffer extends EventTarget { + mode: AppendMode; + readonly updating: boolean; + readonly buffered: TimeRanges; + timestampOffset: number; + readonly audioTracks: AudioTrackList; + readonly videoTracks: VideoTrackList; + readonly textTracks: TextTrackList; + appendWindowStart: number; + appendWindowEnd: number; + onupdatestart: (this: SourceBuffer, ev: undefined) => any; + onupdate: (this: SourceBuffer, ev: undefined) => any; + onupdateend: (this: SourceBuffer, ev: undefined) => any; + onerror: (this: SourceBuffer, ev: undefined) => any; + onabort: (this: SourceBuffer, ev: undefined) => any; + appendBuffer(data: BufferSource): void; + abort(): void; + remove(start: number, end: number): void; + addEventListener(type: K, listener: (this: SourceBuffer, ev: SourceBufferEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SourceBuffer: { + prototype: SourceBuffer; + new(): SourceBuffer; }; -interface PerformanceEntry { - readonly duration: number; - readonly entryType: string; - readonly name: string; - readonly startTime: number; +interface SourceBufferListEventMap { + "addsourcebuffer": undefined; + "removesourcebuffer": undefined; } -declare var PerformanceEntry: { - prototype: PerformanceEntry; - new(): PerformanceEntry; +interface SourceBufferList extends EventTarget { + readonly length: number; + onaddsourcebuffer: (this: SourceBufferList, ev: undefined) => any; + onremovesourcebuffer: (this: SourceBufferList, ev: undefined) => any; + addEventListener(type: K, listener: (this: SourceBufferList, ev: SourceBufferListEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + [index: number]: SourceBuffer; +} + +declare var SourceBufferList: { + prototype: SourceBufferList; + new(): SourceBufferList; }; -interface PerformanceMark extends PerformanceEntry { +interface PerformanceNavigationTiming extends PerformanceResourceTiming { + readonly unloadEventStart: number; + readonly unloadEventEnd: number; + readonly domInteractive: number; + readonly domContentLoadedEventStart: number; + readonly domContentLoadedEventEnd: number; + readonly domComplete: number; + readonly loadEventStart: number; + readonly loadEventEnd: number; + readonly type: NavigationType; + readonly redirectCount: number; } -declare var PerformanceMark: { - prototype: PerformanceMark; - new(): PerformanceMark; +declare var PerformanceNavigationTiming: { + prototype: PerformanceNavigationTiming; + new(): PerformanceNavigationTiming; }; -interface PerformanceMeasure extends PerformanceEntry { +interface PerformanceTiming { + readonly navigationStart: number; + readonly unloadEventStart: number; + readonly unloadEventEnd: number; + readonly redirectStart: number; + readonly redirectEnd: number; + readonly fetchStart: number; + readonly domainLookupStart: number; + readonly domainLookupEnd: number; + readonly connectStart: number; + readonly connectEnd: number; + readonly secureConnectionStart: number; + readonly requestStart: number; + readonly responseStart: number; + readonly responseEnd: number; + readonly domLoading: number; + readonly domInteractive: number; + readonly domContentLoadedEventStart: number; + readonly domContentLoadedEventEnd: number; + readonly domComplete: number; + readonly loadEventStart: number; + readonly loadEventEnd: number; } -declare var PerformanceMeasure: { - prototype: PerformanceMeasure; - new(): PerformanceMeasure; +declare var PerformanceTiming: { + prototype: PerformanceTiming; + new(): PerformanceTiming; }; interface PerformanceNavigation { - readonly redirectCount: number; readonly type: number; - toJSON(): any; - readonly TYPE_BACK_FORWARD: number; + readonly redirectCount: number; readonly TYPE_NAVIGATE: number; readonly TYPE_RELOAD: number; + readonly TYPE_BACK_FORWARD: number; readonly TYPE_RESERVED: number; } declare var PerformanceNavigation: { prototype: PerformanceNavigation; new(): PerformanceNavigation; - readonly TYPE_BACK_FORWARD: number; readonly TYPE_NAVIGATE: number; readonly TYPE_RELOAD: number; + readonly TYPE_BACK_FORWARD: number; readonly TYPE_RESERVED: number; }; -interface PerformanceNavigationTiming extends PerformanceEntry { - readonly connectEnd: number; - readonly connectStart: number; - readonly domainLookupEnd: number; - readonly domainLookupStart: number; - readonly domComplete: number; - readonly domContentLoadedEventEnd: number; - readonly domContentLoadedEventStart: number; - readonly domInteractive: number; - readonly domLoading: number; - readonly fetchStart: number; - readonly loadEventEnd: number; - readonly loadEventStart: number; - readonly navigationStart: number; - readonly redirectCount: number; - readonly redirectEnd: number; - readonly redirectStart: number; - readonly requestStart: number; - readonly responseEnd: number; - readonly responseStart: number; - readonly type: NavigationType; - readonly unloadEventEnd: number; - readonly unloadEventStart: number; +interface NotificationEventMap { + "click": MouseEvent; + "error": ErrorEvent; } -declare var PerformanceNavigationTiming: { - prototype: PerformanceNavigationTiming; - new(): PerformanceNavigationTiming; +interface Notification extends EventTarget { + readonly permission: NotificationPermission; + readonly maxActions: number; + onclick: (this: Notification, ev: MouseEvent) => any; + onerror: (this: Notification, ev: ErrorEvent) => any; + readonly title: string; + readonly dir: NotificationDirection; + readonly lang: string; + readonly body: string; + readonly tag: string; + readonly image: string; + readonly icon: string; + readonly badge: string; + readonly sound: string; + readonly vibrate: ReadonlyArray; + readonly timestamp: number; + readonly renotify: boolean; + readonly silent: boolean; + readonly requireInteraction: boolean; + readonly data: any; + readonly actions: ReadonlyArray; + close(): void; + addEventListener(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var Notification: { + prototype: Notification; + new(title: string, options?: NotificationOptions): Notification; + requestPermission(deprecatedCallback?: NotificationPermissionCallback): Promise; }; -interface PerformanceResourceTiming extends PerformanceEntry { - readonly connectEnd: number; - readonly connectStart: number; - readonly domainLookupEnd: number; - readonly domainLookupStart: number; - readonly fetchStart: number; - readonly initiatorType: string; - readonly redirectEnd: number; - readonly redirectStart: number; - readonly requestStart: number; - readonly responseEnd: number; - readonly responseStart: number; +interface NotificationEvent extends ExtendableEvent { + readonly notification: Notification; + readonly action: string; } -declare var PerformanceResourceTiming: { - prototype: PerformanceResourceTiming; - new(): PerformanceResourceTiming; +declare var NotificationEvent: { + prototype: NotificationEvent; + new(type: string, eventInitDict: NotificationEventInit): NotificationEvent; }; -interface PerformanceTiming { - readonly connectEnd: number; - readonly connectStart: number; - readonly domainLookupEnd: number; - readonly domainLookupStart: number; - readonly domComplete: number; - readonly domContentLoadedEventEnd: number; - readonly domContentLoadedEventStart: number; - readonly domInteractive: number; - readonly domLoading: number; - readonly fetchStart: number; - readonly loadEventEnd: number; - readonly loadEventStart: number; - readonly msFirstPaint: number; - readonly navigationStart: number; - readonly redirectEnd: number; - readonly redirectStart: number; - readonly requestStart: number; - readonly responseEnd: number; - readonly responseStart: number; - readonly unloadEventEnd: number; - readonly unloadEventStart: number; - readonly secureConnectionStart: number; - toJSON(): any; +interface PaymentRequestEventMap { + "shippingaddresschange": Event; + "shippingoptionchange": Event; } -declare var PerformanceTiming: { - prototype: PerformanceTiming; - new(): PerformanceTiming; +interface PaymentRequest extends EventTarget { + readonly id: string; + readonly shippingAddress: PaymentAddress | null; + readonly shippingOption: string | null; + readonly shippingType: PaymentShippingType | null; + onshippingaddresschange: (this: PaymentRequest, ev: Event) => any; + onshippingoptionchange: (this: PaymentRequest, ev: Event) => any; + show(): Promise; + abort(): Promise; + canMakePayment(): Promise; + addEventListener(type: K, listener: (this: PaymentRequest, ev: PaymentRequestEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var PaymentRequest: { + prototype: PaymentRequest; + new(methodData: PaymentMethodData[], details: PaymentDetailsInit, options?: PaymentOptions): PaymentRequest; }; -interface PerfWidgetExternal { - readonly activeNetworkRequestCount: number; - readonly averageFrameTime: number; - readonly averagePaintTime: number; - readonly extraInformationEnabled: boolean; - readonly independentRenderingEnabled: boolean; - readonly irDisablingContentString: string; - readonly irStatusAvailable: boolean; - readonly maxCpuSpeed: number; - readonly paintRequestsPerSecond: number; - readonly performanceCounter: number; - readonly performanceCounterFrequency: number; - addEventListener(eventType: string, callback: Function): void; - getMemoryUsage(): number; - getProcessCpuUsage(): number; - getRecentCpuUsage(last: number | null): any; - getRecentFrames(last: number | null): any; - getRecentMemoryUsage(last: number | null): any; - getRecentPaintRequests(last: number | null): any; - removeEventListener(eventType: string, callback: Function): void; - repositionWindow(x: number, y: number): void; - resizeWindow(width: number, height: number): void; -} - -declare var PerfWidgetExternal: { - prototype: PerfWidgetExternal; - new(): PerfWidgetExternal; +interface PaymentAddress { + readonly country: string; + readonly addressLine: ReadonlyArray; + readonly region: string; + readonly city: string; + readonly dependentLocality: string; + readonly postalCode: string; + readonly sortingCode: string; + readonly languageCode: string; + readonly organization: string; + readonly recipient: string; + readonly phone: string; +} + +declare var PaymentAddress: { + prototype: PaymentAddress; + new(): PaymentAddress; }; -interface PeriodicWave { +interface PaymentResponse { + readonly requestId: string; + readonly methodName: string; + readonly details: any; + readonly shippingAddress: PaymentAddress | null; + readonly shippingOption: string | null; + readonly payerName: string | null; + readonly payerEmail: string | null; + readonly payerPhone: string | null; + complete(result?: PaymentComplete): Promise; } -declare var PeriodicWave: { - prototype: PeriodicWave; - new(): PeriodicWave; +declare var PaymentResponse: { + prototype: PaymentResponse; + new(): PaymentResponse; }; -interface PermissionRequest extends DeferredPermissionRequest { - readonly state: MSWebViewPermissionState; - defer(): void; +interface PaymentRequestUpdateEvent extends Event { + updateWith(detailsPromise: Promise): void; } -declare var PermissionRequest: { - prototype: PermissionRequest; - new(): PermissionRequest; +declare var PaymentRequestUpdateEvent: { + prototype: PaymentRequestUpdateEvent; + new(type: string, eventInitDict?: PaymentRequestUpdateEventInit): PaymentRequestUpdateEvent; }; -interface PermissionRequestedEvent extends Event { - readonly permissionRequest: PermissionRequest; +interface PerformanceEntry { + readonly name: string; + readonly entryType: string; + readonly startTime: number; + readonly duration: number; } -declare var PermissionRequestedEvent: { - prototype: PermissionRequestedEvent; - new(): PermissionRequestedEvent; +declare var PerformanceEntry: { + prototype: PerformanceEntry; + new(): PerformanceEntry; }; -interface Plugin { - readonly description: string; - readonly filename: string; - readonly length: number; - readonly name: string; - readonly version: string; - item(index: number): MimeType; - namedItem(type: string): MimeType; - [index: number]: MimeType; +interface PerformanceObserverEntryList { + getEntries(): PerformanceEntryList; + getEntriesByType(type: string): PerformanceEntryList; + getEntriesByName(name: string, type?: string): PerformanceEntryList; } -declare var Plugin: { - prototype: Plugin; - new(): Plugin; +declare var PerformanceObserverEntryList: { + prototype: PerformanceObserverEntryList; + new(): PerformanceObserverEntryList; }; -interface PluginArray { - readonly length: number; - item(index: number): Plugin; - namedItem(name: string): Plugin; - refresh(reload?: boolean): void; - [index: number]: Plugin; +interface PerformanceObserver { + observe(options: PerformanceObserverInit): void; + disconnect(): void; } -declare var PluginArray: { - prototype: PluginArray; - new(): PluginArray; +declare var PerformanceObserver: { + prototype: PerformanceObserver; + new(callback: PerformanceObserverCallback): PerformanceObserver; }; interface PointerEvent extends MouseEvent { - readonly currentPoint: any; - readonly height: number; - readonly hwTimestamp: number; - readonly intermediatePoints: any; - readonly isPrimary: boolean; readonly pointerId: number; - readonly pointerType: any; + readonly width: number; + readonly height: number; readonly pressure: number; - readonly rotation: number; readonly tiltX: number; readonly tiltY: number; - readonly width: number; - getCurrentPoint(element: Element): void; - getIntermediatePoints(element: Element): void; - initPointerEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, ctrlKeyArg: boolean, altKeyArg: boolean, shiftKeyArg: boolean, metaKeyArg: boolean, buttonArg: number, relatedTargetArg: EventTarget, offsetXArg: number, offsetYArg: number, widthArg: number, heightArg: number, pressure: number, rotation: number, tiltX: number, tiltY: number, pointerIdArg: number, pointerType: any, hwTimestampArg: number, isPrimary: boolean): void; + readonly pointerType: string; + readonly isPrimary: boolean; } declare var PointerEvent: { prototype: PointerEvent; - new(typeArg: string, eventInitDict?: PointerEventInit): PointerEvent; -}; - -interface PopStateEvent extends Event { - readonly state: any; - initPopStateEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, stateArg: any): void; -} - -declare var PopStateEvent: { - prototype: PopStateEvent; - new(typeArg: string, eventInitDict?: PopStateEventInit): PopStateEvent; -}; - -interface Position { - readonly coords: Coordinates; - readonly timestamp: number; -} - -declare var Position: { - prototype: Position; - new(): Position; -}; - -interface PositionError { - readonly code: number; - readonly message: string; - toString(): string; - readonly PERMISSION_DENIED: number; - readonly POSITION_UNAVAILABLE: number; - readonly TIMEOUT: number; -} - -declare var PositionError: { - prototype: PositionError; - new(): PositionError; - readonly PERMISSION_DENIED: number; - readonly POSITION_UNAVAILABLE: number; - readonly TIMEOUT: number; -}; - -interface ProcessingInstruction extends CharacterData { - readonly target: string; -} - -declare var ProcessingInstruction: { - prototype: ProcessingInstruction; - new(): ProcessingInstruction; -}; - -interface ProgressEvent extends Event { - readonly lengthComputable: boolean; - readonly loaded: number; - readonly total: number; - initProgressEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, lengthComputableArg: boolean, loadedArg: number, totalArg: number): void; -} - -declare var ProgressEvent: { - prototype: ProgressEvent; - new(type: string, eventInitDict?: ProgressEventInit): ProgressEvent; + new(type: string, eventInitDict?: PointerEventInit): PointerEvent; }; interface PushManager { - getSubscription(): Promise; - permissionState(options?: PushSubscriptionOptionsInit): Promise; subscribe(options?: PushSubscriptionOptionsInit): Promise; + getSubscription(): any; + permissionState(options?: PushSubscriptionOptionsInit): Promise; } declare var PushManager: { @@ -8941,11 +8196,20 @@ declare var PushManager: { new(): PushManager; }; +interface PushSubscriptionOptions { + readonly userVisibleOnly: boolean; + readonly applicationServerKey: ArrayBuffer | null; +} + +declare var PushSubscriptionOptions: { + prototype: PushSubscriptionOptions; + new(): PushSubscriptionOptions; +}; + interface PushSubscription { - readonly endpoint: USVString; + readonly endpoint: string; readonly options: PushSubscriptionOptions; getKey(name: PushEncryptionKeyName): ArrayBuffer | null; - toJSON(): any; unsubscribe(): Promise; } @@ -8954,3074 +8218,2941 @@ declare var PushSubscription: { new(): PushSubscription; }; -interface PushSubscriptionOptions { - readonly applicationServerKey: ArrayBuffer | null; - readonly userVisibleOnly: boolean; +interface PushMessageData { + arrayBuffer(): ArrayBuffer; + blob(): Blob; + json(): any; + text(): string; } -declare var PushSubscriptionOptions: { - prototype: PushSubscriptionOptions; - new(): PushSubscriptionOptions; +declare var PushMessageData: { + prototype: PushMessageData; + new(): PushMessageData; }; -interface Range { - readonly collapsed: boolean; - readonly commonAncestorContainer: Node; - readonly endContainer: Node; - readonly endOffset: number; - readonly startContainer: Node; - readonly startOffset: number; - cloneContents(): DocumentFragment; - cloneRange(): Range; - collapse(toStart: boolean): void; - compareBoundaryPoints(how: number, sourceRange: Range): number; - createContextualFragment(fragment: string): DocumentFragment; - deleteContents(): void; - detach(): void; - expand(Unit: ExpandGranularity): boolean; - extractContents(): DocumentFragment; - getBoundingClientRect(): ClientRect; - getClientRects(): ClientRectList; - insertNode(newNode: Node): void; - selectNode(refNode: Node): void; - selectNodeContents(refNode: Node): void; - setEnd(refNode: Node, offset: number): void; - setEndAfter(refNode: Node): void; - setEndBefore(refNode: Node): void; - setStart(refNode: Node, offset: number): void; - setStartAfter(refNode: Node): void; - setStartBefore(refNode: Node): void; - surroundContents(newParent: Node): void; - toString(): string; - readonly END_TO_END: number; - readonly END_TO_START: number; - readonly START_TO_END: number; - readonly START_TO_START: number; +interface PushEvent extends ExtendableEvent { + readonly data: PushMessageData | null; } -declare var Range: { - prototype: Range; - new(): Range; - readonly END_TO_END: number; - readonly END_TO_START: number; - readonly START_TO_END: number; - readonly START_TO_START: number; +declare var PushEvent: { + prototype: PushEvent; + new(type: string, eventInitDict?: PushEventInit): PushEvent; }; -interface ReadableStream { - readonly locked: boolean; - cancel(): Promise; - getReader(): ReadableStreamReader; +interface PushSubscriptionChangeEvent extends ExtendableEvent { + readonly newSubscription: PushSubscription | null; + readonly oldSubscription: PushSubscription | null; } -declare var ReadableStream: { - prototype: ReadableStream; - new(): ReadableStream; +declare var PushSubscriptionChangeEvent: { + prototype: PushSubscriptionChangeEvent; + new(type: string, eventInitDict?: PushSubscriptionChangeInit): PushSubscriptionChangeEvent; }; -interface ReadableStreamReader { - cancel(): Promise; - read(): Promise; - releaseLock(): void; +interface PerformanceResourceTiming extends PerformanceEntry { + readonly initiatorType: string; + readonly redirectStart: number; + readonly redirectEnd: number; + readonly fetchStart: number; + readonly domainLookupStart: number; + readonly domainLookupEnd: number; + readonly connectStart: number; + readonly connectEnd: number; + readonly secureConnectionStart: number; + readonly requestStart: number; + readonly responseStart: number; + readonly responseEnd: number; } -declare var ReadableStreamReader: { - prototype: ReadableStreamReader; - new(): ReadableStreamReader; +declare var PerformanceResourceTiming: { + prototype: PerformanceResourceTiming; + new(): PerformanceResourceTiming; }; -interface Request extends Object, Body { - readonly cache: RequestCache; - readonly credentials: RequestCredentials; - readonly destination: RequestDestination; - readonly headers: Headers; - readonly integrity: string; - readonly keepalive: boolean; - readonly method: string; - readonly mode: RequestMode; - readonly redirect: RequestRedirect; - readonly referrer: string; - readonly referrerPolicy: ReferrerPolicy; - readonly type: RequestType; - readonly url: string; - clone(): Request; +interface Selection { + readonly anchorNode: Node | null; + readonly anchorOffset: number; + readonly focusNode: Node | null; + readonly focusOffset: number; + readonly isCollapsed: boolean; + readonly rangeCount: number; + readonly type: string; + getRangeAt(index: number): Range; + addRange(range: Range): void; + removeRange(range: Range): void; + removeAllRanges(): void; + empty(): void; + collapse(node: Node | null, offset?: number): void; + setPosition(node: Node | null, offset?: number): void; + collapseToStart(): void; + collapseToEnd(): void; + extend(node: Node, offset?: number): void; + setBaseAndExtent(anchorNode: Node, anchorOffset: number, focusNode: Node, focusOffset: number): void; + selectAllChildren(node: Node): void; + deleteFromDocument(): void; + containsNode(node: Node, allowPartialContainment?: boolean): boolean; } -declare var Request: { - prototype: Request; - new(input: Request | string, init?: RequestInit): Request; +declare var Selection: { + prototype: Selection; + new(): Selection; }; -interface Response extends Object, Body { - readonly body: ReadableStream | null; - readonly headers: Headers; - readonly ok: boolean; - readonly status: number; - readonly statusText: string; - readonly type: ResponseType; - readonly url: string; - readonly redirected: boolean; - clone(): Response; +interface ServiceWorkerEventMap extends AbstractWorkerEventMap { + "statechange": undefined; } -declare var Response: { - prototype: Response; - new(body?: any, init?: ResponseInit): Response; - error: () => Response; - redirect: (url: string, status?: number) => Response; +interface ServiceWorker extends EventTarget, AbstractWorker { + readonly scriptURL: string; + readonly state: ServiceWorkerState; + onstatechange: (this: ServiceWorker, ev: undefined) => any; + postMessage(message: any, transfer?: any[]): void; + addEventListener(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var ServiceWorker: { + prototype: ServiceWorker; + new(): ServiceWorker; }; -interface RTCDtlsTransportEventMap { - "dtlsstatechange": RTCDtlsTransportStateChangedEvent; - "error": Event; +interface ServiceWorkerRegistrationEventMap { + "updatefound": Event; } -interface RTCDtlsTransport extends RTCStatsProvider { - ondtlsstatechange: ((this: RTCDtlsTransport, ev: RTCDtlsTransportStateChangedEvent) => any) | null; - onerror: ((this: RTCDtlsTransport, ev: Event) => any) | null; - readonly state: RTCDtlsTransportState; - readonly transport: RTCIceTransport; - getLocalParameters(): RTCDtlsParameters; - getRemoteCertificates(): ArrayBuffer[]; - getRemoteParameters(): RTCDtlsParameters | null; - start(remoteParameters: RTCDtlsParameters): void; - stop(): void; - addEventListener(type: K, listener: (this: RTCDtlsTransport, ev: RTCDtlsTransportEventMap[K]) => any, useCapture?: boolean): void; +interface ServiceWorkerRegistration extends EventTarget { + readonly installing: ServiceWorker | null; + readonly waiting: ServiceWorker | null; + readonly active: ServiceWorker | null; + readonly navigationPreload: NavigationPreloadManager; + readonly scope: string; + readonly useCache: boolean; + onupdatefound: (this: ServiceWorkerRegistration, ev: Event) => any; + readonly pushManager: PushManager; + readonly sync: SyncManager; + update(): Promise; + unregister(): Promise; + showNotification(title: string, options?: NotificationOptions): Promise; + getNotifications(filter?: GetNotificationOptions): Promise; + addEventListener(type: K, listener: (this: ServiceWorkerRegistration, ev: ServiceWorkerRegistrationEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var RTCDtlsTransport: { - prototype: RTCDtlsTransport; - new(transport: RTCIceTransport): RTCDtlsTransport; +declare var ServiceWorkerRegistration: { + prototype: ServiceWorkerRegistration; + new(): ServiceWorkerRegistration; +}; + +interface ServiceWorkerContainerEventMap { + "controllerchange": Event; + "message": MessageEvent; +} + +interface ServiceWorkerContainer extends EventTarget { + readonly controller: ServiceWorker | null; + readonly ready: Promise; + oncontrollerchange: (this: ServiceWorkerContainer, ev: Event) => any; + onmessage: (this: ServiceWorkerContainer, ev: MessageEvent) => any; + register(scriptURL: string, options?: RegistrationOptions): Promise; + getRegistration(): Promise; + getRegistrations(): Promise; + startMessages(): void; + addEventListener(type: K, listener: (this: ServiceWorkerContainer, ev: ServiceWorkerContainerEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var ServiceWorkerContainer: { + prototype: ServiceWorkerContainer; + new(): ServiceWorkerContainer; }; -interface RTCDtlsTransportStateChangedEvent extends Event { - readonly state: RTCDtlsTransportState; +interface NavigationPreloadManager { + enable(): Promise; + disable(): Promise; + setHeaderValue(value: any): Promise; + getState(): Promise; } -declare var RTCDtlsTransportStateChangedEvent: { - prototype: RTCDtlsTransportStateChangedEvent; - new(): RTCDtlsTransportStateChangedEvent; +declare var NavigationPreloadManager: { + prototype: NavigationPreloadManager; + new(): NavigationPreloadManager; }; -interface RTCDtmfSenderEventMap { - "tonechange": RTCDTMFToneChangeEvent; +interface ServiceWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap { + "activate": ExtendableEvent; + "fetch": FetchEvent; + "install": InstallEvent; + "message": ExtendableMessageEvent; + "notificationclick": NotificationEvent; + "notificationclose": NotificationEvent; + "push": PushEvent; + "pushsubscriptionchange": PushSubscriptionChangeEvent; + "sync": SyncEvent; } -interface RTCDtmfSender extends EventTarget { - readonly canInsertDTMF: boolean; - readonly duration: number; - readonly interToneGap: number; - ontonechange: (this: RTCDtmfSender, ev: RTCDTMFToneChangeEvent) => any; - readonly sender: RTCRtpSender; - readonly toneBuffer: string; - insertDTMF(tones: string, duration?: number, interToneGap?: number): void; - addEventListener(type: K, listener: (this: RTCDtmfSender, ev: RTCDtmfSenderEventMap[K]) => any, useCapture?: boolean): void; +interface ServiceWorkerGlobalScope extends WorkerGlobalScope { + readonly clients: Clients; + readonly registration: ServiceWorkerRegistration; + oninstall: (this: ServiceWorkerGlobalScope, ev: InstallEvent) => any; + onactivate: (this: ServiceWorkerGlobalScope, ev: ExtendableEvent) => any; + onfetch: (this: ServiceWorkerGlobalScope, ev: FetchEvent) => any; + onforeignfetch: (this: ServiceWorkerGlobalScope, ev: FetchEvent) => any; + onmessage: (this: ServiceWorkerGlobalScope, ev: ExtendableMessageEvent) => any; + onnotificationclick: (this: ServiceWorkerGlobalScope, ev: NotificationEvent) => any; + onnotificationclose: (this: ServiceWorkerGlobalScope, ev: NotificationEvent) => any; + onpush: (this: ServiceWorkerGlobalScope, ev: PushEvent) => any; + onpushsubscriptionchange: (this: ServiceWorkerGlobalScope, ev: PushSubscriptionChangeEvent) => any; + onsync: (this: ServiceWorkerGlobalScope, ev: SyncEvent) => any; + skipWaiting(): Promise; + addEventListener(type: K, listener: (this: ServiceWorkerGlobalScope, ev: ServiceWorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var RTCDtmfSender: { - prototype: RTCDtmfSender; - new(sender: RTCRtpSender): RTCDtmfSender; +declare var ServiceWorkerGlobalScope: { + prototype: ServiceWorkerGlobalScope; + new(): ServiceWorkerGlobalScope; }; -interface RTCDTMFToneChangeEvent extends Event { - readonly tone: string; +interface Client { + readonly url: string; + readonly id: string; + readonly type: ClientType; + readonly reserved: boolean; + postMessage(message: any, transfer?: any[]): void; } -declare var RTCDTMFToneChangeEvent: { - prototype: RTCDTMFToneChangeEvent; - new(typeArg: string, eventInitDict: RTCDTMFToneChangeEventInit): RTCDTMFToneChangeEvent; +declare var Client: { + prototype: Client; + new(): Client; }; -interface RTCIceCandidate { - candidate: string | null; - sdpMid: string | null; - sdpMLineIndex: number | null; - toJSON(): any; +interface WindowClient extends Client { + readonly visibilityState: any; + readonly focused: boolean; + readonly ancestorOrigins: ReadonlyArray; + focus(): Promise; + navigate(url: string): Promise; } -declare var RTCIceCandidate: { - prototype: RTCIceCandidate; - new(candidateInitDict?: RTCIceCandidateInit): RTCIceCandidate; +declare var WindowClient: { + prototype: WindowClient; + new(): WindowClient; }; -interface RTCIceCandidatePairChangedEvent extends Event { - readonly pair: RTCIceCandidatePair; +interface Clients { + get(id: string): Promise; + matchAll(options?: ClientQueryOptions): Promise; + openWindow(url: string): any; + claim(): Promise; } -declare var RTCIceCandidatePairChangedEvent: { - prototype: RTCIceCandidatePairChangedEvent; - new(): RTCIceCandidatePairChangedEvent; +declare var Clients: { + prototype: Clients; + new(): Clients; }; -interface RTCIceGathererEventMap { - "error": Event; - "localcandidate": RTCIceGathererEvent; -} - -interface RTCIceGatherer extends RTCStatsProvider { - readonly component: RTCIceComponent; - onerror: ((this: RTCIceGatherer, ev: Event) => any) | null; - onlocalcandidate: ((this: RTCIceGatherer, ev: RTCIceGathererEvent) => any) | null; - createAssociatedGatherer(): RTCIceGatherer; - getLocalCandidates(): RTCIceCandidateDictionary[]; - getLocalParameters(): RTCIceParameters; - addEventListener(type: K, listener: (this: RTCIceGatherer, ev: RTCIceGathererEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface ExtendableEvent extends Event { + waitUntil(f: Promise): void; } -declare var RTCIceGatherer: { - prototype: RTCIceGatherer; - new(options: RTCIceGatherOptions): RTCIceGatherer; +declare var ExtendableEvent: { + prototype: ExtendableEvent; + new(type: string, eventInitDict?: ExtendableEventInit): ExtendableEvent; }; -interface RTCIceGathererEvent extends Event { - readonly candidate: RTCIceCandidateDictionary | RTCIceCandidateComplete; +interface InstallEvent extends ExtendableEvent { + registerForeignFetch(options: ForeignFetchOptions): void; } -declare var RTCIceGathererEvent: { - prototype: RTCIceGathererEvent; - new(): RTCIceGathererEvent; +declare var InstallEvent: { + prototype: InstallEvent; + new(type: string, eventInitDict?: ExtendableEventInit): InstallEvent; }; -interface RTCIceTransportEventMap { - "candidatepairchange": RTCIceCandidatePairChangedEvent; - "icestatechange": RTCIceTransportStateChangedEvent; -} - -interface RTCIceTransport extends RTCStatsProvider { - readonly component: RTCIceComponent; - readonly iceGatherer: RTCIceGatherer | null; - oncandidatepairchange: ((this: RTCIceTransport, ev: RTCIceCandidatePairChangedEvent) => any) | null; - onicestatechange: ((this: RTCIceTransport, ev: RTCIceTransportStateChangedEvent) => any) | null; - readonly role: RTCIceRole; - readonly state: RTCIceTransportState; - addRemoteCandidate(remoteCandidate: RTCIceCandidateDictionary | RTCIceCandidateComplete): void; - createAssociatedTransport(): RTCIceTransport; - getNominatedCandidatePair(): RTCIceCandidatePair | null; - getRemoteCandidates(): RTCIceCandidateDictionary[]; - getRemoteParameters(): RTCIceParameters | null; - setRemoteCandidates(remoteCandidates: RTCIceCandidateDictionary[]): void; - start(gatherer: RTCIceGatherer, remoteParameters: RTCIceParameters, role?: RTCIceRole): void; - stop(): void; - addEventListener(type: K, listener: (this: RTCIceTransport, ev: RTCIceTransportEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface FetchEvent extends ExtendableEvent { + readonly request: Request; + readonly preloadResponse: Promise; + readonly clientId: string; + readonly reservedClientId: string; + readonly targetClientId: string; + respondWith(r: Promise): void; } -declare var RTCIceTransport: { - prototype: RTCIceTransport; - new(): RTCIceTransport; +declare var FetchEvent: { + prototype: FetchEvent; + new(type: string, eventInitDict: FetchEventInit): FetchEvent; }; -interface RTCIceTransportStateChangedEvent extends Event { - readonly state: RTCIceTransportState; +interface ForeignFetchEvent extends ExtendableEvent { + readonly request: Request; + readonly origin: string; + respondWith(r: Promise): void; } -declare var RTCIceTransportStateChangedEvent: { - prototype: RTCIceTransportStateChangedEvent; - new(): RTCIceTransportStateChangedEvent; +declare var ForeignFetchEvent: { + prototype: ForeignFetchEvent; + new(type: string, eventInitDict: ForeignFetchEventInit): ForeignFetchEvent; }; -interface RTCPeerConnectionEventMap { - "addstream": MediaStreamEvent; - "icecandidate": RTCPeerConnectionIceEvent; - "iceconnectionstatechange": Event; - "icegatheringstatechange": Event; - "negotiationneeded": Event; - "removestream": MediaStreamEvent; - "signalingstatechange": Event; -} - -interface RTCPeerConnection extends EventTarget { - readonly canTrickleIceCandidates: boolean | null; - readonly iceConnectionState: RTCIceConnectionState; - readonly iceGatheringState: RTCIceGatheringState; - readonly localDescription: RTCSessionDescription | null; - onaddstream: (this: RTCPeerConnection, ev: MediaStreamEvent) => any; - onicecandidate: (this: RTCPeerConnection, ev: RTCPeerConnectionIceEvent) => any; - oniceconnectionstatechange: (this: RTCPeerConnection, ev: Event) => any; - onicegatheringstatechange: (this: RTCPeerConnection, ev: Event) => any; - onnegotiationneeded: (this: RTCPeerConnection, ev: Event) => any; - onremovestream: (this: RTCPeerConnection, ev: MediaStreamEvent) => any; - onsignalingstatechange: (this: RTCPeerConnection, ev: Event) => any; - readonly remoteDescription: RTCSessionDescription | null; - readonly signalingState: RTCSignalingState; - addIceCandidate(candidate: RTCIceCandidate, successCallback?: VoidFunction, failureCallback?: RTCPeerConnectionErrorCallback): Promise; - addStream(stream: MediaStream): void; - close(): void; - createAnswer(successCallback?: RTCSessionDescriptionCallback, failureCallback?: RTCPeerConnectionErrorCallback): Promise; - createOffer(successCallback?: RTCSessionDescriptionCallback, failureCallback?: RTCPeerConnectionErrorCallback, options?: RTCOfferOptions): Promise; - getConfiguration(): RTCConfiguration; - getLocalStreams(): MediaStream[]; - getRemoteStreams(): MediaStream[]; - getStats(selector: MediaStreamTrack | null, successCallback?: RTCStatsCallback, failureCallback?: RTCPeerConnectionErrorCallback): Promise; - getStreamById(streamId: string): MediaStream | null; - removeStream(stream: MediaStream): void; - setLocalDescription(description: RTCSessionDescription, successCallback?: VoidFunction, failureCallback?: RTCPeerConnectionErrorCallback): Promise; - setRemoteDescription(description: RTCSessionDescription, successCallback?: VoidFunction, failureCallback?: RTCPeerConnectionErrorCallback): Promise; - addEventListener(type: K, listener: (this: RTCPeerConnection, ev: RTCPeerConnectionEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface ExtendableMessageEvent extends ExtendableEvent { + readonly data: any; + readonly origin: string; + readonly lastEventId: string; + readonly source: Client | ServiceWorker | MessagePort | null; + readonly ports: ReadonlyArray; } -declare var RTCPeerConnection: { - prototype: RTCPeerConnection; - new(configuration: RTCConfiguration): RTCPeerConnection; +declare var ExtendableMessageEvent: { + prototype: ExtendableMessageEvent; + new(type: string, eventInitDict?: ExtendableMessageEventInit): ExtendableMessageEvent; }; -interface RTCPeerConnectionIceEvent extends Event { - readonly candidate: RTCIceCandidate; +interface Cache { + match(request: RequestInfo, options?: CacheQueryOptions): Promise; + matchAll(request?: RequestInfo, options?: CacheQueryOptions): Promise; + add(request: RequestInfo): Promise; + addAll(requests: RequestInfo[]): Promise; + put(request: RequestInfo, response: Response): Promise; + delete(request: RequestInfo, options?: CacheQueryOptions): Promise; + keys(request?: RequestInfo, options?: CacheQueryOptions): Promise; } -declare var RTCPeerConnectionIceEvent: { - prototype: RTCPeerConnectionIceEvent; - new(type: string, eventInitDict: RTCPeerConnectionIceEventInit): RTCPeerConnectionIceEvent; +declare var Cache: { + prototype: Cache; + new(): Cache; }; -interface RTCRtpReceiverEventMap { - "error": Event; -} - -interface RTCRtpReceiver extends RTCStatsProvider { - onerror: ((this: RTCRtpReceiver, ev: Event) => any) | null; - readonly rtcpTransport: RTCDtlsTransport; - readonly track: MediaStreamTrack | null; - readonly transport: RTCDtlsTransport | RTCSrtpSdesTransport; - getContributingSources(): RTCRtpContributingSource[]; - receive(parameters: RTCRtpParameters): void; - requestSendCSRC(csrc: number): void; - setTransport(transport: RTCDtlsTransport | RTCSrtpSdesTransport, rtcpTransport?: RTCDtlsTransport): void; - stop(): void; - addEventListener(type: K, listener: (this: RTCRtpReceiver, ev: RTCRtpReceiverEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface CacheStorage { + match(request: RequestInfo, options?: CacheQueryOptions): Promise; + has(cacheName: string): Promise; + open(cacheName: string): Promise; + delete(cacheName: string): Promise; + keys(): Promise; } -declare var RTCRtpReceiver: { - prototype: RTCRtpReceiver; - new(transport: RTCDtlsTransport | RTCSrtpSdesTransport, kind: string, rtcpTransport?: RTCDtlsTransport): RTCRtpReceiver; - getCapabilities(kind?: string): RTCRtpCapabilities; +declare var CacheStorage: { + prototype: CacheStorage; + new(): CacheStorage; }; -interface RTCRtpSenderEventMap { - "error": Event; - "ssrcconflict": RTCSsrcConflictEvent; -} - -interface RTCRtpSender extends RTCStatsProvider { - onerror: ((this: RTCRtpSender, ev: Event) => any) | null; - onssrcconflict: ((this: RTCRtpSender, ev: RTCSsrcConflictEvent) => any) | null; - readonly rtcpTransport: RTCDtlsTransport; - readonly track: MediaStreamTrack; - readonly transport: RTCDtlsTransport | RTCSrtpSdesTransport; - send(parameters: RTCRtpParameters): void; - setTrack(track: MediaStreamTrack): void; - setTransport(transport: RTCDtlsTransport | RTCSrtpSdesTransport, rtcpTransport?: RTCDtlsTransport): void; - stop(): void; - addEventListener(type: K, listener: (this: RTCRtpSender, ev: RTCRtpSenderEventMap[K]) => any, useCapture?: boolean): void; +interface SVGElement extends Element, GlobalEventHandlers, SVGElementInstance, ElementCSSInlineStyle { + className: any; + readonly dataset: DOMStringMap; + readonly ownerSVGElement: SVGSVGElement | null; + readonly viewportElement: SVGElement | null; + tabIndex: number; + focus(): void; + blur(): void; + addEventListener(type: K, listener: (this: SVGElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var RTCRtpSender: { - prototype: RTCRtpSender; - new(track: MediaStreamTrack, transport: RTCDtlsTransport | RTCSrtpSdesTransport, rtcpTransport?: RTCDtlsTransport): RTCRtpSender; - getCapabilities(kind?: string): RTCRtpCapabilities; -}; - -interface RTCSessionDescription { - sdp: string | null; - type: RTCSdpType | null; - toJSON(): any; -} - -declare var RTCSessionDescription: { - prototype: RTCSessionDescription; - new(descriptionInitDict?: RTCSessionDescriptionInit): RTCSessionDescription; +declare var SVGElement: { + prototype: SVGElement; + new(): SVGElement; }; -interface RTCSrtpSdesTransportEventMap { - "error": Event; -} - -interface RTCSrtpSdesTransport extends EventTarget { - onerror: ((this: RTCSrtpSdesTransport, ev: Event) => any) | null; - readonly transport: RTCIceTransport; - addEventListener(type: K, listener: (this: RTCSrtpSdesTransport, ev: RTCSrtpSdesTransportEventMap[K]) => any, useCapture?: boolean): void; +interface SVGGraphicsElement extends SVGElement, SVGTests { + readonly transform: SVGAnimatedTransformList; + getBBox(options?: SVGBoundingBoxOptions): DOMRect; + getCTM(): DOMMatrix | null; + getScreenCTM(): DOMMatrix | null; + addEventListener(type: K, listener: (this: SVGGraphicsElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGGraphicsElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var RTCSrtpSdesTransport: { - prototype: RTCSrtpSdesTransport; - new(transport: RTCIceTransport, encryptParameters: RTCSrtpSdesParameters, decryptParameters: RTCSrtpSdesParameters): RTCSrtpSdesTransport; - getLocalParameters(): RTCSrtpSdesParameters[]; +declare var SVGGraphicsElement: { + prototype: SVGGraphicsElement; + new(): SVGGraphicsElement; }; -interface RTCSsrcConflictEvent extends Event { - readonly ssrc: number; +interface SVGGeometryElement extends SVGGraphicsElement { + readonly pathLength: SVGAnimatedNumber; + isPointInFill(point: DOMPoint): boolean; + isPointInStroke(point: DOMPoint): boolean; + getTotalLength(): number; + getPointAtLength(distance: number): DOMPoint; + addEventListener(type: K, listener: (this: SVGGeometryElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGGeometryElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var RTCSsrcConflictEvent: { - prototype: RTCSsrcConflictEvent; - new(): RTCSsrcConflictEvent; +declare var SVGGeometryElement: { + prototype: SVGGeometryElement; + new(): SVGGeometryElement; }; -interface RTCStatsProvider extends EventTarget { - getStats(): Promise; - msGetStats(): Promise; +interface SVGNumber { + value: number; } -declare var RTCStatsProvider: { - prototype: RTCStatsProvider; - new(): RTCStatsProvider; +declare var SVGNumber: { + prototype: SVGNumber; + new(): SVGNumber; }; -interface ScopedCredential { - readonly id: ArrayBuffer; - readonly type: ScopedCredentialType; +interface SVGLength { + readonly unitType: number; + value: number; + valueInSpecifiedUnits: number; + valueAsString: string; + newValueSpecifiedUnits(unitType: number, valueInSpecifiedUnits: number): void; + convertToSpecifiedUnits(unitType: number): void; + readonly SVG_LENGTHTYPE_UNKNOWN: number; + readonly SVG_LENGTHTYPE_NUMBER: number; + readonly SVG_LENGTHTYPE_PERCENTAGE: number; + readonly SVG_LENGTHTYPE_EMS: number; + readonly SVG_LENGTHTYPE_EXS: number; + readonly SVG_LENGTHTYPE_PX: number; + readonly SVG_LENGTHTYPE_CM: number; + readonly SVG_LENGTHTYPE_MM: number; + readonly SVG_LENGTHTYPE_IN: number; + readonly SVG_LENGTHTYPE_PT: number; + readonly SVG_LENGTHTYPE_PC: number; } -declare var ScopedCredential: { - prototype: ScopedCredential; - new(): ScopedCredential; +declare var SVGLength: { + prototype: SVGLength; + new(): SVGLength; + readonly SVG_LENGTHTYPE_UNKNOWN: number; + readonly SVG_LENGTHTYPE_NUMBER: number; + readonly SVG_LENGTHTYPE_PERCENTAGE: number; + readonly SVG_LENGTHTYPE_EMS: number; + readonly SVG_LENGTHTYPE_EXS: number; + readonly SVG_LENGTHTYPE_PX: number; + readonly SVG_LENGTHTYPE_CM: number; + readonly SVG_LENGTHTYPE_MM: number; + readonly SVG_LENGTHTYPE_IN: number; + readonly SVG_LENGTHTYPE_PT: number; + readonly SVG_LENGTHTYPE_PC: number; }; -interface ScopedCredentialInfo { - readonly credential: ScopedCredential; - readonly publicKey: CryptoKey; +interface SVGAngle { + readonly unitType: number; + value: number; + valueInSpecifiedUnits: number; + valueAsString: string; + newValueSpecifiedUnits(unitType: number, valueInSpecifiedUnits: number): void; + convertToSpecifiedUnits(unitType: number): void; + readonly SVG_ANGLETYPE_UNKNOWN: number; + readonly SVG_ANGLETYPE_UNSPECIFIED: number; + readonly SVG_ANGLETYPE_DEG: number; + readonly SVG_ANGLETYPE_RAD: number; + readonly SVG_ANGLETYPE_GRAD: number; } -declare var ScopedCredentialInfo: { - prototype: ScopedCredentialInfo; - new(): ScopedCredentialInfo; +declare var SVGAngle: { + prototype: SVGAngle; + new(): SVGAngle; + readonly SVG_ANGLETYPE_UNKNOWN: number; + readonly SVG_ANGLETYPE_UNSPECIFIED: number; + readonly SVG_ANGLETYPE_DEG: number; + readonly SVG_ANGLETYPE_RAD: number; + readonly SVG_ANGLETYPE_GRAD: number; }; -interface ScreenEventMap { - "MSOrientationChange": Event; -} - -interface Screen extends EventTarget { - readonly availHeight: number; - readonly availWidth: number; - bufferDepth: number; - readonly colorDepth: number; - readonly deviceXDPI: number; - readonly deviceYDPI: number; - readonly fontSmoothingEnabled: boolean; - readonly height: number; - readonly logicalXDPI: number; - readonly logicalYDPI: number; - readonly msOrientation: string; - onmsorientationchange: (this: Screen, ev: Event) => any; - readonly pixelDepth: number; - readonly systemXDPI: number; - readonly systemYDPI: number; - readonly width: number; - msLockOrientation(orientations: string | string[]): boolean; - msUnlockOrientation(): void; - addEventListener(type: K, listener: (this: Screen, ev: ScreenEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface SVGNumberList { + readonly length: number; + readonly numberOfItems: number; + clear(): void; + initialize(newItem: SVGNumber): SVGNumber; + getItem(index: number): SVGNumber; + insertItemBefore(newItem: SVGNumber, index: number): SVGNumber; + replaceItem(newItem: SVGNumber, index: number): SVGNumber; + removeItem(index: number): SVGNumber; + appendItem(newItem: SVGNumber): SVGNumber; + [index: number]: SVGNumber; } -declare var Screen: { - prototype: Screen; - new(): Screen; +declare var SVGNumberList: { + prototype: SVGNumberList; + new(): SVGNumberList; }; -interface ScriptNotifyEvent extends Event { - readonly callingUri: string; - readonly value: string; +interface SVGLengthList { + readonly length: number; + readonly numberOfItems: number; + clear(): void; + initialize(newItem: SVGLength): SVGLength; + getItem(index: number): SVGLength; + insertItemBefore(newItem: SVGLength, index: number): SVGLength; + replaceItem(newItem: SVGLength, index: number): SVGLength; + removeItem(index: number): SVGLength; + appendItem(newItem: SVGLength): SVGLength; + [index: number]: SVGLength; } -declare var ScriptNotifyEvent: { - prototype: ScriptNotifyEvent; - new(): ScriptNotifyEvent; +declare var SVGLengthList: { + prototype: SVGLengthList; + new(): SVGLengthList; }; -interface ScriptProcessorNodeEventMap { - "audioprocess": AudioProcessingEvent; -} - -interface ScriptProcessorNode extends AudioNode { - readonly bufferSize: number; - onaudioprocess: (this: ScriptProcessorNode, ev: AudioProcessingEvent) => any; - addEventListener(type: K, listener: (this: ScriptProcessorNode, ev: ScriptProcessorNodeEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface SVGAnimatedBoolean { + baseVal: boolean; + readonly animVal: boolean; } -declare var ScriptProcessorNode: { - prototype: ScriptProcessorNode; - new(): ScriptProcessorNode; +declare var SVGAnimatedBoolean: { + prototype: SVGAnimatedBoolean; + new(): SVGAnimatedBoolean; }; - -interface Selection { - readonly anchorNode: Node; - readonly anchorOffset: number; - readonly baseNode: Node; - readonly baseOffset: number; - readonly extentNode: Node; - readonly extentOffset: number; - readonly focusNode: Node; - readonly focusOffset: number; - readonly isCollapsed: boolean; - readonly rangeCount: number; - readonly type: string; - addRange(range: Range): void; - collapse(parentNode: Node, offset: number): void; - collapseToEnd(): void; - collapseToStart(): void; - containsNode(node: Node, partlyContained: boolean): boolean; - deleteFromDocument(): void; - empty(): void; - extend(newNode: Node, offset: number): void; - getRangeAt(index: number): Range; - removeAllRanges(): void; - removeRange(range: Range): void; - selectAllChildren(parentNode: Node): void; - setBaseAndExtent(baseNode: Node, baseOffset: number, extentNode: Node, extentOffset: number): void; - setPosition(parentNode: Node, offset: number): void; - toString(): string; + +interface SVGAnimatedEnumeration { + baseVal: number; + readonly animVal: number; } -declare var Selection: { - prototype: Selection; - new(): Selection; +declare var SVGAnimatedEnumeration: { + prototype: SVGAnimatedEnumeration; + new(): SVGAnimatedEnumeration; }; -interface ServiceWorkerEventMap extends AbstractWorkerEventMap { - "statechange": Event; +interface SVGAnimatedInteger { + baseVal: number; + readonly animVal: number; } -interface ServiceWorker extends EventTarget, AbstractWorker { - onstatechange: (this: ServiceWorker, ev: Event) => any; - readonly scriptURL: USVString; - readonly state: ServiceWorkerState; - postMessage(message: any, transfer?: any[]): void; - addEventListener(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare var SVGAnimatedInteger: { + prototype: SVGAnimatedInteger; + new(): SVGAnimatedInteger; +}; + +interface SVGAnimatedNumber { + baseVal: number; + readonly animVal: number; } -declare var ServiceWorker: { - prototype: ServiceWorker; - new(): ServiceWorker; +declare var SVGAnimatedNumber: { + prototype: SVGAnimatedNumber; + new(): SVGAnimatedNumber; }; -interface ServiceWorkerContainerEventMap { - "controllerchange": Event; - "message": ServiceWorkerMessageEvent; +interface SVGAnimatedLength { + readonly baseVal: SVGLength; + readonly animVal: SVGLength; } -interface ServiceWorkerContainer extends EventTarget { - readonly controller: ServiceWorker | null; - oncontrollerchange: (this: ServiceWorkerContainer, ev: Event) => any; - onmessage: (this: ServiceWorkerContainer, ev: ServiceWorkerMessageEvent) => any; - readonly ready: Promise; - getRegistration(): Promise; - getRegistrations(): Promise; - register(scriptURL: USVString, options?: RegistrationOptions): Promise; - addEventListener(type: K, listener: (this: ServiceWorkerContainer, ev: ServiceWorkerContainerEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare var SVGAnimatedLength: { + prototype: SVGAnimatedLength; + new(): SVGAnimatedLength; +}; + +interface SVGAnimatedAngle { + readonly baseVal: SVGAngle; + readonly animVal: SVGAngle; } -declare var ServiceWorkerContainer: { - prototype: ServiceWorkerContainer; - new(): ServiceWorkerContainer; +declare var SVGAnimatedAngle: { + prototype: SVGAnimatedAngle; + new(): SVGAnimatedAngle; }; -interface ServiceWorkerMessageEvent extends Event { - readonly data: any; - readonly lastEventId: string; - readonly origin: string; - readonly ports: MessagePort[] | null; - readonly source: ServiceWorker | MessagePort | null; +interface SVGAnimatedString { + baseVal: string; + readonly animVal: string; } -declare var ServiceWorkerMessageEvent: { - prototype: ServiceWorkerMessageEvent; - new(type: string, eventInitDict?: ServiceWorkerMessageEventInit): ServiceWorkerMessageEvent; +declare var SVGAnimatedString: { + prototype: SVGAnimatedString; + new(): SVGAnimatedString; }; -interface ServiceWorkerRegistrationEventMap { - "updatefound": Event; +interface SVGAnimatedRect { + readonly baseVal: DOMRect; + readonly animVal: DOMRectReadOnly; } -interface ServiceWorkerRegistration extends EventTarget { - readonly active: ServiceWorker | null; - readonly installing: ServiceWorker | null; - onupdatefound: (this: ServiceWorkerRegistration, ev: Event) => any; - readonly pushManager: PushManager; - readonly scope: USVString; - readonly sync: SyncManager; - readonly waiting: ServiceWorker | null; - getNotifications(filter?: GetNotificationOptions): Promise; - showNotification(title: string, options?: NotificationOptions): Promise; - unregister(): Promise; - update(): Promise; - addEventListener(type: K, listener: (this: ServiceWorkerRegistration, ev: ServiceWorkerRegistrationEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare var SVGAnimatedRect: { + prototype: SVGAnimatedRect; + new(): SVGAnimatedRect; +}; + +interface SVGAnimatedNumberList { + readonly baseVal: SVGNumberList; + readonly animVal: SVGNumberList; } -declare var ServiceWorkerRegistration: { - prototype: ServiceWorkerRegistration; - new(): ServiceWorkerRegistration; +declare var SVGAnimatedNumberList: { + prototype: SVGAnimatedNumberList; + new(): SVGAnimatedNumberList; }; -interface SourceBuffer extends EventTarget { - appendWindowEnd: number; - appendWindowStart: number; - readonly audioTracks: AudioTrackList; - readonly buffered: TimeRanges; - mode: AppendMode; - timestampOffset: number; - readonly updating: boolean; - readonly videoTracks: VideoTrackList; - abort(): void; - appendBuffer(data: ArrayBuffer | ArrayBufferView): void; - appendStream(stream: MSStream, maxSize?: number): void; - remove(start: number, end: number): void; +interface SVGAnimatedLengthList { + readonly baseVal: SVGLengthList; + readonly animVal: SVGLengthList; } -declare var SourceBuffer: { - prototype: SourceBuffer; - new(): SourceBuffer; +declare var SVGAnimatedLengthList: { + prototype: SVGAnimatedLengthList; + new(): SVGAnimatedLengthList; }; -interface SourceBufferList extends EventTarget { +interface SVGStringList { readonly length: number; - item(index: number): SourceBuffer; - [index: number]: SourceBuffer; + readonly numberOfItems: number; + clear(): void; + initialize(newItem: string): string; + getItem(index: number): string; + insertItemBefore(newItem: string, index: number): string; + replaceItem(newItem: string, index: number): string; + removeItem(index: number): string; + appendItem(newItem: string): string; + [index: number]: string; } -declare var SourceBufferList: { - prototype: SourceBufferList; - new(): SourceBufferList; +declare var SVGStringList: { + prototype: SVGStringList; + new(): SVGStringList; }; -interface SpeechSynthesisEventMap { - "voiceschanged": Event; +interface SVGSVGElement extends SVGGraphicsElement, SVGFitToViewBox, SVGZoomAndPan, WindowEventHandlers { + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + readonly width: SVGAnimatedLength; + readonly height: SVGAnimatedLength; + currentScale: number; + readonly currentTranslate: DOMPointReadOnly; + getIntersectionList(rect: DOMRectReadOnly, referenceElement: SVGElement): NodeListOf; + getEnclosureList(rect: DOMRectReadOnly, referenceElement: SVGElement): NodeListOf; + checkIntersection(element: SVGElement, rect: DOMRectReadOnly): boolean; + checkEnclosure(element: SVGElement, rect: DOMRectReadOnly): boolean; + deselectAll(): void; + createSVGNumber(): SVGNumber; + createSVGLength(): SVGLength; + createSVGAngle(): SVGAngle; + createSVGPoint(): DOMPoint; + createSVGMatrix(): DOMMatrix; + createSVGRect(): DOMRect; + createSVGTransform(): SVGTransform; + createSVGTransformFromMatrix(matrix: DOMMatrixReadOnly): SVGTransform; + getElementById(elementId: string): Element; + suspendRedraw(maxWaitMilliseconds: number): number; + unsuspendRedraw(suspendHandleID: number): void; + unsuspendRedrawAll(): void; + forceRedraw(): void; + addEventListener(type: K, listener: (this: SVGSVGElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGSVGElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGSVGElement, ev: WindowEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -interface SpeechSynthesis extends EventTarget { - onvoiceschanged: (this: SpeechSynthesis, ev: Event) => any; - readonly paused: boolean; - readonly pending: boolean; - readonly speaking: boolean; - cancel(): void; - getVoices(): SpeechSynthesisVoice[]; - pause(): void; - resume(): void; - speak(utterance: SpeechSynthesisUtterance): void; - addEventListener(type: K, listener: (this: SpeechSynthesis, ev: SpeechSynthesisEventMap[K]) => any, useCapture?: boolean): void; +declare var SVGSVGElement: { + prototype: SVGSVGElement; + new(): SVGSVGElement; +}; + +interface SVGGElement extends SVGGraphicsElement { + addEventListener(type: K, listener: (this: SVGGElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGGElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SpeechSynthesis: { - prototype: SpeechSynthesis; - new(): SpeechSynthesis; +declare var SVGGElement: { + prototype: SVGGElement; + new(): SVGGElement; }; -interface SpeechSynthesisEvent extends Event { - readonly charIndex: number; - readonly elapsedTime: number; - readonly name: string; - readonly utterance: SpeechSynthesisUtterance | null; +interface SVGUnknownElement extends SVGGraphicsElement { + addEventListener(type: K, listener: (this: SVGUnknownElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGUnknownElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SpeechSynthesisEvent: { - prototype: SpeechSynthesisEvent; - new(type: string, eventInitDict?: SpeechSynthesisEventInit): SpeechSynthesisEvent; +declare var SVGUnknownElement: { + prototype: SVGUnknownElement; + new(): SVGUnknownElement; }; -interface SpeechSynthesisUtteranceEventMap { - "boundary": Event; - "end": Event; - "error": Event; - "mark": Event; - "pause": Event; - "resume": Event; - "start": Event; +interface SVGDefsElement extends SVGGraphicsElement { + addEventListener(type: K, listener: (this: SVGDefsElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGDefsElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -interface SpeechSynthesisUtterance extends EventTarget { - lang: string; - onboundary: (this: SpeechSynthesisUtterance, ev: Event) => any; - onend: (this: SpeechSynthesisUtterance, ev: Event) => any; - onerror: (this: SpeechSynthesisUtterance, ev: Event) => any; - onmark: (this: SpeechSynthesisUtterance, ev: Event) => any; - onpause: (this: SpeechSynthesisUtterance, ev: Event) => any; - onresume: (this: SpeechSynthesisUtterance, ev: Event) => any; - onstart: (this: SpeechSynthesisUtterance, ev: Event) => any; - pitch: number; - rate: number; - text: string; - voice: SpeechSynthesisVoice; - volume: number; - addEventListener(type: K, listener: (this: SpeechSynthesisUtterance, ev: SpeechSynthesisUtteranceEventMap[K]) => any, useCapture?: boolean): void; +declare var SVGDefsElement: { + prototype: SVGDefsElement; + new(): SVGDefsElement; +}; + +interface SVGDescElement extends SVGElement { + addEventListener(type: K, listener: (this: SVGDescElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGDescElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SpeechSynthesisUtterance: { - prototype: SpeechSynthesisUtterance; - new(text?: string): SpeechSynthesisUtterance; +declare var SVGDescElement: { + prototype: SVGDescElement; + new(): SVGDescElement; }; -interface SpeechSynthesisVoice { - readonly default: boolean; - readonly lang: string; - readonly localService: boolean; - readonly name: string; - readonly voiceURI: string; +interface SVGMetadataElement extends SVGElement { + addEventListener(type: K, listener: (this: SVGMetadataElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGMetadataElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SpeechSynthesisVoice: { - prototype: SpeechSynthesisVoice; - new(): SpeechSynthesisVoice; +declare var SVGMetadataElement: { + prototype: SVGMetadataElement; + new(): SVGMetadataElement; }; -interface StereoPannerNode extends AudioNode { - readonly pan: AudioParam; +interface SVGTitleElement extends SVGElement { + addEventListener(type: K, listener: (this: SVGTitleElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGTitleElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var StereoPannerNode: { - prototype: StereoPannerNode; - new(): StereoPannerNode; +declare var SVGTitleElement: { + prototype: SVGTitleElement; + new(): SVGTitleElement; }; -interface Storage { - readonly length: number; - clear(): void; - getItem(key: string): string | null; - key(index: number): string | null; - removeItem(key: string): void; - setItem(key: string, data: string): void; - [key: string]: any; - [index: number]: string; +interface SVGSymbolElement extends SVGGraphicsElement, SVGFitToViewBox { + addEventListener(type: K, listener: (this: SVGSymbolElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGSymbolElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var Storage: { - prototype: Storage; - new(): Storage; +declare var SVGSymbolElement: { + prototype: SVGSymbolElement; + new(): SVGSymbolElement; }; -interface StorageEvent extends Event { - readonly url: string; - key?: string; - oldValue?: string; - newValue?: string; - storageArea?: Storage; +interface SVGUseElement extends SVGGraphicsElement, SVGURIReference { + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + readonly width: SVGAnimatedLength; + readonly height: SVGAnimatedLength; + readonly instanceRoot: SVGElement | null; + readonly animatedInstanceRoot: SVGElement | null; + addEventListener(type: K, listener: (this: SVGUseElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGUseElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var StorageEvent: { - prototype: StorageEvent; - new (type: string, eventInitDict?: StorageEventInit): StorageEvent; +declare var SVGUseElement: { + prototype: SVGUseElement; + new(): SVGUseElement; }; -interface StyleMedia { - readonly type: string; - matchMedium(mediaquery: string): boolean; +interface SVGElementInstance extends ShadowRoot { } -declare var StyleMedia: { - prototype: StyleMedia; - new(): StyleMedia; +declare var SVGElementInstance: { + prototype: SVGElementInstance; + new(): SVGElementInstance; }; -interface StyleSheet { - disabled: boolean; - readonly href: string; - readonly media: MediaList; - readonly ownerNode: Node; - readonly parentStyleSheet: StyleSheet; - readonly title: string; - readonly type: string; +interface ShadowAnimation extends Animation { + readonly sourceAnimation: Animation; + addEventListener(type: K, listener: (this: ShadowAnimation, ev: AnimationEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var StyleSheet: { - prototype: StyleSheet; - new(): StyleSheet; +declare var ShadowAnimation: { + prototype: ShadowAnimation; + new(source: Animation, newTarget: Animatable): ShadowAnimation; }; -interface StyleSheetList { - readonly length: number; - item(index?: number): StyleSheet; - [index: number]: StyleSheet; +interface SVGSwitchElement extends SVGGraphicsElement { + addEventListener(type: K, listener: (this: SVGSwitchElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGSwitchElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var StyleSheetList: { - prototype: StyleSheetList; - new(): StyleSheetList; +declare var SVGSwitchElement: { + prototype: SVGSwitchElement; + new(): SVGSwitchElement; }; -interface StyleSheetPageList { - readonly length: number; - item(index: number): CSSPageRule; - [index: number]: CSSPageRule; +interface SVGStyleElement extends SVGElement, LinkStyle { + type: string; + media: string; + title: string; + addEventListener(type: K, listener: (this: SVGStyleElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGStyleElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var StyleSheetPageList: { - prototype: StyleSheetPageList; - new(): StyleSheetPageList; +declare var SVGStyleElement: { + prototype: SVGStyleElement; + new(): SVGStyleElement; }; -interface SubtleCrypto { - decrypt(algorithm: string | RsaOaepParams | AesCtrParams | AesCbcParams | AesCmacParams | AesGcmParams | AesCfbParams, key: CryptoKey, data: BufferSource): PromiseLike; - deriveBits(algorithm: string | EcdhKeyDeriveParams | DhKeyDeriveParams | ConcatParams | HkdfCtrParams | Pbkdf2Params, baseKey: CryptoKey, length: number): PromiseLike; - deriveKey(algorithm: string | EcdhKeyDeriveParams | DhKeyDeriveParams | ConcatParams | HkdfCtrParams | Pbkdf2Params, baseKey: CryptoKey, derivedKeyType: string | AesDerivedKeyParams | HmacImportParams | ConcatParams | HkdfCtrParams | Pbkdf2Params, extractable: boolean, keyUsages: string[]): PromiseLike; - digest(algorithm: AlgorithmIdentifier, data: BufferSource): PromiseLike; - encrypt(algorithm: string | RsaOaepParams | AesCtrParams | AesCbcParams | AesCmacParams | AesGcmParams | AesCfbParams, key: CryptoKey, data: BufferSource): PromiseLike; - exportKey(format: "jwk", key: CryptoKey): PromiseLike; - exportKey(format: "raw" | "pkcs8" | "spki", key: CryptoKey): PromiseLike; - exportKey(format: string, key: CryptoKey): PromiseLike; - generateKey(algorithm: string, extractable: boolean, keyUsages: string[]): PromiseLike; - generateKey(algorithm: RsaHashedKeyGenParams | EcKeyGenParams | DhKeyGenParams, extractable: boolean, keyUsages: string[]): PromiseLike; - generateKey(algorithm: AesKeyGenParams | HmacKeyGenParams | Pbkdf2Params, extractable: boolean, keyUsages: string[]): PromiseLike; - importKey(format: "jwk", keyData: JsonWebKey, algorithm: string | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams, extractable: boolean, keyUsages: string[]): PromiseLike; - importKey(format: "raw" | "pkcs8" | "spki", keyData: BufferSource, algorithm: string | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams, extractable: boolean, keyUsages: string[]): PromiseLike; - importKey(format: string, keyData: JsonWebKey | BufferSource, algorithm: string | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams, extractable: boolean, keyUsages: string[]): PromiseLike; - sign(algorithm: string | RsaPssParams | EcdsaParams | AesCmacParams, key: CryptoKey, data: BufferSource): PromiseLike; - unwrapKey(format: string, wrappedKey: BufferSource, unwrappingKey: CryptoKey, unwrapAlgorithm: AlgorithmIdentifier, unwrappedKeyAlgorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: string[]): PromiseLike; - verify(algorithm: string | RsaPssParams | EcdsaParams | AesCmacParams, key: CryptoKey, signature: BufferSource, data: BufferSource): PromiseLike; - wrapKey(format: string, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: AlgorithmIdentifier): PromiseLike; +interface SVGTransform { + readonly type: number; + readonly matrix: DOMMatrix; + readonly angle: number; + setMatrix(matrix: DOMMatrixReadOnly): void; + setTranslate(tx: number, ty: number): void; + setScale(sx: number, sy: number): void; + setRotate(angle: number, cx: number, cy: number): void; + setSkewX(angle: number): void; + setSkewY(angle: number): void; + readonly SVG_TRANSFORM_UNKNOWN: number; + readonly SVG_TRANSFORM_MATRIX: number; + readonly SVG_TRANSFORM_TRANSLATE: number; + readonly SVG_TRANSFORM_SCALE: number; + readonly SVG_TRANSFORM_ROTATE: number; + readonly SVG_TRANSFORM_SKEWX: number; + readonly SVG_TRANSFORM_SKEWY: number; } -declare var SubtleCrypto: { - prototype: SubtleCrypto; - new(): SubtleCrypto; +declare var SVGTransform: { + prototype: SVGTransform; + new(): SVGTransform; + readonly SVG_TRANSFORM_UNKNOWN: number; + readonly SVG_TRANSFORM_MATRIX: number; + readonly SVG_TRANSFORM_TRANSLATE: number; + readonly SVG_TRANSFORM_SCALE: number; + readonly SVG_TRANSFORM_ROTATE: number; + readonly SVG_TRANSFORM_SKEWX: number; + readonly SVG_TRANSFORM_SKEWY: number; }; -interface SVGAElement extends SVGGraphicsElement, SVGURIReference { - readonly target: SVGAnimatedString; - addEventListener(type: K, listener: (this: SVGAElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface SVGTransformList { + readonly length: number; + readonly numberOfItems: number; + clear(): void; + initialize(newItem: SVGTransform): SVGTransform; + getItem(index: number): SVGTransform; + insertItemBefore(newItem: SVGTransform, index: number): SVGTransform; + replaceItem(newItem: SVGTransform, index: number): SVGTransform; + removeItem(index: number): SVGTransform; + appendItem(newItem: SVGTransform): SVGTransform; + createSVGTransformFromMatrix(matrix: DOMMatrixReadOnly): SVGTransform; + consolidate(): SVGTransform | null; + [index: number]: SVGTransform; } -declare var SVGAElement: { - prototype: SVGAElement; - new(): SVGAElement; +declare var SVGTransformList: { + prototype: SVGTransformList; + new(): SVGTransformList; }; -interface SVGAngle { - readonly unitType: number; - value: number; - valueAsString: string; - valueInSpecifiedUnits: number; - convertToSpecifiedUnits(unitType: number): void; - newValueSpecifiedUnits(unitType: number, valueInSpecifiedUnits: number): void; - readonly SVG_ANGLETYPE_DEG: number; - readonly SVG_ANGLETYPE_GRAD: number; - readonly SVG_ANGLETYPE_RAD: number; - readonly SVG_ANGLETYPE_UNKNOWN: number; - readonly SVG_ANGLETYPE_UNSPECIFIED: number; +interface SVGAnimatedTransformList { + readonly baseVal: SVGTransformList; + readonly animVal: SVGTransformList; } -declare var SVGAngle: { - prototype: SVGAngle; - new(): SVGAngle; - readonly SVG_ANGLETYPE_DEG: number; - readonly SVG_ANGLETYPE_GRAD: number; - readonly SVG_ANGLETYPE_RAD: number; - readonly SVG_ANGLETYPE_UNKNOWN: number; - readonly SVG_ANGLETYPE_UNSPECIFIED: number; +declare var SVGAnimatedTransformList: { + prototype: SVGAnimatedTransformList; + new(): SVGAnimatedTransformList; }; -interface SVGAnimatedAngle { - readonly animVal: SVGAngle; - readonly baseVal: SVGAngle; +interface SVGPreserveAspectRatio { + align: number; + meetOrSlice: number; + readonly SVG_PRESERVEASPECTRATIO_UNKNOWN: number; + readonly SVG_PRESERVEASPECTRATIO_NONE: number; + readonly SVG_PRESERVEASPECTRATIO_XMINYMIN: number; + readonly SVG_PRESERVEASPECTRATIO_XMIDYMIN: number; + readonly SVG_PRESERVEASPECTRATIO_XMAXYMIN: number; + readonly SVG_PRESERVEASPECTRATIO_XMINYMID: number; + readonly SVG_PRESERVEASPECTRATIO_XMIDYMID: number; + readonly SVG_PRESERVEASPECTRATIO_XMAXYMID: number; + readonly SVG_PRESERVEASPECTRATIO_XMINYMAX: number; + readonly SVG_PRESERVEASPECTRATIO_XMIDYMAX: number; + readonly SVG_PRESERVEASPECTRATIO_XMAXYMAX: number; + readonly SVG_MEETORSLICE_UNKNOWN: number; + readonly SVG_MEETORSLICE_MEET: number; + readonly SVG_MEETORSLICE_SLICE: number; } -declare var SVGAnimatedAngle: { - prototype: SVGAnimatedAngle; - new(): SVGAnimatedAngle; +declare var SVGPreserveAspectRatio: { + prototype: SVGPreserveAspectRatio; + new(): SVGPreserveAspectRatio; + readonly SVG_PRESERVEASPECTRATIO_UNKNOWN: number; + readonly SVG_PRESERVEASPECTRATIO_NONE: number; + readonly SVG_PRESERVEASPECTRATIO_XMINYMIN: number; + readonly SVG_PRESERVEASPECTRATIO_XMIDYMIN: number; + readonly SVG_PRESERVEASPECTRATIO_XMAXYMIN: number; + readonly SVG_PRESERVEASPECTRATIO_XMINYMID: number; + readonly SVG_PRESERVEASPECTRATIO_XMIDYMID: number; + readonly SVG_PRESERVEASPECTRATIO_XMAXYMID: number; + readonly SVG_PRESERVEASPECTRATIO_XMINYMAX: number; + readonly SVG_PRESERVEASPECTRATIO_XMIDYMAX: number; + readonly SVG_PRESERVEASPECTRATIO_XMAXYMAX: number; + readonly SVG_MEETORSLICE_UNKNOWN: number; + readonly SVG_MEETORSLICE_MEET: number; + readonly SVG_MEETORSLICE_SLICE: number; }; -interface SVGAnimatedBoolean { - readonly animVal: boolean; - baseVal: boolean; +interface SVGAnimatedPreserveAspectRatio { + readonly baseVal: SVGPreserveAspectRatio; + readonly animVal: SVGPreserveAspectRatio; } -declare var SVGAnimatedBoolean: { - prototype: SVGAnimatedBoolean; - new(): SVGAnimatedBoolean; +declare var SVGAnimatedPreserveAspectRatio: { + prototype: SVGAnimatedPreserveAspectRatio; + new(): SVGAnimatedPreserveAspectRatio; }; -interface SVGAnimatedEnumeration { - readonly animVal: number; - baseVal: number; +interface SVGPathElement extends SVGGeometryElement { + addEventListener(type: K, listener: (this: SVGPathElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGPathElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGAnimatedEnumeration: { - prototype: SVGAnimatedEnumeration; - new(): SVGAnimatedEnumeration; +declare var SVGPathElement: { + prototype: SVGPathElement; + new(): SVGPathElement; }; -interface SVGAnimatedInteger { - readonly animVal: number; - baseVal: number; +interface SVGRectElement extends SVGGeometryElement { + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + readonly width: SVGAnimatedLength; + readonly height: SVGAnimatedLength; + readonly rx: SVGAnimatedLength; + readonly ry: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGRectElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGRectElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGAnimatedInteger: { - prototype: SVGAnimatedInteger; - new(): SVGAnimatedInteger; +declare var SVGRectElement: { + prototype: SVGRectElement; + new(): SVGRectElement; }; -interface SVGAnimatedLength { - readonly animVal: SVGLength; - readonly baseVal: SVGLength; +interface SVGCircleElement extends SVGGeometryElement { + readonly cx: SVGAnimatedLength; + readonly cy: SVGAnimatedLength; + readonly r: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGCircleElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGCircleElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGAnimatedLength: { - prototype: SVGAnimatedLength; - new(): SVGAnimatedLength; +declare var SVGCircleElement: { + prototype: SVGCircleElement; + new(): SVGCircleElement; }; -interface SVGAnimatedLengthList { - readonly animVal: SVGLengthList; - readonly baseVal: SVGLengthList; +interface SVGEllipseElement extends SVGGeometryElement { + readonly cx: SVGAnimatedLength; + readonly cy: SVGAnimatedLength; + readonly rx: SVGAnimatedLength; + readonly ry: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGEllipseElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGEllipseElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGAnimatedLengthList: { - prototype: SVGAnimatedLengthList; - new(): SVGAnimatedLengthList; +declare var SVGEllipseElement: { + prototype: SVGEllipseElement; + new(): SVGEllipseElement; }; -interface SVGAnimatedNumber { - readonly animVal: number; - baseVal: number; +interface SVGLineElement extends SVGGeometryElement { + readonly x1: SVGAnimatedLength; + readonly y1: SVGAnimatedLength; + readonly x2: SVGAnimatedLength; + readonly y2: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGLineElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGLineElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGAnimatedNumber: { - prototype: SVGAnimatedNumber; - new(): SVGAnimatedNumber; +declare var SVGLineElement: { + prototype: SVGLineElement; + new(): SVGLineElement; }; -interface SVGAnimatedNumberList { - readonly animVal: SVGNumberList; - readonly baseVal: SVGNumberList; +interface SVGMeshElement extends SVGGeometryElement, SVGURIReference { + addEventListener(type: K, listener: (this: SVGMeshElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGMeshElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGAnimatedNumberList: { - prototype: SVGAnimatedNumberList; - new(): SVGAnimatedNumberList; +declare var SVGMeshElement: { + prototype: SVGMeshElement; + new(): SVGMeshElement; }; -interface SVGAnimatedPreserveAspectRatio { - readonly animVal: SVGPreserveAspectRatio; - readonly baseVal: SVGPreserveAspectRatio; +interface SVGPointList { + readonly length: number; + readonly numberOfItems: number; + clear(): void; + initialize(newItem: DOMPoint): DOMPoint; + getItem(index: number): DOMPoint; + insertItemBefore(newItem: DOMPoint, index: number): DOMPoint; + replaceItem(newItem: DOMPoint, index: number): DOMPoint; + removeItem(index: number): DOMPoint; + appendItem(newItem: DOMPoint): DOMPoint; + [index: number]: DOMPoint; } -declare var SVGAnimatedPreserveAspectRatio: { - prototype: SVGAnimatedPreserveAspectRatio; - new(): SVGAnimatedPreserveAspectRatio; +declare var SVGPointList: { + prototype: SVGPointList; + new(): SVGPointList; }; -interface SVGAnimatedRect { - readonly animVal: SVGRect; - readonly baseVal: SVGRect; +interface SVGPolylineElement extends SVGGeometryElement, SVGAnimatedPoints { + addEventListener(type: K, listener: (this: SVGPolylineElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGPolylineElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGAnimatedRect: { - prototype: SVGAnimatedRect; - new(): SVGAnimatedRect; +declare var SVGPolylineElement: { + prototype: SVGPolylineElement; + new(): SVGPolylineElement; }; -interface SVGAnimatedString { - readonly animVal: string; - baseVal: string; +interface SVGPolygonElement extends SVGGeometryElement, SVGAnimatedPoints { + addEventListener(type: K, listener: (this: SVGPolygonElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGPolygonElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGAnimatedString: { - prototype: SVGAnimatedString; - new(): SVGAnimatedString; +declare var SVGPolygonElement: { + prototype: SVGPolygonElement; + new(): SVGPolygonElement; }; -interface SVGAnimatedTransformList { - readonly animVal: SVGTransformList; - readonly baseVal: SVGTransformList; +interface SVGTextContentElement extends SVGGraphicsElement { + readonly textLength: SVGAnimatedLength; + readonly lengthAdjust: SVGAnimatedEnumeration; + getNumberOfChars(): number; + getComputedTextLength(): number; + getSubStringLength(charnum: number, nchars: number): number; + getStartPositionOfChar(charnum: number): DOMPoint; + getEndPositionOfChar(charnum: number): DOMPoint; + getExtentOfChar(charnum: number): DOMRect; + getRotationOfChar(charnum: number): number; + getCharNumAtPosition(point: DOMPoint): number; + selectSubString(charnum: number, nchars: number): void; + readonly LENGTHADJUST_UNKNOWN: number; + readonly LENGTHADJUST_SPACING: number; + readonly LENGTHADJUST_SPACINGANDGLYPHS: number; + addEventListener(type: K, listener: (this: SVGTextContentElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGTextContentElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGAnimatedTransformList: { - prototype: SVGAnimatedTransformList; - new(): SVGAnimatedTransformList; +declare var SVGTextContentElement: { + prototype: SVGTextContentElement; + new(): SVGTextContentElement; + readonly LENGTHADJUST_UNKNOWN: number; + readonly LENGTHADJUST_SPACING: number; + readonly LENGTHADJUST_SPACINGANDGLYPHS: number; }; -interface SVGCircleElement extends SVGGraphicsElement { - readonly cx: SVGAnimatedLength; - readonly cy: SVGAnimatedLength; - readonly r: SVGAnimatedLength; - addEventListener(type: K, listener: (this: SVGCircleElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; +interface SVGTextPositioningElement extends SVGTextContentElement { + readonly x: SVGAnimatedLengthList; + readonly y: SVGAnimatedLengthList; + readonly dx: SVGAnimatedLengthList; + readonly dy: SVGAnimatedLengthList; + readonly rotate: SVGAnimatedNumberList; + addEventListener(type: K, listener: (this: SVGTextPositioningElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGTextPositioningElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGCircleElement: { - prototype: SVGCircleElement; - new(): SVGCircleElement; +declare var SVGTextPositioningElement: { + prototype: SVGTextPositioningElement; + new(): SVGTextPositioningElement; }; -interface SVGClipPathElement extends SVGGraphicsElement, SVGUnitTypes { - readonly clipPathUnits: SVGAnimatedEnumeration; - addEventListener(type: K, listener: (this: SVGClipPathElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; +interface SVGTextElement extends SVGTextPositioningElement { + addEventListener(type: K, listener: (this: SVGTextElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGTextElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGClipPathElement: { - prototype: SVGClipPathElement; - new(): SVGClipPathElement; +declare var SVGTextElement: { + prototype: SVGTextElement; + new(): SVGTextElement; }; -interface SVGComponentTransferFunctionElement extends SVGElement { - readonly amplitude: SVGAnimatedNumber; - readonly exponent: SVGAnimatedNumber; - readonly intercept: SVGAnimatedNumber; - readonly offset: SVGAnimatedNumber; - readonly slope: SVGAnimatedNumber; - readonly tableValues: SVGAnimatedNumberList; - readonly type: SVGAnimatedEnumeration; - readonly SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE: number; - readonly SVG_FECOMPONENTTRANSFER_TYPE_GAMMA: number; - readonly SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY: number; - readonly SVG_FECOMPONENTTRANSFER_TYPE_LINEAR: number; - readonly SVG_FECOMPONENTTRANSFER_TYPE_TABLE: number; - readonly SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN: number; - addEventListener(type: K, listener: (this: SVGComponentTransferFunctionElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; +interface SVGTSpanElement extends SVGTextPositioningElement { + addEventListener(type: K, listener: (this: SVGTSpanElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGTSpanElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGComponentTransferFunctionElement: { - prototype: SVGComponentTransferFunctionElement; - new(): SVGComponentTransferFunctionElement; - readonly SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE: number; - readonly SVG_FECOMPONENTTRANSFER_TYPE_GAMMA: number; - readonly SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY: number; - readonly SVG_FECOMPONENTTRANSFER_TYPE_LINEAR: number; - readonly SVG_FECOMPONENTTRANSFER_TYPE_TABLE: number; - readonly SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN: number; +declare var SVGTSpanElement: { + prototype: SVGTSpanElement; + new(): SVGTSpanElement; }; -interface SVGDefsElement extends SVGGraphicsElement { - addEventListener(type: K, listener: (this: SVGDefsElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; +interface SVGTextPathElement extends SVGTextContentElement, SVGURIReference { + readonly startOffset: SVGAnimatedLength; + readonly method: SVGAnimatedEnumeration; + readonly spacing: SVGAnimatedEnumeration; + readonly TEXTPATH_METHODTYPE_UNKNOWN: number; + readonly TEXTPATH_METHODTYPE_ALIGN: number; + readonly TEXTPATH_METHODTYPE_STRETCH: number; + readonly TEXTPATH_SPACINGTYPE_UNKNOWN: number; + readonly TEXTPATH_SPACINGTYPE_AUTO: number; + readonly TEXTPATH_SPACINGTYPE_EXACT: number; + addEventListener(type: K, listener: (this: SVGTextPathElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGTextPathElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGDefsElement: { - prototype: SVGDefsElement; - new(): SVGDefsElement; +declare var SVGTextPathElement: { + prototype: SVGTextPathElement; + new(): SVGTextPathElement; + readonly TEXTPATH_METHODTYPE_UNKNOWN: number; + readonly TEXTPATH_METHODTYPE_ALIGN: number; + readonly TEXTPATH_METHODTYPE_STRETCH: number; + readonly TEXTPATH_SPACINGTYPE_UNKNOWN: number; + readonly TEXTPATH_SPACINGTYPE_AUTO: number; + readonly TEXTPATH_SPACINGTYPE_EXACT: number; }; -interface SVGDescElement extends SVGElement { - addEventListener(type: K, listener: (this: SVGDescElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; +interface SVGImageElement extends SVGGraphicsElement, SVGURIReference { + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + readonly width: SVGAnimatedLength; + readonly height: SVGAnimatedLength; + readonly preserveAspectRatio: SVGAnimatedPreserveAspectRatio; + crossOrigin: string | null; + addEventListener(type: K, listener: (this: SVGImageElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGImageElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGDescElement: { - prototype: SVGDescElement; - new(): SVGDescElement; +declare var SVGImageElement: { + prototype: SVGImageElement; + new(): SVGImageElement; }; -interface SVGElementEventMap extends ElementEventMap { - "click": MouseEvent; - "dblclick": MouseEvent; - "focusin": FocusEvent; - "focusout": FocusEvent; - "load": Event; - "mousedown": MouseEvent; - "mousemove": MouseEvent; - "mouseout": MouseEvent; - "mouseover": MouseEvent; - "mouseup": MouseEvent; -} - -interface SVGElement extends Element { - className: any; - onclick: (this: SVGElement, ev: MouseEvent) => any; - ondblclick: (this: SVGElement, ev: MouseEvent) => any; - onfocusin: (this: SVGElement, ev: FocusEvent) => any; - onfocusout: (this: SVGElement, ev: FocusEvent) => any; - onload: (this: SVGElement, ev: Event) => any; - onmousedown: (this: SVGElement, ev: MouseEvent) => any; - onmousemove: (this: SVGElement, ev: MouseEvent) => any; - onmouseout: (this: SVGElement, ev: MouseEvent) => any; - onmouseover: (this: SVGElement, ev: MouseEvent) => any; - onmouseup: (this: SVGElement, ev: MouseEvent) => any; - readonly ownerSVGElement: SVGSVGElement; - readonly style: CSSStyleDeclaration; - readonly viewportElement: SVGElement; - xmlbase: string; - addEventListener(type: K, listener: (this: SVGElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; +interface SVGForeignObjectElement extends SVGGraphicsElement { + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + readonly width: SVGAnimatedLength; + readonly height: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGForeignObjectElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGForeignObjectElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGElement: { - prototype: SVGElement; - new(): SVGElement; +declare var SVGForeignObjectElement: { + prototype: SVGForeignObjectElement; + new(): SVGForeignObjectElement; }; -interface SVGElementInstance extends EventTarget { - readonly childNodes: SVGElementInstanceList; - readonly correspondingElement: SVGElement; - readonly correspondingUseElement: SVGUseElement; - readonly firstChild: SVGElementInstance; - readonly lastChild: SVGElementInstance; - readonly nextSibling: SVGElementInstance; - readonly parentNode: SVGElementInstance; - readonly previousSibling: SVGElementInstance; +interface SVGMarkerElement extends SVGElement, SVGFitToViewBox { + readonly refX: SVGAnimatedLength; + readonly refY: SVGAnimatedLength; + readonly markerUnits: SVGAnimatedEnumeration; + readonly markerWidth: SVGAnimatedLength; + readonly markerHeight: SVGAnimatedLength; + readonly orientType: SVGAnimatedEnumeration; + readonly orientAngle: SVGAnimatedAngle; + orient: string; + setOrientToAuto(): void; + setOrientToAngle(angle: SVGAngle): void; + readonly SVG_MARKERUNITS_UNKNOWN: number; + readonly SVG_MARKERUNITS_USERSPACEONUSE: number; + readonly SVG_MARKERUNITS_STROKEWIDTH: number; + readonly SVG_MARKER_ORIENT_UNKNOWN: number; + readonly SVG_MARKER_ORIENT_AUTO: number; + readonly SVG_MARKER_ORIENT_ANGLE: number; + addEventListener(type: K, listener: (this: SVGMarkerElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGMarkerElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGElementInstance: { - prototype: SVGElementInstance; - new(): SVGElementInstance; +declare var SVGMarkerElement: { + prototype: SVGMarkerElement; + new(): SVGMarkerElement; + readonly SVG_MARKERUNITS_UNKNOWN: number; + readonly SVG_MARKERUNITS_USERSPACEONUSE: number; + readonly SVG_MARKERUNITS_STROKEWIDTH: number; + readonly SVG_MARKER_ORIENT_UNKNOWN: number; + readonly SVG_MARKER_ORIENT_AUTO: number; + readonly SVG_MARKER_ORIENT_ANGLE: number; }; -interface SVGElementInstanceList { - readonly length: number; - item(index: number): SVGElementInstance; +interface SVGSolidcolorElement extends SVGElement { + addEventListener(type: K, listener: (this: SVGSolidcolorElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGSolidcolorElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGElementInstanceList: { - prototype: SVGElementInstanceList; - new(): SVGElementInstanceList; +declare var SVGSolidcolorElement: { + prototype: SVGSolidcolorElement; + new(): SVGSolidcolorElement; }; -interface SVGEllipseElement extends SVGGraphicsElement { - readonly cx: SVGAnimatedLength; - readonly cy: SVGAnimatedLength; - readonly rx: SVGAnimatedLength; - readonly ry: SVGAnimatedLength; - addEventListener(type: K, listener: (this: SVGEllipseElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; +interface SVGGradientElement extends SVGElement, SVGURIReference, SVGUnitTypes { + readonly gradientUnits: SVGAnimatedEnumeration; + readonly gradientTransform: SVGAnimatedTransformList; + readonly spreadMethod: SVGAnimatedEnumeration; + readonly SVG_SPREADMETHOD_UNKNOWN: number; + readonly SVG_SPREADMETHOD_PAD: number; + readonly SVG_SPREADMETHOD_REFLECT: number; + readonly SVG_SPREADMETHOD_REPEAT: number; + addEventListener(type: K, listener: (this: SVGGradientElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGGradientElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGEllipseElement: { - prototype: SVGEllipseElement; - new(): SVGEllipseElement; +declare var SVGGradientElement: { + prototype: SVGGradientElement; + new(): SVGGradientElement; + readonly SVG_SPREADMETHOD_UNKNOWN: number; + readonly SVG_SPREADMETHOD_PAD: number; + readonly SVG_SPREADMETHOD_REFLECT: number; + readonly SVG_SPREADMETHOD_REPEAT: number; }; -interface SVGFEBlendElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { - readonly in1: SVGAnimatedString; - readonly in2: SVGAnimatedString; - readonly mode: SVGAnimatedEnumeration; - readonly SVG_FEBLEND_MODE_COLOR: number; - readonly SVG_FEBLEND_MODE_COLOR_BURN: number; - readonly SVG_FEBLEND_MODE_COLOR_DODGE: number; - readonly SVG_FEBLEND_MODE_DARKEN: number; - readonly SVG_FEBLEND_MODE_DIFFERENCE: number; - readonly SVG_FEBLEND_MODE_EXCLUSION: number; - readonly SVG_FEBLEND_MODE_HARD_LIGHT: number; - readonly SVG_FEBLEND_MODE_HUE: number; - readonly SVG_FEBLEND_MODE_LIGHTEN: number; - readonly SVG_FEBLEND_MODE_LUMINOSITY: number; - readonly SVG_FEBLEND_MODE_MULTIPLY: number; - readonly SVG_FEBLEND_MODE_NORMAL: number; - readonly SVG_FEBLEND_MODE_OVERLAY: number; - readonly SVG_FEBLEND_MODE_SATURATION: number; - readonly SVG_FEBLEND_MODE_SCREEN: number; - readonly SVG_FEBLEND_MODE_SOFT_LIGHT: number; - readonly SVG_FEBLEND_MODE_UNKNOWN: number; - addEventListener(type: K, listener: (this: SVGFEBlendElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; +interface SVGLinearGradientElement extends SVGGradientElement { + readonly x1: SVGAnimatedLength; + readonly y1: SVGAnimatedLength; + readonly x2: SVGAnimatedLength; + readonly y2: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGLinearGradientElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGLinearGradientElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGFEBlendElement: { - prototype: SVGFEBlendElement; - new(): SVGFEBlendElement; - readonly SVG_FEBLEND_MODE_COLOR: number; - readonly SVG_FEBLEND_MODE_COLOR_BURN: number; - readonly SVG_FEBLEND_MODE_COLOR_DODGE: number; - readonly SVG_FEBLEND_MODE_DARKEN: number; - readonly SVG_FEBLEND_MODE_DIFFERENCE: number; - readonly SVG_FEBLEND_MODE_EXCLUSION: number; - readonly SVG_FEBLEND_MODE_HARD_LIGHT: number; - readonly SVG_FEBLEND_MODE_HUE: number; - readonly SVG_FEBLEND_MODE_LIGHTEN: number; - readonly SVG_FEBLEND_MODE_LUMINOSITY: number; - readonly SVG_FEBLEND_MODE_MULTIPLY: number; - readonly SVG_FEBLEND_MODE_NORMAL: number; - readonly SVG_FEBLEND_MODE_OVERLAY: number; - readonly SVG_FEBLEND_MODE_SATURATION: number; - readonly SVG_FEBLEND_MODE_SCREEN: number; - readonly SVG_FEBLEND_MODE_SOFT_LIGHT: number; - readonly SVG_FEBLEND_MODE_UNKNOWN: number; +declare var SVGLinearGradientElement: { + prototype: SVGLinearGradientElement; + new(): SVGLinearGradientElement; }; -interface SVGFEColorMatrixElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { - readonly in1: SVGAnimatedString; - readonly type: SVGAnimatedEnumeration; - readonly values: SVGAnimatedNumberList; - readonly SVG_FECOLORMATRIX_TYPE_HUEROTATE: number; - readonly SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA: number; - readonly SVG_FECOLORMATRIX_TYPE_MATRIX: number; - readonly SVG_FECOLORMATRIX_TYPE_SATURATE: number; - readonly SVG_FECOLORMATRIX_TYPE_UNKNOWN: number; - addEventListener(type: K, listener: (this: SVGFEColorMatrixElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; +interface SVGRadialGradientElement extends SVGGradientElement { + readonly cx: SVGAnimatedLength; + readonly cy: SVGAnimatedLength; + readonly r: SVGAnimatedLength; + readonly fx: SVGAnimatedLength; + readonly fy: SVGAnimatedLength; + readonly fr: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGRadialGradientElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGRadialGradientElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var SVGFEColorMatrixElement: { - prototype: SVGFEColorMatrixElement; - new(): SVGFEColorMatrixElement; - readonly SVG_FECOLORMATRIX_TYPE_HUEROTATE: number; - readonly SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA: number; - readonly SVG_FECOLORMATRIX_TYPE_MATRIX: number; - readonly SVG_FECOLORMATRIX_TYPE_SATURATE: number; - readonly SVG_FECOLORMATRIX_TYPE_UNKNOWN: number; +} + +declare var SVGRadialGradientElement: { + prototype: SVGRadialGradientElement; + new(): SVGRadialGradientElement; }; -interface SVGFEComponentTransferElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { - readonly in1: SVGAnimatedString; - addEventListener(type: K, listener: (this: SVGFEComponentTransferElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; +interface SVGMeshGradientElement extends SVGGradientElement { + addEventListener(type: K, listener: (this: SVGMeshGradientElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGMeshGradientElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGFEComponentTransferElement: { - prototype: SVGFEComponentTransferElement; - new(): SVGFEComponentTransferElement; +declare var SVGMeshGradientElement: { + prototype: SVGMeshGradientElement; + new(): SVGMeshGradientElement; }; -interface SVGFECompositeElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { - readonly in1: SVGAnimatedString; - readonly in2: SVGAnimatedString; - readonly k1: SVGAnimatedNumber; - readonly k2: SVGAnimatedNumber; - readonly k3: SVGAnimatedNumber; - readonly k4: SVGAnimatedNumber; - readonly operator: SVGAnimatedEnumeration; - readonly SVG_FECOMPOSITE_OPERATOR_ARITHMETIC: number; - readonly SVG_FECOMPOSITE_OPERATOR_ATOP: number; - readonly SVG_FECOMPOSITE_OPERATOR_IN: number; - readonly SVG_FECOMPOSITE_OPERATOR_OUT: number; - readonly SVG_FECOMPOSITE_OPERATOR_OVER: number; - readonly SVG_FECOMPOSITE_OPERATOR_UNKNOWN: number; - readonly SVG_FECOMPOSITE_OPERATOR_XOR: number; - addEventListener(type: K, listener: (this: SVGFECompositeElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; +interface SVGMeshrowElement extends SVGElement { + addEventListener(type: K, listener: (this: SVGMeshrowElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGMeshrowElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGFECompositeElement: { - prototype: SVGFECompositeElement; - new(): SVGFECompositeElement; - readonly SVG_FECOMPOSITE_OPERATOR_ARITHMETIC: number; - readonly SVG_FECOMPOSITE_OPERATOR_ATOP: number; - readonly SVG_FECOMPOSITE_OPERATOR_IN: number; - readonly SVG_FECOMPOSITE_OPERATOR_OUT: number; - readonly SVG_FECOMPOSITE_OPERATOR_OVER: number; - readonly SVG_FECOMPOSITE_OPERATOR_UNKNOWN: number; - readonly SVG_FECOMPOSITE_OPERATOR_XOR: number; +declare var SVGMeshrowElement: { + prototype: SVGMeshrowElement; + new(): SVGMeshrowElement; }; -interface SVGFEConvolveMatrixElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { - readonly bias: SVGAnimatedNumber; - readonly divisor: SVGAnimatedNumber; - readonly edgeMode: SVGAnimatedEnumeration; - readonly in1: SVGAnimatedString; - readonly kernelMatrix: SVGAnimatedNumberList; - readonly kernelUnitLengthX: SVGAnimatedNumber; - readonly kernelUnitLengthY: SVGAnimatedNumber; - readonly orderX: SVGAnimatedInteger; - readonly orderY: SVGAnimatedInteger; - readonly preserveAlpha: SVGAnimatedBoolean; - readonly targetX: SVGAnimatedInteger; - readonly targetY: SVGAnimatedInteger; - readonly SVG_EDGEMODE_DUPLICATE: number; - readonly SVG_EDGEMODE_NONE: number; - readonly SVG_EDGEMODE_UNKNOWN: number; - readonly SVG_EDGEMODE_WRAP: number; - addEventListener(type: K, listener: (this: SVGFEConvolveMatrixElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; +interface SVGMeshpatchElement extends SVGElement { + addEventListener(type: K, listener: (this: SVGMeshpatchElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGMeshpatchElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGFEConvolveMatrixElement: { - prototype: SVGFEConvolveMatrixElement; - new(): SVGFEConvolveMatrixElement; - readonly SVG_EDGEMODE_DUPLICATE: number; - readonly SVG_EDGEMODE_NONE: number; - readonly SVG_EDGEMODE_UNKNOWN: number; - readonly SVG_EDGEMODE_WRAP: number; +declare var SVGMeshpatchElement: { + prototype: SVGMeshpatchElement; + new(): SVGMeshpatchElement; }; -interface SVGFEDiffuseLightingElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { - readonly diffuseConstant: SVGAnimatedNumber; - readonly in1: SVGAnimatedString; - readonly kernelUnitLengthX: SVGAnimatedNumber; - readonly kernelUnitLengthY: SVGAnimatedNumber; - readonly surfaceScale: SVGAnimatedNumber; - addEventListener(type: K, listener: (this: SVGFEDiffuseLightingElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; +interface SVGStopElement extends SVGElement { + readonly offset: SVGAnimatedNumber; + addEventListener(type: K, listener: (this: SVGStopElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGStopElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGFEDiffuseLightingElement: { - prototype: SVGFEDiffuseLightingElement; - new(): SVGFEDiffuseLightingElement; +declare var SVGStopElement: { + prototype: SVGStopElement; + new(): SVGStopElement; }; -interface SVGFEDisplacementMapElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { - readonly in1: SVGAnimatedString; - readonly in2: SVGAnimatedString; - readonly scale: SVGAnimatedNumber; - readonly xChannelSelector: SVGAnimatedEnumeration; - readonly yChannelSelector: SVGAnimatedEnumeration; - readonly SVG_CHANNEL_A: number; - readonly SVG_CHANNEL_B: number; - readonly SVG_CHANNEL_G: number; - readonly SVG_CHANNEL_R: number; - readonly SVG_CHANNEL_UNKNOWN: number; - addEventListener(type: K, listener: (this: SVGFEDisplacementMapElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; +interface SVGPatternElement extends SVGElement, SVGFitToViewBox, SVGURIReference, SVGUnitTypes { + readonly patternUnits: SVGAnimatedEnumeration; + readonly patternContentUnits: SVGAnimatedEnumeration; + readonly patternTransform: SVGAnimatedTransformList; + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + readonly width: SVGAnimatedLength; + readonly height: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGPatternElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGPatternElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGFEDisplacementMapElement: { - prototype: SVGFEDisplacementMapElement; - new(): SVGFEDisplacementMapElement; - readonly SVG_CHANNEL_A: number; - readonly SVG_CHANNEL_B: number; - readonly SVG_CHANNEL_G: number; - readonly SVG_CHANNEL_R: number; - readonly SVG_CHANNEL_UNKNOWN: number; +declare var SVGPatternElement: { + prototype: SVGPatternElement; + new(): SVGPatternElement; }; -interface SVGFEDistantLightElement extends SVGElement { - readonly azimuth: SVGAnimatedNumber; - readonly elevation: SVGAnimatedNumber; - addEventListener(type: K, listener: (this: SVGFEDistantLightElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; +interface SVGHatchElement extends SVGElement { + addEventListener(type: K, listener: (this: SVGHatchElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGHatchElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGFEDistantLightElement: { - prototype: SVGFEDistantLightElement; - new(): SVGFEDistantLightElement; +declare var SVGHatchElement: { + prototype: SVGHatchElement; + new(): SVGHatchElement; }; -interface SVGFEFloodElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { - addEventListener(type: K, listener: (this: SVGFEFloodElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; +interface SVGHatchpathElement extends SVGElement { + addEventListener(type: K, listener: (this: SVGHatchpathElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGHatchpathElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGFEFloodElement: { - prototype: SVGFEFloodElement; - new(): SVGFEFloodElement; +declare var SVGHatchpathElement: { + prototype: SVGHatchpathElement; + new(): SVGHatchpathElement; }; -interface SVGFEFuncAElement extends SVGComponentTransferFunctionElement { - addEventListener(type: K, listener: (this: SVGFEFuncAElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; +interface SVGCursorElement extends SVGElement, SVGURIReference { + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGCursorElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGCursorElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGFEFuncAElement: { - prototype: SVGFEFuncAElement; - new(): SVGFEFuncAElement; +declare var SVGCursorElement: { + prototype: SVGCursorElement; + new(): SVGCursorElement; }; -interface SVGFEFuncBElement extends SVGComponentTransferFunctionElement { - addEventListener(type: K, listener: (this: SVGFEFuncBElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; +interface SVGScriptElement extends SVGElement, SVGURIReference { + type: string; + crossOrigin: string | null; + addEventListener(type: K, listener: (this: SVGScriptElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGScriptElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGFEFuncBElement: { - prototype: SVGFEFuncBElement; - new(): SVGFEFuncBElement; +declare var SVGScriptElement: { + prototype: SVGScriptElement; + new(): SVGScriptElement; }; -interface SVGFEFuncGElement extends SVGComponentTransferFunctionElement { - addEventListener(type: K, listener: (this: SVGFEFuncGElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; +interface SVGAElement extends SVGGraphicsElement, SVGURIReference, HTMLHyperlinkElementUtils { + readonly target: SVGAnimatedString; + readonly download: SVGAnimatedString; + readonly rel: SVGAnimatedString; + readonly relList: SVGAnimatedString; + readonly hreflang: SVGAnimatedString; + readonly type: SVGAnimatedString; + addEventListener(type: K, listener: (this: SVGAElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGAElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGFEFuncGElement: { - prototype: SVGFEFuncGElement; - new(): SVGFEFuncGElement; +declare var SVGAElement: { + prototype: SVGAElement; + new(): SVGAElement; }; -interface SVGFEFuncRElement extends SVGComponentTransferFunctionElement { - addEventListener(type: K, listener: (this: SVGFEFuncRElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; +interface SVGViewElement extends SVGElement, SVGFitToViewBox, SVGZoomAndPan { + addEventListener(type: K, listener: (this: SVGViewElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGViewElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGFEFuncRElement: { - prototype: SVGFEFuncRElement; - new(): SVGFEFuncRElement; +declare var SVGViewElement: { + prototype: SVGViewElement; + new(): SVGViewElement; }; -interface SVGFEGaussianBlurElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { - readonly in1: SVGAnimatedString; - readonly stdDeviationX: SVGAnimatedNumber; - readonly stdDeviationY: SVGAnimatedNumber; - setStdDeviation(stdDeviationX: number, stdDeviationY: number): void; - addEventListener(type: K, listener: (this: SVGFEGaussianBlurElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface Touch { + readonly identifier: number; + readonly target: EventTarget; + readonly screenX: number; + readonly screenY: number; + readonly clientX: number; + readonly clientY: number; + readonly pageX: number; + readonly pageY: number; } -declare var SVGFEGaussianBlurElement: { - prototype: SVGFEGaussianBlurElement; - new(): SVGFEGaussianBlurElement; +declare var Touch: { + prototype: Touch; + new(): Touch; }; -interface SVGFEImageElement extends SVGElement, SVGFilterPrimitiveStandardAttributes, SVGURIReference { - readonly preserveAspectRatio: SVGAnimatedPreserveAspectRatio; - addEventListener(type: K, listener: (this: SVGFEImageElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface TouchList { + readonly length: number; + item(index: number): Touch | null; + [index: number]: Touch; } -declare var SVGFEImageElement: { - prototype: SVGFEImageElement; - new(): SVGFEImageElement; +declare var TouchList: { + prototype: TouchList; + new(): TouchList; }; -interface SVGFEMergeElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { - addEventListener(type: K, listener: (this: SVGFEMergeElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface TouchEvent extends UIEvent { + readonly touches: TouchList; + readonly targetTouches: TouchList; + readonly changedTouches: TouchList; + readonly altKey: boolean; + readonly metaKey: boolean; + readonly ctrlKey: boolean; + readonly shiftKey: boolean; } -declare var SVGFEMergeElement: { - prototype: SVGFEMergeElement; - new(): SVGFEMergeElement; +declare var TouchEvent: { + prototype: TouchEvent; + new(type: string, touchEventInit?: TouchEventInit): TouchEvent; }; -interface SVGFEMergeNodeElement extends SVGElement { - readonly in1: SVGAnimatedString; - addEventListener(type: K, listener: (this: SVGFEMergeNodeElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface UIEvent extends Event { + readonly view: Window | null; + readonly detail: number; } -declare var SVGFEMergeNodeElement: { - prototype: SVGFEMergeNodeElement; - new(): SVGFEMergeNodeElement; +declare var UIEvent: { + prototype: UIEvent; + new(type: string, eventInitDict?: UIEventInit): UIEvent; }; -interface SVGFEMorphologyElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { - readonly in1: SVGAnimatedString; - readonly operator: SVGAnimatedEnumeration; - readonly radiusX: SVGAnimatedNumber; - readonly radiusY: SVGAnimatedNumber; - readonly SVG_MORPHOLOGY_OPERATOR_DILATE: number; - readonly SVG_MORPHOLOGY_OPERATOR_ERODE: number; - readonly SVG_MORPHOLOGY_OPERATOR_UNKNOWN: number; - addEventListener(type: K, listener: (this: SVGFEMorphologyElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface FocusEvent extends UIEvent { + readonly relatedTarget: EventTarget | null; } -declare var SVGFEMorphologyElement: { - prototype: SVGFEMorphologyElement; - new(): SVGFEMorphologyElement; - readonly SVG_MORPHOLOGY_OPERATOR_DILATE: number; - readonly SVG_MORPHOLOGY_OPERATOR_ERODE: number; - readonly SVG_MORPHOLOGY_OPERATOR_UNKNOWN: number; +declare var FocusEvent: { + prototype: FocusEvent; + new(type: string, eventInitDict?: FocusEventInit): FocusEvent; }; -interface SVGFEOffsetElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { - readonly dx: SVGAnimatedNumber; - readonly dy: SVGAnimatedNumber; - readonly in1: SVGAnimatedString; - addEventListener(type: K, listener: (this: SVGFEOffsetElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface MouseEvent extends UIEvent { + readonly screenX: number; + readonly screenY: number; + readonly clientX: number; + readonly clientY: number; + readonly ctrlKey: boolean; + readonly shiftKey: boolean; + readonly altKey: boolean; + readonly metaKey: boolean; + readonly button: number; + readonly buttons: number; + readonly relatedTarget: EventTarget | null; + readonly pageX: number; + readonly pageY: number; + readonly x: number; + readonly y: number; + readonly offsetX: number; + readonly offsetY: number; + getModifierState(keyArg: string): boolean; } -declare var SVGFEOffsetElement: { - prototype: SVGFEOffsetElement; - new(): SVGFEOffsetElement; +declare var MouseEvent: { + prototype: MouseEvent; + new(type: string, eventInitDict?: MouseEventInit): MouseEvent; }; -interface SVGFEPointLightElement extends SVGElement { - readonly x: SVGAnimatedNumber; - readonly y: SVGAnimatedNumber; - readonly z: SVGAnimatedNumber; - addEventListener(type: K, listener: (this: SVGFEPointLightElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface WheelEvent extends MouseEvent { + readonly deltaX: number; + readonly deltaY: number; + readonly deltaZ: number; + readonly deltaMode: number; + readonly DOM_DELTA_PIXEL: number; + readonly DOM_DELTA_LINE: number; + readonly DOM_DELTA_PAGE: number; } -declare var SVGFEPointLightElement: { - prototype: SVGFEPointLightElement; - new(): SVGFEPointLightElement; +declare var WheelEvent: { + prototype: WheelEvent; + new(type: string, eventInitDict?: WheelEventInit): WheelEvent; + readonly DOM_DELTA_PIXEL: number; + readonly DOM_DELTA_LINE: number; + readonly DOM_DELTA_PAGE: number; }; -interface SVGFESpecularLightingElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { - readonly in1: SVGAnimatedString; - readonly kernelUnitLengthX: SVGAnimatedNumber; - readonly kernelUnitLengthY: SVGAnimatedNumber; - readonly specularConstant: SVGAnimatedNumber; - readonly specularExponent: SVGAnimatedNumber; - readonly surfaceScale: SVGAnimatedNumber; - addEventListener(type: K, listener: (this: SVGFESpecularLightingElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface InputEvent extends UIEvent { + readonly data: string | null; + readonly isComposing: boolean; } -declare var SVGFESpecularLightingElement: { - prototype: SVGFESpecularLightingElement; - new(): SVGFESpecularLightingElement; +declare var InputEvent: { + prototype: InputEvent; + new(type: string, eventInitDict?: InputEventInit): InputEvent; }; -interface SVGFESpotLightElement extends SVGElement { - readonly limitingConeAngle: SVGAnimatedNumber; - readonly pointsAtX: SVGAnimatedNumber; - readonly pointsAtY: SVGAnimatedNumber; - readonly pointsAtZ: SVGAnimatedNumber; - readonly specularExponent: SVGAnimatedNumber; - readonly x: SVGAnimatedNumber; - readonly y: SVGAnimatedNumber; - readonly z: SVGAnimatedNumber; - addEventListener(type: K, listener: (this: SVGFESpotLightElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface KeyboardEvent extends UIEvent { + readonly key: string; + readonly code: string; + readonly location: number; + readonly ctrlKey: boolean; + readonly shiftKey: boolean; + readonly altKey: boolean; + readonly metaKey: boolean; + readonly repeat: boolean; + readonly isComposing: boolean; + getModifierState(keyArg: string): boolean; + readonly DOM_KEY_LOCATION_STANDARD: number; + readonly DOM_KEY_LOCATION_LEFT: number; + readonly DOM_KEY_LOCATION_RIGHT: number; + readonly DOM_KEY_LOCATION_NUMPAD: number; } -declare var SVGFESpotLightElement: { - prototype: SVGFESpotLightElement; - new(): SVGFESpotLightElement; +declare var KeyboardEvent: { + prototype: KeyboardEvent; + new(type: string, eventInitDict?: KeyboardEventInit): KeyboardEvent; + readonly DOM_KEY_LOCATION_STANDARD: number; + readonly DOM_KEY_LOCATION_LEFT: number; + readonly DOM_KEY_LOCATION_RIGHT: number; + readonly DOM_KEY_LOCATION_NUMPAD: number; }; -interface SVGFETileElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { - readonly in1: SVGAnimatedString; - addEventListener(type: K, listener: (this: SVGFETileElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface CompositionEvent extends UIEvent { + readonly data: string; } -declare var SVGFETileElement: { - prototype: SVGFETileElement; - new(): SVGFETileElement; +declare var CompositionEvent: { + prototype: CompositionEvent; + new(type: string, eventInitDict?: CompositionEventInit): CompositionEvent; }; -interface SVGFETurbulenceElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { - readonly baseFrequencyX: SVGAnimatedNumber; - readonly baseFrequencyY: SVGAnimatedNumber; - readonly numOctaves: SVGAnimatedInteger; - readonly seed: SVGAnimatedNumber; - readonly stitchTiles: SVGAnimatedEnumeration; - readonly type: SVGAnimatedEnumeration; - readonly SVG_STITCHTYPE_NOSTITCH: number; - readonly SVG_STITCHTYPE_STITCH: number; - readonly SVG_STITCHTYPE_UNKNOWN: number; - readonly SVG_TURBULENCE_TYPE_FRACTALNOISE: number; - readonly SVG_TURBULENCE_TYPE_TURBULENCE: number; - readonly SVG_TURBULENCE_TYPE_UNKNOWN: number; - addEventListener(type: K, listener: (this: SVGFETurbulenceElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface URL { + href: string; + readonly origin: string; + protocol: string; + username: string; + password: string; + host: string; + hostname: string; + port: string; + pathname: string; + search: string; + readonly searchParams: URLSearchParams; + hash: string; + toJSON(): string; } -declare var SVGFETurbulenceElement: { - prototype: SVGFETurbulenceElement; - new(): SVGFETurbulenceElement; - readonly SVG_STITCHTYPE_NOSTITCH: number; - readonly SVG_STITCHTYPE_STITCH: number; - readonly SVG_STITCHTYPE_UNKNOWN: number; - readonly SVG_TURBULENCE_TYPE_FRACTALNOISE: number; - readonly SVG_TURBULENCE_TYPE_TURBULENCE: number; - readonly SVG_TURBULENCE_TYPE_UNKNOWN: number; +declare var URL: { + prototype: URL; + new(url: string, base?: string): URL; + createObjectURL(blob: Blob): string; + createFor(blob: Blob): string; + revokeObjectURL(url: string): void; + createObjectURL(mediaSource: MediaSource): string; }; -interface SVGFilterElement extends SVGElement, SVGUnitTypes, SVGURIReference { - readonly filterResX: SVGAnimatedInteger; - readonly filterResY: SVGAnimatedInteger; - readonly filterUnits: SVGAnimatedEnumeration; - readonly height: SVGAnimatedLength; - readonly primitiveUnits: SVGAnimatedEnumeration; - readonly width: SVGAnimatedLength; - readonly x: SVGAnimatedLength; - readonly y: SVGAnimatedLength; - setFilterRes(filterResX: number, filterResY: number): void; - addEventListener(type: K, listener: (this: SVGFilterElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface URLSearchParams { + /** + * Appends a specified key/value pair as a new search parameter. + */ + append(name: string, value: string): void; + /** + * Deletes the given search parameter, and its associated value, from the list of all search parameters. + */ + delete(name: string): void; + /** + * Returns the first value associated to the given search parameter. + */ + get(name: string): string | null; + /** + * Returns all the values association with a given search parameter. + */ + getAll(name: string): string[]; + /** + * Returns a Boolean indicating if such a search parameter exists. + */ + has(name: string): boolean; + /** + * Sets the value associated to a given search parameter to the given value. If there were several values, delete the others. + */ + set(name: string, value: string): void; + sort(): void; } -declare var SVGFilterElement: { - prototype: SVGFilterElement; - new(): SVGFilterElement; +declare var URLSearchParams: { + prototype: URLSearchParams; + new(init?: string[][] | any | string): URLSearchParams; }; -interface SVGForeignObjectElement extends SVGGraphicsElement { - readonly height: SVGAnimatedLength; - readonly width: SVGAnimatedLength; - readonly x: SVGAnimatedLength; - readonly y: SVGAnimatedLength; - addEventListener(type: K, listener: (this: SVGForeignObjectElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface PerformanceMark extends PerformanceEntry { } -declare var SVGForeignObjectElement: { - prototype: SVGForeignObjectElement; - new(): SVGForeignObjectElement; +declare var PerformanceMark: { + prototype: PerformanceMark; + new(): PerformanceMark; }; -interface SVGGElement extends SVGGraphicsElement { - addEventListener(type: K, listener: (this: SVGGElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface PerformanceMeasure extends PerformanceEntry { } -declare var SVGGElement: { - prototype: SVGGElement; - new(): SVGGElement; +declare var PerformanceMeasure: { + prototype: PerformanceMeasure; + new(): PerformanceMeasure; }; -interface SVGGradientElement extends SVGElement, SVGUnitTypes, SVGURIReference { - readonly gradientTransform: SVGAnimatedTransformList; - readonly gradientUnits: SVGAnimatedEnumeration; - readonly spreadMethod: SVGAnimatedEnumeration; - readonly SVG_SPREADMETHOD_PAD: number; - readonly SVG_SPREADMETHOD_REFLECT: number; - readonly SVG_SPREADMETHOD_REPEAT: number; - readonly SVG_SPREADMETHOD_UNKNOWN: number; - addEventListener(type: K, listener: (this: SVGGradientElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface AnimationTimeline { + readonly currentTime: number | null; } -declare var SVGGradientElement: { - prototype: SVGGradientElement; - new(): SVGGradientElement; - readonly SVG_SPREADMETHOD_PAD: number; - readonly SVG_SPREADMETHOD_REFLECT: number; - readonly SVG_SPREADMETHOD_REPEAT: number; - readonly SVG_SPREADMETHOD_UNKNOWN: number; +declare var AnimationTimeline: { + prototype: AnimationTimeline; + new(): AnimationTimeline; }; -interface SVGGraphicsElement extends SVGElement, SVGTests { - readonly farthestViewportElement: SVGElement; - readonly nearestViewportElement: SVGElement; - readonly transform: SVGAnimatedTransformList; - getBBox(): SVGRect; - getCTM(): SVGMatrix; - getScreenCTM(): SVGMatrix; - getTransformToElement(element: SVGElement): SVGMatrix; - addEventListener(type: K, listener: (this: SVGGraphicsElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface DocumentTimeline extends AnimationTimeline { } -declare var SVGGraphicsElement: { - prototype: SVGGraphicsElement; - new(): SVGGraphicsElement; +declare var DocumentTimeline: { + prototype: DocumentTimeline; + new(options?: DocumentTimelineOptions): DocumentTimeline; }; -interface SVGImageElement extends SVGGraphicsElement, SVGURIReference { - readonly height: SVGAnimatedLength; - readonly preserveAspectRatio: SVGAnimatedPreserveAspectRatio; - readonly width: SVGAnimatedLength; - readonly x: SVGAnimatedLength; - readonly y: SVGAnimatedLength; - addEventListener(type: K, listener: (this: SVGImageElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; +interface AnimationEventMap { + "finish": undefined; + "cancel": undefined; +} + +interface Animation extends EventTarget { + id: string; + effect: AnimationEffectReadOnly | null; + timeline: AnimationTimeline | null; + startTime: number | null; + currentTime: number | null; + playbackRate: number; + readonly playState: AnimationPlayState; + readonly ready: Promise; + readonly finished: Promise; + onfinish: (this: Animation, ev: undefined) => any; + oncancel: (this: Animation, ev: undefined) => any; + cancel(): void; + finish(): void; + play(): void; + pause(): void; + reverse(): void; + addEventListener(type: K, listener: (this: Animation, ev: AnimationEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGImageElement: { - prototype: SVGImageElement; - new(): SVGImageElement; +declare var Animation: { + prototype: Animation; + new(effect?: AnimationEffectReadOnly, timeline?: AnimationTimeline): Animation; }; -interface SVGLength { - readonly unitType: number; - value: number; - valueAsString: string; - valueInSpecifiedUnits: number; - convertToSpecifiedUnits(unitType: number): void; - newValueSpecifiedUnits(unitType: number, valueInSpecifiedUnits: number): void; - readonly SVG_LENGTHTYPE_CM: number; - readonly SVG_LENGTHTYPE_EMS: number; - readonly SVG_LENGTHTYPE_EXS: number; - readonly SVG_LENGTHTYPE_IN: number; - readonly SVG_LENGTHTYPE_MM: number; - readonly SVG_LENGTHTYPE_NUMBER: number; - readonly SVG_LENGTHTYPE_PC: number; - readonly SVG_LENGTHTYPE_PERCENTAGE: number; - readonly SVG_LENGTHTYPE_PT: number; - readonly SVG_LENGTHTYPE_PX: number; - readonly SVG_LENGTHTYPE_UNKNOWN: number; +interface AnimationEffectReadOnly { + readonly timing: AnimationEffectTimingReadOnly; + getComputedTiming(): ComputedTimingProperties; } -declare var SVGLength: { - prototype: SVGLength; - new(): SVGLength; - readonly SVG_LENGTHTYPE_CM: number; - readonly SVG_LENGTHTYPE_EMS: number; - readonly SVG_LENGTHTYPE_EXS: number; - readonly SVG_LENGTHTYPE_IN: number; - readonly SVG_LENGTHTYPE_MM: number; - readonly SVG_LENGTHTYPE_NUMBER: number; - readonly SVG_LENGTHTYPE_PC: number; - readonly SVG_LENGTHTYPE_PERCENTAGE: number; - readonly SVG_LENGTHTYPE_PT: number; - readonly SVG_LENGTHTYPE_PX: number; - readonly SVG_LENGTHTYPE_UNKNOWN: number; +declare var AnimationEffectReadOnly: { + prototype: AnimationEffectReadOnly; + new(): AnimationEffectReadOnly; }; -interface SVGLengthList { - readonly numberOfItems: number; - appendItem(newItem: SVGLength): SVGLength; - clear(): void; - getItem(index: number): SVGLength; - initialize(newItem: SVGLength): SVGLength; - insertItemBefore(newItem: SVGLength, index: number): SVGLength; - removeItem(index: number): SVGLength; - replaceItem(newItem: SVGLength, index: number): SVGLength; +interface AnimationEffectTimingReadOnly { + readonly delay: number; + readonly endDelay: number; + readonly fill: FillMode; + readonly iterationStart: number; + readonly iterations: number; + readonly duration: number | string; + readonly direction: PlaybackDirection; + readonly easing: string; } -declare var SVGLengthList: { - prototype: SVGLengthList; - new(): SVGLengthList; +declare var AnimationEffectTimingReadOnly: { + prototype: AnimationEffectTimingReadOnly; + new(): AnimationEffectTimingReadOnly; }; -interface SVGLinearGradientElement extends SVGGradientElement { - readonly x1: SVGAnimatedLength; - readonly x2: SVGAnimatedLength; - readonly y1: SVGAnimatedLength; - readonly y2: SVGAnimatedLength; - addEventListener(type: K, listener: (this: SVGLinearGradientElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface AnimationEffectTiming extends AnimationEffectTimingReadOnly { + delay: number; + endDelay: number; + fill: FillMode; + iterationStart: number; + iterations: number; + duration: number | string; + direction: PlaybackDirection; + easing: string; +} + +declare var AnimationEffectTiming: { + prototype: AnimationEffectTiming; + new(): AnimationEffectTiming; +}; + +interface KeyframeEffectReadOnly extends AnimationEffectReadOnly { + readonly target: Animatable | null; + readonly iterationComposite: IterationCompositeOperation; + readonly composite: CompositeOperation; + readonly spacing: string; + getKeyframes(): any[]; } -declare var SVGLinearGradientElement: { - prototype: SVGLinearGradientElement; - new(): SVGLinearGradientElement; +declare var KeyframeEffectReadOnly: { + prototype: KeyframeEffectReadOnly; + new(target: Animatable | null, keyframes: any, options?: number | KeyframeEffectOptions): KeyframeEffectReadOnly; + new(source: KeyframeEffectReadOnly): KeyframeEffectReadOnly; }; -interface SVGLineElement extends SVGGraphicsElement { - readonly x1: SVGAnimatedLength; - readonly x2: SVGAnimatedLength; - readonly y1: SVGAnimatedLength; - readonly y2: SVGAnimatedLength; - addEventListener(type: K, listener: (this: SVGLineElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface KeyframeEffect extends KeyframeEffectReadOnly { + target: Animatable | null; + iterationComposite: IterationCompositeOperation; + composite: CompositeOperation; + spacing: string; + setKeyframes(keyframes: any): void; } -declare var SVGLineElement: { - prototype: SVGLineElement; - new(): SVGLineElement; +declare var KeyframeEffect: { + prototype: KeyframeEffect; + new(target: Animatable | null, keyframes: any, options?: number | KeyframeEffectOptions): KeyframeEffect; + new(source: KeyframeEffectReadOnly): KeyframeEffect; }; -interface SVGMarkerElement extends SVGElement, SVGFitToViewBox { - readonly markerHeight: SVGAnimatedLength; - readonly markerUnits: SVGAnimatedEnumeration; - readonly markerWidth: SVGAnimatedLength; - readonly orientAngle: SVGAnimatedAngle; - readonly orientType: SVGAnimatedEnumeration; - readonly refX: SVGAnimatedLength; - readonly refY: SVGAnimatedLength; - setOrientToAngle(angle: SVGAngle): void; - setOrientToAuto(): void; - readonly SVG_MARKER_ORIENT_ANGLE: number; - readonly SVG_MARKER_ORIENT_AUTO: number; - readonly SVG_MARKER_ORIENT_UNKNOWN: number; - readonly SVG_MARKERUNITS_STROKEWIDTH: number; - readonly SVG_MARKERUNITS_UNKNOWN: number; - readonly SVG_MARKERUNITS_USERSPACEONUSE: number; - addEventListener(type: K, listener: (this: SVGMarkerElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface SharedKeyframeList { } -declare var SVGMarkerElement: { - prototype: SVGMarkerElement; - new(): SVGMarkerElement; - readonly SVG_MARKER_ORIENT_ANGLE: number; - readonly SVG_MARKER_ORIENT_AUTO: number; - readonly SVG_MARKER_ORIENT_UNKNOWN: number; - readonly SVG_MARKERUNITS_STROKEWIDTH: number; - readonly SVG_MARKERUNITS_UNKNOWN: number; - readonly SVG_MARKERUNITS_USERSPACEONUSE: number; +declare var SharedKeyframeList: { + prototype: SharedKeyframeList; + new(keyframes: any): SharedKeyframeList; }; -interface SVGMaskElement extends SVGElement, SVGTests, SVGUnitTypes { - readonly height: SVGAnimatedLength; - readonly maskContentUnits: SVGAnimatedEnumeration; - readonly maskUnits: SVGAnimatedEnumeration; - readonly width: SVGAnimatedLength; - readonly x: SVGAnimatedLength; - readonly y: SVGAnimatedLength; - addEventListener(type: K, listener: (this: SVGMaskElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface AnimationPlaybackEvent extends Event { + readonly currentTime: number | null; + readonly timelineTime: number | null; } -declare var SVGMaskElement: { - prototype: SVGMaskElement; - new(): SVGMaskElement; +declare var AnimationPlaybackEvent: { + prototype: AnimationPlaybackEvent; + new(type: string, eventInitDict?: AnimationPlaybackEventInit): AnimationPlaybackEvent; }; -interface SVGMatrix { - a: number; - b: number; - c: number; - d: number; - e: number; - f: number; - flipX(): SVGMatrix; - flipY(): SVGMatrix; - inverse(): SVGMatrix; - multiply(secondMatrix: SVGMatrix): SVGMatrix; - rotate(angle: number): SVGMatrix; - rotateFromVector(x: number, y: number): SVGMatrix; - scale(scaleFactor: number): SVGMatrix; - scaleNonUniform(scaleFactorX: number, scaleFactorY: number): SVGMatrix; - skewX(angle: number): SVGMatrix; - skewY(angle: number): SVGMatrix; - translate(x: number, y: number): SVGMatrix; +interface BaseAudioContextEventMap { + "statechange": undefined; +} + +interface BaseAudioContext extends EventTarget { + readonly destination: AudioDestinationNode; + readonly sampleRate: number; + readonly currentTime: number; + readonly listener: AudioListener; + readonly state: AudioContextState; + onstatechange: (this: BaseAudioContext, ev: undefined) => any; + resume(): Promise; + createBuffer(numberOfChannels: number, length: number, sampleRate: number): AudioBuffer; + decodeAudioData(audioData: ArrayBuffer, successCallback?: DecodeSuccessCallback, errorCallback?: DecodeErrorCallback): Promise; + createBufferSource(): AudioBufferSourceNode; + createConstantSource(): ConstantSourceNode; + createScriptProcessor(bufferSize?: number, numberOfInputChannels?: number, numberOfOutputChannels?: number): ScriptProcessorNode; + createAnalyser(): AnalyserNode; + createGain(): GainNode; + createDelay(maxDelayTime?: number): DelayNode; + createBiquadFilter(): BiquadFilterNode; + createIIRFilter(feedforward: number[], feedback: number[]): IIRFilterNode; + createWaveShaper(): WaveShaperNode; + createPanner(): PannerNode; + createStereoPanner(): StereoPannerNode; + createConvolver(): ConvolverNode; + createChannelSplitter(numberOfOutputs?: number): ChannelSplitterNode; + createChannelMerger(numberOfInputs?: number): ChannelMergerNode; + createDynamicsCompressor(): DynamicsCompressorNode; + createOscillator(): OscillatorNode; + createPeriodicWave(real: Float32Array, imag: Float32Array, constraints?: PeriodicWaveConstraints): PeriodicWave; + addEventListener(type: K, listener: (this: BaseAudioContext, ev: BaseAudioContextEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGMatrix: { - prototype: SVGMatrix; - new(): SVGMatrix; +declare var BaseAudioContext: { + prototype: BaseAudioContext; + new(): BaseAudioContext; }; -interface SVGMetadataElement extends SVGElement { - addEventListener(type: K, listener: (this: SVGMetadataElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; +interface AudioContextBase extends BaseAudioContext { + readonly baseLatency: number; + readonly outputLatency: number; + getOutputTimestamp(): AudioTimestamp; + close(): Promise; + createMediaElementSource(mediaElement: HTMLMediaElement): MediaElementAudioSourceNode; + createMediaStreamSource(mediaStream: MediaStream): MediaStreamAudioSourceNode; + createMediaStreamTrackSource(mediaStreamTrack: any): MediaStreamTrackAudioSourceNode; + createMediaStreamDestination(): MediaStreamAudioDestinationNode; + addEventListener(type: K, listener: (this: AudioContext, ev: BaseAudioContextEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGMetadataElement: { - prototype: SVGMetadataElement; - new(): SVGMetadataElement; +interface AudioContext extends AudioContextBase { + suspend(): Promise; +} + +declare var AudioContext: { + prototype: AudioContext; + new(contextOptions?: AudioContextOptions): AudioContext; + new(): AudioContext; }; -interface SVGNumber { - value: number; +interface OfflineAudioContextEventMap extends BaseAudioContextEventMap { + "complete": Event; } -declare var SVGNumber: { - prototype: SVGNumber; - new(): SVGNumber; +interface OfflineAudioContext extends BaseAudioContext { + readonly length: number; + oncomplete: (this: OfflineAudioContext, ev: Event) => any; + startRendering(): Promise; + suspend(suspendTime: number): Promise; + addEventListener(type: K, listener: (this: OfflineAudioContext, ev: OfflineAudioContextEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var OfflineAudioContext: { + prototype: OfflineAudioContext; + new(numberOfChannels: number, length: number, sampleRate: number): OfflineAudioContext; }; -interface SVGNumberList { - readonly numberOfItems: number; - appendItem(newItem: SVGNumber): SVGNumber; - clear(): void; - getItem(index: number): SVGNumber; - initialize(newItem: SVGNumber): SVGNumber; - insertItemBefore(newItem: SVGNumber, index: number): SVGNumber; - removeItem(index: number): SVGNumber; - replaceItem(newItem: SVGNumber, index: number): SVGNumber; +interface OfflineAudioCompletionEvent extends Event { + readonly renderedBuffer: AudioBuffer; } -declare var SVGNumberList: { - prototype: SVGNumberList; - new(): SVGNumberList; +declare var OfflineAudioCompletionEvent: { + prototype: OfflineAudioCompletionEvent; + new(type: string, eventInitDict: OfflineAudioCompletionEventInit): OfflineAudioCompletionEvent; }; -interface SVGPathElement extends SVGGraphicsElement { - readonly pathSegList: SVGPathSegList; - createSVGPathSegArcAbs(x: number, y: number, r1: number, r2: number, angle: number, largeArcFlag: boolean, sweepFlag: boolean): SVGPathSegArcAbs; - createSVGPathSegArcRel(x: number, y: number, r1: number, r2: number, angle: number, largeArcFlag: boolean, sweepFlag: boolean): SVGPathSegArcRel; - createSVGPathSegClosePath(): SVGPathSegClosePath; - createSVGPathSegCurvetoCubicAbs(x: number, y: number, x1: number, y1: number, x2: number, y2: number): SVGPathSegCurvetoCubicAbs; - createSVGPathSegCurvetoCubicRel(x: number, y: number, x1: number, y1: number, x2: number, y2: number): SVGPathSegCurvetoCubicRel; - createSVGPathSegCurvetoCubicSmoothAbs(x: number, y: number, x2: number, y2: number): SVGPathSegCurvetoCubicSmoothAbs; - createSVGPathSegCurvetoCubicSmoothRel(x: number, y: number, x2: number, y2: number): SVGPathSegCurvetoCubicSmoothRel; - createSVGPathSegCurvetoQuadraticAbs(x: number, y: number, x1: number, y1: number): SVGPathSegCurvetoQuadraticAbs; - createSVGPathSegCurvetoQuadraticRel(x: number, y: number, x1: number, y1: number): SVGPathSegCurvetoQuadraticRel; - createSVGPathSegCurvetoQuadraticSmoothAbs(x: number, y: number): SVGPathSegCurvetoQuadraticSmoothAbs; - createSVGPathSegCurvetoQuadraticSmoothRel(x: number, y: number): SVGPathSegCurvetoQuadraticSmoothRel; - createSVGPathSegLinetoAbs(x: number, y: number): SVGPathSegLinetoAbs; - createSVGPathSegLinetoHorizontalAbs(x: number): SVGPathSegLinetoHorizontalAbs; - createSVGPathSegLinetoHorizontalRel(x: number): SVGPathSegLinetoHorizontalRel; - createSVGPathSegLinetoRel(x: number, y: number): SVGPathSegLinetoRel; - createSVGPathSegLinetoVerticalAbs(y: number): SVGPathSegLinetoVerticalAbs; - createSVGPathSegLinetoVerticalRel(y: number): SVGPathSegLinetoVerticalRel; - createSVGPathSegMovetoAbs(x: number, y: number): SVGPathSegMovetoAbs; - createSVGPathSegMovetoRel(x: number, y: number): SVGPathSegMovetoRel; - getPathSegAtLength(distance: number): number; - getPointAtLength(distance: number): SVGPoint; - getTotalLength(): number; - addEventListener(type: K, listener: (this: SVGPathElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface AudioNode extends EventTarget { + readonly context: BaseAudioContext; + readonly numberOfInputs: number; + readonly numberOfOutputs: number; + channelCount: number; + channelCountMode: ChannelCountMode; + channelInterpretation: ChannelInterpretation; + connect(destination: AudioNode, output?: number, input?: number): AudioNode; + connect(destination: AudioParam, output?: number): void; + connect(destination: AudioNode, output?: number, input?: number): AudioNode; + connect(destination: AudioParam, output?: number): void; + disconnect(output?: number): void; + disconnect(destination: AudioNode, output?: number, input?: number): void; + disconnect(destination: AudioParam, output?: number): void; + disconnect(output?: number): void; + disconnect(destination: AudioNode, output?: number, input?: number): void; + disconnect(destination: AudioParam, output?: number): void; + disconnect(output?: number): void; + disconnect(destination: AudioNode, output?: number, input?: number): void; + disconnect(destination: AudioParam, output?: number): void; + disconnect(output?: number): void; + disconnect(destination: AudioNode, output?: number, input?: number): void; + disconnect(destination: AudioParam, output?: number): void; + disconnect(output?: number): void; + disconnect(destination: AudioNode, output?: number, input?: number): void; + disconnect(destination: AudioParam, output?: number): void; + disconnect(output?: number): void; + disconnect(destination: AudioNode, output?: number, input?: number): void; + disconnect(destination: AudioParam, output?: number): void; + disconnect(output?: number): void; + disconnect(destination: AudioNode, output?: number, input?: number): void; + disconnect(destination: AudioParam, output?: number): void; } -declare var SVGPathElement: { - prototype: SVGPathElement; - new(): SVGPathElement; +declare var AudioNode: { + prototype: AudioNode; + new(): AudioNode; }; -interface SVGPathSeg { - readonly pathSegType: number; - readonly pathSegTypeAsLetter: string; - readonly PATHSEG_ARC_ABS: number; - readonly PATHSEG_ARC_REL: number; - readonly PATHSEG_CLOSEPATH: number; - readonly PATHSEG_CURVETO_CUBIC_ABS: number; - readonly PATHSEG_CURVETO_CUBIC_REL: number; - readonly PATHSEG_CURVETO_CUBIC_SMOOTH_ABS: number; - readonly PATHSEG_CURVETO_CUBIC_SMOOTH_REL: number; - readonly PATHSEG_CURVETO_QUADRATIC_ABS: number; - readonly PATHSEG_CURVETO_QUADRATIC_REL: number; - readonly PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS: number; - readonly PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL: number; - readonly PATHSEG_LINETO_ABS: number; - readonly PATHSEG_LINETO_HORIZONTAL_ABS: number; - readonly PATHSEG_LINETO_HORIZONTAL_REL: number; - readonly PATHSEG_LINETO_REL: number; - readonly PATHSEG_LINETO_VERTICAL_ABS: number; - readonly PATHSEG_LINETO_VERTICAL_REL: number; - readonly PATHSEG_MOVETO_ABS: number; - readonly PATHSEG_MOVETO_REL: number; - readonly PATHSEG_UNKNOWN: number; -} - -declare var SVGPathSeg: { - prototype: SVGPathSeg; - new(): SVGPathSeg; - readonly PATHSEG_ARC_ABS: number; - readonly PATHSEG_ARC_REL: number; - readonly PATHSEG_CLOSEPATH: number; - readonly PATHSEG_CURVETO_CUBIC_ABS: number; - readonly PATHSEG_CURVETO_CUBIC_REL: number; - readonly PATHSEG_CURVETO_CUBIC_SMOOTH_ABS: number; - readonly PATHSEG_CURVETO_CUBIC_SMOOTH_REL: number; - readonly PATHSEG_CURVETO_QUADRATIC_ABS: number; - readonly PATHSEG_CURVETO_QUADRATIC_REL: number; - readonly PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS: number; - readonly PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL: number; - readonly PATHSEG_LINETO_ABS: number; - readonly PATHSEG_LINETO_HORIZONTAL_ABS: number; - readonly PATHSEG_LINETO_HORIZONTAL_REL: number; - readonly PATHSEG_LINETO_REL: number; - readonly PATHSEG_LINETO_VERTICAL_ABS: number; - readonly PATHSEG_LINETO_VERTICAL_REL: number; - readonly PATHSEG_MOVETO_ABS: number; - readonly PATHSEG_MOVETO_REL: number; - readonly PATHSEG_UNKNOWN: number; -}; - -interface SVGPathSegArcAbs extends SVGPathSeg { - angle: number; - largeArcFlag: boolean; - r1: number; - r2: number; - sweepFlag: boolean; - x: number; - y: number; +interface AudioDestinationNode extends AudioNode { + readonly maxChannelCount: number; } -declare var SVGPathSegArcAbs: { - prototype: SVGPathSegArcAbs; - new(): SVGPathSegArcAbs; +declare var AudioDestinationNode: { + prototype: AudioDestinationNode; + new(): AudioDestinationNode; }; -interface SVGPathSegArcRel extends SVGPathSeg { - angle: number; - largeArcFlag: boolean; - r1: number; - r2: number; - sweepFlag: boolean; - x: number; - y: number; +interface AudioParam { + value: number; + readonly defaultValue: number; + readonly minValue: number; + readonly maxValue: number; + setValueAtTime(value: number, startTime: number): AudioParam; + linearRampToValueAtTime(value: number, endTime: number): AudioParam; + exponentialRampToValueAtTime(value: number, endTime: number): AudioParam; + setTargetAtTime(target: number, startTime: number, timeConstant: number): AudioParam; + setValueCurveAtTime(values: Float32Array, startTime: number, duration: number): AudioParam; + cancelScheduledValues(cancelTime: number): AudioParam; + cancelAndHoldAtTime(cancelTime: number): AudioParam; } -declare var SVGPathSegArcRel: { - prototype: SVGPathSegArcRel; - new(): SVGPathSegArcRel; +declare var AudioParam: { + prototype: AudioParam; + new(): AudioParam; }; -interface SVGPathSegClosePath extends SVGPathSeg { +interface AudioScheduledSourceNodeEventMap { + "ended": undefined; +} + +interface AudioScheduledSourceNode extends AudioNode { + onended: (this: AudioScheduledSourceNode, ev: undefined) => any; + start(when?: number): void; + stop(when?: number): void; + addEventListener(type: K, listener: (this: AudioScheduledSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGPathSegClosePath: { - prototype: SVGPathSegClosePath; - new(): SVGPathSegClosePath; +declare var AudioScheduledSourceNode: { + prototype: AudioScheduledSourceNode; + new(): AudioScheduledSourceNode; }; -interface SVGPathSegCurvetoCubicAbs extends SVGPathSeg { - x: number; - x1: number; - x2: number; - y: number; - y1: number; - y2: number; +interface GainNode extends AudioNode { + readonly gain: AudioParam; } -declare var SVGPathSegCurvetoCubicAbs: { - prototype: SVGPathSegCurvetoCubicAbs; - new(): SVGPathSegCurvetoCubicAbs; +declare var GainNode: { + prototype: GainNode; + new(context: BaseAudioContext, options?: GainOptions): GainNode; }; -interface SVGPathSegCurvetoCubicRel extends SVGPathSeg { - x: number; - x1: number; - x2: number; - y: number; - y1: number; - y2: number; +interface DelayNode extends AudioNode { + readonly delayTime: AudioParam; } -declare var SVGPathSegCurvetoCubicRel: { - prototype: SVGPathSegCurvetoCubicRel; - new(): SVGPathSegCurvetoCubicRel; +declare var DelayNode: { + prototype: DelayNode; + new(context: BaseAudioContext, options?: DelayOptions): DelayNode; }; -interface SVGPathSegCurvetoCubicSmoothAbs extends SVGPathSeg { - x: number; - x2: number; - y: number; - y2: number; +interface AudioBuffer { + readonly sampleRate: number; + readonly length: number; + readonly duration: number; + readonly numberOfChannels: number; + getChannelData(channel: number): Float32Array; + copyFromChannel(destination: Float32Array, channelNumber: number, startInChannel?: number): void; + copyToChannel(source: Float32Array, channelNumber: number, startInChannel?: number): void; } -declare var SVGPathSegCurvetoCubicSmoothAbs: { - prototype: SVGPathSegCurvetoCubicSmoothAbs; - new(): SVGPathSegCurvetoCubicSmoothAbs; +declare var AudioBuffer: { + prototype: AudioBuffer; + new(options: AudioBufferOptions): AudioBuffer; }; -interface SVGPathSegCurvetoCubicSmoothRel extends SVGPathSeg { - x: number; - x2: number; - y: number; - y2: number; +interface AudioBufferSourceNode extends AudioScheduledSourceNode { + buffer: AudioBuffer | null; + readonly playbackRate: AudioParam; + readonly detune: AudioParam; + loop: boolean; + loopStart: number; + loopEnd: number; + start(when?: number, offset?: number, duration?: number): void; + addEventListener(type: K, listener: (this: AudioBufferSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGPathSegCurvetoCubicSmoothRel: { - prototype: SVGPathSegCurvetoCubicSmoothRel; - new(): SVGPathSegCurvetoCubicSmoothRel; +declare var AudioBufferSourceNode: { + prototype: AudioBufferSourceNode; + new(context: BaseAudioContext, options?: AudioBufferSourceOptions): AudioBufferSourceNode; }; -interface SVGPathSegCurvetoQuadraticAbs extends SVGPathSeg { - x: number; - x1: number; - y: number; - y1: number; +interface ConstantSourceNode extends AudioScheduledSourceNode { + readonly offset: AudioParam; + addEventListener(type: K, listener: (this: ConstantSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGPathSegCurvetoQuadraticAbs: { - prototype: SVGPathSegCurvetoQuadraticAbs; - new(): SVGPathSegCurvetoQuadraticAbs; +declare var ConstantSourceNode: { + prototype: ConstantSourceNode; + new(context: BaseAudioContext, options?: ConstantSourceOptions): ConstantSourceNode; }; -interface SVGPathSegCurvetoQuadraticRel extends SVGPathSeg { - x: number; - x1: number; - y: number; - y1: number; +interface MediaElementAudioSourceNode extends AudioNode { } -declare var SVGPathSegCurvetoQuadraticRel: { - prototype: SVGPathSegCurvetoQuadraticRel; - new(): SVGPathSegCurvetoQuadraticRel; +declare var MediaElementAudioSourceNode: { + prototype: MediaElementAudioSourceNode; + new(context: BaseAudioContext, options: MediaElementAudioSourceOptions): MediaElementAudioSourceNode; }; -interface SVGPathSegCurvetoQuadraticSmoothAbs extends SVGPathSeg { - x: number; - y: number; +interface AudioWorkletGlobalScope extends WorkletGlobalScope { + registerProcessor(name: string, processorCtor: VoidFunction): void; } -declare var SVGPathSegCurvetoQuadraticSmoothAbs: { - prototype: SVGPathSegCurvetoQuadraticSmoothAbs; - new(): SVGPathSegCurvetoQuadraticSmoothAbs; +declare var AudioWorkletGlobalScope: { + prototype: AudioWorkletGlobalScope; + new(): AudioWorkletGlobalScope; }; -interface SVGPathSegCurvetoQuadraticSmoothRel extends SVGPathSeg { - x: number; - y: number; +interface AudioParamMap { } -declare var SVGPathSegCurvetoQuadraticSmoothRel: { - prototype: SVGPathSegCurvetoQuadraticSmoothRel; - new(): SVGPathSegCurvetoQuadraticSmoothRel; +declare var AudioParamMap: { + prototype: AudioParamMap; + new(): AudioParamMap; }; -interface SVGPathSegLinetoAbs extends SVGPathSeg { - x: number; - y: number; +interface AudioWorkletNodeEventMap { + "data": undefined; +} + +interface AudioWorkletNode extends AudioNode { + readonly parameters: AudioParamMap; + ondata: (this: AudioWorkletNode, ev: undefined) => any; + sendData(data: any): void; + addEventListener(type: K, listener: (this: AudioWorkletNode, ev: AudioWorkletNodeEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGPathSegLinetoAbs: { - prototype: SVGPathSegLinetoAbs; - new(): SVGPathSegLinetoAbs; +declare var AudioWorkletNode: { + prototype: AudioWorkletNode; + new(context: BaseAudioContext, options?: any): AudioWorkletNode; }; -interface SVGPathSegLinetoHorizontalAbs extends SVGPathSeg { - x: number; +interface AudioWorkletProcessorEventMap { + "data": undefined; +} + +interface AudioWorkletProcessor extends EventTarget { + readonly contextInfo: AudioContextInfo; + ondata: (this: AudioWorkletProcessor, ev: undefined) => any; + sendData(data: any): void; + addEventListener(type: K, listener: (this: AudioWorkletProcessor, ev: AudioWorkletProcessorEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGPathSegLinetoHorizontalAbs: { - prototype: SVGPathSegLinetoHorizontalAbs; - new(): SVGPathSegLinetoHorizontalAbs; +declare var AudioWorkletProcessor: { + prototype: AudioWorkletProcessor; + new(): AudioWorkletProcessor; }; -interface SVGPathSegLinetoHorizontalRel extends SVGPathSeg { - x: number; +interface ScriptProcessorNodeEventMap { + "audioprocess": Event; +} + +interface ScriptProcessorNode extends AudioNode { + onaudioprocess: (this: ScriptProcessorNode, ev: Event) => any; + readonly bufferSize: number; + addEventListener(type: K, listener: (this: ScriptProcessorNode, ev: ScriptProcessorNodeEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGPathSegLinetoHorizontalRel: { - prototype: SVGPathSegLinetoHorizontalRel; - new(): SVGPathSegLinetoHorizontalRel; +declare var ScriptProcessorNode: { + prototype: ScriptProcessorNode; + new(): ScriptProcessorNode; }; -interface SVGPathSegLinetoRel extends SVGPathSeg { - x: number; - y: number; +interface AudioProcessingEvent extends Event { + readonly playbackTime: number; + readonly inputBuffer: AudioBuffer; + readonly outputBuffer: AudioBuffer; } -declare var SVGPathSegLinetoRel: { - prototype: SVGPathSegLinetoRel; - new(): SVGPathSegLinetoRel; +declare var AudioProcessingEvent: { + prototype: AudioProcessingEvent; + new(type: string, eventInitDict: AudioProcessingEventInit): AudioProcessingEvent; }; -interface SVGPathSegLinetoVerticalAbs extends SVGPathSeg { - y: number; +interface PannerNode extends AudioNode { + panningModel: PanningModelType; + readonly positionX: AudioParam; + readonly positionY: AudioParam; + readonly positionZ: AudioParam; + readonly orientationX: AudioParam; + readonly orientationY: AudioParam; + readonly orientationZ: AudioParam; + distanceModel: DistanceModelType; + refDistance: number; + maxDistance: number; + rolloffFactor: number; + coneInnerAngle: number; + coneOuterAngle: number; + coneOuterGain: number; + setPosition(x: number, y: number, z: number): void; + setOrientation(x: number, y: number, z: number): void; } -declare var SVGPathSegLinetoVerticalAbs: { - prototype: SVGPathSegLinetoVerticalAbs; - new(): SVGPathSegLinetoVerticalAbs; +declare var PannerNode: { + prototype: PannerNode; + new(context: BaseAudioContext, options?: PannerOptions): PannerNode; }; -interface SVGPathSegLinetoVerticalRel extends SVGPathSeg { - y: number; +interface AudioListener { + readonly positionX: AudioParam; + readonly positionY: AudioParam; + readonly positionZ: AudioParam; + readonly forwardX: AudioParam; + readonly forwardY: AudioParam; + readonly forwardZ: AudioParam; + readonly upX: AudioParam; + readonly upY: AudioParam; + readonly upZ: AudioParam; + setPosition(x: number, y: number, z: number): void; + setOrientation(x: number, y: number, z: number, xUp: number, yUp: number, zUp: number): void; } -declare var SVGPathSegLinetoVerticalRel: { - prototype: SVGPathSegLinetoVerticalRel; - new(): SVGPathSegLinetoVerticalRel; +declare var AudioListener: { + prototype: AudioListener; + new(): AudioListener; }; -interface SVGPathSegList { - readonly numberOfItems: number; - appendItem(newItem: SVGPathSeg): SVGPathSeg; - clear(): void; - getItem(index: number): SVGPathSeg; - initialize(newItem: SVGPathSeg): SVGPathSeg; - insertItemBefore(newItem: SVGPathSeg, index: number): SVGPathSeg; - removeItem(index: number): SVGPathSeg; - replaceItem(newItem: SVGPathSeg, index: number): SVGPathSeg; +interface StereoPannerNode extends AudioNode { + readonly pan: AudioParam; } -declare var SVGPathSegList: { - prototype: SVGPathSegList; - new(): SVGPathSegList; +declare var StereoPannerNode: { + prototype: StereoPannerNode; + new(context: BaseAudioContext, options?: StereoPannerOptions): StereoPannerNode; }; -interface SVGPathSegMovetoAbs extends SVGPathSeg { - x: number; - y: number; +interface ConvolverNode extends AudioNode { + buffer: AudioBuffer | null; + normalize: boolean; } -declare var SVGPathSegMovetoAbs: { - prototype: SVGPathSegMovetoAbs; - new(): SVGPathSegMovetoAbs; +declare var ConvolverNode: { + prototype: ConvolverNode; + new(context: BaseAudioContext, options?: ConvolverOptions): ConvolverNode; }; -interface SVGPathSegMovetoRel extends SVGPathSeg { - x: number; - y: number; +interface AnalyserNode extends AudioNode { + fftSize: number; + readonly frequencyBinCount: number; + minDecibels: number; + maxDecibels: number; + smoothingTimeConstant: number; + getFloatFrequencyData(array: Float32Array): void; + getByteFrequencyData(array: Uint8Array): void; + getFloatTimeDomainData(array: Float32Array): void; + getByteTimeDomainData(array: Uint8Array): void; } -declare var SVGPathSegMovetoRel: { - prototype: SVGPathSegMovetoRel; - new(): SVGPathSegMovetoRel; +declare var AnalyserNode: { + prototype: AnalyserNode; + new(context: BaseAudioContext, options?: AnalyserOptions): AnalyserNode; }; -interface SVGPatternElement extends SVGElement, SVGTests, SVGUnitTypes, SVGFitToViewBox, SVGURIReference { - readonly height: SVGAnimatedLength; - readonly patternContentUnits: SVGAnimatedEnumeration; - readonly patternTransform: SVGAnimatedTransformList; - readonly patternUnits: SVGAnimatedEnumeration; - readonly width: SVGAnimatedLength; - readonly x: SVGAnimatedLength; - readonly y: SVGAnimatedLength; - addEventListener(type: K, listener: (this: SVGPatternElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface ChannelSplitterNode extends AudioNode { } -declare var SVGPatternElement: { - prototype: SVGPatternElement; - new(): SVGPatternElement; +declare var ChannelSplitterNode: { + prototype: ChannelSplitterNode; + new(context: BaseAudioContext, options?: ChannelSplitterNode): ChannelSplitterNode; }; -interface SVGPoint { - x: number; - y: number; - matrixTransform(matrix: SVGMatrix): SVGPoint; +interface ChannelMergerNode extends AudioNode { } -declare var SVGPoint: { - prototype: SVGPoint; - new(): SVGPoint; +declare var ChannelMergerNode: { + prototype: ChannelMergerNode; + new(context: BaseAudioContext, options?: ChannelMergerOptions): ChannelMergerNode; }; -interface SVGPointList { - readonly numberOfItems: number; - appendItem(newItem: SVGPoint): SVGPoint; - clear(): void; - getItem(index: number): SVGPoint; - initialize(newItem: SVGPoint): SVGPoint; - insertItemBefore(newItem: SVGPoint, index: number): SVGPoint; - removeItem(index: number): SVGPoint; - replaceItem(newItem: SVGPoint, index: number): SVGPoint; +interface DynamicsCompressorNode extends AudioNode { + readonly threshold: AudioParam; + readonly knee: AudioParam; + readonly ratio: AudioParam; + readonly reduction: number; + readonly attack: AudioParam; + readonly release: AudioParam; } -declare var SVGPointList: { - prototype: SVGPointList; - new(): SVGPointList; +declare var DynamicsCompressorNode: { + prototype: DynamicsCompressorNode; + new(context: BaseAudioContext, options?: DynamicsCompressorOptions): DynamicsCompressorNode; }; -interface SVGPolygonElement extends SVGGraphicsElement, SVGAnimatedPoints { - addEventListener(type: K, listener: (this: SVGPolygonElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface BiquadFilterNode extends AudioNode { + type: BiquadFilterType; + readonly frequency: AudioParam; + readonly detune: AudioParam; + readonly Q: AudioParam; + readonly gain: AudioParam; + getFrequencyResponse(frequencyHz: Float32Array, magResponse: Float32Array, phaseResponse: Float32Array): void; } -declare var SVGPolygonElement: { - prototype: SVGPolygonElement; - new(): SVGPolygonElement; +declare var BiquadFilterNode: { + prototype: BiquadFilterNode; + new(context: BaseAudioContext, options?: BiquadFilterOptions): BiquadFilterNode; }; -interface SVGPolylineElement extends SVGGraphicsElement, SVGAnimatedPoints { - addEventListener(type: K, listener: (this: SVGPolylineElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface IIRFilterNode extends AudioNode { + getFrequencyResponse(frequencyHz: Float32Array, magResponse: Float32Array, phaseResponse: Float32Array): void; } -declare var SVGPolylineElement: { - prototype: SVGPolylineElement; - new(): SVGPolylineElement; +declare var IIRFilterNode: { + prototype: IIRFilterNode; + new(context: BaseAudioContext, options: IIRFilterOptions): IIRFilterNode; }; -interface SVGPreserveAspectRatio { - align: number; - meetOrSlice: number; - readonly SVG_MEETORSLICE_MEET: number; - readonly SVG_MEETORSLICE_SLICE: number; - readonly SVG_MEETORSLICE_UNKNOWN: number; - readonly SVG_PRESERVEASPECTRATIO_NONE: number; - readonly SVG_PRESERVEASPECTRATIO_UNKNOWN: number; - readonly SVG_PRESERVEASPECTRATIO_XMAXYMAX: number; - readonly SVG_PRESERVEASPECTRATIO_XMAXYMID: number; - readonly SVG_PRESERVEASPECTRATIO_XMAXYMIN: number; - readonly SVG_PRESERVEASPECTRATIO_XMIDYMAX: number; - readonly SVG_PRESERVEASPECTRATIO_XMIDYMID: number; - readonly SVG_PRESERVEASPECTRATIO_XMIDYMIN: number; - readonly SVG_PRESERVEASPECTRATIO_XMINYMAX: number; - readonly SVG_PRESERVEASPECTRATIO_XMINYMID: number; - readonly SVG_PRESERVEASPECTRATIO_XMINYMIN: number; +interface WaveShaperNode extends AudioNode { + curve: Float32Array | null; + oversample: OverSampleType; } -declare var SVGPreserveAspectRatio: { - prototype: SVGPreserveAspectRatio; - new(): SVGPreserveAspectRatio; - readonly SVG_MEETORSLICE_MEET: number; - readonly SVG_MEETORSLICE_SLICE: number; - readonly SVG_MEETORSLICE_UNKNOWN: number; - readonly SVG_PRESERVEASPECTRATIO_NONE: number; - readonly SVG_PRESERVEASPECTRATIO_UNKNOWN: number; - readonly SVG_PRESERVEASPECTRATIO_XMAXYMAX: number; - readonly SVG_PRESERVEASPECTRATIO_XMAXYMID: number; - readonly SVG_PRESERVEASPECTRATIO_XMAXYMIN: number; - readonly SVG_PRESERVEASPECTRATIO_XMIDYMAX: number; - readonly SVG_PRESERVEASPECTRATIO_XMIDYMID: number; - readonly SVG_PRESERVEASPECTRATIO_XMIDYMIN: number; - readonly SVG_PRESERVEASPECTRATIO_XMINYMAX: number; - readonly SVG_PRESERVEASPECTRATIO_XMINYMID: number; - readonly SVG_PRESERVEASPECTRATIO_XMINYMIN: number; +declare var WaveShaperNode: { + prototype: WaveShaperNode; + new(context: BaseAudioContext, options?: WaveShaperOptions): WaveShaperNode; }; -interface SVGRadialGradientElement extends SVGGradientElement { - readonly cx: SVGAnimatedLength; - readonly cy: SVGAnimatedLength; - readonly fx: SVGAnimatedLength; - readonly fy: SVGAnimatedLength; - readonly r: SVGAnimatedLength; - addEventListener(type: K, listener: (this: SVGRadialGradientElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; +interface OscillatorNode extends AudioScheduledSourceNode { + type: OscillatorType; + readonly frequency: AudioParam; + readonly detune: AudioParam; + setPeriodicWave(periodicWave: PeriodicWave): void; + addEventListener(type: K, listener: (this: OscillatorNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGRadialGradientElement: { - prototype: SVGRadialGradientElement; - new(): SVGRadialGradientElement; +declare var OscillatorNode: { + prototype: OscillatorNode; + new(context: BaseAudioContext, options?: OscillatorOptions): OscillatorNode; }; -interface SVGRect { - height: number; - width: number; - x: number; - y: number; +interface PeriodicWave { } -declare var SVGRect: { - prototype: SVGRect; - new(): SVGRect; +declare var PeriodicWave: { + prototype: PeriodicWave; + new(context: BaseAudioContext, options?: PeriodicWaveOptions): PeriodicWave; }; -interface SVGRectElement extends SVGGraphicsElement { - readonly height: SVGAnimatedLength; - readonly rx: SVGAnimatedLength; - readonly ry: SVGAnimatedLength; - readonly width: SVGAnimatedLength; - readonly x: SVGAnimatedLength; - readonly y: SVGAnimatedLength; - addEventListener(type: K, listener: (this: SVGRectElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface MediaStreamAudioSourceNode extends AudioNode { } -declare var SVGRectElement: { - prototype: SVGRectElement; - new(): SVGRectElement; +declare var MediaStreamAudioSourceNode: { + prototype: MediaStreamAudioSourceNode; + new(context: BaseAudioContext, options: MediaStreamAudioSourceOptions): MediaStreamAudioSourceNode; }; -interface SVGScriptElement extends SVGElement, SVGURIReference { - type: string; - addEventListener(type: K, listener: (this: SVGScriptElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface MediaStreamTrackAudioSourceNode extends AudioNode { } -declare var SVGScriptElement: { - prototype: SVGScriptElement; - new(): SVGScriptElement; +declare var MediaStreamTrackAudioSourceNode: { + prototype: MediaStreamTrackAudioSourceNode; + new(context: AudioContext, options: MediaStreamTrackAudioSourceOptions): MediaStreamTrackAudioSourceNode; }; -interface SVGStopElement extends SVGElement { - readonly offset: SVGAnimatedNumber; - addEventListener(type: K, listener: (this: SVGStopElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface MediaStreamAudioDestinationNode extends AudioNode { + readonly stream: MediaStream; } -declare var SVGStopElement: { - prototype: SVGStopElement; - new(): SVGStopElement; +declare var MediaStreamAudioDestinationNode: { + prototype: MediaStreamAudioDestinationNode; + new(context: BaseAudioContext, options?: AudioNodeOptions): MediaStreamAudioDestinationNode; }; -interface SVGStringList { - readonly numberOfItems: number; - appendItem(newItem: string): string; - clear(): void; - getItem(index: number): string; - initialize(newItem: string): string; - insertItemBefore(newItem: string, index: number): string; - removeItem(index: number): string; - replaceItem(newItem: string, index: number): string; +interface WebAuthentication { + makeCredential(accountInformation: Account, cryptoParameters: ScopedCredentialParameters[], attestationChallenge: BufferSource, options?: ScopedCredentialOptions): Promise; + getAssertion(assertionChallenge: BufferSource, options?: AssertionOptions): Promise; } -declare var SVGStringList: { - prototype: SVGStringList; - new(): SVGStringList; +declare var WebAuthentication: { + prototype: WebAuthentication; + new(): WebAuthentication; }; -interface SVGStyleElement extends SVGElement { - disabled: boolean; - media: string; - title: string; - type: string; - addEventListener(type: K, listener: (this: SVGStyleElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface ScopedCredentialInfo { + readonly clientDataJSON: ArrayBuffer; + readonly attestationObject: ArrayBuffer; } -declare var SVGStyleElement: { - prototype: SVGStyleElement; - new(): SVGStyleElement; +declare var ScopedCredentialInfo: { + prototype: ScopedCredentialInfo; + new(): ScopedCredentialInfo; }; -interface SVGSVGElementEventMap extends SVGElementEventMap { - "SVGAbort": Event; - "SVGError": Event; - "resize": UIEvent; - "scroll": UIEvent; - "SVGUnload": Event; - "SVGZoom": SVGZoomEvent; -} - -interface SVGSVGElement extends SVGGraphicsElement, DocumentEvent, SVGFitToViewBox, SVGZoomAndPan { - contentScriptType: string; - contentStyleType: string; - currentScale: number; - readonly currentTranslate: SVGPoint; - readonly height: SVGAnimatedLength; - onabort: (this: SVGSVGElement, ev: Event) => any; - onerror: (this: SVGSVGElement, ev: Event) => any; - onresize: (this: SVGSVGElement, ev: UIEvent) => any; - onscroll: (this: SVGSVGElement, ev: UIEvent) => any; - onunload: (this: SVGSVGElement, ev: Event) => any; - onzoom: (this: SVGSVGElement, ev: SVGZoomEvent) => any; - readonly pixelUnitToMillimeterX: number; - readonly pixelUnitToMillimeterY: number; - readonly screenPixelToMillimeterX: number; - readonly screenPixelToMillimeterY: number; - readonly viewport: SVGRect; - readonly width: SVGAnimatedLength; - readonly x: SVGAnimatedLength; - readonly y: SVGAnimatedLength; - checkEnclosure(element: SVGElement, rect: SVGRect): boolean; - checkIntersection(element: SVGElement, rect: SVGRect): boolean; - createSVGAngle(): SVGAngle; - createSVGLength(): SVGLength; - createSVGMatrix(): SVGMatrix; - createSVGNumber(): SVGNumber; - createSVGPoint(): SVGPoint; - createSVGRect(): SVGRect; - createSVGTransform(): SVGTransform; - createSVGTransformFromMatrix(matrix: SVGMatrix): SVGTransform; - deselectAll(): void; - forceRedraw(): void; - getComputedStyle(elt: Element, pseudoElt?: string): CSSStyleDeclaration; - getCurrentTime(): number; - getElementById(elementId: string): Element; - getEnclosureList(rect: SVGRect, referenceElement: SVGElement): NodeListOf; - getIntersectionList(rect: SVGRect, referenceElement: SVGElement): NodeListOf; - pauseAnimations(): void; - setCurrentTime(seconds: number): void; - suspendRedraw(maxWaitMilliseconds: number): number; - unpauseAnimations(): void; - unsuspendRedraw(suspendHandleID: number): void; - unsuspendRedrawAll(): void; - addEventListener(type: K, listener: (this: SVGSVGElement, ev: SVGSVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var SVGSVGElement: { - prototype: SVGSVGElement; - new(): SVGSVGElement; +interface AuthenticationAssertion { + readonly credential: ScopedCredential; + readonly clientDataJSON: ArrayBuffer; + readonly authenticatorData: ArrayBuffer; + readonly signature: ArrayBuffer; +} + +declare var AuthenticationAssertion: { + prototype: AuthenticationAssertion; + new(): AuthenticationAssertion; }; -interface SVGSwitchElement extends SVGGraphicsElement { - addEventListener(type: K, listener: (this: SVGSwitchElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface ScopedCredential { + readonly type: ScopedCredentialType; + readonly id: ArrayBuffer; } -declare var SVGSwitchElement: { - prototype: SVGSwitchElement; - new(): SVGSwitchElement; +declare var ScopedCredential: { + prototype: ScopedCredential; + new(): ScopedCredential; }; -interface SVGSymbolElement extends SVGElement, SVGFitToViewBox { - addEventListener(type: K, listener: (this: SVGSymbolElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface SyncManager { + register(tag: string): Promise; + getTags(): Promise; } -declare var SVGSymbolElement: { - prototype: SVGSymbolElement; - new(): SVGSymbolElement; +declare var SyncManager: { + prototype: SyncManager; + new(): SyncManager; }; -interface SVGTextContentElement extends SVGGraphicsElement { - readonly lengthAdjust: SVGAnimatedEnumeration; - readonly textLength: SVGAnimatedLength; - getCharNumAtPosition(point: SVGPoint): number; - getComputedTextLength(): number; - getEndPositionOfChar(charnum: number): SVGPoint; - getExtentOfChar(charnum: number): SVGRect; - getNumberOfChars(): number; - getRotationOfChar(charnum: number): number; - getStartPositionOfChar(charnum: number): SVGPoint; - getSubStringLength(charnum: number, nchars: number): number; - selectSubString(charnum: number, nchars: number): void; - readonly LENGTHADJUST_SPACING: number; - readonly LENGTHADJUST_SPACINGANDGLYPHS: number; - readonly LENGTHADJUST_UNKNOWN: number; - addEventListener(type: K, listener: (this: SVGTextContentElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface SyncEvent extends ExtendableEvent { + readonly tag: string; + readonly lastChance: boolean; } -declare var SVGTextContentElement: { - prototype: SVGTextContentElement; - new(): SVGTextContentElement; - readonly LENGTHADJUST_SPACING: number; - readonly LENGTHADJUST_SPACINGANDGLYPHS: number; - readonly LENGTHADJUST_UNKNOWN: number; +declare var SyncEvent: { + prototype: SyncEvent; + new(type: string, init: SyncEventInit): SyncEvent; }; -interface SVGTextElement extends SVGTextPositioningElement { - addEventListener(type: K, listener: (this: SVGTextElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface Crypto { + readonly subtle: SubtleCrypto; + getRandomValues(array: ArrayBufferView): ArrayBufferView; } -declare var SVGTextElement: { - prototype: SVGTextElement; - new(): SVGTextElement; +declare var Crypto: { + prototype: Crypto; + new(): Crypto; }; -interface SVGTextPathElement extends SVGTextContentElement, SVGURIReference { - readonly method: SVGAnimatedEnumeration; - readonly spacing: SVGAnimatedEnumeration; - readonly startOffset: SVGAnimatedLength; - readonly TEXTPATH_METHODTYPE_ALIGN: number; - readonly TEXTPATH_METHODTYPE_STRETCH: number; - readonly TEXTPATH_METHODTYPE_UNKNOWN: number; - readonly TEXTPATH_SPACINGTYPE_AUTO: number; - readonly TEXTPATH_SPACINGTYPE_EXACT: number; - readonly TEXTPATH_SPACINGTYPE_UNKNOWN: number; - addEventListener(type: K, listener: (this: SVGTextPathElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface CryptoKey { + readonly type: KeyType; + readonly extractable: boolean; + readonly algorithm: any; + readonly usages: any; } -declare var SVGTextPathElement: { - prototype: SVGTextPathElement; - new(): SVGTextPathElement; - readonly TEXTPATH_METHODTYPE_ALIGN: number; - readonly TEXTPATH_METHODTYPE_STRETCH: number; - readonly TEXTPATH_METHODTYPE_UNKNOWN: number; - readonly TEXTPATH_SPACINGTYPE_AUTO: number; - readonly TEXTPATH_SPACINGTYPE_EXACT: number; - readonly TEXTPATH_SPACINGTYPE_UNKNOWN: number; +declare var CryptoKey: { + prototype: CryptoKey; + new(): CryptoKey; }; -interface SVGTextPositioningElement extends SVGTextContentElement { - readonly dx: SVGAnimatedLengthList; - readonly dy: SVGAnimatedLengthList; - readonly rotate: SVGAnimatedNumberList; - readonly x: SVGAnimatedLengthList; - readonly y: SVGAnimatedLengthList; - addEventListener(type: K, listener: (this: SVGTextPositioningElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface SubtleCrypto { + encrypt(algorithm: AlgorithmIdentifier, key: CryptoKey, data: BufferSource): Promise; + decrypt(algorithm: AlgorithmIdentifier, key: CryptoKey, data: BufferSource): Promise; + sign(algorithm: AlgorithmIdentifier, key: CryptoKey, data: BufferSource): Promise; + verify(algorithm: AlgorithmIdentifier, key: CryptoKey, signature: BufferSource, data: BufferSource): Promise; + digest(algorithm: AlgorithmIdentifier, data: BufferSource): Promise; + generateKey(algorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: KeyUsage[]): Promise; + deriveKey(algorithm: AlgorithmIdentifier, baseKey: CryptoKey, derivedKeyType: AlgorithmIdentifier, extractable: boolean, keyUsages: KeyUsage[]): Promise; + deriveBits(algorithm: AlgorithmIdentifier, baseKey: CryptoKey, length: number): Promise; + importKey(format: KeyFormat, keyData: BufferSource | JsonWebKey, algorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: KeyUsage[]): Promise; + exportKey(format: KeyFormat, key: CryptoKey): Promise; + wrapKey(format: KeyFormat, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: AlgorithmIdentifier): Promise; + unwrapKey(format: KeyFormat, wrappedKey: BufferSource, unwrappingKey: CryptoKey, unwrapAlgorithm: AlgorithmIdentifier, unwrappedKeyAlgorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: KeyUsage[]): Promise; } -declare var SVGTextPositioningElement: { - prototype: SVGTextPositioningElement; - new(): SVGTextPositioningElement; +declare var SubtleCrypto: { + prototype: SubtleCrypto; + new(): SubtleCrypto; }; -interface SVGTitleElement extends SVGElement { - addEventListener(type: K, listener: (this: SVGTitleElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; +interface SpeechRecognitionEventMap { + "audiostart": undefined; + "soundstart": undefined; + "speechstart": undefined; + "speechend": undefined; + "soundend": undefined; + "audioend": undefined; + "result": SpeechRecognitionEvent; + "nomatch": SpeechRecognitionEvent; + "error": SpeechRecognitionError; + "start": undefined; + "end": undefined; +} + +interface SpeechRecognition extends EventTarget { + grammars: SpeechGrammarList; + lang: string; + continuous: boolean; + interimResults: boolean; + maxAlternatives: number; + serviceURI: string; + onaudiostart: (this: SpeechRecognition, ev: undefined) => any; + onsoundstart: (this: SpeechRecognition, ev: undefined) => any; + onspeechstart: (this: SpeechRecognition, ev: undefined) => any; + onspeechend: (this: SpeechRecognition, ev: undefined) => any; + onsoundend: (this: SpeechRecognition, ev: undefined) => any; + onaudioend: (this: SpeechRecognition, ev: undefined) => any; + onresult: (this: SpeechRecognition, ev: SpeechRecognitionEvent) => any; + onnomatch: (this: SpeechRecognition, ev: SpeechRecognitionEvent) => any; + onerror: (this: SpeechRecognition, ev: SpeechRecognitionError) => any; + onstart: (this: SpeechRecognition, ev: undefined) => any; + onend: (this: SpeechRecognition, ev: undefined) => any; + start(): void; + stop(): void; + abort(): void; + addEventListener(type: K, listener: (this: SpeechRecognition, ev: SpeechRecognitionEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGTitleElement: { - prototype: SVGTitleElement; - new(): SVGTitleElement; +declare var SpeechRecognition: { + prototype: SpeechRecognition; + new(): SpeechRecognition; }; -interface SVGTransform { - readonly angle: number; - readonly matrix: SVGMatrix; - readonly type: number; - setMatrix(matrix: SVGMatrix): void; - setRotate(angle: number, cx: number, cy: number): void; - setScale(sx: number, sy: number): void; - setSkewX(angle: number): void; - setSkewY(angle: number): void; - setTranslate(tx: number, ty: number): void; - readonly SVG_TRANSFORM_MATRIX: number; - readonly SVG_TRANSFORM_ROTATE: number; - readonly SVG_TRANSFORM_SCALE: number; - readonly SVG_TRANSFORM_SKEWX: number; - readonly SVG_TRANSFORM_SKEWY: number; - readonly SVG_TRANSFORM_TRANSLATE: number; - readonly SVG_TRANSFORM_UNKNOWN: number; +interface SpeechRecognitionError extends Event { + readonly error: SpeechRecognitionErrorCode; + readonly message: string; } -declare var SVGTransform: { - prototype: SVGTransform; - new(): SVGTransform; - readonly SVG_TRANSFORM_MATRIX: number; - readonly SVG_TRANSFORM_ROTATE: number; - readonly SVG_TRANSFORM_SCALE: number; - readonly SVG_TRANSFORM_SKEWX: number; - readonly SVG_TRANSFORM_SKEWY: number; - readonly SVG_TRANSFORM_TRANSLATE: number; - readonly SVG_TRANSFORM_UNKNOWN: number; +declare var SpeechRecognitionError: { + prototype: SpeechRecognitionError; + new(): SpeechRecognitionError; }; -interface SVGTransformList { - readonly numberOfItems: number; - appendItem(newItem: SVGTransform): SVGTransform; - clear(): void; - consolidate(): SVGTransform; - createSVGTransformFromMatrix(matrix: SVGMatrix): SVGTransform; - getItem(index: number): SVGTransform; - initialize(newItem: SVGTransform): SVGTransform; - insertItemBefore(newItem: SVGTransform, index: number): SVGTransform; - removeItem(index: number): SVGTransform; - replaceItem(newItem: SVGTransform, index: number): SVGTransform; +interface SpeechRecognitionAlternative { + readonly transcript: string; + readonly confidence: number; } -declare var SVGTransformList: { - prototype: SVGTransformList; - new(): SVGTransformList; +declare var SpeechRecognitionAlternative: { + prototype: SpeechRecognitionAlternative; + new(): SpeechRecognitionAlternative; }; -interface SVGTSpanElement extends SVGTextPositioningElement { - addEventListener(type: K, listener: (this: SVGTSpanElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface SpeechRecognitionResult { + readonly length: number; + readonly isFinal: boolean; + item(index: number): SpeechRecognitionAlternative; + [index: number]: SpeechRecognitionAlternative; } -declare var SVGTSpanElement: { - prototype: SVGTSpanElement; - new(): SVGTSpanElement; +declare var SpeechRecognitionResult: { + prototype: SpeechRecognitionResult; + new(): SpeechRecognitionResult; }; -interface SVGUnitTypes { - readonly SVG_UNIT_TYPE_OBJECTBOUNDINGBOX: number; - readonly SVG_UNIT_TYPE_UNKNOWN: number; - readonly SVG_UNIT_TYPE_USERSPACEONUSE: number; -} -declare var SVGUnitTypes: SVGUnitTypes; - -interface SVGUseElement extends SVGGraphicsElement, SVGURIReference { - readonly animatedInstanceRoot: SVGElementInstance; - readonly height: SVGAnimatedLength; - readonly instanceRoot: SVGElementInstance; - readonly width: SVGAnimatedLength; - readonly x: SVGAnimatedLength; - readonly y: SVGAnimatedLength; - addEventListener(type: K, listener: (this: SVGUseElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface SpeechRecognitionResultList { + readonly length: number; + item(index: number): SpeechRecognitionResult; + [index: number]: SpeechRecognitionResult; } -declare var SVGUseElement: { - prototype: SVGUseElement; - new(): SVGUseElement; +declare var SpeechRecognitionResultList: { + prototype: SpeechRecognitionResultList; + new(): SpeechRecognitionResultList; }; -interface SVGViewElement extends SVGElement, SVGZoomAndPan, SVGFitToViewBox { - readonly viewTarget: SVGStringList; - addEventListener(type: K, listener: (this: SVGViewElement, ev: SVGElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface SpeechRecognitionEvent extends Event { + readonly resultIndex: number; + readonly results: SpeechRecognitionResultList; + readonly interpretation: any; + readonly emma: Document; } -declare var SVGViewElement: { - prototype: SVGViewElement; - new(): SVGViewElement; +declare var SpeechRecognitionEvent: { + prototype: SpeechRecognitionEvent; + new(): SpeechRecognitionEvent; }; -interface SVGZoomAndPan { - readonly zoomAndPan: number; +interface SpeechGrammar { + src: string; + weight: number; } -declare var SVGZoomAndPan: { - readonly SVG_ZOOMANDPAN_DISABLE: number; - readonly SVG_ZOOMANDPAN_MAGNIFY: number; - readonly SVG_ZOOMANDPAN_UNKNOWN: number; +declare var SpeechGrammar: { + prototype: SpeechGrammar; + new(): SpeechGrammar; }; -interface SVGZoomEvent extends UIEvent { - readonly newScale: number; - readonly newTranslate: SVGPoint; - readonly previousScale: number; - readonly previousTranslate: SVGPoint; - readonly zoomRectScreen: SVGRect; +interface SpeechGrammarList { + readonly length: number; + item(index: number): SpeechGrammar; + addFromURI(src: string, weight?: number): void; + addFromString(string: string, weight?: number): void; + [index: number]: SpeechGrammar; } -declare var SVGZoomEvent: { - prototype: SVGZoomEvent; - new(): SVGZoomEvent; +declare var SpeechGrammarList: { + prototype: SpeechGrammarList; + new(): SpeechGrammarList; }; -interface SyncManager { - getTags(): Promise; - register(tag: string): Promise; +interface SpeechSynthesisEventMap { + "voiceschanged": Event; } -declare var SyncManager: { - prototype: SyncManager; - new(): SyncManager; +interface SpeechSynthesis extends EventTarget { + readonly pending: boolean; + readonly speaking: boolean; + readonly paused: boolean; + onvoiceschanged: (this: SpeechSynthesis, ev: Event) => any; + speak(utterance: SpeechSynthesisUtterance): void; + cancel(): void; + pause(): void; + resume(): void; + getVoices(): any[]; + addEventListener(type: K, listener: (this: SpeechSynthesis, ev: SpeechSynthesisEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SpeechSynthesis: { + prototype: SpeechSynthesis; + new(): SpeechSynthesis; }; -interface Text extends CharacterData { - readonly wholeText: string; - readonly assignedSlot: HTMLSlotElement | null; - splitText(offset: number): Text; +interface SpeechSynthesisUtteranceEventMap { + "start": undefined; + "end": undefined; + "error": ErrorEvent; + "pause": undefined; + "resume": Event; + "mark": Event; + "boundary": Event; } -declare var Text: { - prototype: Text; - new(data?: string): Text; -}; +interface SpeechSynthesisUtterance extends EventTarget { + text: string; + lang: string; + voice: SpeechSynthesisVoice; + volume: number; + rate: number; + pitch: number; + onstart: (this: SpeechSynthesisUtterance, ev: undefined) => any; + onend: (this: SpeechSynthesisUtterance, ev: undefined) => any; + onerror: (this: SpeechSynthesisUtterance, ev: ErrorEvent) => any; + onpause: (this: SpeechSynthesisUtterance, ev: undefined) => any; + onresume: (this: SpeechSynthesisUtterance, ev: Event) => any; + onmark: (this: SpeechSynthesisUtterance, ev: Event) => any; + onboundary: (this: SpeechSynthesisUtterance, ev: Event) => any; + addEventListener(type: K, listener: (this: SpeechSynthesisUtterance, ev: SpeechSynthesisUtteranceEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} -interface TextEvent extends UIEvent { - readonly data: string; - readonly inputMethod: number; - readonly locale: string; - initTextEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, dataArg: string, inputMethod: number, locale: string): void; - readonly DOM_INPUT_METHOD_DROP: number; - readonly DOM_INPUT_METHOD_HANDWRITING: number; - readonly DOM_INPUT_METHOD_IME: number; - readonly DOM_INPUT_METHOD_KEYBOARD: number; - readonly DOM_INPUT_METHOD_MULTIMODAL: number; - readonly DOM_INPUT_METHOD_OPTION: number; - readonly DOM_INPUT_METHOD_PASTE: number; - readonly DOM_INPUT_METHOD_SCRIPT: number; - readonly DOM_INPUT_METHOD_UNKNOWN: number; - readonly DOM_INPUT_METHOD_VOICE: number; -} - -declare var TextEvent: { - prototype: TextEvent; - new(): TextEvent; - readonly DOM_INPUT_METHOD_DROP: number; - readonly DOM_INPUT_METHOD_HANDWRITING: number; - readonly DOM_INPUT_METHOD_IME: number; - readonly DOM_INPUT_METHOD_KEYBOARD: number; - readonly DOM_INPUT_METHOD_MULTIMODAL: number; - readonly DOM_INPUT_METHOD_OPTION: number; - readonly DOM_INPUT_METHOD_PASTE: number; - readonly DOM_INPUT_METHOD_SCRIPT: number; - readonly DOM_INPUT_METHOD_UNKNOWN: number; - readonly DOM_INPUT_METHOD_VOICE: number; +declare var SpeechSynthesisUtterance: { + prototype: SpeechSynthesisUtterance; + new(): SpeechSynthesisUtterance; + new(text: string): SpeechSynthesisUtterance; }; -interface TextMetrics { - readonly width: number; +interface SpeechSynthesisEvent extends Event { + readonly utterance: SpeechSynthesisUtterance; + readonly charIndex: number; + readonly elapsedTime: number; + readonly name: string; } -declare var TextMetrics: { - prototype: TextMetrics; - new(): TextMetrics; +declare var SpeechSynthesisEvent: { + prototype: SpeechSynthesisEvent; + new(): SpeechSynthesisEvent; }; -interface TextTrackEventMap { - "cuechange": Event; - "error": Event; - "load": Event; +interface SpeechSynthesisErrorEvent extends SpeechSynthesisEvent { + readonly error: any; } -interface TextTrack extends EventTarget { - readonly activeCues: TextTrackCueList; - readonly cues: TextTrackCueList; - readonly inBandMetadataTrackDispatchType: string; - readonly kind: string; - readonly label: string; - readonly language: string; - mode: any; - oncuechange: (this: TextTrack, ev: Event) => any; - onerror: (this: TextTrack, ev: Event) => any; - onload: (this: TextTrack, ev: Event) => any; - readonly readyState: number; - addCue(cue: TextTrackCue): void; - removeCue(cue: TextTrackCue): void; - readonly DISABLED: number; - readonly ERROR: number; - readonly HIDDEN: number; - readonly LOADED: number; - readonly LOADING: number; - readonly NONE: number; - readonly SHOWING: number; - addEventListener(type: K, listener: (this: TextTrack, ev: TextTrackEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare var SpeechSynthesisErrorEvent: { + prototype: SpeechSynthesisErrorEvent; + new(): SpeechSynthesisErrorEvent; +}; + +interface SpeechSynthesisVoice { + readonly voiceURI: string; + readonly name: string; + readonly lang: string; + readonly localService: boolean; + readonly default: boolean; } -declare var TextTrack: { - prototype: TextTrack; - new(): TextTrack; - readonly DISABLED: number; - readonly ERROR: number; - readonly HIDDEN: number; - readonly LOADED: number; - readonly LOADING: number; - readonly NONE: number; - readonly SHOWING: number; +declare var SpeechSynthesisVoice: { + prototype: SpeechSynthesisVoice; + new(): SpeechSynthesisVoice; }; -interface TextTrackCueEventMap { - "enter": Event; - "exit": Event; +interface RTCPeerConnectionEventMap { + "negotiationneeded": undefined; + "icecandidate": RTCPeerConnectionIceEvent; + "icecandidateerror": RTCPeerConnectionIceErrorEvent; + "signalingstatechange": undefined; + "iceconnectionstatechange": undefined; + "icegatheringstatechange": undefined; + "connectionstatechange": undefined; + "fingerprintfailure": undefined; + "track": RTCTrackEvent; + "datachannel": RTCDataChannelEvent; } -interface TextTrackCue extends EventTarget { - endTime: number; - id: string; - onenter: (this: TextTrackCue, ev: Event) => any; - onexit: (this: TextTrackCue, ev: Event) => any; - pauseOnExit: boolean; - startTime: number; - text: string; - readonly track: TextTrack; - getCueAsHTML(): DocumentFragment; - addEventListener(type: K, listener: (this: TextTrackCue, ev: TextTrackCueEventMap[K]) => any, useCapture?: boolean): void; +interface RTCPeerConnection extends EventTarget { + readonly localDescription: RTCSessionDescription | null; + readonly currentLocalDescription: RTCSessionDescription | null; + readonly pendingLocalDescription: RTCSessionDescription | null; + readonly remoteDescription: RTCSessionDescription | null; + readonly currentRemoteDescription: RTCSessionDescription | null; + readonly pendingRemoteDescription: RTCSessionDescription | null; + readonly signalingState: RTCSignalingState; + readonly iceGatheringState: RTCIceGatheringState; + readonly iceConnectionState: RTCIceConnectionState; + readonly connectionState: RTCPeerConnectionState; + readonly canTrickleIceCandidates: boolean | null; + readonly defaultIceServers: ReadonlyArray; + onnegotiationneeded: (this: RTCPeerConnection, ev: undefined) => any; + onicecandidate: (this: RTCPeerConnection, ev: RTCPeerConnectionIceEvent) => any; + onicecandidateerror: (this: RTCPeerConnection, ev: RTCPeerConnectionIceErrorEvent) => any; + onsignalingstatechange: (this: RTCPeerConnection, ev: undefined) => any; + oniceconnectionstatechange: (this: RTCPeerConnection, ev: undefined) => any; + onicegatheringstatechange: (this: RTCPeerConnection, ev: undefined) => any; + onconnectionstatechange: (this: RTCPeerConnection, ev: undefined) => any; + onfingerprintfailure: (this: RTCPeerConnection, ev: undefined) => any; + ontrack: (this: RTCPeerConnection, ev: RTCTrackEvent) => any; + readonly sctp: RTCSctpTransport | null; + ondatachannel: (this: RTCPeerConnection, ev: RTCDataChannelEvent) => any; + readonly peerIdentity: Promise; + readonly idpLoginUrl: string | null; + readonly idpErrorInfo: string | null; + createOffer(options?: RTCOfferOptions): Promise; + createAnswer(options?: RTCAnswerOptions): Promise; + setLocalDescription(description: RTCSessionDescriptionInit): Promise; + setRemoteDescription(description: RTCSessionDescriptionInit): Promise; + addIceCandidate(candidate: RTCIceCandidateInit | RTCIceCandidate): Promise; + getConfiguration(): RTCConfiguration; + setConfiguration(configuration: RTCConfiguration): void; + close(): void; + createOffer(successCallback: RTCSessionDescriptionCallback, failureCallback: RTCPeerConnectionErrorCallback, options?: RTCOfferOptions): Promise; + setLocalDescription(description: RTCSessionDescriptionInit, successCallback: VoidFunction, failureCallback: RTCPeerConnectionErrorCallback): Promise; + createAnswer(successCallback: RTCSessionDescriptionCallback, failureCallback: RTCPeerConnectionErrorCallback): Promise; + setRemoteDescription(description: RTCSessionDescriptionInit, successCallback: VoidFunction, failureCallback: RTCPeerConnectionErrorCallback): Promise; + addIceCandidate(candidate: RTCIceCandidateInit | RTCIceCandidate, successCallback: VoidFunction, failureCallback: RTCPeerConnectionErrorCallback): Promise; + getSenders(): RTCRtpSender[]; + getReceivers(): RTCRtpReceiver[]; + getTransceivers(): RTCRtpTransceiver[]; + addTrack(track: MediaStreamTrack, ...streams: MediaStream[]): RTCRtpSender; + removeTrack(sender: RTCRtpSender): void; + addTransceiver(trackOrKind: MediaStreamTrack | string, init?: RTCRtpTransceiverInit): RTCRtpTransceiver; + createDataChannel(label: string, dataChannelDict?: RTCDataChannelInit): RTCDataChannel; + getStats(selector?: MediaStreamTrack): Promise; + setIdentityProvider(provider: string, options?: RTCIdentityProviderOptions): void; + getIdentityAssertion(): Promise; + addEventListener(type: K, listener: (this: RTCPeerConnection, ev: RTCPeerConnectionEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var TextTrackCue: { - prototype: TextTrackCue; - new(startTime: number, endTime: number, text: string): TextTrackCue; +declare var RTCPeerConnection: { + prototype: RTCPeerConnection; + new(configuration?: RTCConfiguration): RTCPeerConnection; + generateCertificate(keygenAlgorithm: AlgorithmIdentifier): Promise; }; -interface TextTrackCueList { - readonly length: number; - getCueById(id: string): TextTrackCue; - item(index: number): TextTrackCue; - [index: number]: TextTrackCue; +interface RTCSessionDescription { + readonly type: RTCSdpType; + readonly sdp: string; } -declare var TextTrackCueList: { - prototype: TextTrackCueList; - new(): TextTrackCueList; +declare var RTCSessionDescription: { + prototype: RTCSessionDescription; + new(descriptionInitDict: RTCSessionDescriptionInit): RTCSessionDescription; }; -interface TextTrackListEventMap { - "addtrack": TrackEvent; -} - -interface TextTrackList extends EventTarget { - readonly length: number; - onaddtrack: ((this: TextTrackList, ev: TrackEvent) => any) | null; - item(index: number): TextTrack; - addEventListener(type: K, listener: (this: TextTrackList, ev: TextTrackListEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; - [index: number]: TextTrack; +interface RTCIceCandidate { + readonly candidate: string; + readonly sdpMid: string | null; + readonly sdpMLineIndex: number | null; + readonly foundation: string | null; + readonly priority: number | null; + readonly ip: string | null; + readonly protocol: RTCIceProtocol | null; + readonly port: number | null; + readonly type: RTCIceCandidateType | null; + readonly tcpType: RTCIceTcpCandidateType | null; + readonly relatedAddress: string | null; + readonly relatedPort: number | null; + readonly ufrag: string | null; } -declare var TextTrackList: { - prototype: TextTrackList; - new(): TextTrackList; +declare var RTCIceCandidate: { + prototype: RTCIceCandidate; + new(candidateInitDict: RTCIceCandidateInit): RTCIceCandidate; }; -interface TimeRanges { - readonly length: number; - end(index: number): number; - start(index: number): number; +interface RTCPeerConnectionIceEvent extends Event { + readonly candidate: RTCIceCandidate | null; + readonly url: string | null; } -declare var TimeRanges: { - prototype: TimeRanges; - new(): TimeRanges; +declare var RTCPeerConnectionIceEvent: { + prototype: RTCPeerConnectionIceEvent; + new(type: string, eventInitDict?: RTCPeerConnectionIceEventInit): RTCPeerConnectionIceEvent; }; -interface Touch { - readonly clientX: number; - readonly clientY: number; - readonly identifier: number; - readonly pageX: number; - readonly pageY: number; - readonly screenX: number; - readonly screenY: number; - readonly target: EventTarget; +interface RTCPeerConnectionIceErrorEvent extends Event { + readonly hostCandidate: string; + readonly url: string; + readonly errorCode: number; + readonly errorText: string; } -declare var Touch: { - prototype: Touch; - new(): Touch; +declare var RTCPeerConnectionIceErrorEvent: { + prototype: RTCPeerConnectionIceErrorEvent; + new(type: string, eventInitDict: RTCPeerConnectionIceErrorEventInit): RTCPeerConnectionIceErrorEvent; }; -interface TouchEvent extends UIEvent { - readonly altKey: boolean; - readonly changedTouches: TouchList; - readonly charCode: number; - readonly ctrlKey: boolean; - readonly keyCode: number; - readonly metaKey: boolean; - readonly shiftKey: boolean; - readonly targetTouches: TouchList; - readonly touches: TouchList; - readonly which: number; +interface RTCCertificate { + readonly expires: number; + readonly fingerprints: ReadonlyArray; + getAlgorithm(): AlgorithmIdentifier; } -declare var TouchEvent: { - prototype: TouchEvent; - new(type: string, touchEventInit?: TouchEventInit): TouchEvent; +declare var RTCCertificate: { + prototype: RTCCertificate; + new(): RTCCertificate; }; -interface TouchList { - readonly length: number; - item(index: number): Touch | null; - [index: number]: Touch; +interface RTCRtpSender { + readonly track: MediaStreamTrack | null; + readonly transport: RTCDtlsTransport | null; + readonly rtcpTransport: RTCDtlsTransport | null; + readonly dtmf: RTCDTMFSender | null; + setParameters(parameters?: RTCRtpParameters): Promise; + getParameters(): RTCRtpParameters; + replaceTrack(withTrack: MediaStreamTrack): Promise; } -declare var TouchList: { - prototype: TouchList; - new(): TouchList; +declare var RTCRtpSender: { + prototype: RTCRtpSender; + new(): RTCRtpSender; + getCapabilities(kind: string): RTCRtpCapabilities; }; -interface TrackEvent extends Event { - readonly track: VideoTrack | AudioTrack | TextTrack | null; +interface RTCRtpReceiver { + readonly track: MediaStreamTrack; + readonly transport: RTCDtlsTransport | null; + readonly rtcpTransport: RTCDtlsTransport | null; + getParameters(): RTCRtpParameters; + getContributingSources(): RTCRtpContributingSource[]; } -declare var TrackEvent: { - prototype: TrackEvent; - new(typeArg: string, eventInitDict?: TrackEventInit): TrackEvent; +declare var RTCRtpReceiver: { + prototype: RTCRtpReceiver; + new(): RTCRtpReceiver; + getCapabilities(kind: string): RTCRtpCapabilities; }; -interface TransitionEvent extends Event { - readonly elapsedTime: number; - readonly propertyName: string; - initTransitionEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, propertyNameArg: string, elapsedTimeArg: number): void; +interface RTCRtpContributingSource { + readonly timestamp: number; + readonly source: number; + readonly audioLevel: number | null; + readonly voiceActivityFlag: boolean | null; } -declare var TransitionEvent: { - prototype: TransitionEvent; - new(typeArg: string, eventInitDict?: TransitionEventInit): TransitionEvent; +declare var RTCRtpContributingSource: { + prototype: RTCRtpContributingSource; + new(): RTCRtpContributingSource; }; -interface TreeWalker { - currentNode: Node; - readonly expandEntityReferences: boolean; - readonly filter: NodeFilter; - readonly root: Node; - readonly whatToShow: number; - firstChild(): Node; - lastChild(): Node; - nextNode(): Node; - nextSibling(): Node; - parentNode(): Node; - previousNode(): Node; - previousSibling(): Node; +interface RTCRtpTransceiver { + readonly mid: string | null; + readonly sender: RTCRtpSender; + readonly receiver: RTCRtpReceiver; + readonly stopped: boolean; + readonly direction: RTCRtpTransceiverDirection; + readonly currentDirection: RTCRtpTransceiverDirection | null; + setDirection(direction: RTCRtpTransceiverDirection): void; + stop(): void; + setCodecPreferences(codecs: RTCRtpCodecCapability[]): void; } -declare var TreeWalker: { - prototype: TreeWalker; - new(): TreeWalker; +declare var RTCRtpTransceiver: { + prototype: RTCRtpTransceiver; + new(): RTCRtpTransceiver; }; -interface UIEvent extends Event { - readonly detail: number; - readonly view: Window; - initUIEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number): void; +interface RTCDtlsTransportEventMap { + "statechange": undefined; } -declare var UIEvent: { - prototype: UIEvent; - new(typeArg: string, eventInitDict?: UIEventInit): UIEvent; +interface RTCDtlsTransport { + readonly transport: RTCIceTransport; + readonly state: RTCDtlsTransportState; + onstatechange: (this: RTCDtlsTransport, ev: undefined) => any; + getRemoteCertificates(): ArrayBuffer[]; + addEventListener(type: K, listener: (this: RTCDtlsTransport, ev: RTCDtlsTransportEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var RTCDtlsTransport: { + prototype: RTCDtlsTransport; + new(): RTCDtlsTransport; }; -interface UnviewableContentIdentifiedEvent extends NavigationEventWithReferrer { - readonly mediaType: string; +interface RTCIceTransportEventMap { + "statechange": undefined; + "gatheringstatechange": undefined; + "selectedcandidatepairchange": undefined; +} + +interface RTCIceTransport { + readonly role: RTCIceRole; + readonly component: RTCIceComponent; + readonly state: RTCIceTransportState; + readonly gatheringState: RTCIceGathererState; + onstatechange: (this: RTCIceTransport, ev: undefined) => any; + ongatheringstatechange: (this: RTCIceTransport, ev: undefined) => any; + onselectedcandidatepairchange: (this: RTCIceTransport, ev: undefined) => any; + getLocalCandidates(): RTCIceCandidate[]; + getRemoteCandidates(): RTCIceCandidate[]; + getSelectedCandidatePair(): RTCIceCandidatePair | null; + getLocalParameters(): RTCIceParameters | null; + getRemoteParameters(): RTCIceParameters | null; + addEventListener(type: K, listener: (this: RTCIceTransport, ev: RTCIceTransportEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var UnviewableContentIdentifiedEvent: { - prototype: UnviewableContentIdentifiedEvent; - new(): UnviewableContentIdentifiedEvent; +declare var RTCIceTransport: { + prototype: RTCIceTransport; + new(): RTCIceTransport; }; -interface URL { - hash: string; - host: string; - hostname: string; - href: string; - readonly origin: string; - password: string; - pathname: string; - port: string; - protocol: string; - search: string; - username: string; - readonly searchParams: URLSearchParams; - toString(): string; +interface RTCTrackEvent extends Event { + readonly receiver: RTCRtpReceiver; + readonly track: MediaStreamTrack; + readonly streams: ReadonlyArray; + readonly transceiver: RTCRtpTransceiver; } -declare var URL: { - prototype: URL; - new(url: string, base?: string): URL; - createObjectURL(object: any, options?: ObjectURLOptions): string; - revokeObjectURL(url: string): void; +declare var RTCTrackEvent: { + prototype: RTCTrackEvent; + new(type: string, eventInitDict: RTCTrackEventInit): RTCTrackEvent; }; -interface ValidityState { - readonly badInput: boolean; - readonly customError: boolean; - readonly patternMismatch: boolean; - readonly rangeOverflow: boolean; - readonly rangeUnderflow: boolean; - readonly stepMismatch: boolean; - readonly tooLong: boolean; - readonly typeMismatch: boolean; - readonly valid: boolean; - readonly valueMissing: boolean; - readonly tooShort: boolean; +interface RTCSctpTransport { + readonly transport: RTCDtlsTransport; + readonly maxMessageSize: number; } -declare var ValidityState: { - prototype: ValidityState; - new(): ValidityState; +declare var RTCSctpTransport: { + prototype: RTCSctpTransport; + new(): RTCSctpTransport; }; -interface VideoPlaybackQuality { - readonly corruptedVideoFrames: number; - readonly creationTime: number; - readonly droppedVideoFrames: number; - readonly totalFrameDelay: number; - readonly totalVideoFrames: number; +interface RTCDataChannelEventMap { + "open": undefined; + "bufferedamountlow": undefined; + "error": ErrorEvent; + "close": undefined; + "message": MessageEvent; } -declare var VideoPlaybackQuality: { - prototype: VideoPlaybackQuality; - new(): VideoPlaybackQuality; +interface RTCDataChannel extends EventTarget { + readonly label: string; + readonly ordered: boolean; + readonly maxPacketLifeTime: number | null; + readonly maxRetransmits: number | null; + readonly protocol: string; + readonly negotiated: boolean; + readonly id: number | null; + readonly priority: RTCPriorityType; + readonly readyState: RTCDataChannelState; + readonly bufferedAmount: number; + bufferedAmountLowThreshold: number; + onopen: (this: RTCDataChannel, ev: undefined) => any; + onbufferedamountlow: (this: RTCDataChannel, ev: undefined) => any; + onerror: (this: RTCDataChannel, ev: ErrorEvent) => any; + onclose: (this: RTCDataChannel, ev: undefined) => any; + onmessage: (this: RTCDataChannel, ev: MessageEvent) => any; + binaryType: string; + close(): void; + send(data: string): void; + send(data: Blob): void; + send(data: ArrayBuffer): void; + send(data: ArrayBufferView): void; + addEventListener(type: K, listener: (this: RTCDataChannel, ev: RTCDataChannelEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var RTCDataChannel: { + prototype: RTCDataChannel; + new(): RTCDataChannel; }; -interface VideoTrack { - readonly id: string; - kind: string; - readonly label: string; - language: string; - selected: boolean; - readonly sourceBuffer: SourceBuffer; +interface RTCDataChannelEvent extends Event { + readonly channel: RTCDataChannel; } -declare var VideoTrack: { - prototype: VideoTrack; - new(): VideoTrack; +declare var RTCDataChannelEvent: { + prototype: RTCDataChannelEvent; + new(type: string, eventInitDict: RTCDataChannelEventInit): RTCDataChannelEvent; }; -interface VideoTrackListEventMap { - "addtrack": TrackEvent; - "change": Event; - "removetrack": TrackEvent; +interface RTCDTMFSenderEventMap { + "tonechange": RTCDTMFToneChangeEvent; } -interface VideoTrackList extends EventTarget { - readonly length: number; - onaddtrack: (this: VideoTrackList, ev: TrackEvent) => any; - onchange: (this: VideoTrackList, ev: Event) => any; - onremovetrack: (this: VideoTrackList, ev: TrackEvent) => any; - readonly selectedIndex: number; - getTrackById(id: string): VideoTrack | null; - item(index: number): VideoTrack; - addEventListener(type: K, listener: (this: VideoTrackList, ev: VideoTrackListEventMap[K]) => any, useCapture?: boolean): void; +interface RTCDTMFSender extends EventTarget { + ontonechange: (this: RTCDTMFSender, ev: RTCDTMFToneChangeEvent) => any; + readonly toneBuffer: string; + insertDTMF(tones: string, duration?: number, interToneGap?: number): void; + addEventListener(type: K, listener: (this: RTCDTMFSender, ev: RTCDTMFSenderEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; - [index: number]: VideoTrack; } -declare var VideoTrackList: { - prototype: VideoTrackList; - new(): VideoTrackList; +declare var RTCDTMFSender: { + prototype: RTCDTMFSender; + new(): RTCDTMFSender; }; -interface WaveShaperNode extends AudioNode { - curve: Float32Array | null; - oversample: OverSampleType; +interface RTCDTMFToneChangeEvent extends Event { + readonly tone: string; } -declare var WaveShaperNode: { - prototype: WaveShaperNode; - new(): WaveShaperNode; +declare var RTCDTMFToneChangeEvent: { + prototype: RTCDTMFToneChangeEvent; + new(type: string, eventInitDict: RTCDTMFToneChangeEventInit): RTCDTMFToneChangeEvent; }; -interface WebAuthentication { - getAssertion(assertionChallenge: any, options?: AssertionOptions): Promise; - makeCredential(accountInformation: Account, cryptoParameters: ScopedCredentialParameters[], attestationChallenge: any, options?: ScopedCredentialOptions): Promise; +interface RTCStatsReport { } -declare var WebAuthentication: { - prototype: WebAuthentication; - new(): WebAuthentication; +declare var RTCStatsReport: { + prototype: RTCStatsReport; + new(): RTCStatsReport; }; -interface WebAuthnAssertion { - readonly authenticatorData: ArrayBuffer; - readonly clientData: ArrayBuffer; - readonly credential: ScopedCredential; - readonly signature: ArrayBuffer; +interface RTCIdentityProviderGlobalScope extends WorkerGlobalScope { + readonly rtcIdentityProvider: RTCIdentityProviderRegistrar; + addEventListener(type: K, listener: (this: RTCIdentityProviderGlobalScope, ev: WorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var WebAuthnAssertion: { - prototype: WebAuthnAssertion; - new(): WebAuthnAssertion; +declare var RTCIdentityProviderGlobalScope: { + prototype: RTCIdentityProviderGlobalScope; + new(): RTCIdentityProviderGlobalScope; }; -interface WEBGL_compressed_texture_s3tc { - readonly COMPRESSED_RGB_S3TC_DXT1_EXT: number; - readonly COMPRESSED_RGBA_S3TC_DXT1_EXT: number; - readonly COMPRESSED_RGBA_S3TC_DXT3_EXT: number; - readonly COMPRESSED_RGBA_S3TC_DXT5_EXT: number; +interface RTCIdentityProviderRegistrar { + register(idp: RTCIdentityProvider): void; } -declare var WEBGL_compressed_texture_s3tc: { - prototype: WEBGL_compressed_texture_s3tc; - new(): WEBGL_compressed_texture_s3tc; - readonly COMPRESSED_RGB_S3TC_DXT1_EXT: number; - readonly COMPRESSED_RGBA_S3TC_DXT1_EXT: number; - readonly COMPRESSED_RGBA_S3TC_DXT3_EXT: number; - readonly COMPRESSED_RGBA_S3TC_DXT5_EXT: number; +declare var RTCIdentityProviderRegistrar: { + prototype: RTCIdentityProviderRegistrar; + new(): RTCIdentityProviderRegistrar; }; -interface WEBGL_debug_renderer_info { - readonly UNMASKED_RENDERER_WEBGL: number; - readonly UNMASKED_VENDOR_WEBGL: number; +interface RTCIdentityAssertion { + idp: string; + name: string; } -declare var WEBGL_debug_renderer_info: { - prototype: WEBGL_debug_renderer_info; - new(): WEBGL_debug_renderer_info; - readonly UNMASKED_RENDERER_WEBGL: number; - readonly UNMASKED_VENDOR_WEBGL: number; +declare var RTCIdentityAssertion: { + prototype: RTCIdentityAssertion; + new(idp: string, name: string): RTCIdentityAssertion; }; -interface WEBGL_depth_texture { - readonly UNSIGNED_INT_24_8_WEBGL: number; +interface RTCErrorEvent extends Event { + readonly error: any; } -declare var WEBGL_depth_texture: { - prototype: WEBGL_depth_texture; - new(): WEBGL_depth_texture; - readonly UNSIGNED_INT_24_8_WEBGL: number; +declare var RTCErrorEvent: { + prototype: RTCErrorEvent; + new(type: string, eventInitDict: RTCErrorEventInit): RTCErrorEvent; }; -interface WebGLActiveInfo { - readonly name: string; - readonly size: number; - readonly type: number; +interface WebGLObject { } -declare var WebGLActiveInfo: { - prototype: WebGLActiveInfo; - new(): WebGLActiveInfo; +declare var WebGLObject: { + prototype: WebGLObject; + new(): WebGLObject; }; interface WebGLBuffer extends WebGLObject { @@ -12032,15 +11163,6 @@ declare var WebGLBuffer: { new(): WebGLBuffer; }; -interface WebGLContextEvent extends Event { - readonly statusMessage: string; -} - -declare var WebGLContextEvent: { - prototype: WebGLContextEvent; - new(typeArg: string, eventInitDict?: WebGLContextEventInit): WebGLContextEvent; -}; - interface WebGLFramebuffer extends WebGLObject { } @@ -12049,14 +11171,6 @@ declare var WebGLFramebuffer: { new(): WebGLFramebuffer; }; -interface WebGLObject { -} - -declare var WebGLObject: { - prototype: WebGLObject; - new(): WebGLObject; -}; - interface WebGLProgram extends WebGLObject { } @@ -12073,749 +11187,6 @@ declare var WebGLRenderbuffer: { new(): WebGLRenderbuffer; }; -interface WebGLRenderingContext { - readonly canvas: HTMLCanvasElement; - readonly drawingBufferHeight: number; - readonly drawingBufferWidth: number; - activeTexture(texture: number): void; - attachShader(program: WebGLProgram | null, shader: WebGLShader | null): void; - bindAttribLocation(program: WebGLProgram | null, index: number, name: string): void; - bindBuffer(target: number, buffer: WebGLBuffer | null): void; - bindFramebuffer(target: number, framebuffer: WebGLFramebuffer | null): void; - bindRenderbuffer(target: number, renderbuffer: WebGLRenderbuffer | null): void; - bindTexture(target: number, texture: WebGLTexture | null): void; - blendColor(red: number, green: number, blue: number, alpha: number): void; - blendEquation(mode: number): void; - blendEquationSeparate(modeRGB: number, modeAlpha: number): void; - blendFunc(sfactor: number, dfactor: number): void; - blendFuncSeparate(srcRGB: number, dstRGB: number, srcAlpha: number, dstAlpha: number): void; - bufferData(target: number, size: number | ArrayBufferView | ArrayBuffer, usage: number): void; - bufferSubData(target: number, offset: number, data: ArrayBufferView | ArrayBuffer): void; - checkFramebufferStatus(target: number): number; - clear(mask: number): void; - clearColor(red: number, green: number, blue: number, alpha: number): void; - clearDepth(depth: number): void; - clearStencil(s: number): void; - colorMask(red: boolean, green: boolean, blue: boolean, alpha: boolean): void; - compileShader(shader: WebGLShader | null): void; - compressedTexImage2D(target: number, level: number, internalformat: number, width: number, height: number, border: number, data: ArrayBufferView): void; - compressedTexSubImage2D(target: number, level: number, xoffset: number, yoffset: number, width: number, height: number, format: number, data: ArrayBufferView): void; - copyTexImage2D(target: number, level: number, internalformat: number, x: number, y: number, width: number, height: number, border: number): void; - copyTexSubImage2D(target: number, level: number, xoffset: number, yoffset: number, x: number, y: number, width: number, height: number): void; - createBuffer(): WebGLBuffer | null; - createFramebuffer(): WebGLFramebuffer | null; - createProgram(): WebGLProgram | null; - createRenderbuffer(): WebGLRenderbuffer | null; - createShader(type: number): WebGLShader | null; - createTexture(): WebGLTexture | null; - cullFace(mode: number): void; - deleteBuffer(buffer: WebGLBuffer | null): void; - deleteFramebuffer(framebuffer: WebGLFramebuffer | null): void; - deleteProgram(program: WebGLProgram | null): void; - deleteRenderbuffer(renderbuffer: WebGLRenderbuffer | null): void; - deleteShader(shader: WebGLShader | null): void; - deleteTexture(texture: WebGLTexture | null): void; - depthFunc(func: number): void; - depthMask(flag: boolean): void; - depthRange(zNear: number, zFar: number): void; - detachShader(program: WebGLProgram | null, shader: WebGLShader | null): void; - disable(cap: number): void; - disableVertexAttribArray(index: number): void; - drawArrays(mode: number, first: number, count: number): void; - drawElements(mode: number, count: number, type: number, offset: number): void; - enable(cap: number): void; - enableVertexAttribArray(index: number): void; - finish(): void; - flush(): void; - framebufferRenderbuffer(target: number, attachment: number, renderbuffertarget: number, renderbuffer: WebGLRenderbuffer | null): void; - framebufferTexture2D(target: number, attachment: number, textarget: number, texture: WebGLTexture | null, level: number): void; - frontFace(mode: number): void; - generateMipmap(target: number): void; - getActiveAttrib(program: WebGLProgram | null, index: number): WebGLActiveInfo | null; - getActiveUniform(program: WebGLProgram | null, index: number): WebGLActiveInfo | null; - getAttachedShaders(program: WebGLProgram | null): WebGLShader[] | null; - getAttribLocation(program: WebGLProgram | null, name: string): number; - getBufferParameter(target: number, pname: number): any; - getContextAttributes(): WebGLContextAttributes; - getError(): number; - getExtension(name: string): any; - getFramebufferAttachmentParameter(target: number, attachment: number, pname: number): any; - getParameter(pname: number): any; - getProgramInfoLog(program: WebGLProgram | null): string | null; - getProgramParameter(program: WebGLProgram | null, pname: number): any; - getRenderbufferParameter(target: number, pname: number): any; - getShaderInfoLog(shader: WebGLShader | null): string | null; - getShaderParameter(shader: WebGLShader | null, pname: number): any; - getShaderPrecisionFormat(shadertype: number, precisiontype: number): WebGLShaderPrecisionFormat | null; - getShaderSource(shader: WebGLShader | null): string | null; - getSupportedExtensions(): string[] | null; - getTexParameter(target: number, pname: number): any; - getUniform(program: WebGLProgram | null, location: WebGLUniformLocation | null): any; - getUniformLocation(program: WebGLProgram | null, name: string): WebGLUniformLocation | null; - getVertexAttrib(index: number, pname: number): any; - getVertexAttribOffset(index: number, pname: number): number; - hint(target: number, mode: number): void; - isBuffer(buffer: WebGLBuffer | null): boolean; - isContextLost(): boolean; - isEnabled(cap: number): boolean; - isFramebuffer(framebuffer: WebGLFramebuffer | null): boolean; - isProgram(program: WebGLProgram | null): boolean; - isRenderbuffer(renderbuffer: WebGLRenderbuffer | null): boolean; - isShader(shader: WebGLShader | null): boolean; - isTexture(texture: WebGLTexture | null): boolean; - lineWidth(width: number): void; - linkProgram(program: WebGLProgram | null): void; - pixelStorei(pname: number, param: number | boolean): void; - polygonOffset(factor: number, units: number): void; - readPixels(x: number, y: number, width: number, height: number, format: number, type: number, pixels: ArrayBufferView | null): void; - renderbufferStorage(target: number, internalformat: number, width: number, height: number): void; - sampleCoverage(value: number, invert: boolean): void; - scissor(x: number, y: number, width: number, height: number): void; - shaderSource(shader: WebGLShader | null, source: string): void; - stencilFunc(func: number, ref: number, mask: number): void; - stencilFuncSeparate(face: number, func: number, ref: number, mask: number): void; - stencilMask(mask: number): void; - stencilMaskSeparate(face: number, mask: number): void; - stencilOp(fail: number, zfail: number, zpass: number): void; - stencilOpSeparate(face: number, fail: number, zfail: number, zpass: number): void; - texImage2D(target: number, level: number, internalformat: number, width: number, height: number, border: number, format: number, type: number, pixels: ArrayBufferView | null): void; - texImage2D(target: number, level: number, internalformat: number, format: number, type: number, pixels: ImageBitmap | ImageData | HTMLVideoElement | HTMLImageElement | HTMLCanvasElement): void; - texParameterf(target: number, pname: number, param: number): void; - texParameteri(target: number, pname: number, param: number): void; - texSubImage2D(target: number, level: number, xoffset: number, yoffset: number, width: number, height: number, format: number, type: number, pixels: ArrayBufferView | null): void; - texSubImage2D(target: number, level: number, xoffset: number, yoffset: number, format: number, type: number, pixels: ImageBitmap | ImageData | HTMLVideoElement | HTMLImageElement | HTMLCanvasElement): void; - uniform1f(location: WebGLUniformLocation | null, x: number): void; - uniform1fv(location: WebGLUniformLocation, v: Float32Array | number[]): void; - uniform1i(location: WebGLUniformLocation | null, x: number): void; - uniform1iv(location: WebGLUniformLocation, v: Int32Array | number[]): void; - uniform2f(location: WebGLUniformLocation | null, x: number, y: number): void; - uniform2fv(location: WebGLUniformLocation, v: Float32Array | number[]): void; - uniform2i(location: WebGLUniformLocation | null, x: number, y: number): void; - uniform2iv(location: WebGLUniformLocation, v: Int32Array | number[]): void; - uniform3f(location: WebGLUniformLocation | null, x: number, y: number, z: number): void; - uniform3fv(location: WebGLUniformLocation, v: Float32Array | number[]): void; - uniform3i(location: WebGLUniformLocation | null, x: number, y: number, z: number): void; - uniform3iv(location: WebGLUniformLocation, v: Int32Array | number[]): void; - uniform4f(location: WebGLUniformLocation | null, x: number, y: number, z: number, w: number): void; - uniform4fv(location: WebGLUniformLocation, v: Float32Array | number[]): void; - uniform4i(location: WebGLUniformLocation | null, x: number, y: number, z: number, w: number): void; - uniform4iv(location: WebGLUniformLocation, v: Int32Array | number[]): void; - uniformMatrix2fv(location: WebGLUniformLocation, transpose: boolean, value: Float32Array | number[]): void; - uniformMatrix3fv(location: WebGLUniformLocation, transpose: boolean, value: Float32Array | number[]): void; - uniformMatrix4fv(location: WebGLUniformLocation, transpose: boolean, value: Float32Array | number[]): void; - useProgram(program: WebGLProgram | null): void; - validateProgram(program: WebGLProgram | null): void; - vertexAttrib1f(indx: number, x: number): void; - vertexAttrib1fv(indx: number, values: Float32Array | number[]): void; - vertexAttrib2f(indx: number, x: number, y: number): void; - vertexAttrib2fv(indx: number, values: Float32Array | number[]): void; - vertexAttrib3f(indx: number, x: number, y: number, z: number): void; - vertexAttrib3fv(indx: number, values: Float32Array | number[]): void; - vertexAttrib4f(indx: number, x: number, y: number, z: number, w: number): void; - vertexAttrib4fv(indx: number, values: Float32Array | number[]): void; - vertexAttribPointer(indx: number, size: number, type: number, normalized: boolean, stride: number, offset: number): void; - viewport(x: number, y: number, width: number, height: number): void; - readonly ACTIVE_ATTRIBUTES: number; - readonly ACTIVE_TEXTURE: number; - readonly ACTIVE_UNIFORMS: number; - readonly ALIASED_LINE_WIDTH_RANGE: number; - readonly ALIASED_POINT_SIZE_RANGE: number; - readonly ALPHA: number; - readonly ALPHA_BITS: number; - readonly ALWAYS: number; - readonly ARRAY_BUFFER: number; - readonly ARRAY_BUFFER_BINDING: number; - readonly ATTACHED_SHADERS: number; - readonly BACK: number; - readonly BLEND: number; - readonly BLEND_COLOR: number; - readonly BLEND_DST_ALPHA: number; - readonly BLEND_DST_RGB: number; - readonly BLEND_EQUATION: number; - readonly BLEND_EQUATION_ALPHA: number; - readonly BLEND_EQUATION_RGB: number; - readonly BLEND_SRC_ALPHA: number; - readonly BLEND_SRC_RGB: number; - readonly BLUE_BITS: number; - readonly BOOL: number; - readonly BOOL_VEC2: number; - readonly BOOL_VEC3: number; - readonly BOOL_VEC4: number; - readonly BROWSER_DEFAULT_WEBGL: number; - readonly BUFFER_SIZE: number; - readonly BUFFER_USAGE: number; - readonly BYTE: number; - readonly CCW: number; - readonly CLAMP_TO_EDGE: number; - readonly COLOR_ATTACHMENT0: number; - readonly COLOR_BUFFER_BIT: number; - readonly COLOR_CLEAR_VALUE: number; - readonly COLOR_WRITEMASK: number; - readonly COMPILE_STATUS: number; - readonly COMPRESSED_TEXTURE_FORMATS: number; - readonly CONSTANT_ALPHA: number; - readonly CONSTANT_COLOR: number; - readonly CONTEXT_LOST_WEBGL: number; - readonly CULL_FACE: number; - readonly CULL_FACE_MODE: number; - readonly CURRENT_PROGRAM: number; - readonly CURRENT_VERTEX_ATTRIB: number; - readonly CW: number; - readonly DECR: number; - readonly DECR_WRAP: number; - readonly DELETE_STATUS: number; - readonly DEPTH_ATTACHMENT: number; - readonly DEPTH_BITS: number; - readonly DEPTH_BUFFER_BIT: number; - readonly DEPTH_CLEAR_VALUE: number; - readonly DEPTH_COMPONENT: number; - readonly DEPTH_COMPONENT16: number; - readonly DEPTH_FUNC: number; - readonly DEPTH_RANGE: number; - readonly DEPTH_STENCIL: number; - readonly DEPTH_STENCIL_ATTACHMENT: number; - readonly DEPTH_TEST: number; - readonly DEPTH_WRITEMASK: number; - readonly DITHER: number; - readonly DONT_CARE: number; - readonly DST_ALPHA: number; - readonly DST_COLOR: number; - readonly DYNAMIC_DRAW: number; - readonly ELEMENT_ARRAY_BUFFER: number; - readonly ELEMENT_ARRAY_BUFFER_BINDING: number; - readonly EQUAL: number; - readonly FASTEST: number; - readonly FLOAT: number; - readonly FLOAT_MAT2: number; - readonly FLOAT_MAT3: number; - readonly FLOAT_MAT4: number; - readonly FLOAT_VEC2: number; - readonly FLOAT_VEC3: number; - readonly FLOAT_VEC4: number; - readonly FRAGMENT_SHADER: number; - readonly FRAMEBUFFER: number; - readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: number; - readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: number; - readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: number; - readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: number; - readonly FRAMEBUFFER_BINDING: number; - readonly FRAMEBUFFER_COMPLETE: number; - readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: number; - readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: number; - readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: number; - readonly FRAMEBUFFER_UNSUPPORTED: number; - readonly FRONT: number; - readonly FRONT_AND_BACK: number; - readonly FRONT_FACE: number; - readonly FUNC_ADD: number; - readonly FUNC_REVERSE_SUBTRACT: number; - readonly FUNC_SUBTRACT: number; - readonly GENERATE_MIPMAP_HINT: number; - readonly GEQUAL: number; - readonly GREATER: number; - readonly GREEN_BITS: number; - readonly HIGH_FLOAT: number; - readonly HIGH_INT: number; - readonly IMPLEMENTATION_COLOR_READ_FORMAT: number; - readonly IMPLEMENTATION_COLOR_READ_TYPE: number; - readonly INCR: number; - readonly INCR_WRAP: number; - readonly INT: number; - readonly INT_VEC2: number; - readonly INT_VEC3: number; - readonly INT_VEC4: number; - readonly INVALID_ENUM: number; - readonly INVALID_FRAMEBUFFER_OPERATION: number; - readonly INVALID_OPERATION: number; - readonly INVALID_VALUE: number; - readonly INVERT: number; - readonly KEEP: number; - readonly LEQUAL: number; - readonly LESS: number; - readonly LINE_LOOP: number; - readonly LINE_STRIP: number; - readonly LINE_WIDTH: number; - readonly LINEAR: number; - readonly LINEAR_MIPMAP_LINEAR: number; - readonly LINEAR_MIPMAP_NEAREST: number; - readonly LINES: number; - readonly LINK_STATUS: number; - readonly LOW_FLOAT: number; - readonly LOW_INT: number; - readonly LUMINANCE: number; - readonly LUMINANCE_ALPHA: number; - readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: number; - readonly MAX_CUBE_MAP_TEXTURE_SIZE: number; - readonly MAX_FRAGMENT_UNIFORM_VECTORS: number; - readonly MAX_RENDERBUFFER_SIZE: number; - readonly MAX_TEXTURE_IMAGE_UNITS: number; - readonly MAX_TEXTURE_SIZE: number; - readonly MAX_VARYING_VECTORS: number; - readonly MAX_VERTEX_ATTRIBS: number; - readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: number; - readonly MAX_VERTEX_UNIFORM_VECTORS: number; - readonly MAX_VIEWPORT_DIMS: number; - readonly MEDIUM_FLOAT: number; - readonly MEDIUM_INT: number; - readonly MIRRORED_REPEAT: number; - readonly NEAREST: number; - readonly NEAREST_MIPMAP_LINEAR: number; - readonly NEAREST_MIPMAP_NEAREST: number; - readonly NEVER: number; - readonly NICEST: number; - readonly NO_ERROR: number; - readonly NONE: number; - readonly NOTEQUAL: number; - readonly ONE: number; - readonly ONE_MINUS_CONSTANT_ALPHA: number; - readonly ONE_MINUS_CONSTANT_COLOR: number; - readonly ONE_MINUS_DST_ALPHA: number; - readonly ONE_MINUS_DST_COLOR: number; - readonly ONE_MINUS_SRC_ALPHA: number; - readonly ONE_MINUS_SRC_COLOR: number; - readonly OUT_OF_MEMORY: number; - readonly PACK_ALIGNMENT: number; - readonly POINTS: number; - readonly POLYGON_OFFSET_FACTOR: number; - readonly POLYGON_OFFSET_FILL: number; - readonly POLYGON_OFFSET_UNITS: number; - readonly RED_BITS: number; - readonly RENDERBUFFER: number; - readonly RENDERBUFFER_ALPHA_SIZE: number; - readonly RENDERBUFFER_BINDING: number; - readonly RENDERBUFFER_BLUE_SIZE: number; - readonly RENDERBUFFER_DEPTH_SIZE: number; - readonly RENDERBUFFER_GREEN_SIZE: number; - readonly RENDERBUFFER_HEIGHT: number; - readonly RENDERBUFFER_INTERNAL_FORMAT: number; - readonly RENDERBUFFER_RED_SIZE: number; - readonly RENDERBUFFER_STENCIL_SIZE: number; - readonly RENDERBUFFER_WIDTH: number; - readonly RENDERER: number; - readonly REPEAT: number; - readonly REPLACE: number; - readonly RGB: number; - readonly RGB5_A1: number; - readonly RGB565: number; - readonly RGBA: number; - readonly RGBA4: number; - readonly SAMPLE_ALPHA_TO_COVERAGE: number; - readonly SAMPLE_BUFFERS: number; - readonly SAMPLE_COVERAGE: number; - readonly SAMPLE_COVERAGE_INVERT: number; - readonly SAMPLE_COVERAGE_VALUE: number; - readonly SAMPLER_2D: number; - readonly SAMPLER_CUBE: number; - readonly SAMPLES: number; - readonly SCISSOR_BOX: number; - readonly SCISSOR_TEST: number; - readonly SHADER_TYPE: number; - readonly SHADING_LANGUAGE_VERSION: number; - readonly SHORT: number; - readonly SRC_ALPHA: number; - readonly SRC_ALPHA_SATURATE: number; - readonly SRC_COLOR: number; - readonly STATIC_DRAW: number; - readonly STENCIL_ATTACHMENT: number; - readonly STENCIL_BACK_FAIL: number; - readonly STENCIL_BACK_FUNC: number; - readonly STENCIL_BACK_PASS_DEPTH_FAIL: number; - readonly STENCIL_BACK_PASS_DEPTH_PASS: number; - readonly STENCIL_BACK_REF: number; - readonly STENCIL_BACK_VALUE_MASK: number; - readonly STENCIL_BACK_WRITEMASK: number; - readonly STENCIL_BITS: number; - readonly STENCIL_BUFFER_BIT: number; - readonly STENCIL_CLEAR_VALUE: number; - readonly STENCIL_FAIL: number; - readonly STENCIL_FUNC: number; - readonly STENCIL_INDEX: number; - readonly STENCIL_INDEX8: number; - readonly STENCIL_PASS_DEPTH_FAIL: number; - readonly STENCIL_PASS_DEPTH_PASS: number; - readonly STENCIL_REF: number; - readonly STENCIL_TEST: number; - readonly STENCIL_VALUE_MASK: number; - readonly STENCIL_WRITEMASK: number; - readonly STREAM_DRAW: number; - readonly SUBPIXEL_BITS: number; - readonly TEXTURE: number; - readonly TEXTURE_2D: number; - readonly TEXTURE_BINDING_2D: number; - readonly TEXTURE_BINDING_CUBE_MAP: number; - readonly TEXTURE_CUBE_MAP: number; - readonly TEXTURE_CUBE_MAP_NEGATIVE_X: number; - readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: number; - readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: number; - readonly TEXTURE_CUBE_MAP_POSITIVE_X: number; - readonly TEXTURE_CUBE_MAP_POSITIVE_Y: number; - readonly TEXTURE_CUBE_MAP_POSITIVE_Z: number; - readonly TEXTURE_MAG_FILTER: number; - readonly TEXTURE_MIN_FILTER: number; - readonly TEXTURE_WRAP_S: number; - readonly TEXTURE_WRAP_T: number; - readonly TEXTURE0: number; - readonly TEXTURE1: number; - readonly TEXTURE10: number; - readonly TEXTURE11: number; - readonly TEXTURE12: number; - readonly TEXTURE13: number; - readonly TEXTURE14: number; - readonly TEXTURE15: number; - readonly TEXTURE16: number; - readonly TEXTURE17: number; - readonly TEXTURE18: number; - readonly TEXTURE19: number; - readonly TEXTURE2: number; - readonly TEXTURE20: number; - readonly TEXTURE21: number; - readonly TEXTURE22: number; - readonly TEXTURE23: number; - readonly TEXTURE24: number; - readonly TEXTURE25: number; - readonly TEXTURE26: number; - readonly TEXTURE27: number; - readonly TEXTURE28: number; - readonly TEXTURE29: number; - readonly TEXTURE3: number; - readonly TEXTURE30: number; - readonly TEXTURE31: number; - readonly TEXTURE4: number; - readonly TEXTURE5: number; - readonly TEXTURE6: number; - readonly TEXTURE7: number; - readonly TEXTURE8: number; - readonly TEXTURE9: number; - readonly TRIANGLE_FAN: number; - readonly TRIANGLE_STRIP: number; - readonly TRIANGLES: number; - readonly UNPACK_ALIGNMENT: number; - readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: number; - readonly UNPACK_FLIP_Y_WEBGL: number; - readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: number; - readonly UNSIGNED_BYTE: number; - readonly UNSIGNED_INT: number; - readonly UNSIGNED_SHORT: number; - readonly UNSIGNED_SHORT_4_4_4_4: number; - readonly UNSIGNED_SHORT_5_5_5_1: number; - readonly UNSIGNED_SHORT_5_6_5: number; - readonly VALIDATE_STATUS: number; - readonly VENDOR: number; - readonly VERSION: number; - readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: number; - readonly VERTEX_ATTRIB_ARRAY_ENABLED: number; - readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: number; - readonly VERTEX_ATTRIB_ARRAY_POINTER: number; - readonly VERTEX_ATTRIB_ARRAY_SIZE: number; - readonly VERTEX_ATTRIB_ARRAY_STRIDE: number; - readonly VERTEX_ATTRIB_ARRAY_TYPE: number; - readonly VERTEX_SHADER: number; - readonly VIEWPORT: number; - readonly ZERO: number; -} - -declare var WebGLRenderingContext: { - prototype: WebGLRenderingContext; - new(): WebGLRenderingContext; - readonly ACTIVE_ATTRIBUTES: number; - readonly ACTIVE_TEXTURE: number; - readonly ACTIVE_UNIFORMS: number; - readonly ALIASED_LINE_WIDTH_RANGE: number; - readonly ALIASED_POINT_SIZE_RANGE: number; - readonly ALPHA: number; - readonly ALPHA_BITS: number; - readonly ALWAYS: number; - readonly ARRAY_BUFFER: number; - readonly ARRAY_BUFFER_BINDING: number; - readonly ATTACHED_SHADERS: number; - readonly BACK: number; - readonly BLEND: number; - readonly BLEND_COLOR: number; - readonly BLEND_DST_ALPHA: number; - readonly BLEND_DST_RGB: number; - readonly BLEND_EQUATION: number; - readonly BLEND_EQUATION_ALPHA: number; - readonly BLEND_EQUATION_RGB: number; - readonly BLEND_SRC_ALPHA: number; - readonly BLEND_SRC_RGB: number; - readonly BLUE_BITS: number; - readonly BOOL: number; - readonly BOOL_VEC2: number; - readonly BOOL_VEC3: number; - readonly BOOL_VEC4: number; - readonly BROWSER_DEFAULT_WEBGL: number; - readonly BUFFER_SIZE: number; - readonly BUFFER_USAGE: number; - readonly BYTE: number; - readonly CCW: number; - readonly CLAMP_TO_EDGE: number; - readonly COLOR_ATTACHMENT0: number; - readonly COLOR_BUFFER_BIT: number; - readonly COLOR_CLEAR_VALUE: number; - readonly COLOR_WRITEMASK: number; - readonly COMPILE_STATUS: number; - readonly COMPRESSED_TEXTURE_FORMATS: number; - readonly CONSTANT_ALPHA: number; - readonly CONSTANT_COLOR: number; - readonly CONTEXT_LOST_WEBGL: number; - readonly CULL_FACE: number; - readonly CULL_FACE_MODE: number; - readonly CURRENT_PROGRAM: number; - readonly CURRENT_VERTEX_ATTRIB: number; - readonly CW: number; - readonly DECR: number; - readonly DECR_WRAP: number; - readonly DELETE_STATUS: number; - readonly DEPTH_ATTACHMENT: number; - readonly DEPTH_BITS: number; - readonly DEPTH_BUFFER_BIT: number; - readonly DEPTH_CLEAR_VALUE: number; - readonly DEPTH_COMPONENT: number; - readonly DEPTH_COMPONENT16: number; - readonly DEPTH_FUNC: number; - readonly DEPTH_RANGE: number; - readonly DEPTH_STENCIL: number; - readonly DEPTH_STENCIL_ATTACHMENT: number; - readonly DEPTH_TEST: number; - readonly DEPTH_WRITEMASK: number; - readonly DITHER: number; - readonly DONT_CARE: number; - readonly DST_ALPHA: number; - readonly DST_COLOR: number; - readonly DYNAMIC_DRAW: number; - readonly ELEMENT_ARRAY_BUFFER: number; - readonly ELEMENT_ARRAY_BUFFER_BINDING: number; - readonly EQUAL: number; - readonly FASTEST: number; - readonly FLOAT: number; - readonly FLOAT_MAT2: number; - readonly FLOAT_MAT3: number; - readonly FLOAT_MAT4: number; - readonly FLOAT_VEC2: number; - readonly FLOAT_VEC3: number; - readonly FLOAT_VEC4: number; - readonly FRAGMENT_SHADER: number; - readonly FRAMEBUFFER: number; - readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: number; - readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: number; - readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: number; - readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: number; - readonly FRAMEBUFFER_BINDING: number; - readonly FRAMEBUFFER_COMPLETE: number; - readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: number; - readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: number; - readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: number; - readonly FRAMEBUFFER_UNSUPPORTED: number; - readonly FRONT: number; - readonly FRONT_AND_BACK: number; - readonly FRONT_FACE: number; - readonly FUNC_ADD: number; - readonly FUNC_REVERSE_SUBTRACT: number; - readonly FUNC_SUBTRACT: number; - readonly GENERATE_MIPMAP_HINT: number; - readonly GEQUAL: number; - readonly GREATER: number; - readonly GREEN_BITS: number; - readonly HIGH_FLOAT: number; - readonly HIGH_INT: number; - readonly IMPLEMENTATION_COLOR_READ_FORMAT: number; - readonly IMPLEMENTATION_COLOR_READ_TYPE: number; - readonly INCR: number; - readonly INCR_WRAP: number; - readonly INT: number; - readonly INT_VEC2: number; - readonly INT_VEC3: number; - readonly INT_VEC4: number; - readonly INVALID_ENUM: number; - readonly INVALID_FRAMEBUFFER_OPERATION: number; - readonly INVALID_OPERATION: number; - readonly INVALID_VALUE: number; - readonly INVERT: number; - readonly KEEP: number; - readonly LEQUAL: number; - readonly LESS: number; - readonly LINE_LOOP: number; - readonly LINE_STRIP: number; - readonly LINE_WIDTH: number; - readonly LINEAR: number; - readonly LINEAR_MIPMAP_LINEAR: number; - readonly LINEAR_MIPMAP_NEAREST: number; - readonly LINES: number; - readonly LINK_STATUS: number; - readonly LOW_FLOAT: number; - readonly LOW_INT: number; - readonly LUMINANCE: number; - readonly LUMINANCE_ALPHA: number; - readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: number; - readonly MAX_CUBE_MAP_TEXTURE_SIZE: number; - readonly MAX_FRAGMENT_UNIFORM_VECTORS: number; - readonly MAX_RENDERBUFFER_SIZE: number; - readonly MAX_TEXTURE_IMAGE_UNITS: number; - readonly MAX_TEXTURE_SIZE: number; - readonly MAX_VARYING_VECTORS: number; - readonly MAX_VERTEX_ATTRIBS: number; - readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: number; - readonly MAX_VERTEX_UNIFORM_VECTORS: number; - readonly MAX_VIEWPORT_DIMS: number; - readonly MEDIUM_FLOAT: number; - readonly MEDIUM_INT: number; - readonly MIRRORED_REPEAT: number; - readonly NEAREST: number; - readonly NEAREST_MIPMAP_LINEAR: number; - readonly NEAREST_MIPMAP_NEAREST: number; - readonly NEVER: number; - readonly NICEST: number; - readonly NO_ERROR: number; - readonly NONE: number; - readonly NOTEQUAL: number; - readonly ONE: number; - readonly ONE_MINUS_CONSTANT_ALPHA: number; - readonly ONE_MINUS_CONSTANT_COLOR: number; - readonly ONE_MINUS_DST_ALPHA: number; - readonly ONE_MINUS_DST_COLOR: number; - readonly ONE_MINUS_SRC_ALPHA: number; - readonly ONE_MINUS_SRC_COLOR: number; - readonly OUT_OF_MEMORY: number; - readonly PACK_ALIGNMENT: number; - readonly POINTS: number; - readonly POLYGON_OFFSET_FACTOR: number; - readonly POLYGON_OFFSET_FILL: number; - readonly POLYGON_OFFSET_UNITS: number; - readonly RED_BITS: number; - readonly RENDERBUFFER: number; - readonly RENDERBUFFER_ALPHA_SIZE: number; - readonly RENDERBUFFER_BINDING: number; - readonly RENDERBUFFER_BLUE_SIZE: number; - readonly RENDERBUFFER_DEPTH_SIZE: number; - readonly RENDERBUFFER_GREEN_SIZE: number; - readonly RENDERBUFFER_HEIGHT: number; - readonly RENDERBUFFER_INTERNAL_FORMAT: number; - readonly RENDERBUFFER_RED_SIZE: number; - readonly RENDERBUFFER_STENCIL_SIZE: number; - readonly RENDERBUFFER_WIDTH: number; - readonly RENDERER: number; - readonly REPEAT: number; - readonly REPLACE: number; - readonly RGB: number; - readonly RGB5_A1: number; - readonly RGB565: number; - readonly RGBA: number; - readonly RGBA4: number; - readonly SAMPLE_ALPHA_TO_COVERAGE: number; - readonly SAMPLE_BUFFERS: number; - readonly SAMPLE_COVERAGE: number; - readonly SAMPLE_COVERAGE_INVERT: number; - readonly SAMPLE_COVERAGE_VALUE: number; - readonly SAMPLER_2D: number; - readonly SAMPLER_CUBE: number; - readonly SAMPLES: number; - readonly SCISSOR_BOX: number; - readonly SCISSOR_TEST: number; - readonly SHADER_TYPE: number; - readonly SHADING_LANGUAGE_VERSION: number; - readonly SHORT: number; - readonly SRC_ALPHA: number; - readonly SRC_ALPHA_SATURATE: number; - readonly SRC_COLOR: number; - readonly STATIC_DRAW: number; - readonly STENCIL_ATTACHMENT: number; - readonly STENCIL_BACK_FAIL: number; - readonly STENCIL_BACK_FUNC: number; - readonly STENCIL_BACK_PASS_DEPTH_FAIL: number; - readonly STENCIL_BACK_PASS_DEPTH_PASS: number; - readonly STENCIL_BACK_REF: number; - readonly STENCIL_BACK_VALUE_MASK: number; - readonly STENCIL_BACK_WRITEMASK: number; - readonly STENCIL_BITS: number; - readonly STENCIL_BUFFER_BIT: number; - readonly STENCIL_CLEAR_VALUE: number; - readonly STENCIL_FAIL: number; - readonly STENCIL_FUNC: number; - readonly STENCIL_INDEX: number; - readonly STENCIL_INDEX8: number; - readonly STENCIL_PASS_DEPTH_FAIL: number; - readonly STENCIL_PASS_DEPTH_PASS: number; - readonly STENCIL_REF: number; - readonly STENCIL_TEST: number; - readonly STENCIL_VALUE_MASK: number; - readonly STENCIL_WRITEMASK: number; - readonly STREAM_DRAW: number; - readonly SUBPIXEL_BITS: number; - readonly TEXTURE: number; - readonly TEXTURE_2D: number; - readonly TEXTURE_BINDING_2D: number; - readonly TEXTURE_BINDING_CUBE_MAP: number; - readonly TEXTURE_CUBE_MAP: number; - readonly TEXTURE_CUBE_MAP_NEGATIVE_X: number; - readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: number; - readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: number; - readonly TEXTURE_CUBE_MAP_POSITIVE_X: number; - readonly TEXTURE_CUBE_MAP_POSITIVE_Y: number; - readonly TEXTURE_CUBE_MAP_POSITIVE_Z: number; - readonly TEXTURE_MAG_FILTER: number; - readonly TEXTURE_MIN_FILTER: number; - readonly TEXTURE_WRAP_S: number; - readonly TEXTURE_WRAP_T: number; - readonly TEXTURE0: number; - readonly TEXTURE1: number; - readonly TEXTURE10: number; - readonly TEXTURE11: number; - readonly TEXTURE12: number; - readonly TEXTURE13: number; - readonly TEXTURE14: number; - readonly TEXTURE15: number; - readonly TEXTURE16: number; - readonly TEXTURE17: number; - readonly TEXTURE18: number; - readonly TEXTURE19: number; - readonly TEXTURE2: number; - readonly TEXTURE20: number; - readonly TEXTURE21: number; - readonly TEXTURE22: number; - readonly TEXTURE23: number; - readonly TEXTURE24: number; - readonly TEXTURE25: number; - readonly TEXTURE26: number; - readonly TEXTURE27: number; - readonly TEXTURE28: number; - readonly TEXTURE29: number; - readonly TEXTURE3: number; - readonly TEXTURE30: number; - readonly TEXTURE31: number; - readonly TEXTURE4: number; - readonly TEXTURE5: number; - readonly TEXTURE6: number; - readonly TEXTURE7: number; - readonly TEXTURE8: number; - readonly TEXTURE9: number; - readonly TRIANGLE_FAN: number; - readonly TRIANGLE_STRIP: number; - readonly TRIANGLES: number; - readonly UNPACK_ALIGNMENT: number; - readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: number; - readonly UNPACK_FLIP_Y_WEBGL: number; - readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: number; - readonly UNSIGNED_BYTE: number; - readonly UNSIGNED_INT: number; - readonly UNSIGNED_SHORT: number; - readonly UNSIGNED_SHORT_4_4_4_4: number; - readonly UNSIGNED_SHORT_5_5_5_1: number; - readonly UNSIGNED_SHORT_5_6_5: number; - readonly VALIDATE_STATUS: number; - readonly VENDOR: number; - readonly VERSION: number; - readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: number; - readonly VERTEX_ATTRIB_ARRAY_ENABLED: number; - readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: number; - readonly VERTEX_ATTRIB_ARRAY_POINTER: number; - readonly VERTEX_ATTRIB_ARRAY_SIZE: number; - readonly VERTEX_ATTRIB_ARRAY_STRIDE: number; - readonly VERTEX_ATTRIB_ARRAY_TYPE: number; - readonly VERTEX_SHADER: number; - readonly VIEWPORT: number; - readonly ZERO: number; -}; - interface WebGLShader extends WebGLObject { } @@ -12824,17 +11195,6 @@ declare var WebGLShader: { new(): WebGLShader; }; -interface WebGLShaderPrecisionFormat { - readonly precision: number; - readonly rangeMax: number; - readonly rangeMin: number; -} - -declare var WebGLShaderPrecisionFormat: { - prototype: WebGLShaderPrecisionFormat; - new(): WebGLShaderPrecisionFormat; -}; - interface WebGLTexture extends WebGLObject { } @@ -12851,522 +11211,132 @@ declare var WebGLUniformLocation: { new(): WebGLUniformLocation; }; -interface WebKitCSSMatrix { - a: number; - b: number; - c: number; - d: number; - e: number; - f: number; - m11: number; - m12: number; - m13: number; - m14: number; - m21: number; - m22: number; - m23: number; - m24: number; - m31: number; - m32: number; - m33: number; - m34: number; - m41: number; - m42: number; - m43: number; - m44: number; - inverse(): WebKitCSSMatrix; - multiply(secondMatrix: WebKitCSSMatrix): WebKitCSSMatrix; - rotate(angleX: number, angleY?: number, angleZ?: number): WebKitCSSMatrix; - rotateAxisAngle(x: number, y: number, z: number, angle: number): WebKitCSSMatrix; - scale(scaleX: number, scaleY?: number, scaleZ?: number): WebKitCSSMatrix; - setMatrixValue(value: string): void; - skewX(angle: number): WebKitCSSMatrix; - skewY(angle: number): WebKitCSSMatrix; - toString(): string; - translate(x: number, y: number, z?: number): WebKitCSSMatrix; -} - -declare var WebKitCSSMatrix: { - prototype: WebKitCSSMatrix; - new(text?: string): WebKitCSSMatrix; -}; - -interface WebKitDirectoryEntry extends WebKitEntry { - createReader(): WebKitDirectoryReader; -} - -declare var WebKitDirectoryEntry: { - prototype: WebKitDirectoryEntry; - new(): WebKitDirectoryEntry; -}; - -interface WebKitDirectoryReader { - readEntries(successCallback: WebKitEntriesCallback, errorCallback?: WebKitErrorCallback): void; -} - -declare var WebKitDirectoryReader: { - prototype: WebKitDirectoryReader; - new(): WebKitDirectoryReader; -}; - -interface WebKitEntry { - readonly filesystem: WebKitFileSystem; - readonly fullPath: string; - readonly isDirectory: boolean; - readonly isFile: boolean; - readonly name: string; -} - -declare var WebKitEntry: { - prototype: WebKitEntry; - new(): WebKitEntry; -}; - -interface WebKitFileEntry extends WebKitEntry { - file(successCallback: WebKitFileCallback, errorCallback?: WebKitErrorCallback): void; -} - -declare var WebKitFileEntry: { - prototype: WebKitFileEntry; - new(): WebKitFileEntry; -}; - -interface WebKitFileSystem { +interface WebGLActiveInfo { + readonly size: GLint; + readonly type: GLenum; readonly name: string; - readonly root: WebKitDirectoryEntry; -} - -declare var WebKitFileSystem: { - prototype: WebKitFileSystem; - new(): WebKitFileSystem; -}; - -interface WebKitPoint { - x: number; - y: number; -} - -declare var WebKitPoint: { - prototype: WebKitPoint; - new(x?: number, y?: number): WebKitPoint; -}; - -interface webkitRTCPeerConnection extends RTCPeerConnection { - addEventListener(type: K, listener: (this: webkitRTCPeerConnection, ev: RTCPeerConnectionEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var webkitRTCPeerConnection: { - prototype: webkitRTCPeerConnection; - new(configuration: RTCConfiguration): webkitRTCPeerConnection; +declare var WebGLActiveInfo: { + prototype: WebGLActiveInfo; + new(): WebGLActiveInfo; }; -interface WebSocketEventMap { - "close": CloseEvent; - "error": Event; - "message": MessageEvent; - "open": Event; -} - -interface WebSocket extends EventTarget { - binaryType: string; - readonly bufferedAmount: number; - readonly extensions: string; - onclose: (this: WebSocket, ev: CloseEvent) => any; - onerror: (this: WebSocket, ev: Event) => any; - onmessage: (this: WebSocket, ev: MessageEvent) => any; - onopen: (this: WebSocket, ev: Event) => any; - readonly protocol: string; - readonly readyState: number; - readonly url: string; - close(code?: number, reason?: string): void; - send(data: any): void; - readonly CLOSED: number; - readonly CLOSING: number; - readonly CONNECTING: number; - readonly OPEN: number; - addEventListener(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface WebGLShaderPrecisionFormat { + readonly rangeMin: GLint; + readonly rangeMax: GLint; + readonly precision: GLint; } -declare var WebSocket: { - prototype: WebSocket; - new(url: string, protocols?: string | string[]): WebSocket; - readonly CLOSED: number; - readonly CLOSING: number; - readonly CONNECTING: number; - readonly OPEN: number; +declare var WebGLShaderPrecisionFormat: { + prototype: WebGLShaderPrecisionFormat; + new(): WebGLShaderPrecisionFormat; }; -interface WheelEvent extends MouseEvent { - readonly deltaMode: number; - readonly deltaX: number; - readonly deltaY: number; - readonly deltaZ: number; - readonly wheelDelta: number; - readonly wheelDeltaX: number; - readonly wheelDeltaY: number; - getCurrentPoint(element: Element): void; - initWheelEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, buttonArg: number, relatedTargetArg: EventTarget, modifiersListArg: string, deltaXArg: number, deltaYArg: number, deltaZArg: number, deltaMode: number): void; - readonly DOM_DELTA_LINE: number; - readonly DOM_DELTA_PAGE: number; - readonly DOM_DELTA_PIXEL: number; +interface WebGLRenderingContext extends Object, WebGLRenderingContextBase { } -declare var WheelEvent: { - prototype: WheelEvent; - new(typeArg: string, eventInitDict?: WheelEventInit): WheelEvent; - readonly DOM_DELTA_LINE: number; - readonly DOM_DELTA_PAGE: number; - readonly DOM_DELTA_PIXEL: number; +declare var WebGLRenderingContext: { + prototype: WebGLRenderingContext; + new(): WebGLRenderingContext; }; - -interface WindowEventMap extends GlobalEventHandlersEventMap { - "abort": UIEvent; - "afterprint": Event; - "beforeprint": Event; - "beforeunload": BeforeUnloadEvent; - "blur": FocusEvent; - "canplay": Event; - "canplaythrough": Event; - "change": Event; - "click": MouseEvent; - "compassneedscalibration": Event; - "contextmenu": PointerEvent; - "dblclick": MouseEvent; - "devicelight": DeviceLightEvent; - "devicemotion": DeviceMotionEvent; - "deviceorientation": DeviceOrientationEvent; - "drag": DragEvent; - "dragend": DragEvent; - "dragenter": DragEvent; - "dragleave": DragEvent; - "dragover": DragEvent; - "dragstart": DragEvent; - "drop": DragEvent; - "durationchange": Event; - "emptied": Event; - "ended": MediaStreamErrorEvent; - "error": ErrorEvent; - "focus": FocusEvent; - "hashchange": HashChangeEvent; - "input": Event; - "invalid": Event; - "keydown": KeyboardEvent; - "keypress": KeyboardEvent; - "keyup": KeyboardEvent; - "load": Event; - "loadeddata": Event; - "loadedmetadata": Event; - "loadstart": Event; - "message": MessageEvent; - "mousedown": MouseEvent; - "mouseenter": MouseEvent; - "mouseleave": MouseEvent; - "mousemove": MouseEvent; - "mouseout": MouseEvent; - "mouseover": MouseEvent; - "mouseup": MouseEvent; - "mousewheel": WheelEvent; - "MSGestureChange": MSGestureEvent; - "MSGestureDoubleTap": MSGestureEvent; - "MSGestureEnd": MSGestureEvent; - "MSGestureHold": MSGestureEvent; - "MSGestureStart": MSGestureEvent; - "MSGestureTap": MSGestureEvent; - "MSInertiaStart": MSGestureEvent; - "MSPointerCancel": MSPointerEvent; - "MSPointerDown": MSPointerEvent; - "MSPointerEnter": MSPointerEvent; - "MSPointerLeave": MSPointerEvent; - "MSPointerMove": MSPointerEvent; - "MSPointerOut": MSPointerEvent; - "MSPointerOver": MSPointerEvent; - "MSPointerUp": MSPointerEvent; - "offline": Event; - "online": Event; - "orientationchange": Event; - "pagehide": PageTransitionEvent; - "pageshow": PageTransitionEvent; - "pause": Event; - "play": Event; - "playing": Event; - "popstate": PopStateEvent; - "progress": ProgressEvent; - "ratechange": Event; - "readystatechange": ProgressEvent; - "reset": Event; - "resize": UIEvent; - "scroll": UIEvent; - "seeked": Event; - "seeking": Event; - "select": UIEvent; - "stalled": Event; - "storage": StorageEvent; - "submit": Event; - "suspend": Event; - "timeupdate": Event; - "touchcancel": TouchEvent; - "touchend": TouchEvent; - "touchmove": TouchEvent; - "touchstart": TouchEvent; - "unload": Event; - "volumechange": Event; - "waiting": Event; -} - -interface Window extends EventTarget, WindowTimers, WindowSessionStorage, WindowLocalStorage, WindowConsole, GlobalEventHandlers, IDBEnvironment, WindowBase64, GlobalFetch { - readonly applicationCache: ApplicationCache; - readonly caches: CacheStorage; - readonly clientInformation: Navigator; - readonly closed: boolean; - readonly crypto: Crypto; - defaultStatus: string; - readonly devicePixelRatio: number; - readonly document: Document; - readonly doNotTrack: string; - event: Event | undefined; - readonly external: External; - readonly frameElement: Element; - readonly frames: Window; - readonly history: History; - readonly innerHeight: number; - readonly innerWidth: number; - readonly isSecureContext: boolean; - readonly length: number; - readonly location: Location; - readonly locationbar: BarProp; - readonly menubar: BarProp; - readonly msContentScript: ExtensionScriptApis; - readonly msCredentials: MSCredentials; - name: string; - readonly navigator: Navigator; - offscreenBuffering: string | boolean; - onabort: (this: Window, ev: UIEvent) => any; - onafterprint: (this: Window, ev: Event) => any; - onbeforeprint: (this: Window, ev: Event) => any; - onbeforeunload: (this: Window, ev: BeforeUnloadEvent) => any; - onblur: (this: Window, ev: FocusEvent) => any; - oncanplay: (this: Window, ev: Event) => any; - oncanplaythrough: (this: Window, ev: Event) => any; - onchange: (this: Window, ev: Event) => any; - onclick: (this: Window, ev: MouseEvent) => any; - oncompassneedscalibration: (this: Window, ev: Event) => any; - oncontextmenu: (this: Window, ev: PointerEvent) => any; - ondblclick: (this: Window, ev: MouseEvent) => any; - ondevicelight: (this: Window, ev: DeviceLightEvent) => any; - ondevicemotion: (this: Window, ev: DeviceMotionEvent) => any; - ondeviceorientation: (this: Window, ev: DeviceOrientationEvent) => any; - ondrag: (this: Window, ev: DragEvent) => any; - ondragend: (this: Window, ev: DragEvent) => any; - ondragenter: (this: Window, ev: DragEvent) => any; - ondragleave: (this: Window, ev: DragEvent) => any; - ondragover: (this: Window, ev: DragEvent) => any; - ondragstart: (this: Window, ev: DragEvent) => any; - ondrop: (this: Window, ev: DragEvent) => any; - ondurationchange: (this: Window, ev: Event) => any; - onemptied: (this: Window, ev: Event) => any; - onended: (this: Window, ev: MediaStreamErrorEvent) => any; - onerror: ErrorEventHandler; - onfocus: (this: Window, ev: FocusEvent) => any; - onhashchange: (this: Window, ev: HashChangeEvent) => any; - oninput: (this: Window, ev: Event) => any; - oninvalid: (this: Window, ev: Event) => any; - onkeydown: (this: Window, ev: KeyboardEvent) => any; - onkeypress: (this: Window, ev: KeyboardEvent) => any; - onkeyup: (this: Window, ev: KeyboardEvent) => any; - onload: (this: Window, ev: Event) => any; - onloadeddata: (this: Window, ev: Event) => any; - onloadedmetadata: (this: Window, ev: Event) => any; - onloadstart: (this: Window, ev: Event) => any; - onmessage: (this: Window, ev: MessageEvent) => any; - onmousedown: (this: Window, ev: MouseEvent) => any; - onmouseenter: (this: Window, ev: MouseEvent) => any; - onmouseleave: (this: Window, ev: MouseEvent) => any; - onmousemove: (this: Window, ev: MouseEvent) => any; - onmouseout: (this: Window, ev: MouseEvent) => any; - onmouseover: (this: Window, ev: MouseEvent) => any; - onmouseup: (this: Window, ev: MouseEvent) => any; - onmousewheel: (this: Window, ev: WheelEvent) => any; - onmsgesturechange: (this: Window, ev: MSGestureEvent) => any; - onmsgesturedoubletap: (this: Window, ev: MSGestureEvent) => any; - onmsgestureend: (this: Window, ev: MSGestureEvent) => any; - onmsgesturehold: (this: Window, ev: MSGestureEvent) => any; - onmsgesturestart: (this: Window, ev: MSGestureEvent) => any; - onmsgesturetap: (this: Window, ev: MSGestureEvent) => any; - onmsinertiastart: (this: Window, ev: MSGestureEvent) => any; - onmspointercancel: (this: Window, ev: MSPointerEvent) => any; - onmspointerdown: (this: Window, ev: MSPointerEvent) => any; - onmspointerenter: (this: Window, ev: MSPointerEvent) => any; - onmspointerleave: (this: Window, ev: MSPointerEvent) => any; - onmspointermove: (this: Window, ev: MSPointerEvent) => any; - onmspointerout: (this: Window, ev: MSPointerEvent) => any; - onmspointerover: (this: Window, ev: MSPointerEvent) => any; - onmspointerup: (this: Window, ev: MSPointerEvent) => any; - onoffline: (this: Window, ev: Event) => any; - ononline: (this: Window, ev: Event) => any; - onorientationchange: (this: Window, ev: Event) => any; - onpagehide: (this: Window, ev: PageTransitionEvent) => any; - onpageshow: (this: Window, ev: PageTransitionEvent) => any; - onpause: (this: Window, ev: Event) => any; - onplay: (this: Window, ev: Event) => any; - onplaying: (this: Window, ev: Event) => any; - onpopstate: (this: Window, ev: PopStateEvent) => any; - onprogress: (this: Window, ev: ProgressEvent) => any; - onratechange: (this: Window, ev: Event) => any; - onreadystatechange: (this: Window, ev: ProgressEvent) => any; - onreset: (this: Window, ev: Event) => any; - onresize: (this: Window, ev: UIEvent) => any; - onscroll: (this: Window, ev: UIEvent) => any; - onseeked: (this: Window, ev: Event) => any; - onseeking: (this: Window, ev: Event) => any; - onselect: (this: Window, ev: UIEvent) => any; - onstalled: (this: Window, ev: Event) => any; - onstorage: (this: Window, ev: StorageEvent) => any; - onsubmit: (this: Window, ev: Event) => any; - onsuspend: (this: Window, ev: Event) => any; - ontimeupdate: (this: Window, ev: Event) => any; - ontouchcancel: (ev: TouchEvent) => any; - ontouchend: (ev: TouchEvent) => any; - ontouchmove: (ev: TouchEvent) => any; - ontouchstart: (ev: TouchEvent) => any; - onunload: (this: Window, ev: Event) => any; - onvolumechange: (this: Window, ev: Event) => any; - onwaiting: (this: Window, ev: Event) => any; - opener: any; - orientation: string | number; - readonly outerHeight: number; - readonly outerWidth: number; - readonly pageXOffset: number; - readonly pageYOffset: number; - readonly parent: Window; - readonly performance: Performance; - readonly personalbar: BarProp; - readonly screen: Screen; - readonly screenLeft: number; - readonly screenTop: number; - readonly screenX: number; - readonly screenY: number; - readonly scrollbars: BarProp; - readonly scrollX: number; - readonly scrollY: number; - readonly self: Window; - readonly speechSynthesis: SpeechSynthesis; - status: string; - readonly statusbar: BarProp; - readonly styleMedia: StyleMedia; - readonly toolbar: BarProp; - readonly top: Window; - readonly window: Window; - URL: typeof URL; - URLSearchParams: typeof URLSearchParams; - Blob: typeof Blob; - customElements: CustomElementRegistry; - alert(message?: any): void; - blur(): void; - cancelAnimationFrame(handle: number): void; - captureEvents(): void; - close(): void; - confirm(message?: string): boolean; - departFocus(navigationReason: NavigationReason, origin: FocusNavigationOrigin): void; - focus(): void; - getComputedStyle(elt: Element, pseudoElt?: string): CSSStyleDeclaration; - getMatchedCSSRules(elt: Element, pseudoElt?: string): CSSRuleList; - getSelection(): Selection; - matchMedia(mediaQuery: string): MediaQueryList; - moveBy(x?: number, y?: number): void; - moveTo(x?: number, y?: number): void; - msWriteProfilerMark(profilerMarkName: string): void; - open(url?: string, target?: string, features?: string, replace?: boolean): Window; - postMessage(message: any, targetOrigin: string, transfer?: any[]): void; - print(): void; - prompt(message?: string, _default?: string): string | null; - releaseEvents(): void; - requestAnimationFrame(callback: FrameRequestCallback): number; - resizeBy(x?: number, y?: number): void; - resizeTo(x?: number, y?: number): void; - scroll(x?: number, y?: number): void; - scrollBy(x?: number, y?: number): void; - scrollTo(x?: number, y?: number): void; - stop(): void; - webkitCancelAnimationFrame(handle: number): void; - webkitConvertPointFromNodeToPage(node: Node, pt: WebKitPoint): WebKitPoint; - webkitConvertPointFromPageToNode(node: Node, pt: WebKitPoint): WebKitPoint; - webkitRequestAnimationFrame(callback: FrameRequestCallback): number; - createImageBitmap(image: HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | ImageData | Blob, options?: ImageBitmapOptions): Promise; - createImageBitmap(image: HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | ImageData | Blob, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise; - scroll(options?: ScrollToOptions): void; - scrollTo(options?: ScrollToOptions): void; - scrollBy(options?: ScrollToOptions): void; - addEventListener(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + +interface WebGLContextEvent extends Event { + readonly statusMessage: string; } -declare var Window: { - prototype: Window; - new(): Window; +declare var WebGLContextEvent: { + prototype: WebGLContextEvent; + new(type: string, eventInit?: WebGLContextEventInit): WebGLContextEvent; }; -interface WorkerEventMap extends AbstractWorkerEventMap { - "message": MessageEvent; +interface WorkletGlobalScope { } -interface Worker extends EventTarget, AbstractWorker { - onmessage: (this: Worker, ev: MessageEvent) => any; - postMessage(message: any, transfer?: any[]): void; - terminate(): void; - addEventListener(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, useCapture?: boolean): void; +declare var WorkletGlobalScope: { + prototype: WorkletGlobalScope; + new(): WorkletGlobalScope; +}; + +interface Worklet { + import(moduleURL: string): Promise; +} + +declare var Worklet: { + prototype: Worklet; + new(): Worklet; +}; + +interface XMLHttpRequestEventTargetEventMap { + "loadstart": Event; + "progress": ProgressEvent; + "abort": Event; + "error": ErrorEvent; + "load": Event; + "timeout": Event; + "loadend": undefined; +} + +interface XMLHttpRequestEventTarget extends EventTarget { + onloadstart: (this: XMLHttpRequest, ev: Event) => any; + onprogress: (this: XMLHttpRequest, ev: ProgressEvent) => any; + onabort: (this: XMLHttpRequest, ev: Event) => any; + onerror: (this: XMLHttpRequest, ev: ErrorEvent) => any; + onload: (this: XMLHttpRequest, ev: Event) => any; + ontimeout: (this: XMLHttpRequest, ev: ProgressEvent) => any; + onloadend: (this: XMLHttpRequest, ev: ProgressEvent) => any; + addEventListener(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var Worker: { - prototype: Worker; - new(stringUrl: string): Worker; +declare var XMLHttpRequestEventTarget: { + prototype: XMLHttpRequestEventTarget; + new(): XMLHttpRequestEventTarget; }; -interface XMLDocument extends Document { - addEventListener(type: K, listener: (this: XMLDocument, ev: DocumentEventMap[K]) => any, useCapture?: boolean): void; +interface XMLHttpRequestUpload extends XMLHttpRequestEventTarget { + addEventListener(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var XMLDocument: { - prototype: XMLDocument; - new(): XMLDocument; +declare var XMLHttpRequestUpload: { + prototype: XMLHttpRequestUpload; + new(): XMLHttpRequestUpload; }; interface XMLHttpRequestEventMap extends XMLHttpRequestEventTargetEventMap { "readystatechange": Event; } -interface XMLHttpRequest extends EventTarget, XMLHttpRequestEventTarget { +interface XMLHttpRequest extends XMLHttpRequestEventTarget { onreadystatechange: (this: XMLHttpRequest, ev: Event) => any; readonly readyState: number; + timeout: number; + withCredentials: boolean; + readonly upload: XMLHttpRequestUpload; + readonly responseURL: string; + readonly status: number; + readonly statusText: any; + responseType: XMLHttpRequestResponseType; readonly response: any; readonly responseText: string; - responseType: XMLHttpRequestResponseType; - readonly responseURL: string; readonly responseXML: Document | null; - readonly status: number; - readonly statusText: string; - timeout: number; - readonly upload: XMLHttpRequestUpload; - withCredentials: boolean; msCaching?: string; - abort(): void; - getAllResponseHeaders(): string; - getResponseHeader(header: string): string | null; - msCachingEnabled(): boolean; - open(method: string, url: string, async?: boolean, user?: string, password?: string): void; - overrideMimeType(mime: string): void; + open(method: any, url: string): void; + open(method: any, url: string, async: boolean, username?: string, password?: string): void; + setRequestHeader(name: any, value: any): void; send(data?: Document): void; send(data?: string): void; send(data?: any): void; - setRequestHeader(header: string, value: string): void; - readonly DONE: number; + abort(): void; + getResponseHeader(name: any): any; + getAllResponseHeaders(): any; + overrideMimeType(mime: string): void; + readonly UNSENT: number; + readonly OPENED: number; readonly HEADERS_RECEIVED: number; readonly LOADING: number; - readonly OPENED: number; - readonly UNSENT: number; + readonly DONE: number; addEventListener(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } @@ -13374,468 +11344,1198 @@ interface XMLHttpRequest extends EventTarget, XMLHttpRequestEventTarget { declare var XMLHttpRequest: { prototype: XMLHttpRequest; new(): XMLHttpRequest; - readonly DONE: number; + readonly UNSENT: number; + readonly OPENED: number; readonly HEADERS_RECEIVED: number; readonly LOADING: number; - readonly OPENED: number; - readonly UNSENT: number; + readonly DONE: number; }; -interface XMLHttpRequestUpload extends EventTarget, XMLHttpRequestEventTarget { - addEventListener(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface FormData { + append(name: string, value: string | Blob, fileName?: string): void; + append(name: string, value: string | Blob, fileName?: string): void; + delete(name: string): void; + get(name: string): FormDataEntryValue | null; + getAll(name: string): FormDataEntryValue[]; + has(name: string): boolean; + set(name: string, value: string): void; + set(name: string, blobValue: Blob, filename?: string): void; + delete(name: string): void; + get(name: string): FormDataEntryValue | null; + getAll(name: string): FormDataEntryValue[]; + has(name: string): boolean; + set(name: string, value: string | Blob, fileName?: string): void; +} + +declare var FormData: { + prototype: FormData; + new (form?: HTMLFormElement): FormData; +}; + +interface ProgressEvent extends Event { + readonly lengthComputable: boolean; + readonly loaded: number; + readonly total: number; +} + +declare var ProgressEvent: { + prototype: ProgressEvent; + new(type: string, eventInitDict?: ProgressEventInit): ProgressEvent; +}; + +interface LinkStyle { + readonly sheet: StyleSheet | null; +} + +interface ElementCSSInlineStyle { + readonly style: CSSStyleDeclaration; +} + +interface GeometryUtils { + getBoxQuads(options?: BoxQuadOptions): DOMQuad[]; + convertQuadFromNode(quad: DOMQuadInit, from: GeometryNode, options?: ConvertCoordinateOptions): DOMQuad; + convertRectFromNode(rect: DOMRectReadOnly, from: GeometryNode, options?: ConvertCoordinateOptions): DOMQuad; + convertPointFromNode(point: DOMPointInit, from: GeometryNode, options?: ConvertCoordinateOptions): DOMPoint; +} + +interface DeviceAcceleration { + readonly x: number | null; + readonly y: number | null; + readonly z: number | null; +} + +interface DeviceRotationRate { + readonly alpha: number | null; + readonly beta: number | null; + readonly gamma: number | null; +} + +interface NonElementParentNode { + getElementById(elementId: string): Element | null; +} + +interface DocumentOrShadowRoot { +} + +interface ParentNode { + readonly children: HTMLCollection; + readonly firstElementChild: Element | null; + readonly lastElementChild: Element | null; + readonly childElementCount: number; + prepend(...nodes: (Node | string)[]): void; + append(...nodes: (Node | string)[]): void; + querySelectorAll(selectors: K): ElementListTagNameMap[K]; + querySelectorAll(selectors: string): NodeListOf; +} + +interface NonDocumentTypeChildNode { + readonly previousElementSibling: Element | null; + readonly nextElementSibling: Element | null; +} + +interface ChildNode { + before(...nodes: (Node | string)[]): void; + after(...nodes: (Node | string)[]): void; + replaceWith(...nodes: (Node | string)[]): void; + remove(): void; +} + +interface Slotable { + readonly assignedSlot: HTMLSlotElement | null; +} + +interface Body { + readonly body: any; + readonly bodyUsed: boolean; + arrayBuffer(): Promise; + blob(): Promise; + formData(): Promise; + json(): Promise; + text(): Promise; + formData(): Promise; +} + +interface SVGFilterPrimitiveStandardAttributes { + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + readonly width: SVGAnimatedLength; + readonly height: SVGAnimatedLength; + readonly result: SVGAnimatedString; +} + +interface Geolocation { + getCurrentPosition(successCallback: PositionCallback, errorCallback?: PositionErrorCallback, options?: PositionOptions): void; + watchPosition(successCallback: PositionCallback, errorCallback?: PositionErrorCallback, options?: PositionOptions): number; + clearWatch(watchId: number): void; +} + +interface Position { + readonly coords: Coordinates; + readonly timestamp: number; +} + +interface Coordinates { + readonly latitude: number; + readonly longitude: number; + readonly altitude: number | null; + readonly accuracy: number; + readonly altitudeAccuracy: number | null; + readonly heading: number | null; + readonly speed: number | null; +} + +interface PositionError { + readonly code: number; + readonly message: string; + readonly PERMISSION_DENIED: number; + readonly POSITION_UNAVAILABLE: number; + readonly TIMEOUT: number; +} + +interface GlobalPerformance { + readonly performance: Performance; +} + +interface HTMLHyperlinkElementUtils { + href: string; + readonly origin: string; + protocol: string; + username: string; + password: string; + host: string; + hostname: string; + port: string; + pathname: string; + search: string; + hash: string; +} + +interface CanvasState { + save(): void; + restore(): void; +} + +interface CanvasTransform { + scale(x: number, y: number): void; + rotate(angle: number): void; + translate(x: number, y: number): void; + transform(a: number, b: number, c: number, d: number, e: number, f: number): void; + getTransform(): DOMMatrix; + setTransform(a: number, b: number, c: number, d: number, e: number, f: number): void; + setTransform(transform?: DOMMatrixInit): void; + resetTransform(): void; +} + +interface CanvasCompositing { + globalAlpha: number; + globalCompositeOperation: string; +} + +interface CanvasImageSmoothing { + imageSmoothingEnabled: boolean; + imageSmoothingQuality: ImageSmoothingQuality; +} + +interface CanvasFillStrokeStyles { + strokeStyle: string | CanvasGradient | CanvasPattern; + fillStyle: string | CanvasGradient | CanvasPattern; + createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient; + createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient; + createPattern(image: CanvasImageSource, repetition: string): CanvasPattern | null; +} + +interface CanvasShadowStyles { + shadowOffsetX: number; + shadowOffsetY: number; + shadowBlur: number; + shadowColor: string; +} + +interface CanvasFilters { + filter: string; +} + +interface CanvasRect { + clearRect(x: number, y: number, w: number, h: number): void; + fillRect(x: number, y: number, w: number, h: number): void; + strokeRect(x: number, y: number, w: number, h: number): void; +} + +interface CanvasDrawPath { + beginPath(): void; + fill(fillRule?: CanvasFillRule): void; + fill(path: Path2D, fillRule?: CanvasFillRule): void; + stroke(): void; + stroke(path: Path2D): void; + clip(fillRule?: CanvasFillRule): void; + clip(path: Path2D, fillRule?: CanvasFillRule): void; + resetClip(): void; + isPointInPath(x: number, y: number, fillRule?: CanvasFillRule): boolean; + isPointInPath(path: Path2D, x: number, y: number, fillRule?: CanvasFillRule): boolean; + isPointInStroke(x: number, y: number): boolean; + isPointInStroke(path: Path2D, x: number, y: number): boolean; } -declare var XMLHttpRequestUpload: { - prototype: XMLHttpRequestUpload; - new(): XMLHttpRequestUpload; -}; +interface CanvasUserInterface { + drawFocusIfNeeded(element: Element): void; + drawFocusIfNeeded(path: Path2D, element: Element): void; + scrollPathIntoView(): void; + scrollPathIntoView(path: Path2D): void; +} -interface XMLSerializer { - serializeToString(target: Node): string; +interface CanvasText { + fillText(text: string, x: number, y: number, maxWidth?: number): void; + strokeText(text: string, x: number, y: number, maxWidth?: number): void; + measureText(text: string): TextMetrics; } -declare var XMLSerializer: { - prototype: XMLSerializer; - new(): XMLSerializer; -}; +interface CanvasDrawImage { + drawImage(image: CanvasImageSource, dx: number, dy: number): void; + drawImage(image: CanvasImageSource, dx: number, dy: number, dw: number, dh: number): void; + drawImage(image: CanvasImageSource, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void; +} -interface XPathEvaluator { - createExpression(expression: string, resolver: XPathNSResolver): XPathExpression; - createNSResolver(nodeResolver?: Node): XPathNSResolver; - evaluate(expression: string, contextNode: Node, resolver: XPathNSResolver | null, type: number, result: XPathResult | null): XPathResult; +interface CanvasImageData { + createImageData(sw: number, sh: number): ImageData; + createImageData(imagedata: ImageData): ImageData; + getImageData(sx: number, sy: number, sw: number, sh: number): ImageData; + putImageData(imagedata: ImageData, dx: number, dy: number): void; + putImageData(imagedata: ImageData, dx: number, dy: number, dirtyX: number, dirtyY: number, dirtyWidth: number, dirtyHeight: number): void; } -declare var XPathEvaluator: { - prototype: XPathEvaluator; - new(): XPathEvaluator; -}; +interface CanvasPathDrawingStyles { + lineWidth: number; + lineCap: CanvasLineCap; + lineJoin: CanvasLineJoin; + miterLimit: number; + lineDashOffset: number; + setLineDash(segments: number[]): void; + getLineDash(): number[]; +} -interface XPathExpression { - evaluate(contextNode: Node, type: number, result: XPathResult | null): XPathResult; +interface CanvasTextDrawingStyles { + font: string; + textAlign: CanvasTextAlign; + textBaseline: CanvasTextBaseline; + direction: CanvasDirection; } -declare var XPathExpression: { - prototype: XPathExpression; - new(): XPathExpression; -}; +interface CanvasPath { + closePath(): void; + moveTo(x: number, y: number): void; + lineTo(x: number, y: number): void; + quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void; + bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void; + arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void; + arcTo(x1: number, y1: number, x2: number, y2: number, radiusX: number, radiusY: number, rotation: number): void; + rect(x: number, y: number, w: number, h: number): void; + arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void; + ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void; +} -interface XPathNSResolver { - lookupNamespaceURI(prefix: string): string; +interface ElementContentEditable { + contentEditable: string; + readonly isContentEditable: boolean; } -declare var XPathNSResolver: { - prototype: XPathNSResolver; - new(): XPathNSResolver; -}; +interface NavigatorOnLine { + readonly onLine: boolean; +} -interface XPathResult { - readonly booleanValue: boolean; - readonly invalidIteratorState: boolean; - readonly numberValue: number; - readonly resultType: number; - readonly singleNodeValue: Node; - readonly snapshotLength: number; - readonly stringValue: string; - iterateNext(): Node; - snapshotItem(index: number): Node; - readonly ANY_TYPE: number; - readonly ANY_UNORDERED_NODE_TYPE: number; - readonly BOOLEAN_TYPE: number; - readonly FIRST_ORDERED_NODE_TYPE: number; - readonly NUMBER_TYPE: number; - readonly ORDERED_NODE_ITERATOR_TYPE: number; - readonly ORDERED_NODE_SNAPSHOT_TYPE: number; - readonly STRING_TYPE: number; - readonly UNORDERED_NODE_ITERATOR_TYPE: number; - readonly UNORDERED_NODE_SNAPSHOT_TYPE: number; +interface GlobalEventHandlersEventMap { + "abort": undefined; + "auxclick": MouseEvent; + "blur": undefined; + "cancel": undefined; + "canplay": undefined; + "canplaythrough": undefined; + "change": undefined; + "click": MouseEvent; + "close": undefined; + "contextmenu": MouseEvent; + "cuechange": undefined; + "dblclick": MouseEvent; + "drag": DragEvent; + "dragend": DragEvent; + "dragenter": DragEvent; + "dragexit": DragEvent; + "dragleave": DragEvent; + "dragover": DragEvent; + "dragstart": DragEvent; + "drop": DragEvent; + "durationchange": undefined; + "emptied": undefined; + "ended": undefined; + "focus": undefined; + "input": undefined; + "invalid": undefined; + "keydown": KeyboardEvent; + "keypress": KeyboardEvent; + "keyup": KeyboardEvent; + "load": undefined; + "loadeddata": undefined; + "loadedmetadata": undefined; + "loadend": undefined; + "loadstart": undefined; + "mousedown": MouseEvent; + "mouseenter": MouseEvent; + "mouseleave": MouseEvent; + "mousemove": MouseEvent; + "mouseout": MouseEvent; + "mouseover": MouseEvent; + "mouseup": MouseEvent; + "wheel": WheelEvent; + "pause": undefined; + "play": undefined; + "playing": undefined; + "progress": undefined; + "ratechange": undefined; + "reset": undefined; + "resize": undefined; + "scroll": undefined; + "seeked": undefined; + "seeking": undefined; + "select": undefined; + "show": RelatedEvent; + "stalled": undefined; + "submit": undefined; + "suspend": undefined; + "timeupdate": undefined; + "toggle": undefined; + "volumechange": undefined; + "waiting": undefined; + "animationstart": AnimationEvent; + "animationiteration": AnimationEvent; + "animationend": AnimationEvent; + "animationcancel": AnimationEvent; + "transitionrun": TransitionEvent; + "transitionstart": TransitionEvent; + "transitionend": TransitionEvent; + "transitioncancel": TransitionEvent; + "pointerdown": Event; + "pointermove": Event; + "pointerup": Event; + "pointercancel": Event; + "pointerover": Event; + "pointerout": Event; + "pointerenter": Event; + "pointerleave": Event; + "selectstart": undefined; + "selectionchange": undefined; } -declare var XPathResult: { - prototype: XPathResult; - new(): XPathResult; - readonly ANY_TYPE: number; - readonly ANY_UNORDERED_NODE_TYPE: number; - readonly BOOLEAN_TYPE: number; - readonly FIRST_ORDERED_NODE_TYPE: number; - readonly NUMBER_TYPE: number; - readonly ORDERED_NODE_ITERATOR_TYPE: number; - readonly ORDERED_NODE_SNAPSHOT_TYPE: number; - readonly STRING_TYPE: number; - readonly UNORDERED_NODE_ITERATOR_TYPE: number; - readonly UNORDERED_NODE_SNAPSHOT_TYPE: number; -}; +interface GlobalEventHandlers { + onabort: (this: GlobalEventHandlers, ev: undefined) => any; + onauxclick: (this: GlobalEventHandlers, ev: MouseEvent) => any; + onblur: (this: GlobalEventHandlers, ev: undefined) => any; + oncancel: (this: GlobalEventHandlers, ev: undefined) => any; + oncanplay: (this: GlobalEventHandlers, ev: undefined) => any; + oncanplaythrough: (this: GlobalEventHandlers, ev: undefined) => any; + onchange: (this: GlobalEventHandlers, ev: undefined) => any; + onclick: (this: GlobalEventHandlers, ev: MouseEvent) => any; + onclose: (this: GlobalEventHandlers, ev: undefined) => any; + oncontextmenu: (this: GlobalEventHandlers, ev: MouseEvent) => any; + oncuechange: (this: GlobalEventHandlers, ev: undefined) => any; + ondblclick: (this: GlobalEventHandlers, ev: MouseEvent) => any; + ondrag: (this: GlobalEventHandlers, ev: DragEvent) => any; + ondragend: (this: GlobalEventHandlers, ev: DragEvent) => any; + ondragenter: (this: GlobalEventHandlers, ev: DragEvent) => any; + ondragexit: (this: GlobalEventHandlers, ev: DragEvent) => any; + ondragleave: (this: GlobalEventHandlers, ev: DragEvent) => any; + ondragover: (this: GlobalEventHandlers, ev: DragEvent) => any; + ondragstart: (this: GlobalEventHandlers, ev: DragEvent) => any; + ondrop: (this: GlobalEventHandlers, ev: DragEvent) => any; + ondurationchange: (this: GlobalEventHandlers, ev: undefined) => any; + onemptied: (this: GlobalEventHandlers, ev: undefined) => any; + onended: (this: GlobalEventHandlers, ev: undefined) => any; + onerror: OnErrorEventHandler; + onfocus: (this: GlobalEventHandlers, ev: undefined) => any; + oninput: (this: GlobalEventHandlers, ev: undefined) => any; + oninvalid: (this: GlobalEventHandlers, ev: undefined) => any; + onkeydown: (this: GlobalEventHandlers, ev: KeyboardEvent) => any; + onkeypress: (this: GlobalEventHandlers, ev: KeyboardEvent) => any; + onkeyup: (this: GlobalEventHandlers, ev: KeyboardEvent) => any; + onload: (this: GlobalEventHandlers, ev: undefined) => any; + onloadeddata: (this: GlobalEventHandlers, ev: undefined) => any; + onloadedmetadata: (this: GlobalEventHandlers, ev: undefined) => any; + onloadend: (this: GlobalEventHandlers, ev: undefined) => any; + onloadstart: (this: GlobalEventHandlers, ev: undefined) => any; + onmousedown: (this: GlobalEventHandlers, ev: MouseEvent) => any; + onmouseenter: (this: GlobalEventHandlers, ev: MouseEvent) => any; + onmouseleave: (this: GlobalEventHandlers, ev: MouseEvent) => any; + onmousemove: (this: GlobalEventHandlers, ev: MouseEvent) => any; + onmouseout: (this: GlobalEventHandlers, ev: MouseEvent) => any; + onmouseover: (this: GlobalEventHandlers, ev: MouseEvent) => any; + onmouseup: (this: GlobalEventHandlers, ev: MouseEvent) => any; + onwheel: (this: GlobalEventHandlers, ev: WheelEvent) => any; + onpause: (this: GlobalEventHandlers, ev: undefined) => any; + onplay: (this: GlobalEventHandlers, ev: undefined) => any; + onplaying: (this: GlobalEventHandlers, ev: undefined) => any; + onprogress: (this: GlobalEventHandlers, ev: undefined) => any; + onratechange: (this: GlobalEventHandlers, ev: undefined) => any; + onreset: (this: GlobalEventHandlers, ev: undefined) => any; + onresize: (this: GlobalEventHandlers, ev: undefined) => any; + onscroll: (this: GlobalEventHandlers, ev: undefined) => any; + onseeked: (this: GlobalEventHandlers, ev: undefined) => any; + onseeking: (this: GlobalEventHandlers, ev: undefined) => any; + onselect: (this: GlobalEventHandlers, ev: undefined) => any; + onshow: (this: GlobalEventHandlers, ev: RelatedEvent) => any; + onstalled: (this: GlobalEventHandlers, ev: undefined) => any; + onsubmit: (this: GlobalEventHandlers, ev: undefined) => any; + onsuspend: (this: GlobalEventHandlers, ev: undefined) => any; + ontimeupdate: (this: GlobalEventHandlers, ev: undefined) => any; + ontoggle: (this: GlobalEventHandlers, ev: undefined) => any; + onvolumechange: (this: GlobalEventHandlers, ev: undefined) => any; + onwaiting: (this: GlobalEventHandlers, ev: undefined) => any; + onanimationstart: (this: GlobalEventHandlers, ev: AnimationEvent) => any; + onanimationiteration: (this: GlobalEventHandlers, ev: AnimationEvent) => any; + onanimationend: (this: GlobalEventHandlers, ev: AnimationEvent) => any; + onanimationcancel: (this: GlobalEventHandlers, ev: AnimationEvent) => any; + ontransitionrun: (this: GlobalEventHandlers, ev: TransitionEvent) => any; + ontransitionstart: (this: GlobalEventHandlers, ev: TransitionEvent) => any; + ontransitionend: (this: GlobalEventHandlers, ev: TransitionEvent) => any; + ontransitioncancel: (this: GlobalEventHandlers, ev: TransitionEvent) => any; + onpointerdown: (this: GlobalEventHandlers, ev: Event) => any; + onpointermove: (this: GlobalEventHandlers, ev: Event) => any; + onpointerup: (this: GlobalEventHandlers, ev: Event) => any; + onpointercancel: (this: GlobalEventHandlers, ev: Event) => any; + onpointerover: (this: GlobalEventHandlers, ev: Event) => any; + onpointerout: (this: GlobalEventHandlers, ev: Event) => any; + onpointerenter: (this: GlobalEventHandlers, ev: Event) => any; + onpointerleave: (this: GlobalEventHandlers, ev: Event) => any; + onselectstart: (this: GlobalEventHandlers, ev: undefined) => any; + onselectionchange: (this: GlobalEventHandlers, ev: undefined) => any; + addEventListener(type: K, listener: (this: GlobalEventHandlers, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} -interface XSLTProcessor { - clearParameters(): void; - getParameter(namespaceURI: string, localName: string): any; - importStylesheet(style: Node): void; - removeParameter(namespaceURI: string, localName: string): void; - reset(): void; - setParameter(namespaceURI: string, localName: string, value: any): void; - transformToDocument(source: Node): Document; - transformToFragment(source: Node, document: Document): DocumentFragment; +interface WindowEventHandlersEventMap { + "afterprint": undefined; + "beforeprint": undefined; + "hashchange": HashChangeEvent; + "languagechange": undefined; + "message": MessageEvent; + "offline": undefined; + "online": undefined; + "pagehide": PageTransitionEvent; + "pageshow": PageTransitionEvent; + "popstate": PopStateEvent; + "rejectionhandled": PromiseRejectionEvent; + "storage": StorageEvent; + "unhandledrejection": PromiseRejectionEvent; + "unload": undefined; } -declare var XSLTProcessor: { - prototype: XSLTProcessor; - new(): XSLTProcessor; -}; +interface WindowEventHandlers { + onafterprint: (this: WindowEventHandlers, ev: undefined) => any; + onbeforeprint: (this: WindowEventHandlers, ev: undefined) => any; + onbeforeunload: OnBeforeUnloadEventHandler; + onhashchange: (this: WindowEventHandlers, ev: HashChangeEvent) => any; + onlanguagechange: (this: WindowEventHandlers, ev: undefined) => any; + onmessage: (this: WindowEventHandlers, ev: MessageEvent) => any; + onoffline: (this: WindowEventHandlers, ev: undefined) => any; + ononline: (this: WindowEventHandlers, ev: undefined) => any; + onpagehide: (this: WindowEventHandlers, ev: PageTransitionEvent) => any; + onpageshow: (this: WindowEventHandlers, ev: PageTransitionEvent) => any; + onpopstate: (this: WindowEventHandlers, ev: PopStateEvent) => any; + onrejectionhandled: (this: WindowEventHandlers, ev: PromiseRejectionEvent) => any; + onstorage: (this: WindowEventHandlers, ev: StorageEvent) => any; + onunhandledrejection: (this: WindowEventHandlers, ev: PromiseRejectionEvent) => any; + onunload: (this: WindowEventHandlers, ev: undefined) => any; + addEventListener(type: K, listener: (this: WindowEventHandlers, ev: WindowEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} -interface AbstractWorkerEventMap { - "error": ErrorEvent; +interface DocumentAndElementEventHandlersEventMap { + "copy": undefined; + "cut": undefined; + "paste": undefined; } -interface AbstractWorker { - onerror: (this: AbstractWorker, ev: ErrorEvent) => any; - addEventListener(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, useCapture?: boolean): void; +interface DocumentAndElementEventHandlers { + oncopy: (this: DocumentAndElementEventHandlers, ev: undefined) => any; + oncut: (this: DocumentAndElementEventHandlers, ev: undefined) => any; + onpaste: (this: DocumentAndElementEventHandlers, ev: undefined) => any; + addEventListener(type: K, listener: (this: DocumentAndElementEventHandlers, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -interface Body { - readonly bodyUsed: boolean; - arrayBuffer(): Promise; - blob(): Promise; - json(): Promise; - text(): Promise; - formData(): Promise; +interface WindowOrWorkerGlobalScope { + readonly origin: string; + readonly caches: CacheStorage; + btoa(data: string): string; + atob(data: string): string; + setTimeout(handler: (...args: any[]) => void, timeout: number): number; + setTimeout(handler: any, timeout?: any, ...args: any[]): number; + clearTimeout(handle?: number): void; + setInterval(handler: (...args: any[]) => void, timeout: number): number; + setInterval(handler: any, timeout?: any, ...args: any[]): number; + clearInterval(handle?: number): void; + createImageBitmap(image: ImageBitmapSource, options?: ImageBitmapOptions): Promise; + createImageBitmap(image: ImageBitmapSource, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise; + fetch(input: RequestInfo, init?: RequestInit): Promise; } -interface CanvasPathMethods { - arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void; - arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void; - bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void; - closePath(): void; - ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void; - lineTo(x: number, y: number): void; - moveTo(x: number, y: number): void; - quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void; - rect(x: number, y: number, w: number, h: number): void; +interface NavigatorID { + readonly appCodeName: string; + readonly appName: string; + readonly appVersion: string; + readonly platform: string; + readonly product: string; + readonly productSub: string; + readonly userAgent: string; + readonly vendor: string; + readonly vendorSub: string; + readonly oscpu: string; + taintEnabled(): boolean; } -interface ChildNode { - remove(): void; +interface NavigatorLanguage { + readonly language: string; + readonly languages: ReadonlyArray; } -interface DocumentEvent { - createEvent(eventInterface: "AnimationEvent"): AnimationEvent; - createEvent(eventInterface: "AudioProcessingEvent"): AudioProcessingEvent; - createEvent(eventInterface: "BeforeUnloadEvent"): BeforeUnloadEvent; - createEvent(eventInterface: "ClipboardEvent"): ClipboardEvent; - createEvent(eventInterface: "CloseEvent"): CloseEvent; - createEvent(eventInterface: "CompositionEvent"): CompositionEvent; - createEvent(eventInterface: "CustomEvent"): CustomEvent; - createEvent(eventInterface: "DeviceLightEvent"): DeviceLightEvent; - createEvent(eventInterface: "DeviceMotionEvent"): DeviceMotionEvent; - createEvent(eventInterface: "DeviceOrientationEvent"): DeviceOrientationEvent; - createEvent(eventInterface: "DragEvent"): DragEvent; - createEvent(eventInterface: "ErrorEvent"): ErrorEvent; - createEvent(eventInterface: "Event"): Event; - createEvent(eventInterface: "Events"): Event; - createEvent(eventInterface: "FocusEvent"): FocusEvent; - createEvent(eventInterface: "FocusNavigationEvent"): FocusNavigationEvent; - createEvent(eventInterface: "GamepadEvent"): GamepadEvent; - createEvent(eventInterface: "HashChangeEvent"): HashChangeEvent; - createEvent(eventInterface: "IDBVersionChangeEvent"): IDBVersionChangeEvent; - createEvent(eventInterface: "KeyboardEvent"): KeyboardEvent; - createEvent(eventInterface: "ListeningStateChangedEvent"): ListeningStateChangedEvent; - createEvent(eventInterface: "LongRunningScriptDetectedEvent"): LongRunningScriptDetectedEvent; - createEvent(eventInterface: "MSGestureEvent"): MSGestureEvent; - createEvent(eventInterface: "MSManipulationEvent"): MSManipulationEvent; - createEvent(eventInterface: "MSMediaKeyMessageEvent"): MSMediaKeyMessageEvent; - createEvent(eventInterface: "MSMediaKeyNeededEvent"): MSMediaKeyNeededEvent; - createEvent(eventInterface: "MSPointerEvent"): MSPointerEvent; - createEvent(eventInterface: "MSSiteModeEvent"): MSSiteModeEvent; - createEvent(eventInterface: "MediaEncryptedEvent"): MediaEncryptedEvent; - createEvent(eventInterface: "MediaKeyMessageEvent"): MediaKeyMessageEvent; - createEvent(eventInterface: "MediaStreamErrorEvent"): MediaStreamErrorEvent; - createEvent(eventInterface: "MediaStreamEvent"): MediaStreamEvent; - createEvent(eventInterface: "MediaStreamTrackEvent"): MediaStreamTrackEvent; - createEvent(eventInterface: "MessageEvent"): MessageEvent; - createEvent(eventInterface: "MouseEvent"): MouseEvent; - createEvent(eventInterface: "MouseEvents"): MouseEvent; - createEvent(eventInterface: "MutationEvent"): MutationEvent; - createEvent(eventInterface: "MutationEvents"): MutationEvent; - createEvent(eventInterface: "NavigationCompletedEvent"): NavigationCompletedEvent; - createEvent(eventInterface: "NavigationEvent"): NavigationEvent; - createEvent(eventInterface: "NavigationEventWithReferrer"): NavigationEventWithReferrer; - createEvent(eventInterface: "OfflineAudioCompletionEvent"): OfflineAudioCompletionEvent; - createEvent(eventInterface: "OverflowEvent"): OverflowEvent; - createEvent(eventInterface: "PageTransitionEvent"): PageTransitionEvent; - createEvent(eventInterface: "PaymentRequestUpdateEvent"): PaymentRequestUpdateEvent; - createEvent(eventInterface: "PermissionRequestedEvent"): PermissionRequestedEvent; - createEvent(eventInterface: "PointerEvent"): PointerEvent; - createEvent(eventInterface: "PopStateEvent"): PopStateEvent; - createEvent(eventInterface: "ProgressEvent"): ProgressEvent; - createEvent(eventInterface: "RTCDTMFToneChangeEvent"): RTCDTMFToneChangeEvent; - createEvent(eventInterface: "RTCDtlsTransportStateChangedEvent"): RTCDtlsTransportStateChangedEvent; - createEvent(eventInterface: "RTCIceCandidatePairChangedEvent"): RTCIceCandidatePairChangedEvent; - createEvent(eventInterface: "RTCIceGathererEvent"): RTCIceGathererEvent; - createEvent(eventInterface: "RTCIceTransportStateChangedEvent"): RTCIceTransportStateChangedEvent; - createEvent(eventInterface: "RTCPeerConnectionIceEvent"): RTCPeerConnectionIceEvent; - createEvent(eventInterface: "RTCSsrcConflictEvent"): RTCSsrcConflictEvent; - createEvent(eventInterface: "SVGZoomEvent"): SVGZoomEvent; - createEvent(eventInterface: "SVGZoomEvents"): SVGZoomEvent; - createEvent(eventInterface: "ScriptNotifyEvent"): ScriptNotifyEvent; - createEvent(eventInterface: "ServiceWorkerMessageEvent"): ServiceWorkerMessageEvent; - createEvent(eventInterface: "SpeechSynthesisEvent"): SpeechSynthesisEvent; - createEvent(eventInterface: "StorageEvent"): StorageEvent; - createEvent(eventInterface: "TextEvent"): TextEvent; - createEvent(eventInterface: "TouchEvent"): TouchEvent; - createEvent(eventInterface: "TrackEvent"): TrackEvent; - createEvent(eventInterface: "TransitionEvent"): TransitionEvent; - createEvent(eventInterface: "UIEvent"): UIEvent; - createEvent(eventInterface: "UIEvents"): UIEvent; - createEvent(eventInterface: "UnviewableContentIdentifiedEvent"): UnviewableContentIdentifiedEvent; - createEvent(eventInterface: "WebGLContextEvent"): WebGLContextEvent; - createEvent(eventInterface: "WheelEvent"): WheelEvent; - createEvent(eventInterface: string): Event; +interface NavigatorContentUtils { + registerProtocolHandler(scheme: string, url: string, title: string): void; + registerContentHandler(mimeType: string, url: string, title: string): void; + isProtocolHandlerRegistered(scheme: string, url: string): string; + isContentHandlerRegistered(mimeType: string, url: string): string; + unregisterProtocolHandler(scheme: string, url: string): void; + unregisterContentHandler(mimeType: string, url: string): void; } -interface DOML2DeprecatedColorProperty { - color: string; +interface NavigatorCookies { + readonly cookieEnabled: boolean; } -interface DOML2DeprecatedSizeProperty { - size: number; +interface NavigatorPlugins { + readonly plugins: PluginArray; + readonly mimeTypes: MimeTypeArray; + javaEnabled(): boolean; } -interface ElementTraversal { - readonly childElementCount: number; - readonly firstElementChild: Element | null; - readonly lastElementChild: Element | null; - readonly nextElementSibling: Element | null; - readonly previousElementSibling: Element | null; +interface AbstractWorkerEventMap { + "error": ErrorEvent; } -interface GetSVGDocument { - getSVGDocument(): Document; +interface AbstractWorker { + onerror: (this: AbstractWorker, ev: ErrorEvent) => any; + addEventListener(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -interface GlobalEventHandlersEventMap { - "pointercancel": PointerEvent; - "pointerdown": PointerEvent; - "pointerenter": PointerEvent; - "pointerleave": PointerEvent; - "pointermove": PointerEvent; - "pointerout": PointerEvent; - "pointerover": PointerEvent; - "pointerup": PointerEvent; - "wheel": WheelEvent; +interface NavigatorConcurrentHardware { + readonly hardwareConcurrency: number; } -interface GlobalEventHandlers { - onpointercancel: (this: GlobalEventHandlers, ev: PointerEvent) => any; - onpointerdown: (this: GlobalEventHandlers, ev: PointerEvent) => any; - onpointerenter: (this: GlobalEventHandlers, ev: PointerEvent) => any; - onpointerleave: (this: GlobalEventHandlers, ev: PointerEvent) => any; - onpointermove: (this: GlobalEventHandlers, ev: PointerEvent) => any; - onpointerout: (this: GlobalEventHandlers, ev: PointerEvent) => any; - onpointerover: (this: GlobalEventHandlers, ev: PointerEvent) => any; - onpointerup: (this: GlobalEventHandlers, ev: PointerEvent) => any; - onwheel: (this: GlobalEventHandlers, ev: WheelEvent) => any; - addEventListener(type: K, listener: (this: GlobalEventHandlers, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface WindowSessionStorage { + readonly sessionStorage: Storage; } -interface GlobalFetch { - fetch(input: RequestInfo, init?: RequestInit): Promise; +interface WindowLocalStorage { + readonly localStorage: Storage; } -interface HTMLTableAlignment { - /** - * Sets or retrieves a value that you can use to implement your own ch functionality for the object. - */ - ch: string; - /** - * Sets or retrieves a value that you can use to implement your own chOff functionality for the object. - */ - chOff: string; - /** - * Sets or retrieves how text and other content are vertically aligned within the object that contains them. - */ - vAlign: string; +interface External { + AddSearchProvider(): void; + IsSearchProviderInstalled(): void; } interface IDBEnvironment { readonly indexedDB: IDBFactory; } -interface LinkStyle { - readonly sheet: StyleSheet; +interface NavigatorUserMedia { + readonly mediaDevices: MediaDevices; + getUserMedia(constraints: MediaStreamConstraints, successCallback: NavigatorUserMediaSuccessCallback, errorCallback: NavigatorUserMediaErrorCallback): void; } -interface MSBaseReaderEventMap { - "abort": Event; - "error": ErrorEvent; - "load": Event; - "loadend": ProgressEvent; - "loadstart": Event; - "progress": ProgressEvent; +interface ConstrainablePatternEventMap { + "overconstrained": OverconstrainedErrorEvent; } -interface MSBaseReader { - onabort: (this: MSBaseReader, ev: Event) => any; - onerror: (this: MSBaseReader, ev: ErrorEvent) => any; - onload: (this: MSBaseReader, ev: Event) => any; - onloadend: (this: MSBaseReader, ev: ProgressEvent) => any; - onloadstart: (this: MSBaseReader, ev: Event) => any; - onprogress: (this: MSBaseReader, ev: ProgressEvent) => any; - readonly readyState: number; - readonly result: any; - abort(): void; - readonly DONE: number; - readonly EMPTY: number; - readonly LOADING: number; - addEventListener(type: K, listener: (this: MSBaseReader, ev: MSBaseReaderEventMap[K]) => any, useCapture?: boolean): void; +interface ConstrainablePattern { + onoverconstrained: (this: ConstrainablePattern, ev: OverconstrainedErrorEvent) => any; + getCapabilities(): Capabilities; + getConstraints(): Constraints; + getSettings(): Settings; + applyConstraints(constraints?: Constraints): Promise; + addEventListener(type: K, listener: (this: ConstrainablePattern, ev: ConstrainablePatternEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -interface MSFileSaver { - msSaveBlob(blob: any, defaultName?: string): boolean; - msSaveOrOpenBlob(blob: any, defaultName?: string): boolean; +interface SVGUnitTypes { + readonly SVG_UNIT_TYPE_UNKNOWN: number; + readonly SVG_UNIT_TYPE_USERSPACEONUSE: number; + readonly SVG_UNIT_TYPE_OBJECTBOUNDINGBOX: number; +} + +interface SVGTests { + readonly requiredExtensions: SVGStringList; + readonly systemLanguage: SVGStringList; +} + +interface SVGFitToViewBox { + readonly viewBox: SVGAnimatedRect; + readonly preserveAspectRatio: SVGAnimatedPreserveAspectRatio; } -interface MSNavigatorDoNotTrack { - confirmSiteSpecificTrackingException(args: ConfirmSiteSpecificExceptionsInformation): boolean; - confirmWebWideTrackingException(args: ExceptionInformation): boolean; - removeSiteSpecificTrackingException(args: ExceptionInformation): void; - removeWebWideTrackingException(args: ExceptionInformation): void; - storeSiteSpecificTrackingException(args: StoreSiteSpecificExceptionsInformation): void; - storeWebWideTrackingException(args: StoreExceptionsInformation): void; +interface SVGZoomAndPan { + zoomAndPan: number; + readonly SVG_ZOOMANDPAN_UNKNOWN: number; + readonly SVG_ZOOMANDPAN_DISABLE: number; + readonly SVG_ZOOMANDPAN_MAGNIFY: number; } -interface NavigatorBeacon { - sendBeacon(url: USVString, data?: BodyInit): boolean; +interface SVGURIReference { + readonly href: SVGAnimatedString; } -interface NavigatorConcurrentHardware { - readonly hardwareConcurrency: number; +interface SVGElementInstance { + readonly correspondingElement: SVGElement | null; + readonly correspondingUseElement: SVGUseElement | null; } -interface NavigatorContentUtils { +interface GetSVGDocument { + getSVGDocument(): Document; } -interface NavigatorGeolocation { - readonly geolocation: Geolocation; +interface SVGAnimatedPoints { + readonly points: SVGPointList; + readonly animatedPoints: SVGPointList; } -interface NavigatorID { - readonly appCodeName: string; - readonly appName: string; - readonly appVersion: string; - readonly platform: string; - readonly product: string; - readonly productSub: string; - readonly userAgent: string; - readonly vendor: string; - readonly vendorSub: string; +interface Animatable { + animate(keyframes: any, options?: number | KeyframeAnimationOptions): Animation; + getAnimations(): Animation[]; } -interface NavigatorOnLine { - readonly onLine: boolean; +interface GlobalCrypto { + readonly crypto: Crypto; } -interface NavigatorStorageUtils { +interface SpeechSynthesisGetter { + readonly speechSynthesis: SpeechSynthesis; } -interface NavigatorUserMedia { - readonly mediaDevices: MediaDevices; - getUserMedia(constraints: MediaStreamConstraints, successCallback: NavigatorUserMediaSuccessCallback, errorCallback: NavigatorUserMediaErrorCallback): void; +interface WebGLRenderingContextBase { + readonly canvas: HTMLCanvasElement; + readonly drawingBufferWidth: GLsizei; + readonly drawingBufferHeight: GLsizei; + getContextAttributes(): WebGLContextAttributes | null; + isContextLost(): boolean; + getSupportedExtensions(): string[] | null; + getExtension(name: string): any; + activeTexture(texture: GLenum): void; + attachShader(program: WebGLProgram, shader: WebGLShader): void; + bindAttribLocation(program: WebGLProgram, index: GLuint, name: string): void; + bindBuffer(target: GLenum, buffer: WebGLBuffer | null): void; + bindFramebuffer(target: GLenum, framebuffer: WebGLFramebuffer | null): void; + bindRenderbuffer(target: GLenum, renderbuffer: WebGLRenderbuffer | null): void; + bindTexture(target: GLenum, texture: WebGLTexture | null): void; + blendColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void; + blendEquation(mode: GLenum): void; + blendEquationSeparate(modeRGB: GLenum, modeAlpha: GLenum): void; + blendFunc(sfactor: GLenum, dfactor: GLenum): void; + blendFuncSeparate(srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum): void; + bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum): void; + bufferData(target: GLenum, data: ArrayBuffer | null, usage: GLenum): void; + bufferData(target: GLenum, data: ArrayBufferView, usage: GLenum): void; + bufferSubData(target: GLenum, offset: GLintptr, data: BufferDataSource): void; + checkFramebufferStatus(target: GLenum): GLenum; + clear(mask: GLbitfield): void; + clearColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void; + clearDepth(depth: GLclampf): void; + clearStencil(s: GLint): void; + colorMask(red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean): void; + compileShader(shader: WebGLShader): void; + compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data: ArrayBufferView): void; + compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, data: ArrayBufferView): void; + copyTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint): void; + copyTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; + createBuffer(): WebGLBuffer | null; + createFramebuffer(): WebGLFramebuffer | null; + createProgram(): WebGLProgram | null; + createRenderbuffer(): WebGLRenderbuffer | null; + createShader(type: GLenum): WebGLShader | null; + createTexture(): WebGLTexture | null; + cullFace(mode: GLenum): void; + deleteBuffer(buffer: WebGLBuffer | null): void; + deleteFramebuffer(framebuffer: WebGLFramebuffer | null): void; + deleteProgram(program: WebGLProgram | null): void; + deleteRenderbuffer(renderbuffer: WebGLRenderbuffer | null): void; + deleteShader(shader: WebGLShader | null): void; + deleteTexture(texture: WebGLTexture | null): void; + depthFunc(func: GLenum): void; + depthMask(flag: GLboolean): void; + depthRange(zNear: GLclampf, zFar: GLclampf): void; + detachShader(program: WebGLProgram, shader: WebGLShader): void; + disable(cap: GLenum): void; + disableVertexAttribArray(index: GLuint): void; + drawArrays(mode: GLenum, first: GLint, count: GLsizei): void; + drawElements(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr): void; + enable(cap: GLenum): void; + enableVertexAttribArray(index: GLuint): void; + finish(): void; + flush(): void; + framebufferRenderbuffer(target: GLenum, attachment: GLenum, renderbuffertarget: GLenum, renderbuffer: WebGLRenderbuffer | null): void; + framebufferTexture2D(target: GLenum, attachment: GLenum, textarget: GLenum, texture: WebGLTexture | null, level: GLint): void; + frontFace(mode: GLenum): void; + generateMipmap(target: GLenum): void; + getActiveAttrib(program: WebGLProgram, index: GLuint): WebGLActiveInfo | null; + getActiveUniform(program: WebGLProgram, index: GLuint): WebGLActiveInfo | null; + getAttachedShaders(program: WebGLProgram): WebGLShader[] | null; + getAttribLocation(program: WebGLProgram, name: string): GLint; + getBufferParameter(target: GLenum, pname: GLenum): any; + getParameter(pname: GLenum): any; + getError(): GLenum; + getFramebufferAttachmentParameter(target: GLenum, attachment: GLenum, pname: GLenum): any; + getProgramParameter(program: WebGLProgram, pname: GLenum): any; + getProgramInfoLog(program: WebGLProgram): string | null; + getRenderbufferParameter(target: GLenum, pname: GLenum): any; + getShaderParameter(shader: WebGLShader, pname: GLenum): any; + getShaderPrecisionFormat(shadertype: GLenum, precisiontype: GLenum): WebGLShaderPrecisionFormat | null; + getShaderInfoLog(shader: WebGLShader): string | null; + getShaderSource(shader: WebGLShader): string | null; + getTexParameter(target: GLenum, pname: GLenum): any; + getUniform(program: WebGLProgram, location: WebGLUniformLocation): any; + getUniformLocation(program: WebGLProgram, name: string): WebGLUniformLocation | null; + getVertexAttrib(index: GLuint, pname: GLenum): any; + getVertexAttribOffset(index: GLuint, pname: GLenum): GLintptr; + hint(target: GLenum, mode: GLenum): void; + isBuffer(buffer: WebGLBuffer | null): GLboolean; + isEnabled(cap: GLenum): GLboolean; + isFramebuffer(framebuffer: WebGLFramebuffer | null): GLboolean; + isProgram(program: WebGLProgram | null): GLboolean; + isRenderbuffer(renderbuffer: WebGLRenderbuffer | null): GLboolean; + isShader(shader: WebGLShader | null): GLboolean; + isTexture(texture: WebGLTexture | null): GLboolean; + lineWidth(width: GLfloat): void; + linkProgram(program: WebGLProgram): void; + pixelStorei(pname: GLenum, param: GLint): void; + polygonOffset(factor: GLfloat, units: GLfloat): void; + readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void; + renderbufferStorage(target: GLenum, internalformat: GLenum, width: GLsizei, height: GLsizei): void; + sampleCoverage(value: GLclampf, invert: GLboolean): void; + scissor(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; + shaderSource(shader: WebGLShader, source: string): void; + stencilFunc(func: GLenum, ref: GLint, mask: GLuint): void; + stencilFuncSeparate(face: GLenum, func: GLenum, ref: GLint, mask: GLuint): void; + stencilMask(mask: GLuint): void; + stencilMaskSeparate(face: GLenum, mask: GLuint): void; + stencilOp(fail: GLenum, zfail: GLenum, zpass: GLenum): void; + stencilOpSeparate(face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum): void; + texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void; + texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource): void; + texParameterf(target: GLenum, pname: GLenum, param: GLfloat): void; + texParameteri(target: GLenum, pname: GLenum, param: GLint): void; + texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void; + texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource): void; + uniform1f(location: WebGLUniformLocation | null, x: GLfloat): void; + uniform2f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat): void; + uniform3f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat, z: GLfloat): void; + uniform4f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void; + uniform1i(location: WebGLUniformLocation | null, x: GLint): void; + uniform2i(location: WebGLUniformLocation | null, x: GLint, y: GLint): void; + uniform3i(location: WebGLUniformLocation | null, x: GLint, y: GLint, z: GLint): void; + uniform4i(location: WebGLUniformLocation | null, x: GLint, y: GLint, z: GLint, w: GLint): void; + uniform1fv(location: WebGLUniformLocation | null, v: Float32List): void; + uniform2fv(location: WebGLUniformLocation | null, v: Float32List): void; + uniform3fv(location: WebGLUniformLocation | null, v: Float32List): void; + uniform4fv(location: WebGLUniformLocation | null, v: Float32List): void; + uniform1iv(location: WebGLUniformLocation | null, v: Int32List): void; + uniform2iv(location: WebGLUniformLocation | null, v: Int32List): void; + uniform3iv(location: WebGLUniformLocation | null, v: Int32List): void; + uniform4iv(location: WebGLUniformLocation | null, v: Int32List): void; + uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void; + uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void; + uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void; + useProgram(program: WebGLProgram | null): void; + validateProgram(program: WebGLProgram): void; + vertexAttrib1f(index: GLuint, x: GLfloat): void; + vertexAttrib2f(index: GLuint, x: GLfloat, y: GLfloat): void; + vertexAttrib3f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat): void; + vertexAttrib4f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void; + vertexAttrib1fv(index: GLuint, values: Float32List): void; + vertexAttrib2fv(index: GLuint, values: Float32List): void; + vertexAttrib3fv(index: GLuint, values: Float32List): void; + vertexAttrib4fv(index: GLuint, values: Float32List): void; + vertexAttribPointer(index: GLuint, size: GLint, type: GLenum, normalized: GLboolean, stride: GLsizei, offset: GLintptr): void; + viewport(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; + readonly DEPTH_BUFFER_BIT: GLenum; + readonly STENCIL_BUFFER_BIT: GLenum; + readonly COLOR_BUFFER_BIT: GLenum; + readonly POINTS: GLenum; + readonly LINES: GLenum; + readonly LINE_LOOP: GLenum; + readonly LINE_STRIP: GLenum; + readonly TRIANGLES: GLenum; + readonly TRIANGLE_STRIP: GLenum; + readonly TRIANGLE_FAN: GLenum; + readonly ZERO: GLenum; + readonly ONE: GLenum; + readonly SRC_COLOR: GLenum; + readonly ONE_MINUS_SRC_COLOR: GLenum; + readonly SRC_ALPHA: GLenum; + readonly ONE_MINUS_SRC_ALPHA: GLenum; + readonly DST_ALPHA: GLenum; + readonly ONE_MINUS_DST_ALPHA: GLenum; + readonly DST_COLOR: GLenum; + readonly ONE_MINUS_DST_COLOR: GLenum; + readonly SRC_ALPHA_SATURATE: GLenum; + readonly FUNC_ADD: GLenum; + readonly BLEND_EQUATION: GLenum; + readonly BLEND_EQUATION_RGB: GLenum; + readonly BLEND_EQUATION_ALPHA: GLenum; + readonly FUNC_SUBTRACT: GLenum; + readonly FUNC_REVERSE_SUBTRACT: GLenum; + readonly BLEND_DST_RGB: GLenum; + readonly BLEND_SRC_RGB: GLenum; + readonly BLEND_DST_ALPHA: GLenum; + readonly BLEND_SRC_ALPHA: GLenum; + readonly CONSTANT_COLOR: GLenum; + readonly ONE_MINUS_CONSTANT_COLOR: GLenum; + readonly CONSTANT_ALPHA: GLenum; + readonly ONE_MINUS_CONSTANT_ALPHA: GLenum; + readonly BLEND_COLOR: GLenum; + readonly ARRAY_BUFFER: GLenum; + readonly ELEMENT_ARRAY_BUFFER: GLenum; + readonly ARRAY_BUFFER_BINDING: GLenum; + readonly ELEMENT_ARRAY_BUFFER_BINDING: GLenum; + readonly STREAM_DRAW: GLenum; + readonly STATIC_DRAW: GLenum; + readonly DYNAMIC_DRAW: GLenum; + readonly BUFFER_SIZE: GLenum; + readonly BUFFER_USAGE: GLenum; + readonly CURRENT_VERTEX_ATTRIB: GLenum; + readonly FRONT: GLenum; + readonly BACK: GLenum; + readonly FRONT_AND_BACK: GLenum; + readonly CULL_FACE: GLenum; + readonly BLEND: GLenum; + readonly DITHER: GLenum; + readonly STENCIL_TEST: GLenum; + readonly DEPTH_TEST: GLenum; + readonly SCISSOR_TEST: GLenum; + readonly POLYGON_OFFSET_FILL: GLenum; + readonly SAMPLE_ALPHA_TO_COVERAGE: GLenum; + readonly SAMPLE_COVERAGE: GLenum; + readonly NO_ERROR: GLenum; + readonly INVALID_ENUM: GLenum; + readonly INVALID_VALUE: GLenum; + readonly INVALID_OPERATION: GLenum; + readonly OUT_OF_MEMORY: GLenum; + readonly CW: GLenum; + readonly CCW: GLenum; + readonly LINE_WIDTH: GLenum; + readonly ALIASED_POINT_SIZE_RANGE: GLenum; + readonly ALIASED_LINE_WIDTH_RANGE: GLenum; + readonly CULL_FACE_MODE: GLenum; + readonly FRONT_FACE: GLenum; + readonly DEPTH_RANGE: GLenum; + readonly DEPTH_WRITEMASK: GLenum; + readonly DEPTH_CLEAR_VALUE: GLenum; + readonly DEPTH_FUNC: GLenum; + readonly STENCIL_CLEAR_VALUE: GLenum; + readonly STENCIL_FUNC: GLenum; + readonly STENCIL_FAIL: GLenum; + readonly STENCIL_PASS_DEPTH_FAIL: GLenum; + readonly STENCIL_PASS_DEPTH_PASS: GLenum; + readonly STENCIL_REF: GLenum; + readonly STENCIL_VALUE_MASK: GLenum; + readonly STENCIL_WRITEMASK: GLenum; + readonly STENCIL_BACK_FUNC: GLenum; + readonly STENCIL_BACK_FAIL: GLenum; + readonly STENCIL_BACK_PASS_DEPTH_FAIL: GLenum; + readonly STENCIL_BACK_PASS_DEPTH_PASS: GLenum; + readonly STENCIL_BACK_REF: GLenum; + readonly STENCIL_BACK_VALUE_MASK: GLenum; + readonly STENCIL_BACK_WRITEMASK: GLenum; + readonly VIEWPORT: GLenum; + readonly SCISSOR_BOX: GLenum; + readonly COLOR_CLEAR_VALUE: GLenum; + readonly COLOR_WRITEMASK: GLenum; + readonly UNPACK_ALIGNMENT: GLenum; + readonly PACK_ALIGNMENT: GLenum; + readonly MAX_TEXTURE_SIZE: GLenum; + readonly MAX_VIEWPORT_DIMS: GLenum; + readonly SUBPIXEL_BITS: GLenum; + readonly RED_BITS: GLenum; + readonly GREEN_BITS: GLenum; + readonly BLUE_BITS: GLenum; + readonly ALPHA_BITS: GLenum; + readonly DEPTH_BITS: GLenum; + readonly STENCIL_BITS: GLenum; + readonly POLYGON_OFFSET_UNITS: GLenum; + readonly POLYGON_OFFSET_FACTOR: GLenum; + readonly TEXTURE_BINDING_2D: GLenum; + readonly SAMPLE_BUFFERS: GLenum; + readonly SAMPLES: GLenum; + readonly SAMPLE_COVERAGE_VALUE: GLenum; + readonly SAMPLE_COVERAGE_INVERT: GLenum; + readonly COMPRESSED_TEXTURE_FORMATS: GLenum; + readonly DONT_CARE: GLenum; + readonly FASTEST: GLenum; + readonly NICEST: GLenum; + readonly GENERATE_MIPMAP_HINT: GLenum; + readonly BYTE: GLenum; + readonly UNSIGNED_BYTE: GLenum; + readonly SHORT: GLenum; + readonly UNSIGNED_SHORT: GLenum; + readonly INT: GLenum; + readonly UNSIGNED_INT: GLenum; + readonly FLOAT: GLenum; + readonly DEPTH_COMPONENT: GLenum; + readonly ALPHA: GLenum; + readonly RGB: GLenum; + readonly RGBA: GLenum; + readonly LUMINANCE: GLenum; + readonly LUMINANCE_ALPHA: GLenum; + readonly UNSIGNED_SHORT_4_4_4_4: GLenum; + readonly UNSIGNED_SHORT_5_5_5_1: GLenum; + readonly UNSIGNED_SHORT_5_6_5: GLenum; + readonly FRAGMENT_SHADER: GLenum; + readonly VERTEX_SHADER: GLenum; + readonly MAX_VERTEX_ATTRIBS: GLenum; + readonly MAX_VERTEX_UNIFORM_VECTORS: GLenum; + readonly MAX_VARYING_VECTORS: GLenum; + readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: GLenum; + readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: GLenum; + readonly MAX_TEXTURE_IMAGE_UNITS: GLenum; + readonly MAX_FRAGMENT_UNIFORM_VECTORS: GLenum; + readonly SHADER_TYPE: GLenum; + readonly DELETE_STATUS: GLenum; + readonly LINK_STATUS: GLenum; + readonly VALIDATE_STATUS: GLenum; + readonly ATTACHED_SHADERS: GLenum; + readonly ACTIVE_UNIFORMS: GLenum; + readonly ACTIVE_ATTRIBUTES: GLenum; + readonly SHADING_LANGUAGE_VERSION: GLenum; + readonly CURRENT_PROGRAM: GLenum; + readonly NEVER: GLenum; + readonly LESS: GLenum; + readonly EQUAL: GLenum; + readonly LEQUAL: GLenum; + readonly GREATER: GLenum; + readonly NOTEQUAL: GLenum; + readonly GEQUAL: GLenum; + readonly ALWAYS: GLenum; + readonly KEEP: GLenum; + readonly REPLACE: GLenum; + readonly INCR: GLenum; + readonly DECR: GLenum; + readonly INVERT: GLenum; + readonly INCR_WRAP: GLenum; + readonly DECR_WRAP: GLenum; + readonly VENDOR: GLenum; + readonly RENDERER: GLenum; + readonly VERSION: GLenum; + readonly NEAREST: GLenum; + readonly LINEAR: GLenum; + readonly NEAREST_MIPMAP_NEAREST: GLenum; + readonly LINEAR_MIPMAP_NEAREST: GLenum; + readonly NEAREST_MIPMAP_LINEAR: GLenum; + readonly LINEAR_MIPMAP_LINEAR: GLenum; + readonly TEXTURE_MAG_FILTER: GLenum; + readonly TEXTURE_MIN_FILTER: GLenum; + readonly TEXTURE_WRAP_S: GLenum; + readonly TEXTURE_WRAP_T: GLenum; + readonly TEXTURE_2D: GLenum; + readonly TEXTURE: GLenum; + readonly TEXTURE_CUBE_MAP: GLenum; + readonly TEXTURE_BINDING_CUBE_MAP: GLenum; + readonly TEXTURE_CUBE_MAP_POSITIVE_X: GLenum; + readonly TEXTURE_CUBE_MAP_NEGATIVE_X: GLenum; + readonly TEXTURE_CUBE_MAP_POSITIVE_Y: GLenum; + readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: GLenum; + readonly TEXTURE_CUBE_MAP_POSITIVE_Z: GLenum; + readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: GLenum; + readonly MAX_CUBE_MAP_TEXTURE_SIZE: GLenum; + readonly TEXTURE0: GLenum; + readonly TEXTURE1: GLenum; + readonly TEXTURE2: GLenum; + readonly TEXTURE3: GLenum; + readonly TEXTURE4: GLenum; + readonly TEXTURE5: GLenum; + readonly TEXTURE6: GLenum; + readonly TEXTURE7: GLenum; + readonly TEXTURE8: GLenum; + readonly TEXTURE9: GLenum; + readonly TEXTURE10: GLenum; + readonly TEXTURE11: GLenum; + readonly TEXTURE12: GLenum; + readonly TEXTURE13: GLenum; + readonly TEXTURE14: GLenum; + readonly TEXTURE15: GLenum; + readonly TEXTURE16: GLenum; + readonly TEXTURE17: GLenum; + readonly TEXTURE18: GLenum; + readonly TEXTURE19: GLenum; + readonly TEXTURE20: GLenum; + readonly TEXTURE21: GLenum; + readonly TEXTURE22: GLenum; + readonly TEXTURE23: GLenum; + readonly TEXTURE24: GLenum; + readonly TEXTURE25: GLenum; + readonly TEXTURE26: GLenum; + readonly TEXTURE27: GLenum; + readonly TEXTURE28: GLenum; + readonly TEXTURE29: GLenum; + readonly TEXTURE30: GLenum; + readonly TEXTURE31: GLenum; + readonly ACTIVE_TEXTURE: GLenum; + readonly REPEAT: GLenum; + readonly CLAMP_TO_EDGE: GLenum; + readonly MIRRORED_REPEAT: GLenum; + readonly FLOAT_VEC2: GLenum; + readonly FLOAT_VEC3: GLenum; + readonly FLOAT_VEC4: GLenum; + readonly INT_VEC2: GLenum; + readonly INT_VEC3: GLenum; + readonly INT_VEC4: GLenum; + readonly BOOL: GLenum; + readonly BOOL_VEC2: GLenum; + readonly BOOL_VEC3: GLenum; + readonly BOOL_VEC4: GLenum; + readonly FLOAT_MAT2: GLenum; + readonly FLOAT_MAT3: GLenum; + readonly FLOAT_MAT4: GLenum; + readonly SAMPLER_2D: GLenum; + readonly SAMPLER_CUBE: GLenum; + readonly VERTEX_ATTRIB_ARRAY_ENABLED: GLenum; + readonly VERTEX_ATTRIB_ARRAY_SIZE: GLenum; + readonly VERTEX_ATTRIB_ARRAY_STRIDE: GLenum; + readonly VERTEX_ATTRIB_ARRAY_TYPE: GLenum; + readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: GLenum; + readonly VERTEX_ATTRIB_ARRAY_POINTER: GLenum; + readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: GLenum; + readonly IMPLEMENTATION_COLOR_READ_TYPE: GLenum; + readonly IMPLEMENTATION_COLOR_READ_FORMAT: GLenum; + readonly COMPILE_STATUS: GLenum; + readonly LOW_FLOAT: GLenum; + readonly MEDIUM_FLOAT: GLenum; + readonly HIGH_FLOAT: GLenum; + readonly LOW_INT: GLenum; + readonly MEDIUM_INT: GLenum; + readonly HIGH_INT: GLenum; + readonly FRAMEBUFFER: GLenum; + readonly RENDERBUFFER: GLenum; + readonly RGBA4: GLenum; + readonly RGB5_A1: GLenum; + readonly RGB565: GLenum; + readonly DEPTH_COMPONENT16: GLenum; + readonly STENCIL_INDEX: GLenum; + readonly STENCIL_INDEX8: GLenum; + readonly DEPTH_STENCIL: GLenum; + readonly RENDERBUFFER_WIDTH: GLenum; + readonly RENDERBUFFER_HEIGHT: GLenum; + readonly RENDERBUFFER_INTERNAL_FORMAT: GLenum; + readonly RENDERBUFFER_RED_SIZE: GLenum; + readonly RENDERBUFFER_GREEN_SIZE: GLenum; + readonly RENDERBUFFER_BLUE_SIZE: GLenum; + readonly RENDERBUFFER_ALPHA_SIZE: GLenum; + readonly RENDERBUFFER_DEPTH_SIZE: GLenum; + readonly RENDERBUFFER_STENCIL_SIZE: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: GLenum; + readonly COLOR_ATTACHMENT0: GLenum; + readonly DEPTH_ATTACHMENT: GLenum; + readonly STENCIL_ATTACHMENT: GLenum; + readonly DEPTH_STENCIL_ATTACHMENT: GLenum; + readonly NONE: GLenum; + readonly FRAMEBUFFER_COMPLETE: GLenum; + readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: GLenum; + readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: GLenum; + readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: GLenum; + readonly FRAMEBUFFER_UNSUPPORTED: GLenum; + readonly FRAMEBUFFER_BINDING: GLenum; + readonly RENDERBUFFER_BINDING: GLenum; + readonly MAX_RENDERBUFFER_SIZE: GLenum; + readonly INVALID_FRAMEBUFFER_OPERATION: GLenum; + readonly UNPACK_FLIP_Y_WEBGL: GLenum; + readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: GLenum; + readonly CONTEXT_LOST_WEBGL: GLenum; + readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: GLenum; + readonly BROWSER_DEFAULT_WEBGL: GLenum; } -interface NodeSelector { - querySelector(selectors: K): ElementTagNameMap[K] | null; - querySelector(selectors: string): E | null; - querySelectorAll(selectors: K): ElementListTagNameMap[K]; - querySelectorAll(selectors: string): NodeListOf; +interface ANGLE_instanced_arrays { + drawArraysInstancedANGLE(mode: GLenum, first: GLint, count: GLsizei, primcount: GLsizei): void; + drawElementsInstancedANGLE(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, primcount: GLsizei): void; + vertexAttribDivisorANGLE(index: GLuint, divisor: GLuint): void; + readonly VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: GLenum; } -interface RandomSource { - getRandomValues(array: T): T; +interface EXT_frag_depth { } -interface SVGAnimatedPoints { - readonly animatedPoints: SVGPointList; - readonly points: SVGPointList; +interface EXT_texture_filter_anisotropic { + readonly TEXTURE_MAX_ANISOTROPY_EXT: GLenum; + readonly MAX_TEXTURE_MAX_ANISOTROPY_EXT: GLenum; } -interface SVGFilterPrimitiveStandardAttributes { - readonly height: SVGAnimatedLength; - readonly result: SVGAnimatedString; - readonly width: SVGAnimatedLength; - readonly x: SVGAnimatedLength; - readonly y: SVGAnimatedLength; +interface OES_element_index_uint { } -interface SVGFitToViewBox { - readonly preserveAspectRatio: SVGAnimatedPreserveAspectRatio; - readonly viewBox: SVGAnimatedRect; +interface OES_standard_derivatives { + readonly FRAGMENT_SHADER_DERIVATIVE_HINT_OES: GLenum; } -interface SVGTests { - readonly requiredExtensions: SVGStringList; - readonly requiredFeatures: SVGStringList; - readonly systemLanguage: SVGStringList; - hasExtension(extension: string): boolean; +interface OES_texture_float { } -interface SVGURIReference { - readonly href: SVGAnimatedString; +interface OES_texture_float_linear { } -interface WindowBase64 { - atob(encodedString: string): string; - btoa(rawString: string): string; +interface OES_texture_half_float { + readonly HALF_FLOAT_OES: GLenum; } -interface WindowConsole { - readonly console: Console; +interface OES_texture_half_float_linear { } -interface WindowLocalStorage { - readonly localStorage: Storage; +interface WEBGL_compressed_texture_s3tc { + readonly COMPRESSED_RGB_S3TC_DXT1_EXT: GLenum; + readonly COMPRESSED_RGBA_S3TC_DXT1_EXT: GLenum; + readonly COMPRESSED_RGBA_S3TC_DXT3_EXT: GLenum; + readonly COMPRESSED_RGBA_S3TC_DXT5_EXT: GLenum; } -interface WindowSessionStorage { - readonly sessionStorage: Storage; +interface WEBGL_debug_renderer_info { + readonly UNMASKED_VENDOR_WEBGL: GLenum; + readonly UNMASKED_RENDERER_WEBGL: GLenum; } -interface WindowTimers extends Object, WindowTimersExtension { - clearInterval(handle: number): void; - clearTimeout(handle: number): void; - setInterval(handler: (...args: any[]) => void, timeout: number): number; - setInterval(handler: any, timeout?: any, ...args: any[]): number; - setTimeout(handler: (...args: any[]) => void, timeout: number): number; - setTimeout(handler: any, timeout?: any, ...args: any[]): number; +interface WEBGL_depth_texture { + readonly UNSIGNED_INT_24_8_WEBGL: GLenum; } -interface WindowTimersExtension { - clearImmediate(handle: number): void; - setImmediate(handler: (...args: any[]) => void): number; - setImmediate(handler: any, ...args: any[]): number; +interface CSSPseudoElement extends Object, GeometryUtils, Animatable { } -interface XMLHttpRequestEventTargetEventMap { - "abort": Event; - "error": ErrorEvent; - "load": Event; - "loadend": ProgressEvent; - "loadstart": Event; - "progress": ProgressEvent; - "timeout": ProgressEvent; +interface WorkerUtils extends Object, IDBEnvironment { } -interface XMLHttpRequestEventTarget { - onabort: (this: XMLHttpRequest, ev: Event) => any; - onerror: (this: XMLHttpRequest, ev: ErrorEvent) => any; - onload: (this: XMLHttpRequest, ev: Event) => any; - onloadend: (this: XMLHttpRequest, ev: ProgressEvent) => any; - onloadstart: (this: XMLHttpRequest, ev: Event) => any; - onprogress: (this: XMLHttpRequest, ev: ProgressEvent) => any; - ontimeout: (this: XMLHttpRequest, ev: ProgressEvent) => any; - addEventListener(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare namespace console { + function assert(condition?: boolean, ...data: any[]): void; + function clear(): void; + function count(label?: string): void; + function debug(...data: any[]): void; + function error(...data: any[]): void; + function info(...data: any[]): void; + function log(...data: any[]): void; + function table(tabularData: any, properties?: string[]): void; + function trace(...data: any[]): void; + function warn(...data: any[]): void; + function dir(item: any): void; + function dirxml(...data: any[]): void; + function group(...data: any[]): void; + function groupCollapsed(...data: any[]): void; + function groupEnd(): void; + function time(label?: string): void; + function timeEnd(label?: string): void; } interface BroadcastChannel extends EventTarget { @@ -13866,14 +12566,6 @@ interface ErrorEventInit { error?: any; } -interface StorageEventInit extends EventInit { - key?: string; - oldValue?: string; - newValue?: string; - url: string; - storageArea?: Storage; -} - interface Canvas2DContextAttributes { alpha?: boolean; willReadFrequently?: boolean; @@ -13896,41 +12588,6 @@ interface ImageBitmap { close(): void; } -interface URLSearchParams { - /** - * Appends a specified key/value pair as a new search parameter. - */ - append(name: string, value: string): void; - /** - * Deletes the given search parameter, and its associated value, from the list of all search parameters. - */ - delete(name: string): void; - /** - * Returns the first value associated to the given search parameter. - */ - get(name: string): string | null; - /** - * Returns all the values association with a given search parameter. - */ - getAll(name: string): string[]; - /** - * Returns a Boolean indicating if such a search parameter exists. - */ - has(name: string): boolean; - /** - * Sets the value associated to a given search parameter to the given value. If there were several values, delete the others. - */ - set(name: string, value: string): void; -} - -declare var URLSearchParams: { - prototype: URLSearchParams; - /** - * Constructor returning a URLSearchParams object. - */ - new (init?: string | URLSearchParams): URLSearchParams; -}; - interface NodeListOf extends NodeList { length: number; item(index: number): TNode; @@ -13962,197 +12619,12 @@ interface ProgressEventInit extends EventInit { total?: number; } -interface ScrollOptions { - behavior?: ScrollBehavior; -} - -interface ScrollToOptions extends ScrollOptions { - left?: number; - top?: number; -} - -interface ScrollIntoViewOptions extends ScrollOptions { - block?: ScrollLogicalPosition; - inline?: ScrollLogicalPosition; -} - interface ClipboardEventInit extends EventInit { data?: string; dataType?: string; } -interface IDBArrayKey extends Array { -} - -interface RsaKeyGenParams extends Algorithm { - modulusLength: number; - publicExponent: Uint8Array; -} - -interface RsaHashedKeyGenParams extends RsaKeyGenParams { - hash: AlgorithmIdentifier; -} - -interface RsaKeyAlgorithm extends KeyAlgorithm { - modulusLength: number; - publicExponent: Uint8Array; -} - -interface RsaHashedKeyAlgorithm extends RsaKeyAlgorithm { - hash: AlgorithmIdentifier; -} - -interface RsaHashedImportParams { - hash: AlgorithmIdentifier; -} - -interface RsaPssParams { - saltLength: number; -} - -interface RsaOaepParams extends Algorithm { - label?: BufferSource; -} - -interface EcdsaParams extends Algorithm { - hash: AlgorithmIdentifier; -} - -interface EcKeyGenParams extends Algorithm { - namedCurve: string; -} - -interface EcKeyAlgorithm extends KeyAlgorithm { - typedCurve: string; -} - -interface EcKeyImportParams { - namedCurve: string; -} - -interface EcdhKeyDeriveParams extends Algorithm { - public: CryptoKey; -} - -interface AesCtrParams extends Algorithm { - counter: BufferSource; - length: number; -} - -interface AesKeyAlgorithm extends KeyAlgorithm { - length: number; -} - -interface AesKeyGenParams extends Algorithm { - length: number; -} - -interface AesDerivedKeyParams extends Algorithm { - length: number; -} - -interface AesCbcParams extends Algorithm { - iv: BufferSource; -} - -interface AesCmacParams extends Algorithm { - length: number; -} - -interface AesGcmParams extends Algorithm { - iv: BufferSource; - additionalData?: BufferSource; - tagLength?: number; -} - -interface AesCfbParams extends Algorithm { - iv: BufferSource; -} - -interface HmacImportParams extends Algorithm { - hash?: AlgorithmIdentifier; - length?: number; -} - -interface HmacKeyAlgorithm extends KeyAlgorithm { - hash: AlgorithmIdentifier; - length: number; -} - -interface HmacKeyGenParams extends Algorithm { - hash: AlgorithmIdentifier; - length?: number; -} - -interface DhKeyGenParams extends Algorithm { - prime: Uint8Array; - generator: Uint8Array; -} - -interface DhKeyAlgorithm extends KeyAlgorithm { - prime: Uint8Array; - generator: Uint8Array; -} - -interface DhKeyDeriveParams extends Algorithm { - public: CryptoKey; -} - -interface DhImportKeyParams extends Algorithm { - prime: Uint8Array; - generator: Uint8Array; -} - -interface ConcatParams extends Algorithm { - hash?: AlgorithmIdentifier; - algorithmId: Uint8Array; - partyUInfo: Uint8Array; - partyVInfo: Uint8Array; - publicInfo?: Uint8Array; - privateInfo?: Uint8Array; -} - -interface HkdfCtrParams extends Algorithm { - hash: AlgorithmIdentifier; - label: BufferSource; - context: BufferSource; -} - -interface Pbkdf2Params extends Algorithm { - salt: BufferSource; - iterations: number; - hash: AlgorithmIdentifier; -} - -interface RsaOtherPrimesInfo { - r: string; - d: string; - t: string; -} - -interface JsonWebKey { - kty: string; - use?: string; - key_ops?: string[]; - alg?: string; - kid?: string; - x5u?: string; - x5c?: string; - x5t?: string; - ext?: boolean; - crv?: string; - x?: string; - y?: string; - d?: string; - n?: string; - e?: string; - p?: string; - q?: string; - dp?: string; - dq?: string; - qi?: string; - oth?: RsaOtherPrimesInfo[]; - k?: string; +interface IDBArrayKey extends Array { } interface ParentNode { @@ -14175,11 +12647,6 @@ interface ShadowRoot extends DocumentOrShadowRoot, DocumentFragment { innerHTML: string; } -interface ShadowRootInit { - mode: "open" | "closed"; - delegatesFocus?: boolean; -} - interface HTMLSlotElement extends HTMLElement { name: string; assignedNodes(options?: AssignedNodesOptions): Node[]; @@ -14189,26 +12656,6 @@ interface AssignedNodesOptions { flatten?: boolean; } -interface ElementDefinitionOptions { - extends: string; -} - -interface CustomElementRegistry { - define(name: string, constructor: Function, options?: ElementDefinitionOptions): void; - get(name: string): any; - whenDefined(name: string): PromiseLike; -} - -interface PromiseRejectionEvent extends Event { - readonly promise: PromiseLike; - readonly reason: any; -} - -interface PromiseRejectionEventInit extends EventInit { - promise: PromiseLike; - reason?: any; -} - interface EventListenerOptions { capture?: boolean; } @@ -14264,325 +12711,195 @@ declare var HTMLSummaryElement: { declare type EventListenerOrEventListenerObject = EventListener | EventListenerObject; -interface DecodeErrorCallback { - (error: DOMException): void; -} -interface DecodeSuccessCallback { - (decodedData: AudioBuffer): void; +interface MutationCallback { + (mutations: MutationRecord[], observer: MutationObserver): void; } -interface ErrorEventHandler { - (message: string, filename?: string, lineno?: number, colno?: number, error?: Error): void; +interface PositionCallback { + (position: Position): void; } -interface ForEachCallback { - (keyId: any, status: MediaKeyStatus): void; +interface PositionErrorCallback { + (positionError: PositionError): void; } -interface FrameRequestCallback { - (time: number): void; +interface BlobCallback { + (blob: Blob | null): void; } interface FunctionStringCallback { (data: string): void; } -interface IntersectionObserverCallback { - (entries: IntersectionObserverEntry[], observer: IntersectionObserver): void; +interface FrameRequestCallback { + (time: number): void; } -interface MediaQueryListListener { - (mql: MediaQueryList): void; +interface EventHandlerNonNull { + (event: Event): any; } -interface MSExecAtPriorityFunctionCallback { - (...args: any[]): any; +interface OnErrorEventHandlerNonNull { + (event: Event | string, source?: string, lineno?: number, colno?: number, error?: any): any; } -interface MSLaunchUriCallback { - (): void; +interface OnBeforeUnloadEventHandlerNonNull { + (event: Event): string; } -interface MSUnsafeFunctionCallback { - (): any; +interface IntersectionObserverCallback { + (entries: IntersectionObserverEntry[], observer: IntersectionObserver): void; } -interface MutationCallback { - (mutations: MutationRecord[], observer: MutationObserver): void; +interface NavigatorUserMediaSuccessCallback { + (stream: MediaStream): void; } interface NavigatorUserMediaErrorCallback { (error: MediaStreamError): void; } -interface NavigatorUserMediaSuccessCallback { - (stream: MediaStream): void; -} interface NotificationPermissionCallback { (permission: NotificationPermission): void; } -interface PositionCallback { - (position: Position): void; +interface PerformanceObserverCallback { + (entries: PerformanceObserverEntryList, observer: PerformanceObserver): void; } -interface PositionErrorCallback { - (error: PositionError): void; +interface DecodeErrorCallback { + (error: Error): void; +} +interface DecodeSuccessCallback { + (decodedData: AudioBuffer): void; } interface RTCPeerConnectionErrorCallback { - (error: DOMError): void; + (error: Error): void; } interface RTCSessionDescriptionCallback { - (sdp: RTCSessionDescription): void; + (description: RTCSessionDescriptionInit): void; } interface RTCStatsCallback { (report: RTCStatsReport): void; } +interface GenerateAssertionCallback { + (contents: string, origin: string, options: RTCIdentityProviderOptions): Promise; +} +interface ValidateAssertionCallback { + (assertion: string, origin: string): Promise; +} +interface Function { + (...arguments: any[]): any; +} interface VoidFunction { (): void; } interface HTMLElementTagNameMap { - "a": HTMLAnchorElement; - "applet": HTMLAppletElement; - "area": HTMLAreaElement; - "audio": HTMLAudioElement; - "base": HTMLBaseElement; - "basefont": HTMLBaseFontElement; - "blockquote": HTMLQuoteElement; - "body": HTMLBodyElement; - "br": HTMLBRElement; - "button": HTMLButtonElement; - "canvas": HTMLCanvasElement; - "caption": HTMLTableCaptionElement; - "col": HTMLTableColElement; - "colgroup": HTMLTableColElement; - "data": HTMLDataElement; - "datalist": HTMLDataListElement; - "del": HTMLModElement; - "dir": HTMLDirectoryElement; - "div": HTMLDivElement; - "dl": HTMLDListElement; - "embed": HTMLEmbedElement; - "fieldset": HTMLFieldSetElement; - "font": HTMLFontElement; - "form": HTMLFormElement; - "frame": HTMLFrameElement; - "frameset": HTMLFrameSetElement; - "h1": HTMLHeadingElement; - "h2": HTMLHeadingElement; - "h3": HTMLHeadingElement; - "h4": HTMLHeadingElement; - "h5": HTMLHeadingElement; - "h6": HTMLHeadingElement; - "head": HTMLHeadElement; - "hr": HTMLHRElement; - "html": HTMLHtmlElement; - "iframe": HTMLIFrameElement; - "img": HTMLImageElement; - "input": HTMLInputElement; - "ins": HTMLModElement; - "isindex": HTMLUnknownElement; - "label": HTMLLabelElement; - "legend": HTMLLegendElement; - "li": HTMLLIElement; - "link": HTMLLinkElement; - "listing": HTMLPreElement; - "map": HTMLMapElement; - "marquee": HTMLMarqueeElement; - "menu": HTMLMenuElement; - "meta": HTMLMetaElement; - "meter": HTMLMeterElement; - "nextid": HTMLUnknownElement; - "object": HTMLObjectElement; - "ol": HTMLOListElement; - "optgroup": HTMLOptGroupElement; - "option": HTMLOptionElement; - "output": HTMLOutputElement; - "p": HTMLParagraphElement; - "param": HTMLParamElement; - "picture": HTMLPictureElement; - "pre": HTMLPreElement; - "progress": HTMLProgressElement; - "q": HTMLQuoteElement; - "script": HTMLScriptElement; - "select": HTMLSelectElement; - "source": HTMLSourceElement; - "span": HTMLSpanElement; - "style": HTMLStyleElement; - "table": HTMLTableElement; - "tbody": HTMLTableSectionElement; - "td": HTMLTableDataCellElement; - "template": HTMLTemplateElement; - "textarea": HTMLTextAreaElement; - "tfoot": HTMLTableSectionElement; - "th": HTMLTableHeaderCellElement; - "thead": HTMLTableSectionElement; - "time": HTMLTimeElement; - "title": HTMLTitleElement; - "tr": HTMLTableRowElement; - "track": HTMLTrackElement; - "ul": HTMLUListElement; - "video": HTMLVideoElement; - "x-ms-webview": MSHTMLWebViewElement; - "xmp": HTMLPreElement; } interface ElementTagNameMap extends HTMLElementTagNameMap { - "abbr": HTMLElement; - "acronym": HTMLElement; - "address": HTMLElement; - "article": HTMLElement; - "aside": HTMLElement; - "b": HTMLElement; - "bdo": HTMLElement; - "big": HTMLElement; - "center": HTMLElement; - "circle": SVGCircleElement; - "cite": HTMLElement; - "clippath": SVGClipPathElement; - "code": HTMLElement; - "dd": HTMLElement; - "defs": SVGDefsElement; - "desc": SVGDescElement; - "dfn": HTMLElement; - "dt": HTMLElement; - "ellipse": SVGEllipseElement; - "em": HTMLElement; - "feblend": SVGFEBlendElement; - "fecolormatrix": SVGFEColorMatrixElement; - "fecomponenttransfer": SVGFEComponentTransferElement; - "fecomposite": SVGFECompositeElement; - "feconvolvematrix": SVGFEConvolveMatrixElement; - "fediffuselighting": SVGFEDiffuseLightingElement; - "fedisplacementmap": SVGFEDisplacementMapElement; - "fedistantlight": SVGFEDistantLightElement; - "feflood": SVGFEFloodElement; - "fefunca": SVGFEFuncAElement; - "fefuncb": SVGFEFuncBElement; - "fefuncg": SVGFEFuncGElement; - "fefuncr": SVGFEFuncRElement; - "fegaussianblur": SVGFEGaussianBlurElement; - "feimage": SVGFEImageElement; - "femerge": SVGFEMergeElement; - "femergenode": SVGFEMergeNodeElement; - "femorphology": SVGFEMorphologyElement; - "feoffset": SVGFEOffsetElement; - "fepointlight": SVGFEPointLightElement; - "fespecularlighting": SVGFESpecularLightingElement; - "fespotlight": SVGFESpotLightElement; - "fetile": SVGFETileElement; - "feturbulence": SVGFETurbulenceElement; - "figcaption": HTMLElement; - "figure": HTMLElement; - "filter": SVGFilterElement; - "footer": HTMLElement; - "foreignobject": SVGForeignObjectElement; - "g": SVGGElement; - "header": HTMLElement; - "hgroup": HTMLElement; - "i": HTMLElement; - "image": SVGImageElement; - "kbd": HTMLElement; - "keygen": HTMLElement; - "line": SVGLineElement; - "lineargradient": SVGLinearGradientElement; - "mark": HTMLElement; - "marker": SVGMarkerElement; - "mask": SVGMaskElement; - "metadata": SVGMetadataElement; - "nav": HTMLElement; - "nobr": HTMLElement; - "noframes": HTMLElement; - "noscript": HTMLElement; - "path": SVGPathElement; - "pattern": SVGPatternElement; - "plaintext": HTMLElement; - "polygon": SVGPolygonElement; - "polyline": SVGPolylineElement; - "radialgradient": SVGRadialGradientElement; - "rect": SVGRectElement; - "rt": HTMLElement; - "ruby": HTMLElement; - "s": HTMLElement; - "samp": HTMLElement; - "section": HTMLElement; - "small": HTMLElement; - "stop": SVGStopElement; - "strike": HTMLElement; - "strong": HTMLElement; - "sub": HTMLElement; - "sup": HTMLElement; - "svg": SVGSVGElement; - "switch": SVGSwitchElement; - "symbol": SVGSymbolElement; - "text": SVGTextElement; - "textpath": SVGTextPathElement; - "tspan": SVGTSpanElement; - "tt": HTMLElement; - "u": HTMLElement; - "use": SVGUseElement; - "var": HTMLElement; - "view": SVGViewElement; - "wbr": HTMLElement; } type ElementListTagNameMap = { [key in keyof ElementTagNameMap]: NodeListOf }; -declare var Audio: { new(src?: string): HTMLAudioElement; }; declare var Image: { new(width?: number, height?: number): HTMLImageElement; }; +declare var Audio: { new(src?: string): HTMLAudioElement; }; declare var Option: { new(text?: string, value?: string, defaultSelected?: boolean, selected?: boolean): HTMLOptionElement; }; -declare var applicationCache: ApplicationCache; -declare var caches: CacheStorage; -declare var clientInformation: Navigator; -declare var closed: boolean; -declare var crypto: Crypto; -declare var defaultStatus: string; -declare var devicePixelRatio: number; +declare var window: any; +declare var self: any; declare var document: Document; -declare var doNotTrack: string; -declare var event: Event | undefined; -declare var external: External; -declare var frameElement: Element; -declare var frames: Window; -declare var history: History; -declare var innerHeight: number; -declare var innerWidth: number; -declare var isSecureContext: boolean; -declare var length: number; +declare const name: never; declare var location: Location; +declare var history: History; +declare var customElements: CustomElementRegistry; declare var locationbar: BarProp; declare var menubar: BarProp; -declare var msContentScript: ExtensionScriptApis; -declare var msCredentials: MSCredentials; -declare const name: never; +declare var personalbar: BarProp; +declare var scrollbars: BarProp; +declare var statusbar: BarProp; +declare var toolbar: BarProp; +declare var status: string; +declare var closed: boolean; +declare var frames: any; +declare var length: number; +declare var top: any; +declare var opener: any; +declare var parent: any; +declare var frameElement: Element | null; declare var navigator: Navigator; -declare var offscreenBuffering: string | boolean; -declare var onabort: (this: Window, ev: UIEvent) => any; -declare var onafterprint: (this: Window, ev: Event) => any; -declare var onbeforeprint: (this: Window, ev: Event) => any; -declare var onbeforeunload: (this: Window, ev: BeforeUnloadEvent) => any; -declare var onblur: (this: Window, ev: FocusEvent) => any; -declare var oncanplay: (this: Window, ev: Event) => any; -declare var oncanplaythrough: (this: Window, ev: Event) => any; -declare var onchange: (this: Window, ev: Event) => any; +declare var applicationCache: ApplicationCache; +declare var external: External; +declare var screen: Screen; +declare var innerWidth: number; +declare var innerHeight: number; +declare var scrollX: number; +declare var pageXOffset: number; +declare var scrollY: number; +declare var pageYOffset: number; +declare var screenX: number; +declare var screenY: number; +declare var outerWidth: number; +declare var outerHeight: number; +declare var devicePixelRatio: number; +declare var ondeviceorientation: (this: Window, ev: Event) => any; +declare var ondevicemotion: (this: Window, ev: Event) => any; +declare var audioWorklet: Worklet; +declare function close(): void; +declare function stop(): void; +declare function focus(): void; +declare function blur(): void; +declare function open(url?: string, target?: string, features?: string, replace?: boolean): Window; +declare function alert(message?: any): void; +declare function alert(message?: any): void; +declare function confirm(message?: string): boolean; +declare function prompt(message?: string, _default?: string): string | null; +declare function print(): void; +declare function requestAnimationFrame(callback: FrameRequestCallback): number; +declare function cancelAnimationFrame(handle: number): void; +declare function postMessage(message: any, targetOrigin: string, transfer?: any[]): void; +declare function captureEvents(): void; +declare function releaseEvents(): void; +declare function getComputedStyle(elt: Element, pseudoElt?: string): CSSStyleDeclaration; +declare function matchMedia(query: string): MediaQueryList; +declare function moveTo(x: number, y: number): void; +declare function moveBy(x: number, y: number): void; +declare function resizeTo(x: number, y: number): void; +declare function resizeBy(x: number, y: number): void; +declare function scroll(options?: ScrollToOptions): void; +declare function scroll(x: number, y: number): void; +declare function scrollTo(options?: ScrollToOptions): void; +declare function scrollTo(x: number, y: number): void; +declare function scrollBy(options?: ScrollToOptions): void; +declare function scrollBy(x: number, y: number): void; +declare function getSelection(): Selection | null; +declare function createImageBitmap(image: HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | ImageData | Blob, options?: ImageBitmapOptions): Promise; +declare function createImageBitmap(image: HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | ImageData | Blob, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise; +declare function toString(): string; +declare function removeEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +declare function dispatchEvent(event: Event): boolean; +declare var onabort: (this: Window, ev: undefined) => any; +declare var onauxclick: (this: Window, ev: MouseEvent) => any; +declare var onblur: (this: Window, ev: undefined) => any; +declare var oncancel: (this: Window, ev: undefined) => any; +declare var oncanplay: (this: Window, ev: undefined) => any; +declare var oncanplaythrough: (this: Window, ev: undefined) => any; +declare var onchange: (this: Window, ev: undefined) => any; declare var onclick: (this: Window, ev: MouseEvent) => any; -declare var oncompassneedscalibration: (this: Window, ev: Event) => any; -declare var oncontextmenu: (this: Window, ev: PointerEvent) => any; +declare var onclose: (this: Window, ev: undefined) => any; +declare var oncontextmenu: (this: Window, ev: MouseEvent) => any; +declare var oncuechange: (this: Window, ev: undefined) => any; declare var ondblclick: (this: Window, ev: MouseEvent) => any; -declare var ondevicelight: (this: Window, ev: DeviceLightEvent) => any; -declare var ondevicemotion: (this: Window, ev: DeviceMotionEvent) => any; -declare var ondeviceorientation: (this: Window, ev: DeviceOrientationEvent) => any; declare var ondrag: (this: Window, ev: DragEvent) => any; declare var ondragend: (this: Window, ev: DragEvent) => any; declare var ondragenter: (this: Window, ev: DragEvent) => any; +declare var ondragexit: (this: Window, ev: DragEvent) => any; declare var ondragleave: (this: Window, ev: DragEvent) => any; declare var ondragover: (this: Window, ev: DragEvent) => any; declare var ondragstart: (this: Window, ev: DragEvent) => any; declare var ondrop: (this: Window, ev: DragEvent) => any; -declare var ondurationchange: (this: Window, ev: Event) => any; -declare var onemptied: (this: Window, ev: Event) => any; -declare var onended: (this: Window, ev: MediaStreamErrorEvent) => any; -declare var onerror: ErrorEventHandler; -declare var onfocus: (this: Window, ev: FocusEvent) => any; -declare var onhashchange: (this: Window, ev: HashChangeEvent) => any; -declare var oninput: (this: Window, ev: Event) => any; -declare var oninvalid: (this: Window, ev: Event) => any; +declare var ondurationchange: (this: Window, ev: undefined) => any; +declare var onemptied: (this: Window, ev: undefined) => any; +declare var onended: (this: Window, ev: undefined) => any; +declare var onerror: OnErrorEventHandler; +declare var onfocus: (this: Window, ev: undefined) => any; +declare var oninput: (this: Window, ev: undefined) => any; +declare var oninvalid: (this: Window, ev: undefined) => any; declare var onkeydown: (this: Window, ev: KeyboardEvent) => any; declare var onkeypress: (this: Window, ev: KeyboardEvent) => any; declare var onkeyup: (this: Window, ev: KeyboardEvent) => any; -declare var onload: (this: Window, ev: Event) => any; -declare var onloadeddata: (this: Window, ev: Event) => any; -declare var onloadedmetadata: (this: Window, ev: Event) => any; -declare var onloadstart: (this: Window, ev: Event) => any; -declare var onmessage: (this: Window, ev: MessageEvent) => any; +declare var onload: (this: Window, ev: undefined) => any; +declare var onloadeddata: (this: Window, ev: undefined) => any; +declare var onloadedmetadata: (this: Window, ev: undefined) => any; +declare var onloadend: (this: Window, ev: undefined) => any; +declare var onloadstart: (this: Window, ev: undefined) => any; declare var onmousedown: (this: Window, ev: MouseEvent) => any; declare var onmouseenter: (this: Window, ev: MouseEvent) => any; declare var onmouseleave: (this: Window, ev: MouseEvent) => any; @@ -14590,256 +12907,236 @@ declare var onmousemove: (this: Window, ev: MouseEvent) => any; declare var onmouseout: (this: Window, ev: MouseEvent) => any; declare var onmouseover: (this: Window, ev: MouseEvent) => any; declare var onmouseup: (this: Window, ev: MouseEvent) => any; -declare var onmousewheel: (this: Window, ev: WheelEvent) => any; -declare var onmsgesturechange: (this: Window, ev: MSGestureEvent) => any; -declare var onmsgesturedoubletap: (this: Window, ev: MSGestureEvent) => any; -declare var onmsgestureend: (this: Window, ev: MSGestureEvent) => any; -declare var onmsgesturehold: (this: Window, ev: MSGestureEvent) => any; -declare var onmsgesturestart: (this: Window, ev: MSGestureEvent) => any; -declare var onmsgesturetap: (this: Window, ev: MSGestureEvent) => any; -declare var onmsinertiastart: (this: Window, ev: MSGestureEvent) => any; -declare var onmspointercancel: (this: Window, ev: MSPointerEvent) => any; -declare var onmspointerdown: (this: Window, ev: MSPointerEvent) => any; -declare var onmspointerenter: (this: Window, ev: MSPointerEvent) => any; -declare var onmspointerleave: (this: Window, ev: MSPointerEvent) => any; -declare var onmspointermove: (this: Window, ev: MSPointerEvent) => any; -declare var onmspointerout: (this: Window, ev: MSPointerEvent) => any; -declare var onmspointerover: (this: Window, ev: MSPointerEvent) => any; -declare var onmspointerup: (this: Window, ev: MSPointerEvent) => any; -declare var onoffline: (this: Window, ev: Event) => any; -declare var ononline: (this: Window, ev: Event) => any; -declare var onorientationchange: (this: Window, ev: Event) => any; +declare var onwheel: (this: Window, ev: WheelEvent) => any; +declare var onpause: (this: Window, ev: undefined) => any; +declare var onplay: (this: Window, ev: undefined) => any; +declare var onplaying: (this: Window, ev: undefined) => any; +declare var onprogress: (this: Window, ev: undefined) => any; +declare var onratechange: (this: Window, ev: undefined) => any; +declare var onreset: (this: Window, ev: undefined) => any; +declare var onresize: (this: Window, ev: undefined) => any; +declare var onscroll: (this: Window, ev: undefined) => any; +declare var onseeked: (this: Window, ev: undefined) => any; +declare var onseeking: (this: Window, ev: undefined) => any; +declare var onselect: (this: Window, ev: undefined) => any; +declare var onshow: (this: Window, ev: RelatedEvent) => any; +declare var onstalled: (this: Window, ev: undefined) => any; +declare var onsubmit: (this: Window, ev: undefined) => any; +declare var onsuspend: (this: Window, ev: undefined) => any; +declare var ontimeupdate: (this: Window, ev: undefined) => any; +declare var ontoggle: (this: Window, ev: undefined) => any; +declare var onvolumechange: (this: Window, ev: undefined) => any; +declare var onwaiting: (this: Window, ev: undefined) => any; +declare var onanimationstart: (this: Window, ev: AnimationEvent) => any; +declare var onanimationiteration: (this: Window, ev: AnimationEvent) => any; +declare var onanimationend: (this: Window, ev: AnimationEvent) => any; +declare var onanimationcancel: (this: Window, ev: AnimationEvent) => any; +declare var ontransitionrun: (this: Window, ev: TransitionEvent) => any; +declare var ontransitionstart: (this: Window, ev: TransitionEvent) => any; +declare var ontransitionend: (this: Window, ev: TransitionEvent) => any; +declare var ontransitioncancel: (this: Window, ev: TransitionEvent) => any; +declare var onpointerdown: (this: Window, ev: Event) => any; +declare var onpointermove: (this: Window, ev: Event) => any; +declare var onpointerup: (this: Window, ev: Event) => any; +declare var onpointercancel: (this: Window, ev: Event) => any; +declare var onpointerover: (this: Window, ev: Event) => any; +declare var onpointerout: (this: Window, ev: Event) => any; +declare var onpointerenter: (this: Window, ev: Event) => any; +declare var onpointerleave: (this: Window, ev: Event) => any; +declare var onselectstart: (this: Window, ev: undefined) => any; +declare var onselectionchange: (this: Window, ev: undefined) => any; +declare var onafterprint: (this: Window, ev: undefined) => any; +declare var onbeforeprint: (this: Window, ev: undefined) => any; +declare var onbeforeunload: OnBeforeUnloadEventHandler; +declare var onhashchange: (this: Window, ev: HashChangeEvent) => any; +declare var onlanguagechange: (this: Window, ev: undefined) => any; +declare var onmessage: (this: Window, ev: MessageEvent) => any; +declare var onoffline: (this: Window, ev: undefined) => any; +declare var ononline: (this: Window, ev: undefined) => any; declare var onpagehide: (this: Window, ev: PageTransitionEvent) => any; declare var onpageshow: (this: Window, ev: PageTransitionEvent) => any; -declare var onpause: (this: Window, ev: Event) => any; -declare var onplay: (this: Window, ev: Event) => any; -declare var onplaying: (this: Window, ev: Event) => any; declare var onpopstate: (this: Window, ev: PopStateEvent) => any; -declare var onprogress: (this: Window, ev: ProgressEvent) => any; -declare var onratechange: (this: Window, ev: Event) => any; -declare var onreadystatechange: (this: Window, ev: ProgressEvent) => any; -declare var onreset: (this: Window, ev: Event) => any; -declare var onresize: (this: Window, ev: UIEvent) => any; -declare var onscroll: (this: Window, ev: UIEvent) => any; -declare var onseeked: (this: Window, ev: Event) => any; -declare var onseeking: (this: Window, ev: Event) => any; -declare var onselect: (this: Window, ev: UIEvent) => any; -declare var onstalled: (this: Window, ev: Event) => any; +declare var onrejectionhandled: (this: Window, ev: PromiseRejectionEvent) => any; declare var onstorage: (this: Window, ev: StorageEvent) => any; -declare var onsubmit: (this: Window, ev: Event) => any; -declare var onsuspend: (this: Window, ev: Event) => any; -declare var ontimeupdate: (this: Window, ev: Event) => any; -declare var ontouchcancel: (ev: TouchEvent) => any; -declare var ontouchend: (ev: TouchEvent) => any; -declare var ontouchmove: (ev: TouchEvent) => any; -declare var ontouchstart: (ev: TouchEvent) => any; -declare var onunload: (this: Window, ev: Event) => any; -declare var onvolumechange: (this: Window, ev: Event) => any; -declare var onwaiting: (this: Window, ev: Event) => any; -declare var opener: any; -declare var orientation: string | number; -declare var outerHeight: number; -declare var outerWidth: number; -declare var pageXOffset: number; -declare var pageYOffset: number; -declare var parent: Window; -declare var performance: Performance; -declare var personalbar: BarProp; -declare var screen: Screen; -declare var screenLeft: number; -declare var screenTop: number; -declare var screenX: number; -declare var screenY: number; -declare var scrollbars: BarProp; -declare var scrollX: number; -declare var scrollY: number; -declare var self: Window; -declare var speechSynthesis: SpeechSynthesis; -declare var status: string; -declare var statusbar: BarProp; -declare var styleMedia: StyleMedia; -declare var toolbar: BarProp; -declare var top: Window; -declare var window: Window; -declare var customElements: CustomElementRegistry; -declare function alert(message?: any): void; -declare function blur(): void; -declare function cancelAnimationFrame(handle: number): void; -declare function captureEvents(): void; -declare function close(): void; -declare function confirm(message?: string): boolean; -declare function departFocus(navigationReason: NavigationReason, origin: FocusNavigationOrigin): void; -declare function focus(): void; -declare function getComputedStyle(elt: Element, pseudoElt?: string): CSSStyleDeclaration; -declare function getMatchedCSSRules(elt: Element, pseudoElt?: string): CSSRuleList; -declare function getSelection(): Selection; -declare function matchMedia(mediaQuery: string): MediaQueryList; -declare function moveBy(x?: number, y?: number): void; -declare function moveTo(x?: number, y?: number): void; -declare function msWriteProfilerMark(profilerMarkName: string): void; -declare function open(url?: string, target?: string, features?: string, replace?: boolean): Window; -declare function postMessage(message: any, targetOrigin: string, transfer?: any[]): void; -declare function print(): void; -declare function prompt(message?: string, _default?: string): string | null; -declare function releaseEvents(): void; -declare function requestAnimationFrame(callback: FrameRequestCallback): number; -declare function resizeBy(x?: number, y?: number): void; -declare function resizeTo(x?: number, y?: number): void; -declare function scroll(x?: number, y?: number): void; -declare function scrollBy(x?: number, y?: number): void; -declare function scrollTo(x?: number, y?: number): void; -declare function stop(): void; -declare function webkitCancelAnimationFrame(handle: number): void; -declare function webkitConvertPointFromNodeToPage(node: Node, pt: WebKitPoint): WebKitPoint; -declare function webkitConvertPointFromPageToNode(node: Node, pt: WebKitPoint): WebKitPoint; -declare function webkitRequestAnimationFrame(callback: FrameRequestCallback): number; -declare function createImageBitmap(image: HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | ImageData | Blob, options?: ImageBitmapOptions): Promise; -declare function createImageBitmap(image: HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | ImageData | Blob, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise; -declare function scroll(options?: ScrollToOptions): void; -declare function scrollTo(options?: ScrollToOptions): void; -declare function scrollBy(options?: ScrollToOptions): void; -declare function toString(): string; -declare function dispatchEvent(evt: Event): boolean; -declare function removeEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; -declare function clearInterval(handle: number): void; -declare function clearTimeout(handle: number): void; -declare function setInterval(handler: (...args: any[]) => void, timeout: number): number; -declare function setInterval(handler: any, timeout?: any, ...args: any[]): number; +declare var onunhandledrejection: (this: Window, ev: PromiseRejectionEvent) => any; +declare var onunload: (this: Window, ev: undefined) => any; +declare var origin: string; +declare var caches: CacheStorage; +declare function btoa(data: string): string; +declare function atob(data: string): string; declare function setTimeout(handler: (...args: any[]) => void, timeout: number): number; declare function setTimeout(handler: any, timeout?: any, ...args: any[]): number; -declare function clearImmediate(handle: number): void; -declare function setImmediate(handler: (...args: any[]) => void): number; -declare function setImmediate(handler: any, ...args: any[]): number; +declare function clearTimeout(handle?: number): void; +declare function setInterval(handler: (...args: any[]) => void, timeout: number): number; +declare function setInterval(handler: any, timeout?: any, ...args: any[]): number; +declare function clearInterval(handle?: number): void; +declare function createImageBitmap(image: ImageBitmapSource, options?: ImageBitmapOptions): Promise; +declare function createImageBitmap(image: ImageBitmapSource, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise; +declare function fetch(input: RequestInfo, init?: RequestInit): Promise; declare var sessionStorage: Storage; declare var localStorage: Storage; -declare var console: Console; -declare var onpointercancel: (this: Window, ev: PointerEvent) => any; -declare var onpointerdown: (this: Window, ev: PointerEvent) => any; -declare var onpointerenter: (this: Window, ev: PointerEvent) => any; -declare var onpointerleave: (this: Window, ev: PointerEvent) => any; -declare var onpointermove: (this: Window, ev: PointerEvent) => any; -declare var onpointerout: (this: Window, ev: PointerEvent) => any; -declare var onpointerover: (this: Window, ev: PointerEvent) => any; -declare var onpointerup: (this: Window, ev: PointerEvent) => any; -declare var onwheel: (this: Window, ev: WheelEvent) => any; +declare var performance: Performance; declare var indexedDB: IDBFactory; -declare function atob(encodedString: string): string; -declare function btoa(rawString: string): string; -declare function fetch(input: RequestInfo, init?: RequestInit): Promise; +declare var crypto: Crypto; +declare var speechSynthesis: SpeechSynthesis; declare function addEventListener(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, useCapture?: boolean): void; declare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -type AAGUID = string; -type AlgorithmIdentifier = string | Algorithm; +type GeometryNode = Text | Element | CSSPseudoElement | Document; +type HeadersInit = any[][] | any; type BodyInit = any; -type ByteString = string; +type RequestInfo = Request | string; +type DOMHighResTimeStamp = number; +type HTMLOrSVGScriptElement = HTMLScriptElement | SVGScriptElement; +type MediaProvider = MediaStream | MediaSource | Blob; +type RenderingContext = CanvasRenderingContext2D | WebGLRenderingContext; +type HTMLOrSVGImageElement = HTMLImageElement | SVGImageElement; +type CanvasImageSource = HTMLOrSVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | OffscreenCanvas; +type OffscreenRenderingContext = OffscreenCanvasRenderingContext2D | WebGLRenderingContext; +type EventHandler = EventHandlerNonNull; +type OnErrorEventHandler = OnErrorEventHandlerNonNull; +type OnBeforeUnloadEventHandler = OnBeforeUnloadEventHandlerNonNull; +type TimerHandler = string | Function; +type ImageBitmapSource = CanvasImageSource | Blob | ImageData; +type MessageEventSource = any; +type MediaStreamError = any; +type ConstrainLong = number | ConstrainLongRange; +type ConstrainDouble = number | ConstrainDoubleRange; type ConstrainBoolean = boolean | ConstrainBooleanParameters; type ConstrainDOMString = string | string[] | ConstrainDOMStringParameters; -type ConstrainDouble = number | ConstrainDoubleRange; -type ConstrainLong = number | ConstrainLongRange; -type CryptoOperationData = ArrayBufferView; -type GLbitfield = number; +type PerformanceEntryList = PerformanceEntry[]; +type PushMessageDataInit = BufferSource | string; +type AuthenticatorSelectionList = AAGUID[]; +type AAGUID = BufferSource; +type AlgorithmIdentifier = any; +type HashAlgorithmIdentifier = AlgorithmIdentifier; +type BigInteger = Uint8Array; +type NamedCurve = string; +type GLenum = number; type GLboolean = boolean; +type GLbitfield = number; type GLbyte = number; -type GLclampf = number; -type GLenum = number; -type GLfloat = number; -type GLint = number; -type GLintptr = number; type GLshort = number; +type GLint = number; type GLsizei = number; +type GLintptr = number; type GLsizeiptr = number; type GLubyte = number; -type GLuint = number; type GLushort = number; -type HeadersInit = Headers | string[][]; -type IDBKeyPath = string; -type KeyFormat = string; -type KeyType = string; -type KeyUsage = string; -type MSInboundPayload = MSVideoRecvPayload | MSAudioRecvPayload; -type MSLocalClientEvent = MSLocalClientEventBase | MSAudioLocalClientEvent; -type MSOutboundPayload = MSVideoSendPayload | MSAudioSendPayload; -type RTCIceGatherCandidate = RTCIceCandidateDictionary | RTCIceCandidateComplete; -type RTCTransport = RTCDtlsTransport | RTCSrtpSdesTransport; -type RequestInfo = Request | string; -type USVString = string; -type payloadtype = number; -type ScrollBehavior = "auto" | "instant" | "smooth"; -type ScrollLogicalPosition = "start" | "center" | "end" | "nearest"; +type GLuint = number; +type GLfloat = number; +type GLclampf = number; +type BufferDataSource = ArrayBuffer | ArrayBufferView; +type TexImageSource = ImageBitmap | ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement; +type Float32List = Float32Array | GLfloat[]; +type Int32List = Int32Array | GLint[]; +type ArrayBufferView = Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView; +type BufferSource = ArrayBufferView | ArrayBuffer; +type DOMTimeStamp = number; +type FormDataEntryValue = File | string; type IDBValidKey = number | string | Date | IDBArrayKey; -type BufferSource = ArrayBuffer | ArrayBufferView; type MouseWheelEvent = WheelEvent; -type ScrollRestoration = "auto" | "manual"; type FormDataEntryValue = string | File; type InsertPosition = "beforebegin" | "afterbegin" | "beforeend" | "afterend"; -type AppendMode = "segments" | "sequence"; -type AudioContextState = "suspended" | "running" | "closed"; -type BiquadFilterType = "lowpass" | "highpass" | "bandpass" | "lowshelf" | "highshelf" | "peaking" | "notch" | "allpass"; +type ScrollBehavior = "auto" | "instant" | "smooth"; +type ScrollLogicalPosition = "start" | "center" | "end" | "nearest"; +type CSSBoxType = "margin" | "border" | "padding" | "content"; +type ShadowRootMode = "open" | "closed"; +type MediaKeysRequirement = "required" | "optional" | "not-allowed"; +type MediaKeySessionType = "temporary" | "persistent-license"; +type MediaKeyStatus = "usable" | "expired" | "released" | "output-restricted" | "output-downscaled" | "status-pending" | "internal-error"; +type MediaKeyMessageType = "license-request" | "license-renewal" | "license-release" | "individualization-request"; +type RequestType = "" | "audio" | "font" | "image" | "script" | "style" | "track" | "video"; +type RequestDestination = "" | "audio" | "document" | "embed" | "font" | "image" | "manifest" | "object" | "report" | "script" | "serviceworker" | "sharedworker" | "style" | "track" | "video" | "worker" | "xslt"; +type RequestMode = "navigate" | "same-origin" | "no-cors" | "cors"; +type RequestCredentials = "omit" | "same-origin" | "include"; +type RequestCache = "default" | "no-store" | "reload" | "no-cache" | "force-cache" | "only-if-cached"; +type RequestRedirect = "follow" | "error" | "manual"; +type ResponseType = "basic" | "cors" | "default" | "error" | "opaque" | "opaqueredirect"; +type GamepadMappingType = "" | "standard"; +type SensorState = "unconnected" | "activating" | "activated" | "idle" | "errored"; +type DocumentReadyState = "loading" | "interactive" | "complete"; +type CanPlayTypeResult = "" | "maybe" | "probably"; +type TextTrackMode = "disabled" | "hidden" | "showing"; +type TextTrackKind = "subtitles" | "captions" | "descriptions" | "chapters" | "metadata"; +type SelectionMode = "select" | "start" | "end" | "preserve"; type CanvasFillRule = "nonzero" | "evenodd"; -type ChannelCountMode = "max" | "clamped-max" | "explicit"; -type ChannelInterpretation = "speakers" | "discrete"; -type DistanceModelType = "linear" | "inverse" | "exponential"; -type ExpandGranularity = "character" | "word" | "sentence" | "textedit"; -type GamepadInputEmulationType = "mouse" | "keyboard" | "gamepad"; -type IDBCursorDirection = "next" | "nextunique" | "prev" | "prevunique"; -type IDBRequestReadyState = "pending" | "done"; +type ImageSmoothingQuality = "low" | "medium" | "high"; +type CanvasLineCap = "butt" | "round" | "square"; +type CanvasLineJoin = "round" | "bevel" | "miter"; +type CanvasTextAlign = "start" | "end" | "left" | "right" | "center"; +type CanvasTextBaseline = "top" | "hanging" | "middle" | "alphabetic" | "ideographic" | "bottom"; +type CanvasDirection = "ltr" | "rtl" | "inherit"; +type OffscreenRenderingContextType = "2d" | "webgl"; +type ScrollRestoration = "auto" | "manual"; +type ImageOrientation = "none" | "flipY"; +type PremultiplyAlpha = "none" | "premultiply" | "default"; +type ColorSpaceConversion = "none" | "default"; +type ResizeQuality = "pixelated" | "low" | "medium" | "high"; +type BinaryType = "blob" | "arraybuffer"; +type WorkerType = "classic" | "module"; +type RTCStatsType = "codec" | "inbound-rtp" | "outbound-rtp" | "peer-connection" | "data-channel" | "track" | "transport" | "candidate-pair" | "local-candidate" | "remote-candidate" | "certificate"; +type RTCStatsIceCandidatePairState = "frozen" | "waiting" | "inprogress" | "failed" | "succeeded" | "cancelled"; type IDBTransactionMode = "readonly" | "readwrite" | "versionchange"; -type ListeningState = "inactive" | "active" | "disambiguation"; -type MediaDeviceKind = "audioinput" | "audiooutput" | "videoinput"; -type MediaKeyMessageType = "license-request" | "license-renewal" | "license-release" | "individualization-request"; -type MediaKeySessionType = "temporary" | "persistent-license" | "persistent-release-message"; -type MediaKeysRequirement = "required" | "optional" | "not-allowed"; -type MediaKeyStatus = "usable" | "expired" | "output-downscaled" | "output-not-allowed" | "status-pending" | "internal-error"; +type IDBRequestReadyState = "pending" | "done"; +type IDBCursorDirection = "next" | "nextunique" | "prev" | "prevunique"; type MediaStreamTrackState = "live" | "ended"; -type MSCredentialType = "FIDO_2_0"; -type MSIceAddrType = "os" | "stun" | "turn" | "peer-derived"; -type MSIceType = "failed" | "direct" | "relay"; -type MSStatsType = "description" | "localclientevent" | "inbound-network" | "outbound-network" | "inbound-payload" | "outbound-payload" | "transportdiagnostics"; -type MSTransportType = "Embedded" | "USB" | "NFC" | "BT"; -type MSWebViewPermissionState = "unknown" | "defer" | "allow" | "deny"; -type MSWebViewPermissionType = "geolocation" | "unlimitedIndexedDBQuota" | "media" | "pointerlock" | "webnotifications"; -type NavigationReason = "up" | "down" | "left" | "right"; +type VideoFacingModeEnum = "user" | "environment" | "left" | "right"; +type MediaDeviceKind = "audioinput" | "audiooutput" | "videoinput"; +type ReadyState = "closed" | "open" | "ended"; +type EndOfStreamError = "network" | "decode"; +type AppendMode = "segments" | "sequence"; type NavigationType = "navigate" | "reload" | "back_forward" | "prerender"; -type NotificationDirection = "auto" | "ltr" | "rtl"; type NotificationPermission = "default" | "denied" | "granted"; -type OscillatorType = "sine" | "square" | "sawtooth" | "triangle" | "custom"; -type OverSampleType = "none" | "2x" | "4x"; -type PanningModelType = "equalpower"; -type PaymentComplete = "success" | "fail" | ""; +type NotificationDirection = "auto" | "ltr" | "rtl"; type PaymentShippingType = "shipping" | "delivery" | "pickup"; +type PaymentComplete = "fail" | "success" | "unknown"; type PushEncryptionKeyName = "p256dh" | "auth"; -type PushPermissionState = "granted" | "denied" | "prompt"; -type ReferrerPolicy = "" | "no-referrer" | "no-referrer-when-downgrade" | "origin-only" | "origin-when-cross-origin" | "unsafe-url"; -type RequestCache = "default" | "no-store" | "reload" | "no-cache" | "force-cache"; -type RequestCredentials = "omit" | "same-origin" | "include"; -type RequestDestination = "" | "document" | "sharedworker" | "subresource" | "unknown" | "worker"; -type RequestMode = "navigate" | "same-origin" | "no-cors" | "cors"; -type RequestRedirect = "follow" | "error" | "manual"; -type RequestType = "" | "audio" | "font" | "image" | "script" | "style" | "track" | "video"; -type ResponseType = "basic" | "cors" | "default" | "error" | "opaque" | "opaqueredirect"; +type PushPermissionState = "denied" | "granted" | "prompt"; +type ServiceWorkerState = "installing" | "installed" | "activating" | "activated" | "redundant"; +type ClientType = "window" | "worker" | "sharedworker" | "all"; +type AnimationPlayState = "idle" | "pending" | "running" | "paused" | "finished"; +type FillMode = "none" | "forwards" | "backwards" | "both" | "auto"; +type PlaybackDirection = "normal" | "reverse" | "alternate" | "alternate-reverse"; +type IterationCompositeOperation = "replace" | "accumulate"; +type CompositeOperation = "replace" | "add" | "accumulate"; +type AudioContextState = "suspended" | "running" | "closed"; +type AudioContextLatencyCategory = "balanced" | "interactive" | "playback"; +type ChannelCountMode = "max" | "clamped-max" | "explicit"; +type ChannelInterpretation = "speakers" | "discrete"; +type PanningModelType = "equalpower" | "HRTF"; +type DistanceModelType = "linear" | "inverse" | "exponential"; +type BiquadFilterType = "lowpass" | "highpass" | "bandpass" | "lowshelf" | "highshelf" | "peaking" | "notch" | "allpass"; +type OverSampleType = "none" | "2x" | "4x"; +type OscillatorType = "sine" | "square" | "sawtooth" | "triangle" | "custom"; +type Attachment = "platform" | "cross-platform"; +type ScopedCredentialType = "ScopedCred"; +type Transport = "usb" | "nfc" | "ble"; +type KeyType = "public" | "private" | "secret"; +type KeyUsage = "encrypt" | "decrypt" | "sign" | "verify" | "deriveKey" | "deriveBits" | "wrapKey" | "unwrapKey"; +type KeyFormat = "raw" | "spki" | "pkcs8" | "jwk"; +type SpeechRecognitionErrorCode = "no-speech" | "aborted" | "audio-capture" | "network" | "not-allowed" | "service-not-allowed" | "bad-grammar" | "language-not-supported"; +type SpeechSynthesisErrorCode = "canceled" | "interrupted" | "audio-busy" | "audio-hardware" | "network" | "synthesis-unavailable" | "synthesis-failed" | "language-unavailable" | "voice-unavailable" | "text-too-long" | "invalid-argument"; +type RTCIceCredentialType = "password" | "token"; +type RTCIceTransportPolicy = "relay" | "all"; type RTCBundlePolicy = "balanced" | "max-compat" | "max-bundle"; -type RTCDegradationPreference = "maintain-framerate" | "maintain-resolution" | "balanced"; -type RTCDtlsRole = "auto" | "client" | "server"; -type RTCDtlsTransportState = "new" | "connecting" | "connected" | "closed"; -type RTCIceCandidateType = "host" | "srflx" | "prflx" | "relay"; -type RTCIceComponent = "RTP" | "RTCP"; -type RTCIceConnectionState = "new" | "checking" | "connected" | "completed" | "failed" | "disconnected" | "closed"; -type RTCIceGathererState = "new" | "gathering" | "complete"; +type RTCRtcpMuxPolicy = "negotiate" | "require"; +type RTCSignalingState = "stable" | "have-local-offer" | "have-remote-offer" | "have-local-pranswer" | "have-remote-pranswer"; type RTCIceGatheringState = "new" | "gathering" | "complete"; -type RTCIceGatherPolicy = "all" | "nohost" | "relay"; +type RTCPeerConnectionState = "new" | "connecting" | "connected" | "disconnected" | "failed" | "closed"; +type RTCIceConnectionState = "new" | "checking" | "connected" | "completed" | "failed" | "disconnected" | "closed"; +type RTCSdpType = "offer" | "pranswer" | "answer" | "rollback"; type RTCIceProtocol = "udp" | "tcp"; -type RTCIceRole = "controlling" | "controlled"; type RTCIceTcpCandidateType = "active" | "passive" | "so"; -type RTCIceTransportPolicy = "none" | "relay" | "all"; -type RTCIceTransportState = "new" | "checking" | "connected" | "completed" | "disconnected" | "closed"; -type RTCSdpType = "offer" | "pranswer" | "answer"; -type RTCSignalingState = "stable" | "have-local-offer" | "have-remote-offer" | "have-local-pranswer" | "have-remote-pranswer" | "closed"; -type RTCStatsIceCandidatePairState = "frozen" | "waiting" | "inprogress" | "failed" | "succeeded" | "cancelled"; -type RTCStatsIceCandidateType = "host" | "serverreflexive" | "peerreflexive" | "relayed"; -type RTCStatsType = "inboundrtp" | "outboundrtp" | "session" | "datachannel" | "track" | "transport" | "candidatepair" | "localcandidate" | "remotecandidate"; -type ScopedCredentialType = "ScopedCred"; -type ServiceWorkerState = "installing" | "installed" | "activating" | "activated" | "redundant"; -type Transport = "usb" | "nfc" | "ble"; -type VideoFacingModeEnum = "user" | "environment" | "left" | "right"; -type VisibilityState = "hidden" | "visible" | "prerender" | "unloaded"; +type RTCIceCandidateType = "host" | "srflx" | "prflx" | "relay"; +type RTCPriorityType = "very-low" | "low" | "medium" | "high"; +type RTCRtpTransceiverDirection = "sendrecv" | "sendonly" | "recvonly" | "inactive"; +type RTCDtxStatus = "disabled" | "enabled"; +type RTCDegradationPreference = "maintain-framerate" | "maintain-resolution" | "balanced"; +type RTCDtlsTransportState = "new" | "connecting" | "connected" | "closed" | "failed"; +type RTCIceGathererState = "new" | "gathering" | "complete"; +type RTCIceTransportState = "new" | "checking" | "connected" | "completed" | "failed" | "disconnected" | "closed"; +type RTCIceRole = "controlling" | "controlled"; +type RTCIceComponent = "rtp" | "rtcp"; +type RTCDataChannelState = "connecting" | "open" | "closing" | "closed"; +type WebGLPowerPreference = "default" | "low-power" | "high-performance"; type XMLHttpRequestResponseType = "" | "arraybuffer" | "blob" | "document" | "json" | "text"; \ No newline at end of file diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index 55f69349a..01d321d18 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -3,92 +3,138 @@ /// Worker APIs ///////////////////////////// -interface Algorithm { - name: string; +interface EventInit { + scoped?: boolean; + bubbles?: boolean; + cancelable?: boolean; + composed?: boolean; } -interface CacheQueryOptions { - cacheName?: string; - ignoreMethod?: boolean; - ignoreSearch?: boolean; - ignoreVary?: boolean; +interface RequestInit { + method?: any; + headers?: HeadersInit; + body?: BodyInit | null; + referrer?: string; + referrerPolicy?: any; + mode?: RequestMode; + credentials?: RequestCredentials; + cache?: RequestCache; + redirect?: RequestRedirect; + integrity?: string; + keepalive?: boolean; + window?: any; +} + +interface ResponseInit { + status?: number; + statusText?: any; + headers?: HeadersInit; +} + +interface MessageEventInit extends EventInit { + channel?: string; + data?: any; + origin?: string; + lastEventId?: string; + source?: MessageEventSource | null; + ports?: MessagePort[]; } interface CloseEventInit extends EventInit { + wasClean?: boolean; code?: number; reason?: string; - wasClean?: boolean; } -interface EventInit { - scoped?: boolean; - bubbles?: boolean; - cancelable?: boolean; +interface IDBObjectStoreParameters { + keyPath?: string | string[] | null; + autoIncrement?: boolean; +} + +interface IDBIndexParameters { + unique?: boolean; + multiEntry?: boolean; +} + +interface NotificationOptions { + dir?: NotificationDirection; + lang?: string; + body?: string; + tag?: string; + image?: string; + icon?: string; + badge?: string; + sound?: string; + vibrate?: any; + timestamp?: number; + renotify?: boolean; + silent?: boolean; + requireInteraction?: boolean; + data?: any; + actions?: NotificationAction[]; } interface GetNotificationOptions { tag?: string; } -interface IDBIndexParameters { - multiEntry?: boolean; - unique?: boolean; +interface NotificationEventInit extends ExtendableEventInit { + notification: Notification; + action?: string; } -interface IDBObjectStoreParameters { - autoIncrement?: boolean; - keyPath?: IDBKeyPath | null; +interface PushSubscriptionOptionsInit { + userVisibleOnly?: boolean; + applicationServerKey?: BufferSource | string | null; } -interface KeyAlgorithm { - name?: string; +interface PushEventInit extends ExtendableEventInit { + data?: PushMessageDataInit; } -interface MessageEventInit extends EventInit { - lastEventId?: string; - channel?: string; +interface ClientQueryOptions { + includeUncontrolled?: boolean; + includeReserved?: boolean; + type?: ClientType; +} + +interface ExtendableEventInit extends EventInit { +} + +interface FetchEventInit extends ExtendableEventInit { + request: Request; + preloadResponse: Promise; + clientId?: string; + reservedClientId?: string; + targetClientId?: string; +} + +interface ExtendableMessageEventInit extends ExtendableEventInit { data?: any; origin?: string; + lastEventId?: string; + source?: Client | ServiceWorker | MessagePort | null; ports?: MessagePort[]; - source?: any; -} - -interface NotificationOptions { - body?: string; - dir?: NotificationDirection; - icon?: string; - lang?: string; - tag?: string; } -interface ObjectURLOptions { - oneTimeOnly?: boolean; +interface CacheQueryOptions { + ignoreSearch?: boolean; + ignoreMethod?: boolean; + ignoreVary?: boolean; + cacheName?: string; } -interface PushSubscriptionOptionsInit { - applicationServerKey?: any; - userVisibleOnly?: boolean; +interface SyncEventInit extends ExtendableEventInit { + tag: string; + lastChance?: boolean; } -interface RequestInit { - body?: any; - cache?: RequestCache; - credentials?: RequestCredentials; - headers?: Headers | string[][]; - integrity?: string; - keepalive?: boolean; - method?: string; - mode?: RequestMode; - redirect?: RequestRedirect; - referrer?: string; - referrerPolicy?: ReferrerPolicy; - window?: any; +interface Algorithm { + name: string; } -interface ResponseInit { - headers?: Headers | string[][]; - status?: number; - statusText?: string; +interface KeyAlgorithm { + name: string; } interface ClientQueryOptions { @@ -119,7 +165,7 @@ interface NotificationEventInit extends ExtendableEventInit { } interface PushEventInit extends ExtendableEventInit { - data?: any; + data?: BufferSource | string; } interface SyncEventInit extends ExtendableEventInit { @@ -131,505 +177,387 @@ interface EventListener { (evt: Event): void; } -interface WebKitEntriesCallback { - (evt: Event): void; -} - -interface WebKitErrorCallback { - (evt: Event): void; -} - -interface WebKitFileCallback { +interface NodeFilter { (evt: Event): void; } -interface AudioBuffer { - readonly duration: number; - readonly length: number; - readonly numberOfChannels: number; - readonly sampleRate: number; - copyFromChannel(destination: Float32Array, channelNumber: number, startInChannel?: number): void; - copyToChannel(source: Float32Array, channelNumber: number, startInChannel?: number): void; - getChannelData(channel: number): Float32Array; -} - -declare var AudioBuffer: { - prototype: AudioBuffer; - new(): AudioBuffer; -}; - -interface Blob { - readonly size: number; +interface Event { readonly type: string; - msClose(): void; - msDetachStream(): any; - slice(start?: number, end?: number, contentType?: string): Blob; + readonly target: EventTarget | null; + readonly currentTarget: EventTarget | null; + readonly eventPhase: number; + cancelBubble: boolean; + readonly bubbles: boolean; + readonly cancelable: boolean; + readonly defaultPrevented: boolean; + readonly composed: boolean; + readonly isTrusted: boolean; + readonly timeStamp: number; + readonly scoped: boolean; + composedPath(): EventTarget[]; + stopPropagation(): void; + stopImmediatePropagation(): void; + preventDefault(): void; + initEvent(type: string, bubbles?: boolean, cancelable?: boolean): void; + deepPath(): EventTarget[]; + readonly NONE: number; + readonly CAPTURING_PHASE: number; + readonly AT_TARGET: number; + readonly BUBBLING_PHASE: number; } -declare var Blob: { - prototype: Blob; - new (blobParts?: any[], options?: BlobPropertyBag): Blob; +declare var Event: { + prototype: Event; + new(type: string, eventInitDict?: EventInit): Event; + readonly NONE: number; + readonly CAPTURING_PHASE: number; + readonly AT_TARGET: number; + readonly BUBBLING_PHASE: number; }; -interface Cache { - add(request: RequestInfo): Promise; - addAll(requests: RequestInfo[]): Promise; - delete(request: RequestInfo, options?: CacheQueryOptions): Promise; - keys(request?: RequestInfo, options?: CacheQueryOptions): Promise; - match(request: RequestInfo, options?: CacheQueryOptions): Promise; - matchAll(request?: RequestInfo, options?: CacheQueryOptions): Promise; - put(request: RequestInfo, response: Response): Promise; +interface EventTarget { + addEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; + dispatchEvent(event: Event): boolean; } -declare var Cache: { - prototype: Cache; - new(): Cache; +declare var EventTarget: { + prototype: EventTarget; + new(): EventTarget; }; -interface CacheStorage { - delete(cacheName: string): Promise; - has(cacheName: string): Promise; - keys(): Promise; - match(request: RequestInfo, options?: CacheQueryOptions): Promise; - open(cacheName: string): Promise; +interface Headers { + append(name: any, value: any): void; + delete(name: any): void; + get(name: any): any; + has(name: any): boolean; + set(name: any, value: any): void; } -declare var CacheStorage: { - prototype: CacheStorage; - new(): CacheStorage; +declare var Headers: { + prototype: Headers; + new(init?: Headers | string[][] | object): Headers; }; -interface CloseEvent extends Event { - readonly code: number; - readonly reason: string; - readonly wasClean: boolean; - initCloseEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, wasCleanArg: boolean, codeArg: number, reasonArg: string): void; +interface Request extends Object, Body { + readonly method: any; + readonly url: string; + readonly headers: Headers; + readonly type: RequestType; + readonly destination: RequestDestination; + readonly referrer: string; + readonly referrerPolicy: any; + readonly mode: RequestMode; + readonly credentials: RequestCredentials; + readonly cache: RequestCache; + readonly redirect: RequestRedirect; + readonly integrity: string; + readonly keepalive: boolean; + clone(): Request; } -declare var CloseEvent: { - prototype: CloseEvent; - new(typeArg: string, eventInitDict?: CloseEventInit): CloseEvent; -}; - -interface Console { - assert(test?: boolean, message?: string, ...optionalParams: any[]): void; - clear(): void; - count(countTitle?: string): void; - debug(message?: any, ...optionalParams: any[]): void; - dir(value?: any, ...optionalParams: any[]): void; - dirxml(value: any): void; - error(message?: any, ...optionalParams: any[]): void; - exception(message?: string, ...optionalParams: any[]): void; - group(groupTitle?: string, ...optionalParams: any[]): void; - groupCollapsed(groupTitle?: string, ...optionalParams: any[]): void; - groupEnd(): void; - info(message?: any, ...optionalParams: any[]): void; - log(message?: any, ...optionalParams: any[]): void; - msIsIndependentlyComposed(element: any): boolean; - profile(reportName?: string): void; - profileEnd(): void; - select(element: any): void; - table(...data: any[]): void; - time(timerName?: string): void; - timeEnd(timerName?: string): void; - trace(message?: any, ...optionalParams: any[]): void; - warn(message?: any, ...optionalParams: any[]): void; -} - -declare var Console: { - prototype: Console; - new(): Console; +declare var Request: { + prototype: Request; + new(input: RequestInfo, init?: RequestInit): Request; }; -interface Coordinates { - readonly accuracy: number; - readonly altitude: number | null; - readonly altitudeAccuracy: number | null; - readonly heading: number | null; - readonly latitude: number; - readonly longitude: number; - readonly speed: number | null; +interface Response extends Object, Body { + readonly type: ResponseType; + readonly url: string; + readonly redirected: boolean; + readonly status: number; + readonly ok: boolean; + readonly statusText: any; + readonly headers: Headers; + readonly trailer: Promise; + readonly redirected: boolean; + clone(): Response; } -declare var Coordinates: { - prototype: Coordinates; - new(): Coordinates; +declare var Response: { + prototype: Response; + new(body?: any, init?: ResponseInit): Response; + error: () => Response; + redirect: (url: string, status?: number) => Response; + error(): Response; + redirect(url: string, status?: number): Response; }; -interface CryptoKey { - readonly algorithm: KeyAlgorithm; - readonly extractable: boolean; +interface Blob { + readonly size: number; readonly type: string; - readonly usages: string[]; + readonly isClosed: boolean; + slice(start?: number, end?: number, contentType?: string): Blob; + close(): void; } -declare var CryptoKey: { - prototype: CryptoKey; - new(): CryptoKey; +declare var Blob: { + prototype: Blob; + new (blobParts?: any[], options?: BlobPropertyBag): Blob; }; -interface DOMError { +interface File extends Blob { readonly name: string; - toString(): string; + readonly lastModified: number; } -declare var DOMError: { - prototype: DOMError; - new(): DOMError; +declare var File: { + prototype: File; + new (parts: (ArrayBuffer | ArrayBufferView | Blob | string)[], filename: string, properties?: FilePropertyBag): File; }; -interface DOMException { - readonly code: number; - readonly message: string; - readonly name: string; - toString(): string; - readonly ABORT_ERR: number; - readonly DATA_CLONE_ERR: number; - readonly DOMSTRING_SIZE_ERR: number; - readonly HIERARCHY_REQUEST_ERR: number; - readonly INDEX_SIZE_ERR: number; - readonly INUSE_ATTRIBUTE_ERR: number; - readonly INVALID_ACCESS_ERR: number; - readonly INVALID_CHARACTER_ERR: number; - readonly INVALID_MODIFICATION_ERR: number; - readonly INVALID_NODE_TYPE_ERR: number; - readonly INVALID_STATE_ERR: number; - readonly NAMESPACE_ERR: number; - readonly NETWORK_ERR: number; - readonly NO_DATA_ALLOWED_ERR: number; - readonly NO_MODIFICATION_ALLOWED_ERR: number; - readonly NOT_FOUND_ERR: number; - readonly NOT_SUPPORTED_ERR: number; - readonly PARSE_ERR: number; - readonly QUOTA_EXCEEDED_ERR: number; - readonly SECURITY_ERR: number; - readonly SERIALIZE_ERR: number; - readonly SYNTAX_ERR: number; - readonly TIMEOUT_ERR: number; - readonly TYPE_MISMATCH_ERR: number; - readonly URL_MISMATCH_ERR: number; - readonly VALIDATION_ERR: number; - readonly WRONG_DOCUMENT_ERR: number; -} - -declare var DOMException: { - prototype: DOMException; - new(message?: string, name?: string): DOMException; - readonly ABORT_ERR: number; - readonly DATA_CLONE_ERR: number; - readonly DOMSTRING_SIZE_ERR: number; - readonly HIERARCHY_REQUEST_ERR: number; - readonly INDEX_SIZE_ERR: number; - readonly INUSE_ATTRIBUTE_ERR: number; - readonly INVALID_ACCESS_ERR: number; - readonly INVALID_CHARACTER_ERR: number; - readonly INVALID_MODIFICATION_ERR: number; - readonly INVALID_NODE_TYPE_ERR: number; - readonly INVALID_STATE_ERR: number; - readonly NAMESPACE_ERR: number; - readonly NETWORK_ERR: number; - readonly NO_DATA_ALLOWED_ERR: number; - readonly NO_MODIFICATION_ALLOWED_ERR: number; - readonly NOT_FOUND_ERR: number; - readonly NOT_SUPPORTED_ERR: number; - readonly PARSE_ERR: number; - readonly QUOTA_EXCEEDED_ERR: number; - readonly SECURITY_ERR: number; - readonly SERIALIZE_ERR: number; - readonly SYNTAX_ERR: number; - readonly TIMEOUT_ERR: number; - readonly TYPE_MISMATCH_ERR: number; - readonly URL_MISMATCH_ERR: number; - readonly VALIDATION_ERR: number; - readonly WRONG_DOCUMENT_ERR: number; -}; - -interface DOMStringList { +interface FileList { readonly length: number; - contains(str: string): boolean; - item(index: number): string | null; - [index: number]: string; + item(index: number): File | null; + [index: number]: File; } -declare var DOMStringList: { - prototype: DOMStringList; - new(): DOMStringList; +declare var FileList: { + prototype: FileList; + new(): FileList; }; -interface ErrorEvent extends Event { - readonly colno: number; +interface FileReaderEventMap { + "loadstart": ProgressEvent; + "progress": ProgressEvent; + "load": ProgressEvent; + "abort": ProgressEvent; + "error": ProgressEvent; + "loadend": ProgressEvent; +} + +interface FileReader extends EventTarget { + readonly readyState: number; + readonly result: string | ArrayBuffer | null; readonly error: any; - readonly filename: string; - readonly lineno: number; - readonly message: string; - initErrorEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, messageArg: string, filenameArg: string, linenoArg: number): void; + onloadstart: (this: FileReader, ev: ProgressEvent) => any; + onprogress: (this: FileReader, ev: ProgressEvent) => any; + onload: (this: FileReader, ev: ProgressEvent) => any; + onabort: (this: FileReader, ev: ProgressEvent) => any; + onerror: (this: FileReader, ev: ProgressEvent) => any; + onloadend: (this: FileReader, ev: ProgressEvent) => any; + readAsArrayBuffer(blob: Blob): void; + readAsText(blob: Blob, label?: string): void; + readAsDataURL(blob: Blob): void; + abort(): void; + readonly EMPTY: number; + readonly LOADING: number; + readonly DONE: number; + addEventListener(type: K, listener: (this: FileReader, ev: FileReaderEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var ErrorEvent: { - prototype: ErrorEvent; - new(type: string, errorEventInitDict?: ErrorEventInit): ErrorEvent; +declare var FileReader: { + prototype: FileReader; + new(): FileReader; + readonly EMPTY: number; + readonly LOADING: number; + readonly DONE: number; }; -interface Event { - readonly bubbles: boolean; - readonly cancelable: boolean; - cancelBubble: boolean; - readonly currentTarget: EventTarget; - readonly defaultPrevented: boolean; - readonly eventPhase: number; - readonly isTrusted: boolean; - returnValue: boolean; - readonly srcElement: any; - readonly target: EventTarget; - readonly timeStamp: number; - readonly type: string; - readonly scoped: boolean; - initEvent(eventTypeArg: string, canBubbleArg: boolean, cancelableArg: boolean): void; - preventDefault(): void; - stopImmediatePropagation(): void; - stopPropagation(): void; - deepPath(): EventTarget[]; - readonly AT_TARGET: number; - readonly BUBBLING_PHASE: number; - readonly CAPTURING_PHASE: number; +interface PerformanceEventMap { + "resourcetimingbufferfull": undefined; } -declare var Event: { - prototype: Event; - new(typeArg: string, eventInitDict?: EventInit): Event; - readonly AT_TARGET: number; - readonly BUBBLING_PHASE: number; - readonly CAPTURING_PHASE: number; -}; - -interface EventTarget { - addEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; - dispatchEvent(evt: Event): boolean; - removeEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +interface Performance extends EventTarget { + readonly timing: PerformanceTiming; + readonly navigation: PerformanceNavigation; + onresourcetimingbufferfull: (this: Performance, ev: undefined) => any; + now(): number; + getEntries(): PerformanceEntryList; + getEntriesByType(type: string): PerformanceEntryList; + getEntriesByName(name: string, type?: string): PerformanceEntryList; + clearResourceTimings(): void; + setResourceTimingBufferSize(maxSize: number): void; + mark(markName: string): void; + clearMarks(markName?: string): void; + measure(measureName: string, startMark?: string, endMark?: string): void; + clearMeasures(measureName?: string): void; + addEventListener(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var EventTarget: { - prototype: EventTarget; - new(): EventTarget; +declare var Performance: { + prototype: Performance; + new(): Performance; }; -interface File extends Blob { - readonly lastModifiedDate: any; - readonly name: string; - readonly webkitRelativePath: string; +interface DOMStringList { + readonly length: number; + item(index: number): string | null; + contains(string: string): boolean; + [index: number]: string; } -declare var File: { - prototype: File; - new (parts: (ArrayBuffer | ArrayBufferView | Blob | string)[], filename: string, properties?: FilePropertyBag): File; +declare var DOMStringList: { + prototype: DOMStringList; + new(): DOMStringList; }; -interface FileList { - readonly length: number; - item(index: number): File; - [index: number]: File; +interface ImageData { + readonly width: number; + readonly height: number; + data: Uint8ClampedArray; } -declare var FileList: { - prototype: FileList; - new(): FileList; +declare var ImageData: { + prototype: ImageData; + new(width: number, height: number): ImageData; + new(array: Uint8ClampedArray, width: number, height: number): ImageData; }; -interface FileReader extends EventTarget, MSBaseReader { - readonly error: DOMError; - readAsArrayBuffer(blob: Blob): void; - readAsBinaryString(blob: Blob): void; - readAsDataURL(blob: Blob): void; - readAsText(blob: Blob, encoding?: string): void; - addEventListener(type: K, listener: (this: FileReader, ev: MSBaseReaderEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface ErrorEvent extends Event { + readonly message: string; + readonly filename: string; + readonly lineno: number; + readonly colno: number; + readonly error: any; } -declare var FileReader: { - prototype: FileReader; - new(): FileReader; +declare var ErrorEvent: { + prototype: ErrorEvent; + new(type: string, errorEventInitDict?: ErrorEventInit): ErrorEvent; }; -interface FormData { - append(name: string, value: string | Blob, fileName?: string): void; +interface MessageEvent extends Event { + readonly data: any; + readonly origin: string; + readonly lastEventId: string; + readonly source: MessageEventSource | null; + readonly ports: ReadonlyArray; + initMessageEvent(type: string, bubbles?: boolean, cancelable?: boolean, data?: any, origin?: string, lastEventId?: string, source?: MessageEventSource, ports?: MessagePort[]): void; } -declare var FormData: { - prototype: FormData; - new(): FormData; +declare var MessageEvent: { + prototype: MessageEvent; + new(type: string, eventInitDict?: MessageEventInit): MessageEvent; }; -interface Headers { - append(name: string, value: string): void; - delete(name: string): void; - forEach(callback: ForEachCallback): void; - get(name: string): string | null; - has(name: string): boolean; - set(name: string, value: string): void; +interface WebSocketEventMap { + "open": undefined; + "error": ErrorEvent; + "close": undefined; + "message": MessageEvent; } -declare var Headers: { - prototype: Headers; - new(init?: Headers | string[][] | object): Headers; +interface WebSocket extends EventTarget { + readonly url: string; + readonly readyState: number; + readonly bufferedAmount: number; + onopen: (this: WebSocket, ev: undefined) => any; + onerror: (this: WebSocket, ev: ErrorEvent) => any; + onclose: (this: WebSocket, ev: undefined) => any; + readonly extensions: string; + readonly protocol: string; + onmessage: (this: WebSocket, ev: MessageEvent) => any; + binaryType: BinaryType; + close(code?: number, reason?: string): void; + send(data: string): void; + send(data: Blob): void; + send(data: ArrayBuffer): void; + send(data: ArrayBufferView): void; + readonly CONNECTING: number; + readonly OPEN: number; + readonly CLOSING: number; + readonly CLOSED: number; + addEventListener(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var WebSocket: { + prototype: WebSocket; + new(url: string, protocols?: string | string[]): WebSocket; + readonly CONNECTING: number; + readonly OPEN: number; + readonly CLOSING: number; + readonly CLOSED: number; }; -interface IDBCursor { - readonly direction: IDBCursorDirection; - key: IDBKeyRange | IDBValidKey; - readonly primaryKey: any; - source: IDBObjectStore | IDBIndex; - advance(count: number): void; - continue(key?: IDBKeyRange | IDBValidKey): void; - delete(): IDBRequest; - update(value: any): IDBRequest; - readonly NEXT: string; - readonly NEXT_NO_DUPLICATE: string; - readonly PREV: string; - readonly PREV_NO_DUPLICATE: string; +interface CloseEvent extends Event { + readonly wasClean: boolean; + readonly code: number; + readonly reason: string; } -declare var IDBCursor: { - prototype: IDBCursor; - new(): IDBCursor; - readonly NEXT: string; - readonly NEXT_NO_DUPLICATE: string; - readonly PREV: string; - readonly PREV_NO_DUPLICATE: string; +declare var CloseEvent: { + prototype: CloseEvent; + new(type: string, eventInitDict?: CloseEventInit): CloseEvent; }; -interface IDBCursorWithValue extends IDBCursor { - readonly value: any; +interface MessageChannel { + readonly port1: MessagePort; + readonly port2: MessagePort; } -declare var IDBCursorWithValue: { - prototype: IDBCursorWithValue; - new(): IDBCursorWithValue; +declare var MessageChannel: { + prototype: MessageChannel; + new(): MessageChannel; }; -interface IDBDatabaseEventMap { - "abort": Event; - "error": Event; +interface MessagePortEventMap { + "message": MessageEvent; } -interface IDBDatabase extends EventTarget { - readonly name: string; - readonly objectStoreNames: DOMStringList; - onabort: (this: IDBDatabase, ev: Event) => any; - onerror: (this: IDBDatabase, ev: Event) => any; - version: number; - onversionchange: (ev: IDBVersionChangeEvent) => any; +interface MessagePort extends EventTarget { + onmessage: (this: MessagePort, ev: MessageEvent) => any; + postMessage(message: any, transfer?: any[]): void; + start(): void; close(): void; - createObjectStore(name: string, optionalParameters?: IDBObjectStoreParameters): IDBObjectStore; - deleteObjectStore(name: string): void; - transaction(storeNames: string | string[], mode?: IDBTransactionMode): IDBTransaction; - addEventListener(type: "versionchange", listener: (ev: IDBVersionChangeEvent) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var IDBDatabase: { - prototype: IDBDatabase; - new(): IDBDatabase; +declare var MessagePort: { + prototype: MessagePort; + new(): MessagePort; }; -interface IDBFactory { - cmp(first: any, second: any): number; - deleteDatabase(name: string): IDBOpenDBRequest; - open(name: string, version?: number): IDBOpenDBRequest; +interface WorkerEventMap extends AbstractWorkerEventMap { + "message": MessageEvent; } -declare var IDBFactory: { - prototype: IDBFactory; - new(): IDBFactory; -}; - -interface IDBIndex { - keyPath: string | string[]; - readonly name: string; - readonly objectStore: IDBObjectStore; - readonly unique: boolean; - multiEntry: boolean; - count(key?: IDBKeyRange | IDBValidKey): IDBRequest; - get(key: IDBKeyRange | IDBValidKey): IDBRequest; - getKey(key: IDBKeyRange | IDBValidKey): IDBRequest; - openCursor(range?: IDBKeyRange | IDBValidKey, direction?: IDBCursorDirection): IDBRequest; - openKeyCursor(range?: IDBKeyRange | IDBValidKey, direction?: IDBCursorDirection): IDBRequest; +interface Worker extends EventTarget, AbstractWorker { + onmessage: (this: Worker, ev: MessageEvent) => any; + terminate(): void; + postMessage(message: any, transfer?: any[]): void; + addEventListener(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var IDBIndex: { - prototype: IDBIndex; - new(): IDBIndex; +declare var Worker: { + prototype: Worker; + new(scriptURL: string, options?: WorkerOptions): Worker; }; interface IDBKeyRange { readonly lower: any; - readonly lowerOpen: boolean; readonly upper: any; + readonly lowerOpen: boolean; readonly upperOpen: boolean; } declare var IDBKeyRange: { prototype: IDBKeyRange; new(): IDBKeyRange; - bound(lower: any, upper: any, lowerOpen?: boolean, upperOpen?: boolean): IDBKeyRange; - lowerBound(lower: any, open?: boolean): IDBKeyRange; only(value: any): IDBKeyRange; + lowerBound(lower: any, open?: boolean): IDBKeyRange; upperBound(upper: any, open?: boolean): IDBKeyRange; -}; - -interface IDBObjectStore { - readonly indexNames: DOMStringList; - keyPath: string | string[]; - readonly name: string; - readonly transaction: IDBTransaction; - autoIncrement: boolean; - add(value: any, key?: IDBKeyRange | IDBValidKey): IDBRequest; - clear(): IDBRequest; - count(key?: IDBKeyRange | IDBValidKey): IDBRequest; - createIndex(name: string, keyPath: string | string[], optionalParameters?: IDBIndexParameters): IDBIndex; - delete(key: IDBKeyRange | IDBValidKey): IDBRequest; - deleteIndex(indexName: string): void; - get(key: any): IDBRequest; - index(name: string): IDBIndex; - openCursor(range?: IDBKeyRange | IDBValidKey, direction?: IDBCursorDirection): IDBRequest; - put(value: any, key?: IDBKeyRange | IDBValidKey): IDBRequest; -} - -declare var IDBObjectStore: { - prototype: IDBObjectStore; - new(): IDBObjectStore; -}; - -interface IDBOpenDBRequestEventMap extends IDBRequestEventMap { - "blocked": Event; - "upgradeneeded": IDBVersionChangeEvent; -} - -interface IDBOpenDBRequest extends IDBRequest { - onblocked: (this: IDBOpenDBRequest, ev: Event) => any; - onupgradeneeded: (this: IDBOpenDBRequest, ev: IDBVersionChangeEvent) => any; - addEventListener(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var IDBOpenDBRequest: { - prototype: IDBOpenDBRequest; - new(): IDBOpenDBRequest; + bound(lower: any, upper: any, lowerOpen?: boolean, upperOpen?: boolean): IDBKeyRange; }; interface IDBRequestEventMap { - "error": Event; "success": Event; + "error": ErrorEvent; } - -interface IDBRequest extends EventTarget { - readonly error: DOMException; - onerror: (this: IDBRequest, ev: Event) => any; - onsuccess: (this: IDBRequest, ev: Event) => any; - readonly readyState: IDBRequestReadyState; + +interface IDBRequest extends EventTarget { readonly result: any; + readonly error: DOMException; source: IDBObjectStore | IDBIndex | IDBCursor; readonly transaction: IDBTransaction; + readonly readyState: IDBRequestReadyState; + onsuccess: (this: IDBRequest, ev: Event) => any; + onerror: (this: IDBRequest, ev: ErrorEvent) => any; addEventListener(type: K, listener: (this: IDBRequest, ev: IDBRequestEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } @@ -639,195 +567,183 @@ declare var IDBRequest: { new(): IDBRequest; }; -interface IDBTransactionEventMap { - "abort": Event; - "complete": Event; - "error": Event; +interface IDBOpenDBRequestEventMap extends IDBRequestEventMap { + "blocked": Event; + "upgradeneeded": Event; } -interface IDBTransaction extends EventTarget { - readonly db: IDBDatabase; - readonly error: DOMException; - readonly mode: IDBTransactionMode; - onabort: (this: IDBTransaction, ev: Event) => any; - oncomplete: (this: IDBTransaction, ev: Event) => any; - onerror: (this: IDBTransaction, ev: Event) => any; - abort(): void; - objectStore(name: string): IDBObjectStore; - readonly READ_ONLY: string; - readonly READ_WRITE: string; - readonly VERSION_CHANGE: string; - addEventListener(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, useCapture?: boolean): void; +interface IDBOpenDBRequest extends IDBRequest { + onblocked: (this: IDBOpenDBRequest, ev: Event) => any; + onupgradeneeded: (this: IDBOpenDBRequest, ev: Event) => any; + addEventListener(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var IDBTransaction: { - prototype: IDBTransaction; - new(): IDBTransaction; - readonly READ_ONLY: string; - readonly READ_WRITE: string; - readonly VERSION_CHANGE: string; +declare var IDBOpenDBRequest: { + prototype: IDBOpenDBRequest; + new(): IDBOpenDBRequest; }; interface IDBVersionChangeEvent extends Event { - readonly newVersion: number | null; readonly oldVersion: number; + readonly newVersion: number | null; } declare var IDBVersionChangeEvent: { prototype: IDBVersionChangeEvent; - new(): IDBVersionChangeEvent; + new(type: string, eventInitDict?: IDBVersionChangeEventInit): IDBVersionChangeEvent; }; -interface ImageData { - data: Uint8ClampedArray; - readonly height: number; - readonly width: number; +interface IDBFactory { + open(name: string, version?: number): IDBOpenDBRequest; + deleteDatabase(name: string): IDBOpenDBRequest; + cmp(first: any, second: any): number; } -declare var ImageData: { - prototype: ImageData; - new(width: number, height: number): ImageData; - new(array: Uint8ClampedArray, width: number, height: number): ImageData; +declare var IDBFactory: { + prototype: IDBFactory; + new(): IDBFactory; }; -interface MessageChannel { - readonly port1: MessagePort; - readonly port2: MessagePort; +interface IDBDatabaseEventMap { + "abort": Event; + "error": undefined; + "versionchange": IDBVersionChangeEvent; } -declare var MessageChannel: { - prototype: MessageChannel; - new(): MessageChannel; -}; - -interface MessageEvent extends Event { - readonly data: any; - readonly origin: string; - readonly ports: any; - readonly source: any; - initMessageEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, dataArg: any, originArg: string, lastEventIdArg: string, sourceArg: any): void; +interface IDBDatabase extends EventTarget { + readonly name: string; + version: number; + readonly objectStoreNames: DOMStringList; + onabort: (this: IDBDatabase, ev: Event) => any; + onerror: (this: IDBDatabase, ev: undefined) => any; + onversionchange: (this: IDBDatabase, ev: IDBVersionChangeEvent) => any; + createObjectStore(name: string, optionalParameters?: IDBObjectStoreParameters): IDBObjectStore; + deleteObjectStore(name: string): void; + transaction(storeNames: string | string[], mode?: IDBTransactionMode): IDBTransaction; + close(): void; + addEventListener(type: "versionchange", listener: (ev: IDBVersionChangeEvent) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var MessageEvent: { - prototype: MessageEvent; - new(type: string, eventInitDict?: MessageEventInit): MessageEvent; +declare var IDBDatabase: { + prototype: IDBDatabase; + new(): IDBDatabase; }; -interface MessagePortEventMap { - "message": MessageEvent; -} - -interface MessagePort extends EventTarget { - onmessage: (this: MessagePort, ev: MessageEvent) => any; - close(): void; - postMessage(message?: any, transfer?: any[]): void; - start(): void; - addEventListener(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface IDBObjectStore { + readonly name: string; + keyPath: string | string[]; + readonly indexNames: DOMStringList; + readonly transaction: IDBTransaction; + readonly autoIncrement: boolean; + put(value: any, key?: IDBKeyRange | IDBValidKey): IDBRequest; + add(value: any, key?: IDBKeyRange | IDBValidKey): IDBRequest; + delete(key: IDBKeyRange | IDBValidKey): IDBRequest; + get(key: any): IDBRequest; + clear(): IDBRequest; + openCursor(range?: IDBKeyRange | IDBValidKey, direction?: IDBCursorDirection): IDBRequest; + createIndex(name: string, keyPath: string | string[], optionalParameters?: IDBIndexParameters): IDBIndex; + index(name: string): IDBIndex; + deleteIndex(indexName: string): void; + count(key?: IDBKeyRange | IDBValidKey): IDBRequest; } -declare var MessagePort: { - prototype: MessagePort; - new(): MessagePort; +declare var IDBObjectStore: { + prototype: IDBObjectStore; + new(): IDBObjectStore; }; -interface NotificationEventMap { - "click": Event; - "close": Event; - "error": Event; - "show": Event; +interface IDBIndex { + readonly name: string; + readonly objectStore: IDBObjectStore; + keyPath: string | string[]; + readonly multiEntry: boolean; + readonly unique: boolean; + openCursor(range?: IDBKeyRange | IDBValidKey, direction?: IDBCursorDirection): IDBRequest; + openKeyCursor(range?: IDBKeyRange | IDBValidKey, direction?: IDBCursorDirection): IDBRequest; + get(key: IDBKeyRange | IDBValidKey): IDBRequest; + getKey(key: IDBKeyRange | IDBValidKey): IDBRequest; + count(key?: IDBKeyRange | IDBValidKey): IDBRequest; } -interface Notification extends EventTarget { - readonly body: string; - readonly dir: NotificationDirection; - readonly icon: string; - readonly lang: string; - onclick: (this: Notification, ev: Event) => any; - onclose: (this: Notification, ev: Event) => any; - onerror: (this: Notification, ev: Event) => any; - onshow: (this: Notification, ev: Event) => any; - readonly permission: NotificationPermission; - readonly tag: string; - readonly title: string; - close(): void; - addEventListener(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare var IDBIndex: { + prototype: IDBIndex; + new(): IDBIndex; +}; + +interface IDBCursor { + source: IDBObjectStore | IDBIndex; + readonly direction: IDBCursorDirection; + key: IDBKeyRange | IDBValidKey; + readonly primaryKey: any; + update(value: any): IDBRequest; + advance(count: number): void; + continue(key?: IDBKeyRange | IDBValidKey): void; + delete(): IDBRequest; } -declare var Notification: { - prototype: Notification; - new(title: string, options?: NotificationOptions): Notification; - requestPermission(callback?: NotificationPermissionCallback): Promise; +declare var IDBCursor: { + prototype: IDBCursor; + new(): IDBCursor; }; -interface Performance { - readonly navigation: PerformanceNavigation; - readonly timing: PerformanceTiming; - clearMarks(markName?: string): void; - clearMeasures(measureName?: string): void; - clearResourceTimings(): void; - getEntries(): any; - getEntriesByName(name: string, entryType?: string): any; - getEntriesByType(entryType: string): any; - getMarks(markName?: string): any; - getMeasures(measureName?: string): any; - mark(markName: string): void; - measure(measureName: string, startMarkName?: string, endMarkName?: string): void; - now(): number; - setResourceTimingBufferSize(maxSize: number): void; - toJSON(): any; +interface IDBCursorWithValue extends IDBCursor { + readonly value: any; } -declare var Performance: { - prototype: Performance; - new(): Performance; +declare var IDBCursorWithValue: { + prototype: IDBCursorWithValue; + new(): IDBCursorWithValue; }; -interface PerformanceNavigation { - readonly redirectCount: number; - readonly type: number; - toJSON(): any; - readonly TYPE_BACK_FORWARD: number; - readonly TYPE_NAVIGATE: number; - readonly TYPE_RELOAD: number; - readonly TYPE_RESERVED: number; +interface IDBTransactionEventMap { + "abort": Event; + "complete": Event; + "error": ErrorEvent; } -declare var PerformanceNavigation: { - prototype: PerformanceNavigation; - new(): PerformanceNavigation; - readonly TYPE_BACK_FORWARD: number; - readonly TYPE_NAVIGATE: number; - readonly TYPE_RELOAD: number; - readonly TYPE_RESERVED: number; +interface IDBTransaction extends EventTarget { + readonly mode: IDBTransactionMode; + readonly db: IDBDatabase; + readonly error: DOMException; + onabort: (this: IDBTransaction, ev: Event) => any; + oncomplete: (this: IDBTransaction, ev: Event) => any; + onerror: (this: IDBTransaction, ev: ErrorEvent) => any; + objectStore(name: string): IDBObjectStore; + abort(): void; + addEventListener(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var IDBTransaction: { + prototype: IDBTransaction; + new(): IDBTransaction; }; interface PerformanceTiming { - readonly connectEnd: number; - readonly connectStart: number; - readonly domainLookupEnd: number; - readonly domainLookupStart: number; - readonly domComplete: number; - readonly domContentLoadedEventEnd: number; - readonly domContentLoadedEventStart: number; - readonly domInteractive: number; - readonly domLoading: number; - readonly fetchStart: number; - readonly loadEventEnd: number; - readonly loadEventStart: number; - readonly msFirstPaint: number; readonly navigationStart: number; - readonly redirectEnd: number; + readonly unloadEventStart: number; + readonly unloadEventEnd: number; readonly redirectStart: number; + readonly redirectEnd: number; + readonly fetchStart: number; + readonly domainLookupStart: number; + readonly domainLookupEnd: number; + readonly connectStart: number; + readonly connectEnd: number; + readonly secureConnectionStart: number; readonly requestStart: number; - readonly responseEnd: number; readonly responseStart: number; - readonly unloadEventEnd: number; - readonly unloadEventStart: number; - readonly secureConnectionStart: number; - toJSON(): any; + readonly responseEnd: number; + readonly domLoading: number; + readonly domInteractive: number; + readonly domContentLoadedEventStart: number; + readonly domContentLoadedEventEnd: number; + readonly domComplete: number; + readonly loadEventStart: number; + readonly loadEventEnd: number; } declare var PerformanceTiming: { @@ -835,49 +751,65 @@ declare var PerformanceTiming: { new(): PerformanceTiming; }; -interface Position { - readonly coords: Coordinates; - readonly timestamp: number; -} - -declare var Position: { - prototype: Position; - new(): Position; -}; - -interface PositionError { - readonly code: number; - readonly message: string; - toString(): string; - readonly PERMISSION_DENIED: number; - readonly POSITION_UNAVAILABLE: number; - readonly TIMEOUT: number; +interface PerformanceNavigation { + readonly type: number; + readonly redirectCount: number; + readonly TYPE_NAVIGATE: number; + readonly TYPE_RELOAD: number; + readonly TYPE_BACK_FORWARD: number; + readonly TYPE_RESERVED: number; } -declare var PositionError: { - prototype: PositionError; - new(): PositionError; - readonly PERMISSION_DENIED: number; - readonly POSITION_UNAVAILABLE: number; - readonly TIMEOUT: number; +declare var PerformanceNavigation: { + prototype: PerformanceNavigation; + new(): PerformanceNavigation; + readonly TYPE_NAVIGATE: number; + readonly TYPE_RELOAD: number; + readonly TYPE_BACK_FORWARD: number; + readonly TYPE_RESERVED: number; }; -interface ProgressEvent extends Event { - readonly lengthComputable: boolean; - readonly loaded: number; - readonly total: number; - initProgressEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, lengthComputableArg: boolean, loadedArg: number, totalArg: number): void; +interface NotificationEventMap { + "click": MouseEvent; + "error": ErrorEvent; } -declare var ProgressEvent: { - prototype: ProgressEvent; - new(type: string, eventInitDict?: ProgressEventInit): ProgressEvent; +interface Notification extends EventTarget { + readonly permission: NotificationPermission; + readonly maxActions: number; + onclick: (this: Notification, ev: MouseEvent) => any; + onerror: (this: Notification, ev: ErrorEvent) => any; + readonly title: string; + readonly dir: NotificationDirection; + readonly lang: string; + readonly body: string; + readonly tag: string; + readonly image: string; + readonly icon: string; + readonly badge: string; + readonly sound: string; + readonly vibrate: ReadonlyArray; + readonly timestamp: number; + readonly renotify: boolean; + readonly silent: boolean; + readonly requireInteraction: boolean; + readonly data: any; + readonly actions: ReadonlyArray; + close(): void; + addEventListener(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var Notification: { + prototype: Notification; + new(title: string, options?: NotificationOptions): Notification; + requestPermission(deprecatedCallback?: NotificationPermissionCallback): Promise; }; interface PushManager { - getSubscription(): Promise; - permissionState(options?: PushSubscriptionOptionsInit): Promise; subscribe(options?: PushSubscriptionOptionsInit): Promise; + getSubscription(): any; + permissionState(options?: PushSubscriptionOptionsInit): Promise; } declare var PushManager: { @@ -885,22 +817,9 @@ declare var PushManager: { new(): PushManager; }; -interface PushSubscription { - readonly endpoint: USVString; - readonly options: PushSubscriptionOptions; - getKey(name: PushEncryptionKeyName): ArrayBuffer | null; - toJSON(): any; - unsubscribe(): Promise; -} - -declare var PushSubscription: { - prototype: PushSubscription; - new(): PushSubscription; -}; - interface PushSubscriptionOptions { - readonly applicationServerKey: ArrayBuffer | null; readonly userVisibleOnly: boolean; + readonly applicationServerKey: ArrayBuffer | null; } declare var PushSubscriptionOptions: { @@ -908,77 +827,26 @@ declare var PushSubscriptionOptions: { new(): PushSubscriptionOptions; }; -interface ReadableStream { - readonly locked: boolean; - cancel(): Promise; - getReader(): ReadableStreamReader; -} - -declare var ReadableStream: { - prototype: ReadableStream; - new(): ReadableStream; -}; - -interface ReadableStreamReader { - cancel(): Promise; - read(): Promise; - releaseLock(): void; -} - -declare var ReadableStreamReader: { - prototype: ReadableStreamReader; - new(): ReadableStreamReader; -}; - -interface Request extends Object, Body { - readonly cache: RequestCache; - readonly credentials: RequestCredentials; - readonly destination: RequestDestination; - readonly headers: Headers; - readonly integrity: string; - readonly keepalive: boolean; - readonly method: string; - readonly mode: RequestMode; - readonly redirect: RequestRedirect; - readonly referrer: string; - readonly referrerPolicy: ReferrerPolicy; - readonly type: RequestType; - readonly url: string; - clone(): Request; -} - -declare var Request: { - prototype: Request; - new(input: Request | string, init?: RequestInit): Request; -}; - -interface Response extends Object, Body { - readonly body: ReadableStream | null; - readonly headers: Headers; - readonly ok: boolean; - readonly status: number; - readonly statusText: string; - readonly type: ResponseType; - readonly url: string; - readonly redirected: boolean; - clone(): Response; +interface PushSubscription { + readonly endpoint: string; + readonly options: PushSubscriptionOptions; + getKey(name: PushEncryptionKeyName): ArrayBuffer | null; + unsubscribe(): Promise; } -declare var Response: { - prototype: Response; - new(body?: any, init?: ResponseInit): Response; - error: () => Response; - redirect: (url: string, status?: number) => Response; +declare var PushSubscription: { + prototype: PushSubscription; + new(): PushSubscription; }; interface ServiceWorkerEventMap extends AbstractWorkerEventMap { - "statechange": Event; + "statechange": undefined; } interface ServiceWorker extends EventTarget, AbstractWorker { - onstatechange: (this: ServiceWorker, ev: Event) => any; - readonly scriptURL: USVString; + readonly scriptURL: string; readonly state: ServiceWorkerState; + onstatechange: (this: ServiceWorker, ev: undefined) => any; postMessage(message: any, transfer?: any[]): void; addEventListener(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; @@ -994,17 +862,19 @@ interface ServiceWorkerRegistrationEventMap { } interface ServiceWorkerRegistration extends EventTarget { - readonly active: ServiceWorker | null; readonly installing: ServiceWorker | null; + readonly waiting: ServiceWorker | null; + readonly active: ServiceWorker | null; + readonly navigationPreload: NavigationPreloadManager; + readonly scope: string; + readonly useCache: boolean; onupdatefound: (this: ServiceWorkerRegistration, ev: Event) => any; readonly pushManager: PushManager; - readonly scope: USVString; readonly sync: SyncManager; - readonly waiting: ServiceWorker | null; - getNotifications(filter?: GetNotificationOptions): Promise; - showNotification(title: string, options?: NotificationOptions): Promise; - unregister(): Promise; update(): Promise; + unregister(): Promise; + showNotification(title: string, options?: NotificationOptions): Promise; + getNotifications(filter?: GetNotificationOptions): Promise; addEventListener(type: K, listener: (this: ServiceWorkerRegistration, ev: ServiceWorkerRegistrationEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } @@ -1014,125 +884,198 @@ declare var ServiceWorkerRegistration: { new(): ServiceWorkerRegistration; }; -interface SyncManager { - getTags(): Promise; - register(tag: string): Promise; +interface Cache { + match(request: RequestInfo, options?: CacheQueryOptions): Promise; + matchAll(request?: RequestInfo, options?: CacheQueryOptions): Promise; + add(request: RequestInfo): Promise; + addAll(requests: RequestInfo[]): Promise; + put(request: RequestInfo, response: Response): Promise; + delete(request: RequestInfo, options?: CacheQueryOptions): Promise; + keys(request?: RequestInfo, options?: CacheQueryOptions): Promise; } -declare var SyncManager: { - prototype: SyncManager; - new(): SyncManager; +declare var Cache: { + prototype: Cache; + new(): Cache; +}; + +interface CacheStorage { + match(request: RequestInfo, options?: CacheQueryOptions): Promise; + has(cacheName: string): Promise; + open(cacheName: string): Promise; + delete(cacheName: string): Promise; + keys(): Promise; +} + +declare var CacheStorage: { + prototype: CacheStorage; + new(): CacheStorage; }; interface URL { - hash: string; - host: string; - hostname: string; href: string; readonly origin: string; + protocol: string; + username: string; password: string; - pathname: string; + host: string; + hostname: string; port: string; - protocol: string; + pathname: string; search: string; - username: string; readonly searchParams: URLSearchParams; - toString(): string; + hash: string; + toJSON(): string; } declare var URL: { prototype: URL; new(url: string, base?: string): URL; - createObjectURL(object: any, options?: ObjectURLOptions): string; + createObjectURL(blob: Blob): string; + createFor(blob: Blob): string; revokeObjectURL(url: string): void; + createObjectURL(mediaSource: MediaSource): string; }; -interface WebSocketEventMap { - "close": CloseEvent; - "error": Event; - "message": MessageEvent; - "open": Event; +interface URLSearchParams { + /** + * Appends a specified key/value pair as a new search parameter. + */ + append(name: string, value: string): void; + /** + * Deletes the given search parameter, and its associated value, from the list of all search parameters. + */ + delete(name: string): void; + /** + * Returns the first value associated to the given search parameter. + */ + get(name: string): string | null; + /** + * Returns all the values association with a given search parameter. + */ + getAll(name: string): string[]; + /** + * Returns a Boolean indicating if such a search parameter exists. + */ + has(name: string): boolean; + /** + * Sets the value associated to a given search parameter to the given value. If there were several values, delete the others. + */ + set(name: string, value: string): void; + sort(): void; } -interface WebSocket extends EventTarget { - binaryType: string; - readonly bufferedAmount: number; - readonly extensions: string; - onclose: (this: WebSocket, ev: CloseEvent) => any; - onerror: (this: WebSocket, ev: Event) => any; - onmessage: (this: WebSocket, ev: MessageEvent) => any; - onopen: (this: WebSocket, ev: Event) => any; - readonly protocol: string; - readonly readyState: number; - readonly url: string; - close(code?: number, reason?: string): void; - send(data: any): void; - readonly CLOSED: number; - readonly CLOSING: number; - readonly CONNECTING: number; - readonly OPEN: number; - addEventListener(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare var URLSearchParams: { + prototype: URLSearchParams; + new(init?: string[][] | any | string): URLSearchParams; +}; + +interface AudioBuffer { + readonly sampleRate: number; + readonly length: number; + readonly duration: number; + readonly numberOfChannels: number; + getChannelData(channel: number): Float32Array; + copyFromChannel(destination: Float32Array, channelNumber: number, startInChannel?: number): void; + copyToChannel(source: Float32Array, channelNumber: number, startInChannel?: number): void; } -declare var WebSocket: { - prototype: WebSocket; - new(url: string, protocols?: string | string[]): WebSocket; - readonly CLOSED: number; - readonly CLOSING: number; - readonly CONNECTING: number; - readonly OPEN: number; +declare var AudioBuffer: { + prototype: AudioBuffer; + new(options: AudioBufferOptions): AudioBuffer; }; -interface WorkerEventMap extends AbstractWorkerEventMap { - "message": MessageEvent; +interface SyncManager { + register(tag: string): Promise; + getTags(): Promise; } -interface Worker extends EventTarget, AbstractWorker { - onmessage: (this: Worker, ev: MessageEvent) => any; - postMessage(message: any, transfer?: any[]): void; - terminate(): void; - addEventListener(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, useCapture?: boolean): void; +declare var SyncManager: { + prototype: SyncManager; + new(): SyncManager; +}; + +interface CryptoKey { + readonly type: KeyType; + readonly extractable: boolean; + readonly algorithm: any; + readonly usages: any; +} + +declare var CryptoKey: { + prototype: CryptoKey; + new(): CryptoKey; +}; + +interface XMLHttpRequestEventTargetEventMap { + "loadstart": Event; + "progress": ProgressEvent; + "abort": Event; + "error": ErrorEvent; + "load": Event; + "timeout": Event; + "loadend": undefined; +} + +interface XMLHttpRequestEventTarget extends EventTarget { + onloadstart: (this: XMLHttpRequest, ev: Event) => any; + onprogress: (this: XMLHttpRequest, ev: ProgressEvent) => any; + onabort: (this: XMLHttpRequest, ev: Event) => any; + onerror: (this: XMLHttpRequest, ev: ErrorEvent) => any; + onload: (this: XMLHttpRequest, ev: Event) => any; + ontimeout: (this: XMLHttpRequest, ev: ProgressEvent) => any; + onloadend: (this: XMLHttpRequest, ev: ProgressEvent) => any; + addEventListener(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var XMLHttpRequestEventTarget: { + prototype: XMLHttpRequestEventTarget; + new(): XMLHttpRequestEventTarget; +}; + +interface XMLHttpRequestUpload extends XMLHttpRequestEventTarget { + addEventListener(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var Worker: { - prototype: Worker; - new(stringUrl: string): Worker; +declare var XMLHttpRequestUpload: { + prototype: XMLHttpRequestUpload; + new(): XMLHttpRequestUpload; }; interface XMLHttpRequestEventMap extends XMLHttpRequestEventTargetEventMap { "readystatechange": Event; } -interface XMLHttpRequest extends EventTarget, XMLHttpRequestEventTarget { +interface XMLHttpRequest extends XMLHttpRequestEventTarget { onreadystatechange: (this: XMLHttpRequest, ev: Event) => any; readonly readyState: number; + timeout: number; + withCredentials: boolean; + readonly upload: XMLHttpRequestUpload; + readonly responseURL: string; + readonly status: number; + readonly statusText: any; + responseType: XMLHttpRequestResponseType; readonly response: any; readonly responseText: string; - responseType: XMLHttpRequestResponseType; - readonly responseURL: string; readonly responseXML: any; - readonly status: number; - readonly statusText: string; - timeout: number; - readonly upload: XMLHttpRequestUpload; - withCredentials: boolean; msCaching?: string; - abort(): void; - getAllResponseHeaders(): string; - getResponseHeader(header: string): string | null; - msCachingEnabled(): boolean; - open(method: string, url: string, async?: boolean, user?: string, password?: string): void; - overrideMimeType(mime: string): void; + open(method: any, url: string): void; + open(method: any, url: string, async: boolean, username?: string, password?: string): void; + setRequestHeader(name: any, value: any): void; send(data?: string): void; send(data?: any): void; - setRequestHeader(header: string, value: string): void; - readonly DONE: number; + abort(): void; + getResponseHeader(name: any): any; + getAllResponseHeaders(): any; + overrideMimeType(mime: string): void; + readonly UNSENT: number; + readonly OPENED: number; readonly HEADERS_RECEIVED: number; readonly LOADING: number; - readonly OPENED: number; - readonly UNSENT: number; + readonly DONE: number; addEventListener(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } @@ -1140,77 +1083,75 @@ interface XMLHttpRequest extends EventTarget, XMLHttpRequestEventTarget { declare var XMLHttpRequest: { prototype: XMLHttpRequest; new(): XMLHttpRequest; - readonly DONE: number; + readonly UNSENT: number; + readonly OPENED: number; readonly HEADERS_RECEIVED: number; readonly LOADING: number; - readonly OPENED: number; - readonly UNSENT: number; + readonly DONE: number; }; -interface XMLHttpRequestUpload extends EventTarget, XMLHttpRequestEventTarget { - addEventListener(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface FormData { + append(name: string, value: string | Blob, fileName?: string): void; + append(name: string, value: string | Blob, fileName?: string): void; + delete(name: string): void; + get(name: string): FormDataEntryValue | null; + getAll(name: string): FormDataEntryValue[]; + has(name: string): boolean; + set(name: string, value: string): void; + set(name: string, blobValue: Blob, filename?: string): void; } -declare var XMLHttpRequestUpload: { - prototype: XMLHttpRequestUpload; - new(): XMLHttpRequestUpload; +declare var FormData: { + prototype: FormData; + new(form?: HTMLFormElement): FormData; }; -interface AbstractWorkerEventMap { - "error": ErrorEvent; +interface ProgressEvent extends Event { + readonly lengthComputable: boolean; + readonly loaded: number; + readonly total: number; } -interface AbstractWorker { - onerror: (this: AbstractWorker, ev: ErrorEvent) => any; - addEventListener(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} +declare var ProgressEvent: { + prototype: ProgressEvent; + new(type: string, eventInitDict?: ProgressEventInit): ProgressEvent; +}; interface Body { + readonly body: any; readonly bodyUsed: boolean; arrayBuffer(): Promise; blob(): Promise; + formData(): Promise; json(): Promise; text(): Promise; } -interface GlobalFetch { - fetch(input: RequestInfo, init?: RequestInit): Promise; -} - -interface MSBaseReaderEventMap { - "abort": Event; - "error": ErrorEvent; - "load": Event; - "loadend": ProgressEvent; - "loadstart": Event; - "progress": ProgressEvent; +interface Position { + readonly coords: Coordinates; + readonly timestamp: number; } -interface MSBaseReader { - onabort: (this: MSBaseReader, ev: Event) => any; - onerror: (this: MSBaseReader, ev: ErrorEvent) => any; - onload: (this: MSBaseReader, ev: Event) => any; - onloadend: (this: MSBaseReader, ev: ProgressEvent) => any; - onloadstart: (this: MSBaseReader, ev: Event) => any; - onprogress: (this: MSBaseReader, ev: ProgressEvent) => any; - readonly readyState: number; - readonly result: any; - abort(): void; - readonly DONE: number; - readonly EMPTY: number; - readonly LOADING: number; - addEventListener(type: K, listener: (this: MSBaseReader, ev: MSBaseReaderEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface Coordinates { + readonly latitude: number; + readonly longitude: number; + readonly altitude: number | null; + readonly accuracy: number; + readonly altitudeAccuracy: number | null; + readonly heading: number | null; + readonly speed: number | null; } -interface NavigatorBeacon { - sendBeacon(url: USVString, data?: BodyInit): boolean; +interface PositionError { + readonly code: number; + readonly message: string; + readonly PERMISSION_DENIED: number; + readonly POSITION_UNAVAILABLE: number; + readonly TIMEOUT: number; } -interface NavigatorConcurrentHardware { - readonly hardwareConcurrency: number; +interface NavigatorOnLine { + readonly onLine: boolean; } interface NavigatorID { @@ -1223,47 +1164,28 @@ interface NavigatorID { readonly userAgent: string; readonly vendor: string; readonly vendorSub: string; + readonly oscpu: string; + taintEnabled(): boolean; } -interface NavigatorOnLine { - readonly onLine: boolean; -} - -interface WindowBase64 { - atob(encodedString: string): string; - btoa(rawString: string): string; -} - -interface WindowConsole { - readonly console: Console; -} - -interface XMLHttpRequestEventTargetEventMap { - "abort": Event; +interface AbstractWorkerEventMap { "error": ErrorEvent; - "load": Event; - "loadend": ProgressEvent; - "loadstart": Event; - "progress": ProgressEvent; - "timeout": ProgressEvent; } -interface XMLHttpRequestEventTarget { - onabort: (this: XMLHttpRequest, ev: Event) => any; - onerror: (this: XMLHttpRequest, ev: ErrorEvent) => any; - onload: (this: XMLHttpRequest, ev: Event) => any; - onloadend: (this: XMLHttpRequest, ev: ProgressEvent) => any; - onloadstart: (this: XMLHttpRequest, ev: Event) => any; - onprogress: (this: XMLHttpRequest, ev: ProgressEvent) => any; - ontimeout: (this: XMLHttpRequest, ev: ProgressEvent) => any; - addEventListener(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, useCapture?: boolean): void; +interface AbstractWorker { + onerror: (this: AbstractWorker, ev: ErrorEvent) => any; + addEventListener(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } +interface NavigatorConcurrentHardware { + readonly hardwareConcurrency: number; +} + interface Client { readonly frameType: FrameType; readonly id: string; - readonly url: USVString; + readonly url: string; postMessage(message: any, transfer?: any[]): void; } @@ -1276,7 +1198,7 @@ interface Clients { claim(): Promise; get(id: string): Promise; matchAll(options?: ClientQueryOptions): Promise; - openWindow(url: USVString): Promise; + openWindow(url: string): Promise; } declare var Clients: { @@ -1369,8 +1291,8 @@ declare var PushEvent: { interface PushMessageData { arrayBuffer(): ArrayBuffer; blob(): Blob; - json(): JSON; - text(): USVString; + json(): any; + text(): string; } declare var PushMessageData: { @@ -1424,9 +1346,9 @@ declare var SyncEvent: { interface WindowClient extends Client { readonly focused: boolean; - readonly visibilityState: VisibilityState; + readonly visibilityState: any; focus(): Promise; - navigate(url: USVString): Promise; + navigate(url: string): Promise; } declare var WindowClient: { @@ -1543,41 +1465,6 @@ interface ImageBitmap { close(): void; } -interface URLSearchParams { - /** - * Appends a specified key/value pair as a new search parameter. - */ - append(name: string, value: string): void; - /** - * Deletes the given search parameter, and its associated value, from the list of all search parameters. - */ - delete(name: string): void; - /** - * Returns the first value associated to the given search parameter. - */ - get(name: string): string | null; - /** - * Returns all the values association with a given search parameter. - */ - getAll(name: string): string[]; - /** - * Returns a Boolean indicating if such a search parameter exists. - */ - has(name: string): boolean; - /** - * Sets the value associated to a given search parameter to the given value. If there were several values, delete the others. - */ - set(name: string, value: string): void; -} - -declare var URLSearchParams: { - prototype: URLSearchParams; - /** - * Constructor returning a URLSearchParams object. - */ - new (init?: string | URLSearchParams): URLSearchParams; -}; - interface BlobPropertyBag { type?: string; endings?: string; @@ -1600,177 +1487,6 @@ interface ProgressEventInit extends EventInit { interface IDBArrayKey extends Array { } -interface RsaKeyGenParams extends Algorithm { - modulusLength: number; - publicExponent: Uint8Array; -} - -interface RsaHashedKeyGenParams extends RsaKeyGenParams { - hash: AlgorithmIdentifier; -} - -interface RsaKeyAlgorithm extends KeyAlgorithm { - modulusLength: number; - publicExponent: Uint8Array; -} - -interface RsaHashedKeyAlgorithm extends RsaKeyAlgorithm { - hash: AlgorithmIdentifier; -} - -interface RsaHashedImportParams { - hash: AlgorithmIdentifier; -} - -interface RsaPssParams { - saltLength: number; -} - -interface RsaOaepParams extends Algorithm { - label?: BufferSource; -} - -interface EcdsaParams extends Algorithm { - hash: AlgorithmIdentifier; -} - -interface EcKeyGenParams extends Algorithm { - namedCurve: string; -} - -interface EcKeyAlgorithm extends KeyAlgorithm { - typedCurve: string; -} - -interface EcKeyImportParams { - namedCurve: string; -} - -interface EcdhKeyDeriveParams extends Algorithm { - public: CryptoKey; -} - -interface AesCtrParams extends Algorithm { - counter: BufferSource; - length: number; -} - -interface AesKeyAlgorithm extends KeyAlgorithm { - length: number; -} - -interface AesKeyGenParams extends Algorithm { - length: number; -} - -interface AesDerivedKeyParams extends Algorithm { - length: number; -} - -interface AesCbcParams extends Algorithm { - iv: BufferSource; -} - -interface AesCmacParams extends Algorithm { - length: number; -} - -interface AesGcmParams extends Algorithm { - iv: BufferSource; - additionalData?: BufferSource; - tagLength?: number; -} - -interface AesCfbParams extends Algorithm { - iv: BufferSource; -} - -interface HmacImportParams extends Algorithm { - hash?: AlgorithmIdentifier; - length?: number; -} - -interface HmacKeyAlgorithm extends KeyAlgorithm { - hash: AlgorithmIdentifier; - length: number; -} - -interface HmacKeyGenParams extends Algorithm { - hash: AlgorithmIdentifier; - length?: number; -} - -interface DhKeyGenParams extends Algorithm { - prime: Uint8Array; - generator: Uint8Array; -} - -interface DhKeyAlgorithm extends KeyAlgorithm { - prime: Uint8Array; - generator: Uint8Array; -} - -interface DhKeyDeriveParams extends Algorithm { - public: CryptoKey; -} - -interface DhImportKeyParams extends Algorithm { - prime: Uint8Array; - generator: Uint8Array; -} - -interface ConcatParams extends Algorithm { - hash?: AlgorithmIdentifier; - algorithmId: Uint8Array; - partyUInfo: Uint8Array; - partyVInfo: Uint8Array; - publicInfo?: Uint8Array; - privateInfo?: Uint8Array; -} - -interface HkdfCtrParams extends Algorithm { - hash: AlgorithmIdentifier; - label: BufferSource; - context: BufferSource; -} - -interface Pbkdf2Params extends Algorithm { - salt: BufferSource; - iterations: number; - hash: AlgorithmIdentifier; -} - -interface RsaOtherPrimesInfo { - r: string; - d: string; - t: string; -} - -interface JsonWebKey { - kty: string; - use?: string; - key_ops?: string[]; - alg?: string; - kid?: string; - x5u?: string; - x5c?: string; - x5t?: string; - ext?: boolean; - crv?: string; - x?: string; - y?: string; - d?: string; - n?: string; - e?: string; - p?: string; - q?: string; - dp?: string; - dq?: string; - qi?: string; - oth?: RsaOtherPrimesInfo[]; - k?: string; -} - interface EventListenerOptions { capture?: boolean; } @@ -1782,17 +1498,11 @@ interface AddEventListenerOptions extends EventListenerOptions { declare type EventListenerOrEventListenerObject = EventListener | EventListenerObject; -interface DecodeErrorCallback { - (error: DOMException): void; -} -interface DecodeSuccessCallback { - (decodedData: AudioBuffer): void; -} -interface ErrorEventHandler { - (message: string, filename?: string, lineno?: number, colno?: number, error?: Error): void; +interface PositionCallback { + (position: Position): void; } -interface ForEachCallback { - (keyId: any, status: MediaKeyStatus): void; +interface PositionErrorCallback { + (positionError: PositionError): void; } interface FunctionStringCallback { (data: string): void; @@ -1800,11 +1510,11 @@ interface FunctionStringCallback { interface NotificationPermissionCallback { (permission: NotificationPermission): void; } -interface PositionCallback { - (position: Position): void; +interface DecodeErrorCallback { + (error: Error): void; } -interface PositionErrorCallback { - (error: PositionError): void; +interface DecodeSuccessCallback { + (decodedData: AudioBuffer): void; } declare var onmessage: (this: DedicatedWorkerGlobalScope, ev: MessageEvent) => any; declare function close(): void; @@ -1818,8 +1528,8 @@ declare var self: WorkerGlobalScope; declare function msWriteProfilerMark(profilerMarkName: string): void; declare function createImageBitmap(image: ImageBitmap | ImageData | Blob, options?: ImageBitmapOptions): Promise; declare function createImageBitmap(image: ImageBitmap | ImageData | Blob, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise; -declare function dispatchEvent(evt: Event): boolean; declare function removeEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +declare function dispatchEvent(event: Event): boolean; declare var indexedDB: IDBFactory; declare var msIndexedDB: IDBFactory; declare var navigator: WorkerNavigator; @@ -1833,40 +1543,31 @@ declare function setInterval(handler: (...args: any[]) => void, timeout: number) declare function setInterval(handler: any, timeout?: any, ...args: any[]): number; declare function setTimeout(handler: (...args: any[]) => void, timeout: number): number; declare function setTimeout(handler: any, timeout?: any, ...args: any[]): number; -declare function atob(encodedString: string): string; -declare function btoa(rawString: string): string; -declare var console: Console; -declare function fetch(input: RequestInfo, init?: RequestInit): Promise; -declare function dispatchEvent(evt: Event): boolean; declare function removeEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +declare function dispatchEvent(event: Event): boolean; declare function addEventListener(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; declare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -type AlgorithmIdentifier = string | Algorithm; type BodyInit = any; -type IDBKeyPath = string; type RequestInfo = Request | string; -type USVString = string; +type AlgorithmIdentifier = any; type IDBValidKey = number | string | Date | IDBArrayKey; -type BufferSource = ArrayBuffer | ArrayBufferView; type FormDataEntryValue = string | File; -type IDBCursorDirection = "next" | "nextunique" | "prev" | "prevunique"; -type IDBRequestReadyState = "pending" | "done"; -type IDBTransactionMode = "readonly" | "readwrite" | "versionchange"; -type MediaKeyStatus = "usable" | "expired" | "output-downscaled" | "output-not-allowed" | "status-pending" | "internal-error"; -type NotificationDirection = "auto" | "ltr" | "rtl"; -type NotificationPermission = "default" | "denied" | "granted"; -type PushEncryptionKeyName = "p256dh" | "auth"; -type PushPermissionState = "granted" | "denied" | "prompt"; -type ReferrerPolicy = "" | "no-referrer" | "no-referrer-when-downgrade" | "origin-only" | "origin-when-cross-origin" | "unsafe-url"; -type RequestCache = "default" | "no-store" | "reload" | "no-cache" | "force-cache"; -type RequestCredentials = "omit" | "same-origin" | "include"; -type RequestDestination = "" | "document" | "sharedworker" | "subresource" | "unknown" | "worker"; +type MediaKeyStatus = "usable" | "expired" | "released" | "output-restricted" | "output-downscaled" | "status-pending" | "internal-error"; +type RequestType = "" | "audio" | "font" | "image" | "script" | "style" | "track" | "video"; +type RequestDestination = "" | "audio" | "document" | "embed" | "font" | "image" | "manifest" | "object" | "report" | "script" | "serviceworker" | "sharedworker" | "style" | "track" | "video" | "worker" | "xslt"; type RequestMode = "navigate" | "same-origin" | "no-cors" | "cors"; +type RequestCredentials = "omit" | "same-origin" | "include"; +type RequestCache = "default" | "no-store" | "reload" | "no-cache" | "force-cache" | "only-if-cached"; type RequestRedirect = "follow" | "error" | "manual"; -type RequestType = "" | "audio" | "font" | "image" | "script" | "style" | "track" | "video"; type ResponseType = "basic" | "cors" | "default" | "error" | "opaque" | "opaqueredirect"; +type IDBTransactionMode = "readonly" | "readwrite" | "versionchange"; +type IDBRequestReadyState = "pending" | "done"; +type IDBCursorDirection = "next" | "nextunique" | "prev" | "prevunique"; +type NotificationPermission = "default" | "denied" | "granted"; +type NotificationDirection = "auto" | "ltr" | "rtl"; +type PushEncryptionKeyName = "p256dh" | "auth"; +type PushPermissionState = "denied" | "granted" | "prompt"; type ServiceWorkerState = "installing" | "installed" | "activating" | "activated" | "redundant"; -type VisibilityState = "hidden" | "visible" | "prerender" | "unloaded"; type XMLHttpRequestResponseType = "" | "arraybuffer" | "blob" | "document" | "json" | "text"; type ClientType = "window" | "worker" | "sharedworker" | "all"; type FrameType = "auxiliary" | "top-level" | "nested" | "none"; \ No newline at end of file diff --git a/inputfiles/browser.webidl.xml b/inputfiles/browser.webidl.xml index 5fcac5e09..c71c56291 100644 --- a/inputfiles/browser.webidl.xml +++ b/inputfiles/browser.webidl.xml @@ -1,1691 +1,2391 @@ - + - - - - - + + + - + - + + + + - - + + - - + - - - + + - - - + + + + + + - - + + - - - - + + + - - + + - - + + - - + + - - + + + - - + + + + + - - - + + - - + + - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - + - + + + + + + + + + + + + + + + + + + + - - + + - + - - - - - + - + - + + + - + - - + + + - + - - - - + - + - - - - + + - + - - - - - - + + - + - - - + + - + - + + + + - + - + + - + - - + + - + - - + + + + - + - - + + + - + + + + + + + + - - + + + + - + - - + + + - + - + - - - - + - + - - - + + - + - + + + + + + + - + - - - - + - + - - - - + - + - - - + - + - - + + + + + + + - + - - - - - + + - + - - + + - + - - - - - - - - - - - - - - - + + - + - + + + + + + + + + + + + - + - + + + - + - - - - - + - + - - - - + + - + - + - + - + - - + - + - + + + - + - + + + + - + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + - + - + - + - - - + - + - - + - + - - - - - + - + - - - - - - - - - - - - - - - - + + - + - - - - - - - - - - - - - - - - - - - + - + - - - - - - + - + - - - - + - + - - - + + - + - - - + - + - + + + + + - + - + + - + - - + + + + + + - + - - + + + + + - + - - - - - - - + - + - - + + + - + - - - + + - + - - - - - - - - - - - - - - - - - - - - - - + + + + + - + - - - + + + - + - - + + + + + + + + + + + + - + - - - - + + + + + + - + - - - + + + + + + + + + + + + + + + + - + - - - - - + + + + + - + - + + - + - - + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + + + + + + - + - - + + + + + + + + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - - - - - - + + - + - - - - - - + + - + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - + - - - - - - - - - - - - - - - - + + + - + - - + + + + + + + + + + + + + - + - - + + + + + + + + + + + + + - + - - - - - + - + - - + + + + + + + + + + + + + - + - - + + + + + + + + + + + + + - + - + - + - + - + - + + - + - - - - - - - - - - - + + - + - - - - - - - - - - - + + - + - + + - + - - - - - - - - - - - + + - + - - - - - - - - - - - + + - + - - - - + + - + + + + + + + + + + - - - - - - - + - + - - - - - - + + + + + + + + + + + + + + + - + - - - - - - - + + + - + + + + + + - - - - - + + - + - + + - - - + + + - + - - - - - + + + - + - - - - + + - + - - - + + - + - - + + + + - - - - - + + + + + + + + + + + + - - - - - + + + + - + + + + - + - - - - - - - - + + + + + + + + - + - + + - + - - - + - + - - - + + - + - - + + + - + - - - - + + - + - + + + - + + + + - - + + - + - - + + + + + - + - - - - - - + + - - + - - - - - - - - - - + + + - + - - - + + + + + - + - - + + + + - + - - - - - - - - - - - - - + + + + - + - - - + + + + - + - - - + + - + - - - + - + - - - - - + + + + + + + - + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + - - - - + + + + - + - - - - + + - + - + + + + + - + - - - - - - - - - - + - + - - + - + - - - - + + + + + + + + - + - - - + + + + + - + - - - - - - - - - - - - - + + + + - + - - - - - - - - + + - + - - - + + + - + - - - - - - - - - - - - - - + + + - + - - + - + - - - - + + - + - - - + + - + - - - - - - + + - + - + - + - - - + + + - + - - + - + - - - - - + + - + - - - - + + + - + - - + + + + + + - + - - - - + - - + - - - - - - - + - + - + + - + - - - - - - - - - - - - + + + + - + - - - + + - + - - - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - - - - - + + + + + - + - - - - + + + + - + + + + - - - + + + + + - + - + + + - + - + + - + - - + - + - - + - - + - - - - - - + + + - + - + + + + + + + + + + + + + + + + + + - + - - - - + + - - - - segments - sequence - - - suspended - running - closed - - - lowpass - highpass - bandpass - lowshelf - highshelf - peaking - notch - allpass - - - nonzero - evenodd + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + auto + instant + smooth - - max - clamped-max - explicit + + start + center + end + nearest - - speakers - discrete + + margin + border + padding + content - - linear - inverse - exponential + + open + closed - - character - word - sentence - textedit + + required + optional + not-allowed - - mouse - keyboard - gamepad + + temporary + persistent-license - - next - nextunique - prev - prevunique + + usable + expired + released + output-restricted + output-downscaled + status-pending + internal-error - - pending - done + + license-request + license-renewal + license-release + individualization-request - - readonly - readwrite - versionchange + + + audio + font + image + script + style + track + video - - inactive - active - disambiguation + + + audio + document + embed + font + image + manifest + object + report + script + serviceworker + sharedworker + style + track + video + worker + xslt + + + navigate + same-origin + no-cors + cors - - FIDO_2_0 + + omit + same-origin + include - - os - stun - turn - peer-derived + + default + no-store + reload + no-cache + force-cache + only-if-cached - - failed - direct - relay + + follow + error + manual - - description - localclientevent - inbound-network - outbound-network - inbound-payload - outbound-payload - transportdiagnostics + + basic + cors + default + error + opaque + opaqueredirect - - Embedded - USB - NFC - BT + + + standard - - unknown - defer - allow - deny + + unconnected + activating + activated + idle + errored - - geolocation - unlimitedIndexedDBQuota - media - pointerlock - webnotifications + + loading + interactive + complete - - audioinput - audiooutput - videoinput + + + maybe + probably - - license-request - license-renewal - license-release - individualization-request + + disabled + hidden + showing - - temporary - persistent-license - persistent-release-message + + subtitles + captions + descriptions + chapters + metadata - - usable - expired - output-downscaled - output-not-allowed - status-pending - internal-error + + select + start + end + preserve - - required - optional - not-allowed + + nonzero + evenodd + + + low + medium + high + + + butt + round + square + + + round + bevel + miter + + + start + end + left + right + center + + + top + hanging + middle + alphabetic + ideographic + bottom + + + ltr + rtl + inherit + + + 2d + webgl + + + auto + manual + + + none + flipY + + + none + premultiply + default + + + none + default + + + pixelated + low + medium + high + + + blob + arraybuffer + + + classic + module + + + codec + inbound-rtp + outbound-rtp + peer-connection + data-channel + track + transport + candidate-pair + local-candidate + remote-candidate + certificate + + + frozen + waiting + inprogress + failed + succeeded + cancelled + + + readonly + readwrite + versionchange + + + pending + done + + + next + nextunique + prev + prevunique live ended - - up - down + + user + environment left right + + audioinput + audiooutput + videoinput + + + closed + open + ended + + + network + decode + + + segments + sequence + navigate reload back_forward prerender - - auto - ltr - rtl - default denied granted - - sine - square - sawtooth - triangle - custom - - - none - 2x - 4x - - - equalpower - - - success - fail - + + auto + ltr + rtl shipping delivery pickup + + fail + success + unknown + p256dh auth - granted denied + granted prompt - - balanced - max-compat - max-bundle + + installing + installed + activating + activated + redundant - - maintain-framerate - maintain-resolution - balanced + + window + worker + sharedworker + all - + + idle + pending + running + paused + finished + + + none + forwards + backwards + both auto - client - server - - new - connecting - connected - closed + + normal + reverse + alternate + alternate-reverse - - host - srflx - prflx - relay + + replace + accumulate - - RTP - RTCP + + replace + add + accumulate - - new - checking - connected - completed - failed - disconnected + + suspended + running closed - - all - nohost - relay + + balanced + interactive + playback - - new - gathering - complete + + max + clamped-max + explicit - - new - gathering - complete + + speakers + discrete - - udp - tcp + + equalpower + HRTF - - controlling - controlled + + linear + inverse + exponential - - active - passive - so + + lowpass + highpass + bandpass + lowshelf + highshelf + peaking + notch + allpass - + none + 2x + 4x + + + sine + square + sawtooth + triangle + custom + + + platform + cross-platform + + + ScopedCred + + + usb + nfc + ble + + + public + private + secret + + + encrypt + decrypt + sign + verify + deriveKey + deriveBits + wrapKey + unwrapKey + + + raw + spki + pkcs8 + jwk + + + no-speech + aborted + audio-capture + network + not-allowed + service-not-allowed + bad-grammar + language-not-supported + + + canceled + interrupted + audio-busy + audio-hardware + network + synthesis-unavailable + synthesis-failed + language-unavailable + voice-unavailable + text-too-long + invalid-argument + + + password + token + + relay all - - new - checking - connected - completed - disconnected - closed + + balanced + max-compat + max-bundle - - offer - pranswer - answer + + negotiate + require stable @@ -1693,119 +2393,114 @@ have-remote-offer have-local-pranswer have-remote-pranswer + + + new + gathering + complete + + + new + connecting + connected + disconnected + failed closed - - frozen - waiting - inprogress + + new + checking + connected + completed failed - succeeded - cancelled + disconnected + closed - - host - serverreflexive - peerreflexive - relayed + + offer + pranswer + answer + rollback - - inboundrtp - outboundrtp - session - datachannel - track - transport - candidatepair - localcandidate - remotecandidate + + udp + tcp - - - no-referrer - no-referrer-when-downgrade - origin-only - origin-when-cross-origin - unsafe-url + + active + passive + so - - default - no-store - reload - no-cache - force-cache + + host + srflx + prflx + relay - - omit - same-origin - include + + very-low + low + medium + high - - - document - sharedworker - subresource - unknown - worker + + sendrecv + sendonly + recvonly + inactive - - navigate - same-origin - no-cors - cors + + disabled + enabled - - follow - error - manual + + maintain-framerate + maintain-resolution + balanced - - - audio - font - image - script - style - track - video + + new + connecting + connected + closed + failed - - basic - cors - default - error - opaque - opaqueredirect + + new + gathering + complete - - ScopedCred + + new + checking + connected + completed + failed + disconnected + closed - - installing - installed - activating - activated - redundant + + controlling + controlled - - usb - nfc - ble + + rtp + rtcp - - user - environment - left - right + + connecting + open + closing + closed - - hidden - visible - prerender - unloaded + + + default + low-power + high-performance - + arraybuffer blob document @@ -1814,11694 +2509,9964 @@ - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SVGUnitTypes + + + + + + + + + + + SVGUnitTypes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + - - - + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NonElementParentNode + DocumentOrShadowRoot + ParentNode + GeometryUtils + + + + + + GlobalEventHandlers + DocumentAndElementEventHandlers - + + - - - - - + + + + - - + + + + - - + + + + + - - - - - + + + + ChildNode - - - - - - - - - - - - - - + + + NonElementParentNode + ParentNode + + - - + + + DocumentOrShadowRoot - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ParentNode + NonDocumentTypeChildNode + ChildNode + Slotable + GeometryUtils + Animatable + + - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + - + - - - - - + + + + + + + - + - - - - + + + - - - - + + - - + + + + + + + + + + + + - - - - + + + NonDocumentTypeChildNode + ChildNode - - - - + + + + - - - - - - - + + - - - - - - - + + Slotable + GeometryUtils - - + + + + + + LinkStyle + + + + + + + + + + + + + + + + + - - - - - - - + + + - - - + + + - - + + - - - + + - - - - - + + - - + + - - + + - - - - - - + + - - - - + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + - - - - - - + - - - - - - - - - - - - - - - - - - + + + - - + + + + + - + - - - - - - + + + + + + + - - - - - - + + + + - + - - + + - - - + + - - - + + - - - - + + - - - + + + - - - - + + + + + + - - + + + + + - + + + + + + + + + + + + + + + + + + + + + + - - - + - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + - - - - - + + + + - - + + - - + + - - - - + + + + - + + + + + - + + - + + + + + - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + - - - - - + + + + + + + + + + + + + + Body - - + + + + + - - - - - - + + + + + - - + + + + + + + + + Body - - + + + + + + - - - + + + + + - - - + + + - + + + + + + - + + - + - - - - - - + + - - - - - - - - + - + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + - + + - - + + - - + + + - - + + + + - - + + + + + + + SVGURIReference + SVGUnitTypes - + + + + + + + + + - + + + + SVGFilterPrimitiveStandardAttributes - + + + + + + + + - - + + + + SVGFilterPrimitiveStandardAttributes - + - - - - + + SVGFilterPrimitiveStandardAttributes - + - - - - - - - - - - - - + + + + + + - - - - + + + + + + + - - - - - - + + + + + + + + + + + + + + - + + + + + + + + SVGFilterPrimitiveStandardAttributes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + SVGFilterPrimitiveStandardAttributes - + - - - + + + + + + SVGFilterPrimitiveStandardAttributes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - CanvasPathMethods - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ChildNode - - - - - - - - - - - - - - - - - - - - - - + - - + + + + + + + + - + + + + + + + + - - - - - - + + + + + + SVGFilterPrimitiveStandardAttributes - + - - + + + - + + + + + + SVGFilterPrimitiveStandardAttributes - - - - + + SVGFilterPrimitiveStandardAttributes - - - - - + + + + + + + - - - - - - - + + + - - - + + + + + SVGFilterPrimitiveStandardAttributes - + - + + + SVGFilterPrimitiveStandardAttributes + SVGURIReference - - - - - - - - - - - - - - - + + SVGFilterPrimitiveStandardAttributes + + - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + SVGFilterPrimitiveStandardAttributes - + + + + + + + SVGFilterPrimitiveStandardAttributes + + - - + + + + + + + SVGFilterPrimitiveStandardAttributes - + - - - - - - - + + SVGFilterPrimitiveStandardAttributes - - RandomSource + + + + + + + + + - + + + + + + + SVGFilterPrimitiveStandardAttributes - + - - - - + + + + + + + - + - - + + + - + - - + + + + + + - - - - - - + + - + + + + + + + + + + + + + + + + + + + - + + + + + + + - + + + + + + - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - + + + - - - + + + + - + + + + + + + - - - - - - - - - + + - - - - + + + + + + + + + + - - + + + + + + + - - - + + - - - + + + + - + + + + + + + - - + + - - + + + - + + + + - + + + + + + + + - - - - - - - - - - + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + + + - - - - + + - + + + + + + - + + + + + + + + + + + + + + + - + - + - - + + - - + + + + + + + + + + + + + + + + + + - - - + + - - - - - + + - + - - - + + + + + - - - + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + GlobalEventHandlers + DocumentAndElementEventHandlers + ElementContentEditable + ElementCSSInlineStyle + + + + + + - - - + + + - - + + - + + + - + - - - - - + + - - - + - + - + + - + - - - + + + + + + + + + + + + + + + + + + + LinkStyle - - - - - + - + + + + - - - - - - - - - - - - - - - - + - - - - + + + + LinkStyle - - - - - - - - - - - - - - - - + + WindowEventHandlers - - - - + + + + + + - + - - - + - - - - - - - - - - - - - - - - - - - - - GlobalEventHandlers - NodeSelector - DocumentEvent - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - NodeSelector - - - ChildNode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HTMLHyperlinkElementUtils + + - - - - - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + + + + - - + + + + + + - - + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - GlobalEventHandlers - ElementTraversal - NodeSelector - ChildNode + + + + + + + + + + + + - - - - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - + + + + - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - + + + + + + + + + + + - - + - - - + + + + + + - + + + + + + - - + + - + + + + - - - - - - - - - + + + - MSBaseReader + + - - - - - - - - + + - - - + + - + + + + + + + + + + - - - - - + + + + + + - - - - - - - + + - + - - - - - - - - + - - - - - + + + + + + + - - + - - - - + + + + + - - - + - + + + + + - - - - - - - + - + - - + + - - - - - + - + + + + + + + + + + + HTMLHyperlinkElementUtils - - - - - - - - - - - - - - - - - - - - - - - + - - + + + + + + + + + - - + + - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - + + + + + + + + + - + + + + + + + + - - + - - + + + + + + + + + + + + + + + - - - DOML2DeprecatedColorProperty + + + + + + + + + + + + + + + - - + + + + + + + + + + + - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - + - + + + + + + + + - + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + - - - - - - - - + + + + - - + + + + + + + + + + + + + + + - + + + + + + + - + + + + + + + + - - + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - + - - - - - + - + + - - - - - + + + + + + + - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - + + + - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - GetSVGDocument - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + - + + - + - - - - - - - + + + + + + + + + + - - - - - - DOML2DeprecatedColorProperty - DOML2DeprecatedSizeProperty + - + + + + - - - - - - + + + + + + + + + + - - - - - - - - - + - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - GetSVGDocument - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - - - - - DOML2DeprecatedColorProperty - DOML2DeprecatedSizeProperty + - - - + + - - + - + + + + + + + + + + + - - - - - - - - - - + - + - - - - - + - + + + - - - - - - - - - GetSVGDocument - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - + - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - - - - - - - LinkStyle + - - - - - - - - - + + + + + + + + + + + + - - + - - + - - - - - - - - - - + - - + + + - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - + + + - - + + + - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + - - - - - - - + + + CanvasState + CanvasTransform + CanvasCompositing + CanvasImageSmoothing + CanvasFillStrokeStyles + CanvasShadowStyles + CanvasFilters + CanvasRect + CanvasDrawPath + CanvasUserInterface + CanvasText + CanvasDrawImage + CanvasImageData + CanvasPathDrawingStyles + CanvasTextDrawingStyles + CanvasPath + + + + + + + + - - - - - - - - - - + + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + - - - - - + + + + + + + + + + + + + + + + + + + CanvasPath + + + + + + + - - - + - - - - - - - - - - GetSVGDocument + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + - - + + + + - - - - - - - - + + CanvasState + CanvasTransform + CanvasCompositing + CanvasImageSmoothing + CanvasFillStrokeStyles + CanvasShadowStyles + CanvasFilters + CanvasRect + CanvasDrawPath + CanvasDrawImage + CanvasImageData + CanvasPathDrawingStyles + CanvasPath - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + - + - - - + + - - - + + + + + + - + + - - + - - + - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + + + + - - - - + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GlobalEventHandlers + WindowEventHandlers + WindowOrWorkerGlobalScope + WindowSessionStorage + WindowLocalStorage + GlobalPerformance + IDBEnvironment + GlobalCrypto + SpeechSynthesisGetter - - - - - - + - - - - - - - - - + - - - - - - - - - + - - - + + - - - - + + + + + + - - + + + + - - + + + + + + + + + + + - - + + + - - - - - - - - - - - - - - - - + + + + + + + + + + - - + + + + + - - - - - - + - - - - - - - - - - - - - - LinkStyle + + + + + - - - + + - - - - - + + + + + - - + - - HTMLTableAlignment - - - - - - - - - - - - - + + + - - - - HTMLTableAlignment + + + + + + + + + + + + + + - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - - - - - - - - - - - - - - - - - + + + + + - - + + + + + - + + - - - HTMLTableAlignment + + NavigatorID + NavigatorLanguage + NavigatorOnLine + NavigatorContentUtils + NavigatorCookies + NavigatorPlugins + NavigatorConcurrentHardware + NavigatorUserMedia - - + + + - - + + + + - - - - - - + + + + - - - - - - - - HTMLTableAlignment + - - + + - - + + + + + - - - - - - - - + - - - - - - - - - - + - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - + - - - - - - - - - - - + + + + + + + + + - - - - - - - + + + + - - - - - + - - + + + + - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - + - + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + - - + + + + + + + + + + + - + + + + + - - - - + + + + - - + + + - - + + - - - + + + + + + + + - - - - + + + + + + + + + + - + + + + + - + + + - - - - - - - - - - - - - - - - - - - + + - - - - - + + - + - - - - - - - - - - + + + + + + + + - + + + + - - - - - - - - - - - - - - - - + + + - - - - + + + + + - + - - - - - - - - - - - - - - - - + + - - - - + + + + + + + + + + WindowOrWorkerGlobalScope + + + + + + + + GlobalPerformance + GlobalCrypto - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - + - - - - + - - - - - - - - - + + + + - - - - - - - + + - - - - - - - - - - + + + + + + + - - - + + + + - - - - - - + + AbstractWorker - + + + + + + - - + + AbstractWorker - - - - - - - - + + NavigatorID + NavigatorLanguage + NavigatorOnLine + NavigatorConcurrentHardware + + + - - - - - + - - - + + + + + + + + + - - - - - + - - - + + - - - + + + + + + + + + + - - - + - - - - - - - - - - - - - - - - - - - - - - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - + - - + + + + + + + + + + + - + - - - - - - - - - - + + - - - - - - - - - + + + + + + + + + + + + + + - + - - + + + WindowEventHandlers - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - - + - - - - - + - + - - + + + - - + - - - + + - - + + + - - - - - - - - + + + - - - - + + + + + + + + + + + - + - - - - + + + + + + + - + - - - + + - + + + + + - + + - - + - - + + + + + + + + + + - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + - - - + + + - - - + + + - - - - + + - - - - - - + + - - + + + + - - - + + + + - - - + + - - + + - - + + - - - - - - - - - - + + + + + - - - - - - + - - - - + + + + + + + + + + + + + + + + + - - - - - - + + + + + - - - - - - - - - - - + - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + - + - + - - - - - - + - - - + + + - - - + + + + + + - + - + + - - - - - - - - + + - - - + + + + - + + + + + + + + + + + + + + + + + - + + + + + - - + - - + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - + + + + - + - - + + + + + + + - + + + + + + + + + + + + + + + - + + + + + - - + - - - - - + + + + + - + - - - - - - - - - - - MSBaseReader + - - - - - - - - - - - - - - - - - - - - + + + + - + - - - - - - - - - - - - - - - - + - - - - - - - + + + + - + + + + + + - - + + + + - + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + + - - - + + + + + - - - - + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + - - + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - - - - + + + + + + - - - - - - - - - - - - + + + - - - - + + + + + + - + + + + + + + + + + + + + + + + - - - - - - - - + + - + + + + + + + + - + + + + + - - + + + + + - + + + + - + - - + + + - - + + + - + + + + - - - - - - - - + + - + + + + + + + - - + + + + + + + + - + - - + + - - + + + + + - - + + - - - - - - - + - - - - - - - - - - - + + + - - - - + + - - - - - - - - - - + - - - - - - - - - - - - - - + + + + - - - - - - - - - - + + + + + - - - + - + - - + + - + + - - - - - + - + + + + + + + + + + + + - - - - - - - + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + - - - - - + + + + + + + - + + + + AbstractWorker - - + + + + + + + + + + + + - - + + + + + + + + + - - - - - + - - - - - - - - + + + + + + + + - - - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + - - - + + - - + + + + - + + + + + + + - - - - + + + - + - - + + + + + - - + + + - - - - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + - - - - - + + + + + - + - + + - - - - + + - + + + + - + + + + + - - - - - - - - - + + + + + - + - - + + + - - - + + + - - + + - - + + - - - + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + + + + + + + + - + + + + + + GlobalEventHandlers + SVGElementInstance + ElementCSSInlineStyle - + + + + + + + + - - + + SVGTests - + + + + + + + + + + + + + - + - + - + - - NavigatorID - NavigatorOnLine - NavigatorContentUtils - NavigatorStorageUtils - NavigatorGeolocation - MSNavigatorDoNotTrack - MSFileSaver - NavigatorBeacon - NavigatorConcurrentHardware - NavigatorUserMedia + + + + + + + + + + + + + + - - - - - - + + + - - - + + - - - - - - - - - - - - - + + + + - + - - - - - - - - - - - - - - - - - - + + + + + - - - - - + + + - - + + - - + + + + + + + + + + + + + - - - - - + + + + + - - + + - - + + + - - + + + - - + + - - + + - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + - - - - + + - - - - - - + - + + - - - - - - - - - - - - - - - - - + - - - - - - - - - - - + + - - - - - + + + + + - - - - - - + + + + + - - + - + + - - - - - - - - - - - - - - - + - - + + - - - - - - - - - - - - - - - + - - - - + + - - - - - - - - - - - - - - + - - - + + - + - + + - + + + + + + + - - - - + + + - - - - + + + + + + + + + + + + + - - - - + + - - - - - - - - + + - - - - - CanvasPathMethods - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + SVGFitToViewBox + SVGZoomAndPan + WindowEventHandlers + + + + + + + + + SVGFitToViewBox - - - - - - - - - - - - - - + - - - - - + + + + + + + SVGURIReference - + + - - + + - - - - - + + + - - - - - - - + + - - - - - - - + + + + LinkStyle - + + + + + + + + + + - - - - - - - - - - - + + - - + + + - - + + + - - - + + + + - - - + + - - - + + - - - - - - - - - - - + + + - - - - - - - + + + + + - - - - - + + + + + - - + + - - + + + - - + + + - - + + - - - - + + - - - + + - + - - + + - + - - - - + + - - - + - - - - + + + + + + + + + + + + + + - - - - - + + - + - - - - - - - - - - - - - - - - - - - - - - + + - + + - - - - - - - - - - - + + + + + + - - - - + - - - - - - - - - - - - - - - - - - - - - + + + - - - - - + - + + + + - + - + + + + - + + SVGURIReference + + + + + + + + - - + + + + + + + + + + + + + + - - + + + + + - - - - - + + - + + SVGAnimatedPoints + + + SVGAnimatedPoints + + + + + + + - - + + + + + - - + + - - + + + + + + + + + + + + + + + - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + SVGURIReference + + - + + + + + + + SVGURIReference - + - - + + + + - + - - - + + + + + + - + + + + - - + + + + + + + + + SVGFitToViewBox - - - - + + + + + + + + - + + + + SVGURIReference + SVGUnitTypes - - - - - - - - - - - - - - - + - - - + + + + - - - - - - - - - - + + + + + + + + + - - - - - - - - + + + + - - + - + - - + + + + + + + + SVGFitToViewBox + SVGURIReference + SVGUnitTypes - - - - - + + + - + + + SVGURIReference - - - - - - - - - - - - - - - - - + - - - - + + + SVGURIReference - + - + + + + + + + SVGURIReference + HTMLHyperlinkElementUtils - - - - - - - - - - - - - - + + SVGFitToViewBox + SVGZoomAndPan + + - - - - - - + + + + + + + + - - - - + - + + + - - - + - + - + + + + + + + - + - + + - - - - - - - - - - - - + + - + + + + + - + - - - - - - + + + + + - - - - - - - - - - - - - - + + - - - - - - - + + + + + + + + + + + + + + + + + - + + + + + + + + + + - + + + + - + - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + - + - - + + - + - + - - - + + - - - - - + + + - - - + + - - + + - - - + + - - - - - + + + + + + + + + + + + - + - - - + - - - - + + + - - + + + - - + + - - + + - - - + + - + + + + + + + + + + + + + + + - - - - - + - + - + - - - - - - - - + - - - + + + + + + + + + + + + + + + + + + + + + + - + + + + - + - - + + + + + + + + + + + + + - + - + + + + + + + + - + + + + + + + + + - - + + + + + + + - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + - - + + + + + + - - + + + + - - - + + + + - - + + + + + + - - + + - - + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + - - - - - - - - + - - + - Body + - + + + + + + + + + + + + + - - - - - - - - - - - - - + + - + - - + + + - Body - + + + + - - - - - - - + + - - - - - - - - - - - - - SVGURIReference + + + + + - + - - - - - - - - + - - + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SVGUnitTypes + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SVGFilterPrimitiveStandardAttributes - - - - - - - - - - - - - - - - - - SVGFilterPrimitiveStandardAttributes - - - - - - - - - - - - SVGFilterPrimitiveStandardAttributes - - - - - - - - - - - - - - - - - - - SVGFilterPrimitiveStandardAttributes + + + + + - - - - - - - + - - - - - - - - - - - - SVGFilterPrimitiveStandardAttributes + + + + + - - - - - - - - - - - - + - - - - - - - - SVGFilterPrimitiveStandardAttributes + + + + + + + + + + + + + + + + + + + - - - - - + + + + - - - - - - - - - - - - - SVGFilterPrimitiveStandardAttributes + + + + + + + + + + + + - - - - - + + + + + + - - + + + + + - - + - - - - - - - - - SVGFilterPrimitiveStandardAttributes - - - - - - - - - + + + + + - - + + + + + + + - - - - - - SVGFilterPrimitiveStandardAttributes + + + + + + - - - + + - - - + + + + + - - - - - - - - SVGFilterPrimitiveStandardAttributes - SVGURIReference + + + + + + - + + + + + - - - - - - SVGFilterPrimitiveStandardAttributes - - - + - + + - - - - - - - - - - - SVGFilterPrimitiveStandardAttributes + + + + + - - - - + + + - - - - - - SVGFilterPrimitiveStandardAttributes + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + - - - + + + + + + + + + - - - - - - - - SVGFilterPrimitiveStandardAttributes + + + + + - - - - - - + - - + + + + + - - - - - - - - + + - - - - - - SVGFilterPrimitiveStandardAttributes + + + + + + + + + + + + + + + + + + + - + + + + + - - - - - - - - - - - - - - SVGFilterPrimitiveStandardAttributes + + + + + + + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - SVGUnitTypes - SVGURIReference + + + + + - - - + + + + - - - - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - SVGUnitTypes - SVGURIReference + + + + + - - - + + - - - - - - SVGTests + + + + + - - - - - + + - - - + + + - - - - - - - - - - - - - - SVGURIReference + + + + + + + + + + + + + + + + + + + + + + + - - - - - + - - - - - - - - - - - - - - + - - + + + + + - - - + + + + + - - - - + + - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + + + + - - - - + + - - - - - - - - - - - - - - - - - - - - - - - SVGFitToViewBox + - - + + - - - - - - - - + - - - - - - - - - - - - - SVGTests - SVGUnitTypes + - - - - - - + + + + - + - - - - - + + + + - - + + + + - - - + + + + - - + + + + + - - - + + + - - + + + + - - + + + + + + + + + + + + + + + + + + - - - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + - - + + + + + - + + + + + + - + + - + - - + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + - - - + + + - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + - + - - - - - - - + + + + - + - - - - - - - + - - + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + - - - - - - + + - + + + + - - - - + + + + + + + + + + + + + - + + + + + - - - - + + - + + + + + - - - - + + + + - + + + + - - - - + + - + + + + + + + + + + + + + - - + + + + - + + + + + + + + - - + + + - + - - + + + + - + + + + + + + + + + - + + + + + + - + + + + - + + + + + + - + + + + + + + + - - + + + + + + + + + + + + - + + + + + - + + + + - + - + + - + - - - - - - - - - - - - - + + + - - + + - - - + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - SVGTests - SVGUnitTypes - SVGFitToViewBox - SVGURIReference + + + + + - - - - - - - + - + - - + + + + - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SVGAnimatedPoints - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SVGAnimatedPoints - - - - - - - - - - - - - - - - - - + + + + + - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - DocumentEvent - SVGFitToViewBox - SVGZoomAndPan + - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + - - - - - - SVGURIReference + + + + + - + - - - - - - - + + + + + + + + + - + + + - - - - - - - - - - - - - - - - - - - - - - - - + - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SVGFitToViewBox + + WebGLRenderingContextBase - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - - - - - + + - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SVGURIReference - - - - - + - + - - - - - + + + + + + + - - - - - - - + + + - - - - - - - + + + + + - - + + + - - - - + + + + + + - - - + + + - - + + - - + + + - - - + + + - - - + + + + + + + + + + + + - + + + + - - + + + - - - - + + + + + + + - - + + - - + + - - - + + - - + + + - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - SVGURIReference - - - - - - - - - - - - - - - SVGZoomAndPan - SVGFitToViewBox - - - + + + - - - - - - - - - - - + + + + + - - - - - + + + - + + + - - + - + - - + - - - - + - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - + + + - - - - - - AbstractWorker + - - - + + - - - - - - - - - - - + + - - + + - - - - + + + + + + + + - - - - + + + + - - - - - + - - - - - + + - - - - + - - + + - - - + + - - + + + + + + - - - - - - - + - - - - - - - - + - - - - - - - - - - - - + + + + + - - - - - - - - + + - - - - - - - - - - + - + + + + + - - - - + - - - - - - + + + + + + + + + + + + + + - - - - + + - - - - - + - - - - + + + + + + + - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - - + + - + - - - - - + - + - + + + + + + + + + + + - + + + + + + + - - - + + + + + + - - + + + - - + + + + + + + + + + + + + + + + - - - + + + + + - + + - - - - - - - - - - - - - + - - - - - + + - + - - + + + + + + + + + + + + + + + + + - + + - + - - - - - - - + + + + - - - - - - + - + - + - - + + + + + + + + + + + + + + + + + - - - - + - - - - + + + - - - - + + + - - - - - - + + + - - - + + - - - - + + + - - - + + + + + - - - - + + + + + - - - - - - + + + - - - - - - - - - - - - - + + + + - - - - - + + + + + + - - - - - + + + + + + + - + - - - + + + + + + + + + + + + + + - - - - - + - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + - - - + + + + + - + - + + + + - - - - - - - - - - - - - - - + - - + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + - + + - - - - - + + + + + + + + + + + + + - - - + + + - - + + - + - - + + + + - - + + + + + + + + + + + + + + + + + + + + + + - + - + + + + - - - - - - - - + + - + - - - - - - - - - - + - - - - - - + - + - - - - - + - + - - - - - - - - - - - - - - + - - + - + - - - - - - - + + + + - - - - - + - - - - - + + + + - - - - - - + + + + - - - - - - - - - + - - - - - - + + + + + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + - + + - + + + + + + - - - - - - - - - - + - + - - - - - + - + - - - - - - + + - - - - - - + - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - + - - - - - - - - - + + + + - - - - - - - - - + - - - + - - - - - - + - + - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - - - + + + - - + + - - + + - - + + - - + + - - - - + + + + - + - - + + - - + + - - - - + + + + + + + + + + + + + + - - - + + + - - - + + + - - + + - + - - - - + + + + - + - + - - - - + + + + - + - - - - - - - + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - - + + - - + + - + - + - - - + + + - - - - + + + + - + - + - - + + - - - - + + + + - - - - - + + + + + - + - + - - + + - - + + - + - - - + + + - - + + - - - - + + + - - - + + + - - + + + - - - - - + - - - - - + + - - + + - - + + + + + - + - - - + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - - + + - - + + - - + + - - + + - - + + - - + + - + - + - - + + - - + + - - - - - - - + + + + + + + - - - - + + + + - - + + - - - - + + + + - - + + - - - + + + - - - - + + + + - + - - + + - - - + + + - - - - + + + + + + + + + + + + + + + - - - - - - + + + + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - WindowTimers - WindowSessionStorage - WindowLocalStorage - WindowConsole - GlobalEventHandlers - IDBEnvironment - WindowBase64 - GlobalFetch - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AbstractWorker - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - XMLHttpRequestEventTarget - - - - - - - - - - - - - - - - - - - + + + - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - XMLHttpRequestEventTarget - - - - - - + + + + + + + + - - - - - - - - + + + - - + + + + - - - - - - + + + + + - - - - - - - - + + + + + + - - - - - - + + + - - - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + - - - + + + - - - - - + + + - - + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - + + + - - - - - - - - - - - - - - - - - - + + + - - - + + + - - - + + + + - - - - - + + + + - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - + + + + - - - - - - + + + + + - - + + + + + + - - + + + - - + + + - - + + + - - + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - + + + - + + + + - - + + + + + - - + + + + + + - - - - - - + + + - - - - - - - - - - - - - - + + + + + + - - - - - + + + + + - - - - - - - - - - - + + + + + + - - - - + + + + + + + + - - - - - - - - - + + + + + - - - - + + + + - - - - + + GeometryUtils + Animatable - - - - + + IDBEnvironment - - WindowTimersExtension + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + - - + + + - - - - + + - - - - + + - - - - - - + + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + From e36e0924ffb8cd875bd296fe4257f4b42c5a7a76 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Mon, 3 Apr 2017 20:54:22 +0900 Subject: [PATCH 19/50] undefined->Event fix --- baselines/dom.generated.d.ts | 533 +++++++++++++++-------------- baselines/webworker.generated.d.ts | 22 +- inputfiles/browser.webidl.xml | 200 +++++------ 3 files changed, 378 insertions(+), 377 deletions(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 3e031688d..7559ad94f 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -1901,13 +1901,13 @@ declare var TransitionEvent: { }; interface MediaQueryListEventMap { - "change": undefined; + "change": Event; } interface MediaQueryList extends EventTarget { readonly media: string; readonly matches: boolean; - onchange: (this: MediaQueryList, ev: undefined) => any; + onchange: (this: MediaQueryList, ev: Event) => any; addListener(listener: EventListenerOrEventListenerObject | null): void; removeListener(listener: EventListenerOrEventListenerObject | null): void; addEventListener(type: K, listener: (this: MediaQueryList, ev: MediaQueryListEventMap[K]) => any, useCapture?: boolean): void; @@ -2429,6 +2429,8 @@ interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, Par createEvent(eventInterface: "DeviceOrientationEvent"): DeviceOrientationEvent; createEvent(eventInterface: "DragEvent"): DragEvent; createEvent(eventInterface: "ErrorEvent"): ErrorEvent; + createEvent(eventInterface: "Event"): Event; + createEvent(eventInterface: "Events"): Event; createEvent(eventInterface: "ExtendableEvent"): ExtendableEvent; createEvent(eventInterface: "ExtendableMessageEvent"): ExtendableMessageEvent; createEvent(eventInterface: "FetchEvent"): FetchEvent; @@ -2473,7 +2475,6 @@ interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, Par createEvent(eventInterface: "UIEvents"): UIEvent; createEvent(eventInterface: "WebGLContextEvent"): WebGLContextEvent; createEvent(eventInterface: "WheelEvent"): WheelEvent; - createEvent(eventInterface: "undefined"): undefined; createEvent(eventInterface: string): Event; /** * Returns an empty range object that has both of its boundary points positioned at the beginning of the document. @@ -2950,7 +2951,7 @@ declare var MediaKeys: { }; interface MediaKeySessionEventMap { - "keystatuseschange": undefined; + "keystatuseschange": Event; "message": MediaKeyMessageEvent; } @@ -2959,7 +2960,7 @@ interface MediaKeySession extends EventTarget { readonly expiration: number; readonly closed: Promise; readonly keyStatuses: MediaKeyStatusMap; - onkeystatuseschange: (this: MediaKeySession, ev: undefined) => any; + onkeystatuseschange: (this: MediaKeySession, ev: Event) => any; onmessage: (this: MediaKeySession, ev: MediaKeyMessageEvent) => any; generateRequest(initDataType: string, initData: BufferSource): Promise; load(sessionId: string): Promise; @@ -3666,16 +3667,16 @@ declare var GamepadEvent: { }; interface SensorEventMap { - "change": undefined; - "activate": undefined; + "change": Event; + "activate": Event; "error": SensorErrorEvent; } interface Sensor extends EventTarget { readonly state: SensorState; readonly timestamp: number | null; - onchange: (this: Sensor, ev: undefined) => any; - onactivate: (this: Sensor, ev: undefined) => any; + onchange: (this: Sensor, ev: Event) => any; + onactivate: (this: Sensor, ev: Event) => any; onerror: (this: Sensor, ev: SensorErrorEvent) => any; start(): void; stop(): void; @@ -3869,13 +3870,13 @@ declare var DOMMatrix: { }; interface PerformanceEventMap { - "resourcetimingbufferfull": undefined; + "resourcetimingbufferfull": Event; } interface Performance extends EventTarget { readonly timing: PerformanceTiming; readonly navigation: PerformanceNavigation; - onresourcetimingbufferfull: (this: Performance, ev: undefined) => any; + onresourcetimingbufferfull: (this: Performance, ev: Event) => any; now(): number; getEntries(): PerformanceEntryList; getEntriesByType(type: string): PerformanceEntryList; @@ -4904,7 +4905,7 @@ declare var HTMLTrackElement: { interface HTMLMediaElementEventMap extends ElementEventMap, GlobalEventHandlersEventMap, DocumentAndElementEventHandlersEventMap { "encrypted": MediaEncryptedEvent; - "waitingforkey": undefined; + "waitingforkey": Event; } interface HTMLMediaElement extends HTMLElement { @@ -5000,7 +5001,7 @@ interface HTMLMediaElement extends HTMLElement { readonly textTracks: TextTrackList; readonly mediaKeys: MediaKeys | null; onencrypted: (this: HTMLMediaElement, ev: MediaEncryptedEvent) => any; - onwaitingforkey: (this: HTMLMediaElement, ev: undefined) => any; + onwaitingforkey: (this: HTMLMediaElement, ev: Event) => any; /** * Resets the audio or video object and loads a new media resource. */ @@ -5067,14 +5068,14 @@ declare var MediaError: { }; interface AudioTrackListEventMap { - "change": undefined; + "change": Event; "addtrack": TrackEvent; "removetrack": TrackEvent; } interface AudioTrackList extends EventTarget { readonly length: number; - onchange: (this: AudioTrackList, ev: undefined) => any; + onchange: (this: AudioTrackList, ev: Event) => any; onaddtrack: (this: AudioTrackList, ev: TrackEvent) => any; onremovetrack: (this: AudioTrackList, ev: TrackEvent) => any; getTrackById(id: string): AudioTrack | null; @@ -5103,7 +5104,7 @@ declare var AudioTrack: { }; interface VideoTrackListEventMap { - "change": undefined; + "change": Event; "addtrack": TrackEvent; "removetrack": TrackEvent; } @@ -5111,7 +5112,7 @@ interface VideoTrackListEventMap { interface VideoTrackList extends EventTarget { readonly length: number; readonly selectedIndex: number; - onchange: (this: VideoTrackList, ev: undefined) => any; + onchange: (this: VideoTrackList, ev: Event) => any; onaddtrack: (this: VideoTrackList, ev: TrackEvent) => any; onremovetrack: (this: VideoTrackList, ev: TrackEvent) => any; getTrackById(id: string): VideoTrack | null; @@ -5140,14 +5141,14 @@ declare var VideoTrack: { }; interface TextTrackListEventMap { - "change": undefined; + "change": Event; "addtrack": TrackEvent; "removetrack": TrackEvent; } interface TextTrackList extends EventTarget { readonly length: number; - onchange: (this: TextTrackList, ev: undefined) => any; + onchange: (this: TextTrackList, ev: Event) => any; onaddtrack: (this: TextTrackList, ev: TrackEvent) => any; onremovetrack: (this: TextTrackList, ev: TrackEvent) => any; getTrackById(id: string): TextTrack | null; @@ -5162,7 +5163,7 @@ declare var TextTrackList: { }; interface TextTrackEventMap { - "cuechange": undefined; + "cuechange": Event; } interface TextTrack extends EventTarget { @@ -5174,7 +5175,7 @@ interface TextTrack extends EventTarget { mode: TextTrackMode; readonly cues: TextTrackCueList | null; readonly activeCues: TextTrackCueList | null; - oncuechange: (this: TextTrack, ev: undefined) => any; + oncuechange: (this: TextTrack, ev: Event) => any; readonly sourceBuffer: SourceBuffer | null; addCue(cue: TextTrackCue): void; removeCue(cue: TextTrackCue): void; @@ -7074,18 +7075,18 @@ declare var MessageEvent: { }; interface EventSourceEventMap { - "open": undefined; + "open": Event; "message": MessageEvent; - "error": undefined; + "error": Event; } interface EventSource extends EventTarget { readonly url: string; readonly withCredentials: boolean; readonly readyState: number; - onopen: (this: EventSource, ev: undefined) => any; + onopen: (this: EventSource, ev: Event) => any; onmessage: (this: EventSource, ev: MessageEvent) => any; - onerror: (this: EventSource, ev: undefined) => any; + onerror: (this: EventSource, ev: Event) => any; close(): void; readonly CONNECTING: number; readonly OPEN: number; @@ -7103,9 +7104,9 @@ declare var EventSource: { }; interface WebSocketEventMap { - "open": undefined; + "open": Event; "error": ErrorEvent; - "close": undefined; + "close": Event; "message": MessageEvent; } @@ -7113,9 +7114,9 @@ interface WebSocket extends EventTarget { readonly url: string; readonly readyState: number; readonly bufferedAmount: number; - onopen: (this: WebSocket, ev: undefined) => any; + onopen: (this: WebSocket, ev: Event) => any; onerror: (this: WebSocket, ev: ErrorEvent) => any; - onclose: (this: WebSocket, ev: undefined) => any; + onclose: (this: WebSocket, ev: Event) => any; readonly extensions: string; readonly protocol: string; onmessage: (this: WebSocket, ev: MessageEvent) => any; @@ -7208,9 +7209,9 @@ interface WorkerGlobalScope extends EventTarget, WindowOrWorkerGlobalScope, Glob readonly location: WorkerLocation; readonly navigator: WorkerNavigator; onerror: OnErrorEventHandler; - onlanguagechange: (this: WorkerGlobalScope, ev: undefined) => any; - onoffline: (this: WorkerGlobalScope, ev: undefined) => any; - ononline: (this: WorkerGlobalScope, ev: undefined) => any; + onlanguagechange: (this: WorkerGlobalScope, ev: Event) => any; + onoffline: (this: WorkerGlobalScope, ev: Event) => any; + ononline: (this: WorkerGlobalScope, ev: Event) => any; onrejectionhandled: (this: WorkerGlobalScope, ev: PromiseRejectionEvent) => any; onunhandledrejection: (this: WorkerGlobalScope, ev: PromiseRejectionEvent) => any; importScripts(...urls: string[]): void; @@ -7381,8 +7382,8 @@ declare var HTMLAppletElement: { interface HTMLMarqueeElementEventMap extends ElementEventMap, GlobalEventHandlersEventMap, DocumentAndElementEventHandlersEventMap { "bounce": Event; - "finish": undefined; - "start": undefined; + "finish": Event; + "start": Event; } interface HTMLMarqueeElement extends HTMLElement { @@ -7398,8 +7399,8 @@ interface HTMLMarqueeElement extends HTMLElement { vspace: number; width: string; onbounce: (this: HTMLMarqueeElement, ev: Event) => any; - onfinish: (this: HTMLMarqueeElement, ev: undefined) => any; - onstart: (this: HTMLMarqueeElement, ev: undefined) => any; + onfinish: (this: HTMLMarqueeElement, ev: Event) => any; + onstart: (this: HTMLMarqueeElement, ev: Event) => any; start(): void; stop(): void; addEventListener(type: K, listener: (this: HTMLMarqueeElement, ev: HTMLMarqueeElementEventMap[K]) => any, useCapture?: boolean): void; @@ -7593,7 +7594,7 @@ declare var IDBFactory: { interface IDBDatabaseEventMap { "abort": Event; - "error": undefined; + "error": Event; "versionchange": IDBVersionChangeEvent; } @@ -7602,7 +7603,7 @@ interface IDBDatabase extends EventTarget { version: number; readonly objectStoreNames: DOMStringList; onabort: (this: IDBDatabase, ev: Event) => any; - onerror: (this: IDBDatabase, ev: undefined) => any; + onerror: (this: IDBDatabase, ev: Event) => any; onversionchange: (this: IDBDatabase, ev: IDBVersionChangeEvent) => any; createObjectStore(name: string, optionalParameters?: IDBObjectStoreParameters): IDBObjectStore; deleteObjectStore(name: string): void; @@ -7770,9 +7771,9 @@ declare var MediaStream: { interface MediaStreamTrackEventMap { "mute": Event; "unmute": Event; - "ended": undefined; + "ended": Event; "overconstrained": OverconstrainedErrorEvent; - "isolationchange": undefined; + "isolationchange": Event; } interface MediaStreamTrack extends EventTarget { @@ -7784,10 +7785,10 @@ interface MediaStreamTrack extends EventTarget { onmute: (this: MediaStreamTrack, ev: Event) => any; onunmute: (this: MediaStreamTrack, ev: Event) => any; readonly readyState: MediaStreamTrackState; - onended: (this: MediaStreamTrack, ev: undefined) => any; + onended: (this: MediaStreamTrack, ev: Event) => any; onoverconstrained: (this: MediaStreamTrack, ev: OverconstrainedErrorEvent) => any; readonly isolated: boolean; - onisolationchange: (this: MediaStreamTrack, ev: undefined) => any; + onisolationchange: (this: MediaStreamTrack, ev: Event) => any; clone(): MediaStreamTrack; stop(): void; getCapabilities(): MediaTrackCapabilities; @@ -7873,9 +7874,9 @@ declare var VideoPlaybackQuality: { }; interface MediaSourceEventMap { - "sourceopen": undefined; - "sourceended": undefined; - "sourceclose": undefined; + "sourceopen": Event; + "sourceended": Event; + "sourceclose": Event; } interface MediaSource extends EventTarget { @@ -7883,9 +7884,9 @@ interface MediaSource extends EventTarget { readonly activeSourceBuffers: SourceBufferList; readonly readyState: string; duration: number; - onsourceopen: (this: MediaSource, ev: undefined) => any; - onsourceended: (this: MediaSource, ev: undefined) => any; - onsourceclose: (this: MediaSource, ev: undefined) => any; + onsourceopen: (this: MediaSource, ev: Event) => any; + onsourceended: (this: MediaSource, ev: Event) => any; + onsourceclose: (this: MediaSource, ev: Event) => any; addSourceBuffer(type: string): SourceBuffer; removeSourceBuffer(sourceBuffer: SourceBuffer): void; endOfStream(error?: EndOfStreamError): void; @@ -7902,11 +7903,11 @@ declare var MediaSource: { }; interface SourceBufferEventMap { - "updatestart": undefined; - "update": undefined; - "updateend": undefined; - "error": undefined; - "abort": undefined; + "updatestart": Event; + "update": Event; + "updateend": Event; + "error": Event; + "abort": Event; } interface SourceBuffer extends EventTarget { @@ -7919,11 +7920,11 @@ interface SourceBuffer extends EventTarget { readonly textTracks: TextTrackList; appendWindowStart: number; appendWindowEnd: number; - onupdatestart: (this: SourceBuffer, ev: undefined) => any; - onupdate: (this: SourceBuffer, ev: undefined) => any; - onupdateend: (this: SourceBuffer, ev: undefined) => any; - onerror: (this: SourceBuffer, ev: undefined) => any; - onabort: (this: SourceBuffer, ev: undefined) => any; + onupdatestart: (this: SourceBuffer, ev: Event) => any; + onupdate: (this: SourceBuffer, ev: Event) => any; + onupdateend: (this: SourceBuffer, ev: Event) => any; + onerror: (this: SourceBuffer, ev: Event) => any; + onabort: (this: SourceBuffer, ev: Event) => any; appendBuffer(data: BufferSource): void; abort(): void; remove(start: number, end: number): void; @@ -7937,14 +7938,14 @@ declare var SourceBuffer: { }; interface SourceBufferListEventMap { - "addsourcebuffer": undefined; - "removesourcebuffer": undefined; + "addsourcebuffer": Event; + "removesourcebuffer": Event; } interface SourceBufferList extends EventTarget { readonly length: number; - onaddsourcebuffer: (this: SourceBufferList, ev: undefined) => any; - onremovesourcebuffer: (this: SourceBufferList, ev: undefined) => any; + onaddsourcebuffer: (this: SourceBufferList, ev: Event) => any; + onremovesourcebuffer: (this: SourceBufferList, ev: Event) => any; addEventListener(type: K, listener: (this: SourceBufferList, ev: SourceBufferListEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; [index: number]: SourceBuffer; @@ -8299,13 +8300,13 @@ declare var Selection: { }; interface ServiceWorkerEventMap extends AbstractWorkerEventMap { - "statechange": undefined; + "statechange": Event; } interface ServiceWorker extends EventTarget, AbstractWorker { readonly scriptURL: string; readonly state: ServiceWorkerState; - onstatechange: (this: ServiceWorker, ev: undefined) => any; + onstatechange: (this: ServiceWorker, ev: Event) => any; postMessage(message: any, transfer?: any[]): void; addEventListener(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; @@ -9816,8 +9817,8 @@ declare var DocumentTimeline: { }; interface AnimationEventMap { - "finish": undefined; - "cancel": undefined; + "finish": Event; + "cancel": Event; } interface Animation extends EventTarget { @@ -9830,8 +9831,8 @@ interface Animation extends EventTarget { readonly playState: AnimationPlayState; readonly ready: Promise; readonly finished: Promise; - onfinish: (this: Animation, ev: undefined) => any; - oncancel: (this: Animation, ev: undefined) => any; + onfinish: (this: Animation, ev: Event) => any; + oncancel: (this: Animation, ev: Event) => any; cancel(): void; finish(): void; play(): void; @@ -9935,7 +9936,7 @@ declare var AnimationPlaybackEvent: { }; interface BaseAudioContextEventMap { - "statechange": undefined; + "statechange": Event; } interface BaseAudioContext extends EventTarget { @@ -9944,7 +9945,7 @@ interface BaseAudioContext extends EventTarget { readonly currentTime: number; readonly listener: AudioListener; readonly state: AudioContextState; - onstatechange: (this: BaseAudioContext, ev: undefined) => any; + onstatechange: (this: BaseAudioContext, ev: Event) => any; resume(): Promise; createBuffer(numberOfChannels: number, length: number, sampleRate: number): AudioBuffer; decodeAudioData(audioData: ArrayBuffer, successCallback?: DecodeSuccessCallback, errorCallback?: DecodeErrorCallback): Promise; @@ -10092,11 +10093,11 @@ declare var AudioParam: { }; interface AudioScheduledSourceNodeEventMap { - "ended": undefined; + "ended": Event; } interface AudioScheduledSourceNode extends AudioNode { - onended: (this: AudioScheduledSourceNode, ev: undefined) => any; + onended: (this: AudioScheduledSourceNode, ev: Event) => any; start(when?: number): void; stop(when?: number): void; addEventListener(type: K, listener: (this: AudioScheduledSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, useCapture?: boolean): void; @@ -10195,12 +10196,12 @@ declare var AudioParamMap: { }; interface AudioWorkletNodeEventMap { - "data": undefined; + "data": Event; } interface AudioWorkletNode extends AudioNode { readonly parameters: AudioParamMap; - ondata: (this: AudioWorkletNode, ev: undefined) => any; + ondata: (this: AudioWorkletNode, ev: Event) => any; sendData(data: any): void; addEventListener(type: K, listener: (this: AudioWorkletNode, ev: AudioWorkletNodeEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; @@ -10212,12 +10213,12 @@ declare var AudioWorkletNode: { }; interface AudioWorkletProcessorEventMap { - "data": undefined; + "data": Event; } interface AudioWorkletProcessor extends EventTarget { readonly contextInfo: AudioContextInfo; - ondata: (this: AudioWorkletProcessor, ev: undefined) => any; + ondata: (this: AudioWorkletProcessor, ev: Event) => any; sendData(data: any): void; addEventListener(type: K, listener: (this: AudioWorkletProcessor, ev: AudioWorkletProcessorEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; @@ -10549,17 +10550,17 @@ declare var SubtleCrypto: { }; interface SpeechRecognitionEventMap { - "audiostart": undefined; - "soundstart": undefined; - "speechstart": undefined; - "speechend": undefined; - "soundend": undefined; - "audioend": undefined; + "audiostart": Event; + "soundstart": Event; + "speechstart": Event; + "speechend": Event; + "soundend": Event; + "audioend": Event; "result": SpeechRecognitionEvent; "nomatch": SpeechRecognitionEvent; "error": SpeechRecognitionError; - "start": undefined; - "end": undefined; + "start": Event; + "end": Event; } interface SpeechRecognition extends EventTarget { @@ -10569,17 +10570,17 @@ interface SpeechRecognition extends EventTarget { interimResults: boolean; maxAlternatives: number; serviceURI: string; - onaudiostart: (this: SpeechRecognition, ev: undefined) => any; - onsoundstart: (this: SpeechRecognition, ev: undefined) => any; - onspeechstart: (this: SpeechRecognition, ev: undefined) => any; - onspeechend: (this: SpeechRecognition, ev: undefined) => any; - onsoundend: (this: SpeechRecognition, ev: undefined) => any; - onaudioend: (this: SpeechRecognition, ev: undefined) => any; + onaudiostart: (this: SpeechRecognition, ev: Event) => any; + onsoundstart: (this: SpeechRecognition, ev: Event) => any; + onspeechstart: (this: SpeechRecognition, ev: Event) => any; + onspeechend: (this: SpeechRecognition, ev: Event) => any; + onsoundend: (this: SpeechRecognition, ev: Event) => any; + onaudioend: (this: SpeechRecognition, ev: Event) => any; onresult: (this: SpeechRecognition, ev: SpeechRecognitionEvent) => any; onnomatch: (this: SpeechRecognition, ev: SpeechRecognitionEvent) => any; onerror: (this: SpeechRecognition, ev: SpeechRecognitionError) => any; - onstart: (this: SpeechRecognition, ev: undefined) => any; - onend: (this: SpeechRecognition, ev: undefined) => any; + onstart: (this: SpeechRecognition, ev: Event) => any; + onend: (this: SpeechRecognition, ev: Event) => any; start(): void; stop(): void; abort(): void; @@ -10694,10 +10695,10 @@ declare var SpeechSynthesis: { }; interface SpeechSynthesisUtteranceEventMap { - "start": undefined; - "end": undefined; + "start": Event; + "end": Event; "error": ErrorEvent; - "pause": undefined; + "pause": Event; "resume": Event; "mark": Event; "boundary": Event; @@ -10710,10 +10711,10 @@ interface SpeechSynthesisUtterance extends EventTarget { volume: number; rate: number; pitch: number; - onstart: (this: SpeechSynthesisUtterance, ev: undefined) => any; - onend: (this: SpeechSynthesisUtterance, ev: undefined) => any; + onstart: (this: SpeechSynthesisUtterance, ev: Event) => any; + onend: (this: SpeechSynthesisUtterance, ev: Event) => any; onerror: (this: SpeechSynthesisUtterance, ev: ErrorEvent) => any; - onpause: (this: SpeechSynthesisUtterance, ev: undefined) => any; + onpause: (this: SpeechSynthesisUtterance, ev: Event) => any; onresume: (this: SpeechSynthesisUtterance, ev: Event) => any; onmark: (this: SpeechSynthesisUtterance, ev: Event) => any; onboundary: (this: SpeechSynthesisUtterance, ev: Event) => any; @@ -10762,14 +10763,14 @@ declare var SpeechSynthesisVoice: { }; interface RTCPeerConnectionEventMap { - "negotiationneeded": undefined; + "negotiationneeded": Event; "icecandidate": RTCPeerConnectionIceEvent; "icecandidateerror": RTCPeerConnectionIceErrorEvent; - "signalingstatechange": undefined; - "iceconnectionstatechange": undefined; - "icegatheringstatechange": undefined; - "connectionstatechange": undefined; - "fingerprintfailure": undefined; + "signalingstatechange": Event; + "iceconnectionstatechange": Event; + "icegatheringstatechange": Event; + "connectionstatechange": Event; + "fingerprintfailure": Event; "track": RTCTrackEvent; "datachannel": RTCDataChannelEvent; } @@ -10787,14 +10788,14 @@ interface RTCPeerConnection extends EventTarget { readonly connectionState: RTCPeerConnectionState; readonly canTrickleIceCandidates: boolean | null; readonly defaultIceServers: ReadonlyArray; - onnegotiationneeded: (this: RTCPeerConnection, ev: undefined) => any; + onnegotiationneeded: (this: RTCPeerConnection, ev: Event) => any; onicecandidate: (this: RTCPeerConnection, ev: RTCPeerConnectionIceEvent) => any; onicecandidateerror: (this: RTCPeerConnection, ev: RTCPeerConnectionIceErrorEvent) => any; - onsignalingstatechange: (this: RTCPeerConnection, ev: undefined) => any; - oniceconnectionstatechange: (this: RTCPeerConnection, ev: undefined) => any; - onicegatheringstatechange: (this: RTCPeerConnection, ev: undefined) => any; - onconnectionstatechange: (this: RTCPeerConnection, ev: undefined) => any; - onfingerprintfailure: (this: RTCPeerConnection, ev: undefined) => any; + onsignalingstatechange: (this: RTCPeerConnection, ev: Event) => any; + oniceconnectionstatechange: (this: RTCPeerConnection, ev: Event) => any; + onicegatheringstatechange: (this: RTCPeerConnection, ev: Event) => any; + onconnectionstatechange: (this: RTCPeerConnection, ev: Event) => any; + onfingerprintfailure: (this: RTCPeerConnection, ev: Event) => any; ontrack: (this: RTCPeerConnection, ev: RTCTrackEvent) => any; readonly sctp: RTCSctpTransport | null; ondatachannel: (this: RTCPeerConnection, ev: RTCDataChannelEvent) => any; @@ -10958,13 +10959,13 @@ declare var RTCRtpTransceiver: { }; interface RTCDtlsTransportEventMap { - "statechange": undefined; + "statechange": Event; } interface RTCDtlsTransport { readonly transport: RTCIceTransport; readonly state: RTCDtlsTransportState; - onstatechange: (this: RTCDtlsTransport, ev: undefined) => any; + onstatechange: (this: RTCDtlsTransport, ev: Event) => any; getRemoteCertificates(): ArrayBuffer[]; addEventListener(type: K, listener: (this: RTCDtlsTransport, ev: RTCDtlsTransportEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; @@ -10976,9 +10977,9 @@ declare var RTCDtlsTransport: { }; interface RTCIceTransportEventMap { - "statechange": undefined; - "gatheringstatechange": undefined; - "selectedcandidatepairchange": undefined; + "statechange": Event; + "gatheringstatechange": Event; + "selectedcandidatepairchange": Event; } interface RTCIceTransport { @@ -10986,9 +10987,9 @@ interface RTCIceTransport { readonly component: RTCIceComponent; readonly state: RTCIceTransportState; readonly gatheringState: RTCIceGathererState; - onstatechange: (this: RTCIceTransport, ev: undefined) => any; - ongatheringstatechange: (this: RTCIceTransport, ev: undefined) => any; - onselectedcandidatepairchange: (this: RTCIceTransport, ev: undefined) => any; + onstatechange: (this: RTCIceTransport, ev: Event) => any; + ongatheringstatechange: (this: RTCIceTransport, ev: Event) => any; + onselectedcandidatepairchange: (this: RTCIceTransport, ev: Event) => any; getLocalCandidates(): RTCIceCandidate[]; getRemoteCandidates(): RTCIceCandidate[]; getSelectedCandidatePair(): RTCIceCandidatePair | null; @@ -11026,10 +11027,10 @@ declare var RTCSctpTransport: { }; interface RTCDataChannelEventMap { - "open": undefined; - "bufferedamountlow": undefined; + "open": Event; + "bufferedamountlow": Event; "error": ErrorEvent; - "close": undefined; + "close": Event; "message": MessageEvent; } @@ -11045,10 +11046,10 @@ interface RTCDataChannel extends EventTarget { readonly readyState: RTCDataChannelState; readonly bufferedAmount: number; bufferedAmountLowThreshold: number; - onopen: (this: RTCDataChannel, ev: undefined) => any; - onbufferedamountlow: (this: RTCDataChannel, ev: undefined) => any; + onopen: (this: RTCDataChannel, ev: Event) => any; + onbufferedamountlow: (this: RTCDataChannel, ev: Event) => any; onerror: (this: RTCDataChannel, ev: ErrorEvent) => any; - onclose: (this: RTCDataChannel, ev: undefined) => any; + onclose: (this: RTCDataChannel, ev: Event) => any; onmessage: (this: RTCDataChannel, ev: MessageEvent) => any; binaryType: string; close(): void; @@ -11274,7 +11275,7 @@ interface XMLHttpRequestEventTargetEventMap { "error": ErrorEvent; "load": Event; "timeout": Event; - "loadend": undefined; + "loadend": Event; } interface XMLHttpRequestEventTarget extends EventTarget { @@ -11643,17 +11644,17 @@ interface NavigatorOnLine { } interface GlobalEventHandlersEventMap { - "abort": undefined; + "abort": Event; "auxclick": MouseEvent; - "blur": undefined; - "cancel": undefined; - "canplay": undefined; - "canplaythrough": undefined; - "change": undefined; + "blur": Event; + "cancel": Event; + "canplay": Event; + "canplaythrough": Event; + "change": Event; "click": MouseEvent; - "close": undefined; + "close": Event; "contextmenu": MouseEvent; - "cuechange": undefined; + "cuechange": Event; "dblclick": MouseEvent; "drag": DragEvent; "dragend": DragEvent; @@ -11663,20 +11664,20 @@ interface GlobalEventHandlersEventMap { "dragover": DragEvent; "dragstart": DragEvent; "drop": DragEvent; - "durationchange": undefined; - "emptied": undefined; - "ended": undefined; - "focus": undefined; - "input": undefined; - "invalid": undefined; + "durationchange": Event; + "emptied": Event; + "ended": Event; + "focus": Event; + "input": Event; + "invalid": Event; "keydown": KeyboardEvent; "keypress": KeyboardEvent; "keyup": KeyboardEvent; - "load": undefined; - "loadeddata": undefined; - "loadedmetadata": undefined; - "loadend": undefined; - "loadstart": undefined; + "load": Event; + "loadeddata": Event; + "loadedmetadata": Event; + "loadend": Event; + "loadstart": Event; "mousedown": MouseEvent; "mouseenter": MouseEvent; "mouseleave": MouseEvent; @@ -11685,25 +11686,25 @@ interface GlobalEventHandlersEventMap { "mouseover": MouseEvent; "mouseup": MouseEvent; "wheel": WheelEvent; - "pause": undefined; - "play": undefined; - "playing": undefined; - "progress": undefined; - "ratechange": undefined; - "reset": undefined; - "resize": undefined; - "scroll": undefined; - "seeked": undefined; - "seeking": undefined; - "select": undefined; + "pause": Event; + "play": Event; + "playing": Event; + "progress": Event; + "ratechange": Event; + "reset": Event; + "resize": Event; + "scroll": Event; + "seeked": Event; + "seeking": Event; + "select": Event; "show": RelatedEvent; - "stalled": undefined; - "submit": undefined; - "suspend": undefined; - "timeupdate": undefined; - "toggle": undefined; - "volumechange": undefined; - "waiting": undefined; + "stalled": Event; + "submit": Event; + "suspend": Event; + "timeupdate": Event; + "toggle": Event; + "volumechange": Event; + "waiting": Event; "animationstart": AnimationEvent; "animationiteration": AnimationEvent; "animationend": AnimationEvent; @@ -11720,22 +11721,22 @@ interface GlobalEventHandlersEventMap { "pointerout": Event; "pointerenter": Event; "pointerleave": Event; - "selectstart": undefined; - "selectionchange": undefined; + "selectstart": Event; + "selectionchange": Event; } interface GlobalEventHandlers { - onabort: (this: GlobalEventHandlers, ev: undefined) => any; + onabort: (this: GlobalEventHandlers, ev: Event) => any; onauxclick: (this: GlobalEventHandlers, ev: MouseEvent) => any; - onblur: (this: GlobalEventHandlers, ev: undefined) => any; - oncancel: (this: GlobalEventHandlers, ev: undefined) => any; - oncanplay: (this: GlobalEventHandlers, ev: undefined) => any; - oncanplaythrough: (this: GlobalEventHandlers, ev: undefined) => any; - onchange: (this: GlobalEventHandlers, ev: undefined) => any; + onblur: (this: GlobalEventHandlers, ev: Event) => any; + oncancel: (this: GlobalEventHandlers, ev: Event) => any; + oncanplay: (this: GlobalEventHandlers, ev: Event) => any; + oncanplaythrough: (this: GlobalEventHandlers, ev: Event) => any; + onchange: (this: GlobalEventHandlers, ev: Event) => any; onclick: (this: GlobalEventHandlers, ev: MouseEvent) => any; - onclose: (this: GlobalEventHandlers, ev: undefined) => any; + onclose: (this: GlobalEventHandlers, ev: Event) => any; oncontextmenu: (this: GlobalEventHandlers, ev: MouseEvent) => any; - oncuechange: (this: GlobalEventHandlers, ev: undefined) => any; + oncuechange: (this: GlobalEventHandlers, ev: Event) => any; ondblclick: (this: GlobalEventHandlers, ev: MouseEvent) => any; ondrag: (this: GlobalEventHandlers, ev: DragEvent) => any; ondragend: (this: GlobalEventHandlers, ev: DragEvent) => any; @@ -11745,21 +11746,21 @@ interface GlobalEventHandlers { ondragover: (this: GlobalEventHandlers, ev: DragEvent) => any; ondragstart: (this: GlobalEventHandlers, ev: DragEvent) => any; ondrop: (this: GlobalEventHandlers, ev: DragEvent) => any; - ondurationchange: (this: GlobalEventHandlers, ev: undefined) => any; - onemptied: (this: GlobalEventHandlers, ev: undefined) => any; - onended: (this: GlobalEventHandlers, ev: undefined) => any; + ondurationchange: (this: GlobalEventHandlers, ev: Event) => any; + onemptied: (this: GlobalEventHandlers, ev: Event) => any; + onended: (this: GlobalEventHandlers, ev: Event) => any; onerror: OnErrorEventHandler; - onfocus: (this: GlobalEventHandlers, ev: undefined) => any; - oninput: (this: GlobalEventHandlers, ev: undefined) => any; - oninvalid: (this: GlobalEventHandlers, ev: undefined) => any; + onfocus: (this: GlobalEventHandlers, ev: Event) => any; + oninput: (this: GlobalEventHandlers, ev: Event) => any; + oninvalid: (this: GlobalEventHandlers, ev: Event) => any; onkeydown: (this: GlobalEventHandlers, ev: KeyboardEvent) => any; onkeypress: (this: GlobalEventHandlers, ev: KeyboardEvent) => any; onkeyup: (this: GlobalEventHandlers, ev: KeyboardEvent) => any; - onload: (this: GlobalEventHandlers, ev: undefined) => any; - onloadeddata: (this: GlobalEventHandlers, ev: undefined) => any; - onloadedmetadata: (this: GlobalEventHandlers, ev: undefined) => any; - onloadend: (this: GlobalEventHandlers, ev: undefined) => any; - onloadstart: (this: GlobalEventHandlers, ev: undefined) => any; + onload: (this: GlobalEventHandlers, ev: Event) => any; + onloadeddata: (this: GlobalEventHandlers, ev: Event) => any; + onloadedmetadata: (this: GlobalEventHandlers, ev: Event) => any; + onloadend: (this: GlobalEventHandlers, ev: Event) => any; + onloadstart: (this: GlobalEventHandlers, ev: Event) => any; onmousedown: (this: GlobalEventHandlers, ev: MouseEvent) => any; onmouseenter: (this: GlobalEventHandlers, ev: MouseEvent) => any; onmouseleave: (this: GlobalEventHandlers, ev: MouseEvent) => any; @@ -11768,25 +11769,25 @@ interface GlobalEventHandlers { onmouseover: (this: GlobalEventHandlers, ev: MouseEvent) => any; onmouseup: (this: GlobalEventHandlers, ev: MouseEvent) => any; onwheel: (this: GlobalEventHandlers, ev: WheelEvent) => any; - onpause: (this: GlobalEventHandlers, ev: undefined) => any; - onplay: (this: GlobalEventHandlers, ev: undefined) => any; - onplaying: (this: GlobalEventHandlers, ev: undefined) => any; - onprogress: (this: GlobalEventHandlers, ev: undefined) => any; - onratechange: (this: GlobalEventHandlers, ev: undefined) => any; - onreset: (this: GlobalEventHandlers, ev: undefined) => any; - onresize: (this: GlobalEventHandlers, ev: undefined) => any; - onscroll: (this: GlobalEventHandlers, ev: undefined) => any; - onseeked: (this: GlobalEventHandlers, ev: undefined) => any; - onseeking: (this: GlobalEventHandlers, ev: undefined) => any; - onselect: (this: GlobalEventHandlers, ev: undefined) => any; + onpause: (this: GlobalEventHandlers, ev: Event) => any; + onplay: (this: GlobalEventHandlers, ev: Event) => any; + onplaying: (this: GlobalEventHandlers, ev: Event) => any; + onprogress: (this: GlobalEventHandlers, ev: Event) => any; + onratechange: (this: GlobalEventHandlers, ev: Event) => any; + onreset: (this: GlobalEventHandlers, ev: Event) => any; + onresize: (this: GlobalEventHandlers, ev: Event) => any; + onscroll: (this: GlobalEventHandlers, ev: Event) => any; + onseeked: (this: GlobalEventHandlers, ev: Event) => any; + onseeking: (this: GlobalEventHandlers, ev: Event) => any; + onselect: (this: GlobalEventHandlers, ev: Event) => any; onshow: (this: GlobalEventHandlers, ev: RelatedEvent) => any; - onstalled: (this: GlobalEventHandlers, ev: undefined) => any; - onsubmit: (this: GlobalEventHandlers, ev: undefined) => any; - onsuspend: (this: GlobalEventHandlers, ev: undefined) => any; - ontimeupdate: (this: GlobalEventHandlers, ev: undefined) => any; - ontoggle: (this: GlobalEventHandlers, ev: undefined) => any; - onvolumechange: (this: GlobalEventHandlers, ev: undefined) => any; - onwaiting: (this: GlobalEventHandlers, ev: undefined) => any; + onstalled: (this: GlobalEventHandlers, ev: Event) => any; + onsubmit: (this: GlobalEventHandlers, ev: Event) => any; + onsuspend: (this: GlobalEventHandlers, ev: Event) => any; + ontimeupdate: (this: GlobalEventHandlers, ev: Event) => any; + ontoggle: (this: GlobalEventHandlers, ev: Event) => any; + onvolumechange: (this: GlobalEventHandlers, ev: Event) => any; + onwaiting: (this: GlobalEventHandlers, ev: Event) => any; onanimationstart: (this: GlobalEventHandlers, ev: AnimationEvent) => any; onanimationiteration: (this: GlobalEventHandlers, ev: AnimationEvent) => any; onanimationend: (this: GlobalEventHandlers, ev: AnimationEvent) => any; @@ -11803,59 +11804,59 @@ interface GlobalEventHandlers { onpointerout: (this: GlobalEventHandlers, ev: Event) => any; onpointerenter: (this: GlobalEventHandlers, ev: Event) => any; onpointerleave: (this: GlobalEventHandlers, ev: Event) => any; - onselectstart: (this: GlobalEventHandlers, ev: undefined) => any; - onselectionchange: (this: GlobalEventHandlers, ev: undefined) => any; + onselectstart: (this: GlobalEventHandlers, ev: Event) => any; + onselectionchange: (this: GlobalEventHandlers, ev: Event) => any; addEventListener(type: K, listener: (this: GlobalEventHandlers, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } interface WindowEventHandlersEventMap { - "afterprint": undefined; - "beforeprint": undefined; + "afterprint": Event; + "beforeprint": Event; "hashchange": HashChangeEvent; - "languagechange": undefined; + "languagechange": Event; "message": MessageEvent; - "offline": undefined; - "online": undefined; + "offline": Event; + "online": Event; "pagehide": PageTransitionEvent; "pageshow": PageTransitionEvent; "popstate": PopStateEvent; "rejectionhandled": PromiseRejectionEvent; "storage": StorageEvent; "unhandledrejection": PromiseRejectionEvent; - "unload": undefined; + "unload": Event; } interface WindowEventHandlers { - onafterprint: (this: WindowEventHandlers, ev: undefined) => any; - onbeforeprint: (this: WindowEventHandlers, ev: undefined) => any; + onafterprint: (this: WindowEventHandlers, ev: Event) => any; + onbeforeprint: (this: WindowEventHandlers, ev: Event) => any; onbeforeunload: OnBeforeUnloadEventHandler; onhashchange: (this: WindowEventHandlers, ev: HashChangeEvent) => any; - onlanguagechange: (this: WindowEventHandlers, ev: undefined) => any; + onlanguagechange: (this: WindowEventHandlers, ev: Event) => any; onmessage: (this: WindowEventHandlers, ev: MessageEvent) => any; - onoffline: (this: WindowEventHandlers, ev: undefined) => any; - ononline: (this: WindowEventHandlers, ev: undefined) => any; + onoffline: (this: WindowEventHandlers, ev: Event) => any; + ononline: (this: WindowEventHandlers, ev: Event) => any; onpagehide: (this: WindowEventHandlers, ev: PageTransitionEvent) => any; onpageshow: (this: WindowEventHandlers, ev: PageTransitionEvent) => any; onpopstate: (this: WindowEventHandlers, ev: PopStateEvent) => any; onrejectionhandled: (this: WindowEventHandlers, ev: PromiseRejectionEvent) => any; onstorage: (this: WindowEventHandlers, ev: StorageEvent) => any; onunhandledrejection: (this: WindowEventHandlers, ev: PromiseRejectionEvent) => any; - onunload: (this: WindowEventHandlers, ev: undefined) => any; + onunload: (this: WindowEventHandlers, ev: Event) => any; addEventListener(type: K, listener: (this: WindowEventHandlers, ev: WindowEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } interface DocumentAndElementEventHandlersEventMap { - "copy": undefined; - "cut": undefined; - "paste": undefined; + "copy": Event; + "cut": Event; + "paste": Event; } interface DocumentAndElementEventHandlers { - oncopy: (this: DocumentAndElementEventHandlers, ev: undefined) => any; - oncut: (this: DocumentAndElementEventHandlers, ev: undefined) => any; - onpaste: (this: DocumentAndElementEventHandlers, ev: undefined) => any; + oncopy: (this: DocumentAndElementEventHandlers, ev: Event) => any; + oncut: (this: DocumentAndElementEventHandlers, ev: Event) => any; + onpaste: (this: DocumentAndElementEventHandlers, ev: Event) => any; addEventListener(type: K, listener: (this: DocumentAndElementEventHandlers, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } @@ -12865,17 +12866,17 @@ declare function createImageBitmap(image: HTMLImageElement | SVGImageElement | H declare function toString(): string; declare function removeEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; declare function dispatchEvent(event: Event): boolean; -declare var onabort: (this: Window, ev: undefined) => any; +declare var onabort: (this: Window, ev: Event) => any; declare var onauxclick: (this: Window, ev: MouseEvent) => any; -declare var onblur: (this: Window, ev: undefined) => any; -declare var oncancel: (this: Window, ev: undefined) => any; -declare var oncanplay: (this: Window, ev: undefined) => any; -declare var oncanplaythrough: (this: Window, ev: undefined) => any; -declare var onchange: (this: Window, ev: undefined) => any; +declare var onblur: (this: Window, ev: Event) => any; +declare var oncancel: (this: Window, ev: Event) => any; +declare var oncanplay: (this: Window, ev: Event) => any; +declare var oncanplaythrough: (this: Window, ev: Event) => any; +declare var onchange: (this: Window, ev: Event) => any; declare var onclick: (this: Window, ev: MouseEvent) => any; -declare var onclose: (this: Window, ev: undefined) => any; +declare var onclose: (this: Window, ev: Event) => any; declare var oncontextmenu: (this: Window, ev: MouseEvent) => any; -declare var oncuechange: (this: Window, ev: undefined) => any; +declare var oncuechange: (this: Window, ev: Event) => any; declare var ondblclick: (this: Window, ev: MouseEvent) => any; declare var ondrag: (this: Window, ev: DragEvent) => any; declare var ondragend: (this: Window, ev: DragEvent) => any; @@ -12885,21 +12886,21 @@ declare var ondragleave: (this: Window, ev: DragEvent) => any; declare var ondragover: (this: Window, ev: DragEvent) => any; declare var ondragstart: (this: Window, ev: DragEvent) => any; declare var ondrop: (this: Window, ev: DragEvent) => any; -declare var ondurationchange: (this: Window, ev: undefined) => any; -declare var onemptied: (this: Window, ev: undefined) => any; -declare var onended: (this: Window, ev: undefined) => any; +declare var ondurationchange: (this: Window, ev: Event) => any; +declare var onemptied: (this: Window, ev: Event) => any; +declare var onended: (this: Window, ev: Event) => any; declare var onerror: OnErrorEventHandler; -declare var onfocus: (this: Window, ev: undefined) => any; -declare var oninput: (this: Window, ev: undefined) => any; -declare var oninvalid: (this: Window, ev: undefined) => any; +declare var onfocus: (this: Window, ev: Event) => any; +declare var oninput: (this: Window, ev: Event) => any; +declare var oninvalid: (this: Window, ev: Event) => any; declare var onkeydown: (this: Window, ev: KeyboardEvent) => any; declare var onkeypress: (this: Window, ev: KeyboardEvent) => any; declare var onkeyup: (this: Window, ev: KeyboardEvent) => any; -declare var onload: (this: Window, ev: undefined) => any; -declare var onloadeddata: (this: Window, ev: undefined) => any; -declare var onloadedmetadata: (this: Window, ev: undefined) => any; -declare var onloadend: (this: Window, ev: undefined) => any; -declare var onloadstart: (this: Window, ev: undefined) => any; +declare var onload: (this: Window, ev: Event) => any; +declare var onloadeddata: (this: Window, ev: Event) => any; +declare var onloadedmetadata: (this: Window, ev: Event) => any; +declare var onloadend: (this: Window, ev: Event) => any; +declare var onloadstart: (this: Window, ev: Event) => any; declare var onmousedown: (this: Window, ev: MouseEvent) => any; declare var onmouseenter: (this: Window, ev: MouseEvent) => any; declare var onmouseleave: (this: Window, ev: MouseEvent) => any; @@ -12908,25 +12909,25 @@ declare var onmouseout: (this: Window, ev: MouseEvent) => any; declare var onmouseover: (this: Window, ev: MouseEvent) => any; declare var onmouseup: (this: Window, ev: MouseEvent) => any; declare var onwheel: (this: Window, ev: WheelEvent) => any; -declare var onpause: (this: Window, ev: undefined) => any; -declare var onplay: (this: Window, ev: undefined) => any; -declare var onplaying: (this: Window, ev: undefined) => any; -declare var onprogress: (this: Window, ev: undefined) => any; -declare var onratechange: (this: Window, ev: undefined) => any; -declare var onreset: (this: Window, ev: undefined) => any; -declare var onresize: (this: Window, ev: undefined) => any; -declare var onscroll: (this: Window, ev: undefined) => any; -declare var onseeked: (this: Window, ev: undefined) => any; -declare var onseeking: (this: Window, ev: undefined) => any; -declare var onselect: (this: Window, ev: undefined) => any; +declare var onpause: (this: Window, ev: Event) => any; +declare var onplay: (this: Window, ev: Event) => any; +declare var onplaying: (this: Window, ev: Event) => any; +declare var onprogress: (this: Window, ev: Event) => any; +declare var onratechange: (this: Window, ev: Event) => any; +declare var onreset: (this: Window, ev: Event) => any; +declare var onresize: (this: Window, ev: Event) => any; +declare var onscroll: (this: Window, ev: Event) => any; +declare var onseeked: (this: Window, ev: Event) => any; +declare var onseeking: (this: Window, ev: Event) => any; +declare var onselect: (this: Window, ev: Event) => any; declare var onshow: (this: Window, ev: RelatedEvent) => any; -declare var onstalled: (this: Window, ev: undefined) => any; -declare var onsubmit: (this: Window, ev: undefined) => any; -declare var onsuspend: (this: Window, ev: undefined) => any; -declare var ontimeupdate: (this: Window, ev: undefined) => any; -declare var ontoggle: (this: Window, ev: undefined) => any; -declare var onvolumechange: (this: Window, ev: undefined) => any; -declare var onwaiting: (this: Window, ev: undefined) => any; +declare var onstalled: (this: Window, ev: Event) => any; +declare var onsubmit: (this: Window, ev: Event) => any; +declare var onsuspend: (this: Window, ev: Event) => any; +declare var ontimeupdate: (this: Window, ev: Event) => any; +declare var ontoggle: (this: Window, ev: Event) => any; +declare var onvolumechange: (this: Window, ev: Event) => any; +declare var onwaiting: (this: Window, ev: Event) => any; declare var onanimationstart: (this: Window, ev: AnimationEvent) => any; declare var onanimationiteration: (this: Window, ev: AnimationEvent) => any; declare var onanimationend: (this: Window, ev: AnimationEvent) => any; @@ -12943,23 +12944,23 @@ declare var onpointerover: (this: Window, ev: Event) => any; declare var onpointerout: (this: Window, ev: Event) => any; declare var onpointerenter: (this: Window, ev: Event) => any; declare var onpointerleave: (this: Window, ev: Event) => any; -declare var onselectstart: (this: Window, ev: undefined) => any; -declare var onselectionchange: (this: Window, ev: undefined) => any; -declare var onafterprint: (this: Window, ev: undefined) => any; -declare var onbeforeprint: (this: Window, ev: undefined) => any; +declare var onselectstart: (this: Window, ev: Event) => any; +declare var onselectionchange: (this: Window, ev: Event) => any; +declare var onafterprint: (this: Window, ev: Event) => any; +declare var onbeforeprint: (this: Window, ev: Event) => any; declare var onbeforeunload: OnBeforeUnloadEventHandler; declare var onhashchange: (this: Window, ev: HashChangeEvent) => any; -declare var onlanguagechange: (this: Window, ev: undefined) => any; +declare var onlanguagechange: (this: Window, ev: Event) => any; declare var onmessage: (this: Window, ev: MessageEvent) => any; -declare var onoffline: (this: Window, ev: undefined) => any; -declare var ononline: (this: Window, ev: undefined) => any; +declare var onoffline: (this: Window, ev: Event) => any; +declare var ononline: (this: Window, ev: Event) => any; declare var onpagehide: (this: Window, ev: PageTransitionEvent) => any; declare var onpageshow: (this: Window, ev: PageTransitionEvent) => any; declare var onpopstate: (this: Window, ev: PopStateEvent) => any; declare var onrejectionhandled: (this: Window, ev: PromiseRejectionEvent) => any; declare var onstorage: (this: Window, ev: StorageEvent) => any; declare var onunhandledrejection: (this: Window, ev: PromiseRejectionEvent) => any; -declare var onunload: (this: Window, ev: undefined) => any; +declare var onunload: (this: Window, ev: Event) => any; declare var origin: string; declare var caches: CacheStorage; declare function btoa(data: string): string; diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index 01d321d18..e20c90a4c 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -356,13 +356,13 @@ declare var FileReader: { }; interface PerformanceEventMap { - "resourcetimingbufferfull": undefined; + "resourcetimingbufferfull": Event; } interface Performance extends EventTarget { readonly timing: PerformanceTiming; readonly navigation: PerformanceNavigation; - onresourcetimingbufferfull: (this: Performance, ev: undefined) => any; + onresourcetimingbufferfull: (this: Performance, ev: Event) => any; now(): number; getEntries(): PerformanceEntryList; getEntriesByType(type: string): PerformanceEntryList; @@ -434,9 +434,9 @@ declare var MessageEvent: { }; interface WebSocketEventMap { - "open": undefined; + "open": Event; "error": ErrorEvent; - "close": undefined; + "close": Event; "message": MessageEvent; } @@ -444,9 +444,9 @@ interface WebSocket extends EventTarget { readonly url: string; readonly readyState: number; readonly bufferedAmount: number; - onopen: (this: WebSocket, ev: undefined) => any; + onopen: (this: WebSocket, ev: Event) => any; onerror: (this: WebSocket, ev: ErrorEvent) => any; - onclose: (this: WebSocket, ev: undefined) => any; + onclose: (this: WebSocket, ev: Event) => any; readonly extensions: string; readonly protocol: string; onmessage: (this: WebSocket, ev: MessageEvent) => any; @@ -607,7 +607,7 @@ declare var IDBFactory: { interface IDBDatabaseEventMap { "abort": Event; - "error": undefined; + "error": Event; "versionchange": IDBVersionChangeEvent; } @@ -616,7 +616,7 @@ interface IDBDatabase extends EventTarget { version: number; readonly objectStoreNames: DOMStringList; onabort: (this: IDBDatabase, ev: Event) => any; - onerror: (this: IDBDatabase, ev: undefined) => any; + onerror: (this: IDBDatabase, ev: Event) => any; onversionchange: (this: IDBDatabase, ev: IDBVersionChangeEvent) => any; createObjectStore(name: string, optionalParameters?: IDBObjectStoreParameters): IDBObjectStore; deleteObjectStore(name: string): void; @@ -840,13 +840,13 @@ declare var PushSubscription: { }; interface ServiceWorkerEventMap extends AbstractWorkerEventMap { - "statechange": undefined; + "statechange": Event; } interface ServiceWorker extends EventTarget, AbstractWorker { readonly scriptURL: string; readonly state: ServiceWorkerState; - onstatechange: (this: ServiceWorker, ev: undefined) => any; + onstatechange: (this: ServiceWorker, ev: Event) => any; postMessage(message: any, transfer?: any[]): void; addEventListener(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; @@ -1014,7 +1014,7 @@ interface XMLHttpRequestEventTargetEventMap { "error": ErrorEvent; "load": Event; "timeout": Event; - "loadend": undefined; + "loadend": Event; } interface XMLHttpRequestEventTarget extends EventTarget { diff --git a/inputfiles/browser.webidl.xml b/inputfiles/browser.webidl.xml index c71c56291..aa2a7a888 100644 --- a/inputfiles/browser.webidl.xml +++ b/inputfiles/browser.webidl.xml @@ -2815,7 +2815,7 @@ - + @@ -3761,7 +3761,7 @@ - + @@ -4294,8 +4294,8 @@ - - + + @@ -4644,7 +4644,7 @@ - + @@ -5149,7 +5149,7 @@ - + @@ -5239,7 +5239,7 @@ - + @@ -6521,9 +6521,9 @@ - + - + @@ -6636,9 +6636,9 @@ WindowOrWorkerGlobalScope - - - + + + @@ -6919,8 +6919,8 @@ - - + + @@ -7128,7 +7128,7 @@ - + @@ -7213,9 +7213,9 @@ - - - + + + @@ -7246,11 +7246,11 @@ - - - - - + + + + + @@ -7265,8 +7265,8 @@ - - + + @@ -8861,8 +8861,8 @@ - - + + @@ -9009,7 +9009,7 @@ - + @@ -9163,7 +9163,7 @@ - + @@ -9270,7 +9270,7 @@ - + @@ -9284,7 +9284,7 @@ - + @@ -9693,17 +9693,17 @@ - - - - - - + + + + + + - - + + @@ -9941,14 +9941,14 @@ - + - - - - - + + + + + @@ -10084,7 +10084,7 @@ - + @@ -10105,9 +10105,9 @@ - - - + + + @@ -10164,10 +10164,10 @@ - - + + - + @@ -11020,17 +11020,17 @@ - + - - - - - + + + + + - + - + @@ -11040,20 +11040,20 @@ - - - - - - + + + + + + - - - - - + + + + + @@ -11062,25 +11062,25 @@ - - - - - - - - - - - + + + + + + + + + + + - - - - - - - + + + + + + + @@ -11089,8 +11089,8 @@ - - + + @@ -11112,20 +11112,20 @@ - - + + - + - - + + - + @@ -11135,9 +11135,9 @@ - - - + + + From 18b8479bb795ec7da554621d6d3a6b3892cd39cf Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Wed, 5 Apr 2017 08:10:54 +0900 Subject: [PATCH 20/50] removed old method signature --- baselines/dom.generated.d.ts | 1 - inputfiles/addedTypes.json | 6 ------ 2 files changed, 7 deletions(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 7559ad94f..ca439e10c 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -6594,7 +6594,6 @@ declare var CanvasGradient: { interface CanvasPattern { setTransform(transform?: DOMMatrixInit): void; - setTransform(matrix: SVGMatrix): void; } declare var CanvasPattern: { diff --git a/inputfiles/addedTypes.json b/inputfiles/addedTypes.json index 92aac87bd..cdb37b08a 100644 --- a/inputfiles/addedTypes.json +++ b/inputfiles/addedTypes.json @@ -573,12 +573,6 @@ "baseInterface": "ParentNode", "interface": "DocumentFragment" }, - { - "kind": "method", - "interface": "CanvasPattern", - "name": "setTransform", - "signatures": ["setTransform(matrix: SVGMatrix): void"] - }, { "kind": "interface", "name": "DocumentOrShadowRoot", From e96bad322b75c189c4a21256dba445b46d0980e9 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Wed, 5 Apr 2017 08:26:37 +0900 Subject: [PATCH 21/50] getElementById is moved to NonElementParentNode --- baselines/dom.generated.d.ts | 65 ----------- baselines/webworker.generated.d.ts | 11 -- inputfiles/addedTypes.json | 175 ----------------------------- 3 files changed, 251 deletions(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index ca439e10c..dd613287b 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -514,7 +514,6 @@ interface IDBVersionChangeEventInit extends EventInit { } interface IntersectionObserverEntryInit { - isIntersecting: boolean; time: number; rootBounds: DOMRectInit; boundingClientRect: DOMRectInit; @@ -2629,7 +2628,6 @@ declare var DocumentType: { }; interface DocumentFragment extends Node, NonElementParentNode, ParentNode, ParentNode { - getElementById(elementId: string): HTMLElement | null; } declare var DocumentFragment: { @@ -3051,7 +3049,6 @@ interface Response extends Object, Body { readonly statusText: any; readonly headers: Headers; readonly trailer: Promise; - readonly redirected: boolean; clone(): Response; } @@ -6383,7 +6380,6 @@ interface ValidityState { readonly badInput: boolean; readonly customError: boolean; readonly valid: boolean; - readonly tooShort: boolean; } declare var ValidityState: { @@ -7731,7 +7727,6 @@ interface IntersectionObserverEntry { readonly isIntersecting: boolean; readonly intersectionRatio: number; readonly target: Element; - readonly isIntersecting: boolean; } declare var IntersectionObserverEntry: { @@ -11360,11 +11355,6 @@ interface FormData { has(name: string): boolean; set(name: string, value: string): void; set(name: string, blobValue: Blob, filename?: string): void; - delete(name: string): void; - get(name: string): FormDataEntryValue | null; - getAll(name: string): FormDataEntryValue[]; - has(name: string): boolean; - set(name: string, value: string | Blob, fileName?: string): void; } declare var FormData: { @@ -12656,59 +12646,6 @@ interface AssignedNodesOptions { flatten?: boolean; } -interface EventListenerOptions { - capture?: boolean; -} - -interface AddEventListenerOptions extends EventListenerOptions { - passive?: boolean; - once?: boolean; -} - -interface TouchEventInit extends EventModifierInit { - touches?: Touch[]; - targetTouches?: Touch[]; - changedTouches?: Touch[]; -} - -interface HTMLDialogElement extends HTMLElement { - open: boolean; - returnValue: string; - close(returnValue?: string): void; - show(): void; - showModal(): void; -} - -declare var HTMLDialogElement: { - prototype: HTMLDialogElement; - new(): HTMLDialogElement; -}; - -interface HTMLMainElement extends HTMLElement { -} - -declare var HTMLMainElement: { - prototype: HTMLMainElement; - new(): HTMLMainElement; -}; - -interface HTMLDetailsElement extends HTMLElement { - open: boolean; -} - -declare var HTMLDetailsElement: { - prototype: HTMLDetailsElement; - new(): HTMLDetailsElement; -}; - -interface HTMLSummaryElement extends HTMLElement { -} - -declare var HTMLSummaryElement: { - prototype: HTMLSummaryElement; - new(): HTMLSummaryElement; -}; - declare type EventListenerOrEventListenerObject = EventListener | EventListenerObject; interface MutationCallback { @@ -13035,8 +12972,6 @@ type DOMTimeStamp = number; type FormDataEntryValue = File | string; type IDBValidKey = number | string | Date | IDBArrayKey; type MouseWheelEvent = WheelEvent; -type FormDataEntryValue = string | File; -type InsertPosition = "beforebegin" | "afterbegin" | "beforeend" | "afterend"; type ScrollBehavior = "auto" | "instant" | "smooth"; type ScrollLogicalPosition = "start" | "center" | "end" | "nearest"; type CSSBoxType = "margin" | "border" | "padding" | "content"; diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index e20c90a4c..3c167d4d3 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -270,7 +270,6 @@ interface Response extends Object, Body { readonly statusText: any; readonly headers: Headers; readonly trailer: Promise; - readonly redirected: boolean; clone(): Response; } @@ -1487,15 +1486,6 @@ interface ProgressEventInit extends EventInit { interface IDBArrayKey extends Array { } -interface EventListenerOptions { - capture?: boolean; -} - -interface AddEventListenerOptions extends EventListenerOptions { - passive?: boolean; - once?: boolean; -} - declare type EventListenerOrEventListenerObject = EventListener | EventListenerObject; interface PositionCallback { @@ -1551,7 +1541,6 @@ type BodyInit = any; type RequestInfo = Request | string; type AlgorithmIdentifier = any; type IDBValidKey = number | string | Date | IDBArrayKey; -type FormDataEntryValue = string | File; type MediaKeyStatus = "usable" | "expired" | "released" | "output-restricted" | "output-downscaled" | "status-pending" | "internal-error"; type RequestType = "" | "audio" | "font" | "image" | "script" | "style" | "track" | "video"; type RequestDestination = "" | "audio" | "document" | "embed" | "font" | "image" | "manifest" | "object" | "report" | "script" | "serviceworker" | "sharedworker" | "style" | "track" | "video" | "worker" | "xslt"; diff --git a/inputfiles/addedTypes.json b/inputfiles/addedTypes.json index cdb37b08a..43e4dd708 100644 --- a/inputfiles/addedTypes.json +++ b/inputfiles/addedTypes.json @@ -695,180 +695,5 @@ "name": "formData", "flavor": "Web", "signatures": ["formData(): Promise"] - }, - { - "kind": "method", - "interface": "DocumentFragment", - "name": "getElementById", - "flavor": "DOM", - "signatures": ["getElementById(elementId: string): HTMLElement | null"] - }, - { - "kind": "typedef", - "name": "FormDataEntryValue", - "type": "string | File" - }, - { - "kind": "method", - "interface": "FormData", - "name": "delete", - "flavor": "Web", - "signatures": ["delete(name: string): void"] - }, - { - "kind": "method", - "interface": "FormData", - "name": "get", - "flavor": "Web", - "signatures": ["get(name: string): FormDataEntryValue | null"] - }, - { - "kind": "method", - "interface": "FormData", - "name": "getAll", - "flavor": "Web", - "signatures": ["getAll(name: string): FormDataEntryValue[]"] - }, - { - "kind": "method", - "interface": "FormData", - "name": "has", - "flavor": "Web", - "signatures": ["has(name: string): boolean"] - }, - { - "kind": "method", - "interface": "FormData", - "name": "set", - "flavor": "Web", - "signatures": ["set(name: string, value: string | Blob, fileName?: string): void"] - }, - { - "kind": "interface", - "name": "EventListenerOptions", - "properties": [{ - "name": "capture?", - "type": "boolean" - }] - }, - { - "kind": "interface", - "name": "AddEventListenerOptions", - "extends": "EventListenerOptions", - "properties": [{ - "name": "passive?", - "type": "boolean" - }, { - "name": "once?", - "type": "boolean" - }] - }, - { - "kind": "interface", - "name": "TouchEventInit", - "flavor": "Web", - "extends": "EventModifierInit", - "properties": [{ - "name": "touches?", - "type": "Touch[]" - }, { - "name": "targetTouches?", - "type": "Touch[]" - }, { - "name": "changedTouches?", - "type": "Touch[]" - }] - }, - { - "kind": "typedef", - "name": "InsertPosition", - "flavor": "Web", - "type": "\"beforebegin\" | \"afterbegin\" | \"beforeend\" | \"afterend\"" - }, - { - "kind": "property", - "interface": "IntersectionObserverEntryInit", - "name": "isIntersecting", - "type": "boolean" - }, - { - "kind": "property", - "interface": "IntersectionObserverEntry", - "name": "isIntersecting", - "type": "boolean", - "readonly": true - }, - { - "kind": "property", - "interface": "ValidityState", - "name": "tooShort", - "flavor": "Web", - "readonly": true, - "type": "boolean" - }, - { - "kind": "interface", - "name": "HTMLDialogElement", - "constructorSignatures": ["new(): HTMLDialogElement"], - "extends": "HTMLElement", - "flavor": "DOM", - "properties": [ - { - "name": "open", - "type": "boolean" - }, - { - "name": "returnValue", - "type": "string" - } - ], - "methods": [ - { - "name": "close", - "signatures": ["close(returnValue?: string): void"] - }, - { - "name": "show", - "signatures": ["show(): void"] - }, - { - "name": "showModal", - "signatures": ["showModal(): void"] - } - ] - }, - { - "kind": "property", - "interface": "Response", - "name": "redirected", - "readonly": true, - "type": "boolean" - }, - { - "kind": "interface", - "name": "HTMLMainElement", - "constructorSignatures": ["new(): HTMLMainElement"], - "extends": "HTMLElement", - "flavor": "DOM" - }, - { - "kind": "interface", - "name": "HTMLDetailsElement", - "constructorSignatures": ["new(): HTMLDetailsElement"], - "extends": "HTMLElement", - "flavor": "DOM", - "properties": [ - { - "name": "open", - "type": "boolean" - } - ] - }, - { - "kind": "interface", - "name": "HTMLSummaryElement", - "constructorSignatures": ["new(): HTMLSummaryElement"], - "extends": "HTMLElement", - "flavor": "DOM" } ] From 22c579089c132ae8cf9e06a766e4f5763a40b8d6 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Wed, 5 Apr 2017 10:32:30 +0900 Subject: [PATCH 22/50] partial Streams spec --- baselines/dom.generated.d.ts | 29 ++++++++++++++++++++++++++--- baselines/webworker.generated.d.ts | 15 +++++++++++++-- inputfiles/browser.webidl.xml | 23 +++++++++++++++++++++++ 3 files changed, 62 insertions(+), 5 deletions(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index dd613287b..bce0635bb 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -8530,6 +8530,29 @@ declare var CacheStorage: { new(): CacheStorage; }; +interface ReadableStream { + readonly locked: boolean; + cancel(): Promise; + getReader(): ReadableStreamDefaultReader; +} + +declare var ReadableStream: { + prototype: ReadableStream; + new(): ReadableStream; +}; + +interface ReadableStreamDefaultReader { + readonly closed: boolean; + cancel(): Promise; + read(): Promise; + releaseLock(): void; +} + +declare var ReadableStreamDefaultReader: { + prototype: ReadableStreamDefaultReader; + new(stream: ReadableStream): ReadableStreamDefaultReader; +}; + interface SVGElement extends Element, GlobalEventHandlers, SVGElementInstance, ElementCSSInlineStyle { className: any; readonly dataset: DOMStringMap; @@ -11435,7 +11458,7 @@ interface Slotable { } interface Body { - readonly body: any; + readonly body: ReadableStream | null; readonly bodyUsed: boolean; arrayBuffer(): Promise; blob(): Promise; @@ -12519,7 +12542,7 @@ declare namespace console { function table(tabularData: any, properties?: string[]): void; function trace(...data: any[]): void; function warn(...data: any[]): void; - function dir(item: any): void; + function dir(item: any, options?: any): void; function dirxml(...data: any[]): void; function group(...data: any[]): void; function groupCollapsed(...data: any[]): void; @@ -12920,7 +12943,7 @@ declare function addEventListener(type: K, liste declare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; type GeometryNode = Text | Element | CSSPseudoElement | Document; type HeadersInit = any[][] | any; -type BodyInit = any; +type BodyInit = Blob | BufferSource | FormData | URLSearchParams | ReadableStream | string; type RequestInfo = Request | string; type DOMHighResTimeStamp = number; type HTMLOrSVGScriptElement = HTMLScriptElement | SVGScriptElement; diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index 3c167d4d3..63b3fd341 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -911,6 +911,17 @@ declare var CacheStorage: { new(): CacheStorage; }; +interface ReadableStream { + readonly locked: boolean; + cancel(): Promise; + getReader(): ReadableStreamDefaultReader; +} + +declare var ReadableStream: { + prototype: ReadableStream; + new(): ReadableStream; +}; + interface URL { href: string; readonly origin: string; @@ -1117,7 +1128,7 @@ declare var ProgressEvent: { }; interface Body { - readonly body: any; + readonly body: ReadableStream | null; readonly bodyUsed: boolean; arrayBuffer(): Promise; blob(): Promise; @@ -1537,7 +1548,7 @@ declare function removeEventListener(type: string, listener?: EventListenerOrEve declare function dispatchEvent(event: Event): boolean; declare function addEventListener(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; declare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -type BodyInit = any; +type BodyInit = Blob | BufferSource | FormData | URLSearchParams | ReadableStream | string; type RequestInfo = Request | string; type AlgorithmIdentifier = any; type IDBValidKey = number | string | Date | IDBArrayKey; diff --git a/inputfiles/browser.webidl.xml b/inputfiles/browser.webidl.xml index aa2a7a888..ef47f5f62 100644 --- a/inputfiles/browser.webidl.xml +++ b/inputfiles/browser.webidl.xml @@ -7856,6 +7856,28 @@ + + + + + + + + + + + + + + + + + + + + + + @@ -12449,6 +12471,7 @@ + From bb7272a6e396aff797ccbf384410ed3e77fc12d1 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Wed, 5 Apr 2017 11:36:04 +0900 Subject: [PATCH 23/50] update touch event spec --- baselines/dom.generated.d.ts | 40 ++++++++++++++++++++- inputfiles/browser.webidl.xml | 62 +++++++++++++++++++++++++++------ inputfiles/overridingTypes.json | 20 ----------- 3 files changed, 91 insertions(+), 31 deletions(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index bce0635bb..aeb950d52 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -846,6 +846,27 @@ interface SVGBoundingBoxOptions { clipped?: boolean; } +interface TouchInit { + identifier: number; + target: EventTarget; + clientX?: number; + clientY?: number; + screenX?: number; + screenY?: number; + pageX?: number; + pageY?: number; + radiusX?: number; + radiusY?: number; + rotationAngle?: number; + force?: number; +} + +interface TouchEventInit extends EventModifierInit { + touches?: Touch[]; + targetTouches?: Touch[]; + changedTouches?: Touch[]; +} + interface UIEventInit extends EventInit { view?: Window | null; detail?: number; @@ -2468,6 +2489,7 @@ interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, Par createEvent(eventInterface: "SpeechSynthesisEvent"): SpeechSynthesisEvent; createEvent(eventInterface: "StorageEvent"): StorageEvent; createEvent(eventInterface: "SyncEvent"): SyncEvent; + createEvent(eventInterface: "TouchEvent"): TouchEvent; createEvent(eventInterface: "TrackEvent"): TrackEvent; createEvent(eventInterface: "TransitionEvent"): TransitionEvent; createEvent(eventInterface: "UIEvent"): UIEvent; @@ -9601,11 +9623,15 @@ interface Touch { readonly clientY: number; readonly pageX: number; readonly pageY: number; + readonly radiusX: number; + readonly radiusY: number; + readonly rotationAngle: number; + readonly force: number; } declare var Touch: { prototype: Touch; - new(): Touch; + new(touchInitDict: TouchInit): Touch; }; interface TouchList { @@ -11735,6 +11761,10 @@ interface GlobalEventHandlersEventMap { "pointerleave": Event; "selectstart": Event; "selectionchange": Event; + "touchstart": TouchEvent; + "touchend": TouchEvent; + "touchmove": TouchEvent; + "touchcancel": TouchEvent; } interface GlobalEventHandlers { @@ -11818,6 +11848,10 @@ interface GlobalEventHandlers { onpointerleave: (this: GlobalEventHandlers, ev: Event) => any; onselectstart: (this: GlobalEventHandlers, ev: Event) => any; onselectionchange: (this: GlobalEventHandlers, ev: Event) => any; + ontouchstart: (this: GlobalEventHandlers, ev: TouchEvent) => any; + ontouchend: (this: GlobalEventHandlers, ev: TouchEvent) => any; + ontouchmove: (this: GlobalEventHandlers, ev: TouchEvent) => any; + ontouchcancel: (this: GlobalEventHandlers, ev: TouchEvent) => any; addEventListener(type: K, listener: (this: GlobalEventHandlers, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } @@ -12905,6 +12939,10 @@ declare var onpointerenter: (this: Window, ev: Event) => any; declare var onpointerleave: (this: Window, ev: Event) => any; declare var onselectstart: (this: Window, ev: Event) => any; declare var onselectionchange: (this: Window, ev: Event) => any; +declare var ontouchstart: (this: Window, ev: TouchEvent) => any; +declare var ontouchend: (this: Window, ev: TouchEvent) => any; +declare var ontouchmove: (this: Window, ev: TouchEvent) => any; +declare var ontouchcancel: (this: Window, ev: TouchEvent) => any; declare var onafterprint: (this: Window, ev: Event) => any; declare var onbeforeprint: (this: Window, ev: Event) => any; declare var onbeforeunload: OnBeforeUnloadEventHandler; diff --git a/inputfiles/browser.webidl.xml b/inputfiles/browser.webidl.xml index ef47f5f62..c51cf481c 100644 --- a/inputfiles/browser.webidl.xml +++ b/inputfiles/browser.webidl.xml @@ -1073,6 +1073,29 @@ + + + + + + + + + + + + + + + + + + + + + + + @@ -3200,10 +3223,10 @@ - - - - + + + + @@ -8631,15 +8654,22 @@ SVGZoomAndPan + + + - - - - - - + + + + + + + + + + @@ -8653,6 +8683,10 @@ + + + + @@ -11040,6 +11074,10 @@ + + + + @@ -11113,6 +11151,10 @@ + + + + diff --git a/inputfiles/overridingTypes.json b/inputfiles/overridingTypes.json index ac61d0813..8025e98d9 100644 --- a/inputfiles/overridingTypes.json +++ b/inputfiles/overridingTypes.json @@ -630,26 +630,6 @@ "disconnect(destination: AudioParam, output?: number): void" ] }, - { - "kind": "property", - "name": "ontouchcancel", - "type": "(ev: TouchEvent) => any" - }, - { - "kind": "property", - "name": "ontouchend", - "type": "(ev: TouchEvent) => any" - }, - { - "kind": "property", - "name": "ontouchmove", - "type": "(ev: TouchEvent) => any" - }, - { - "kind": "property", - "name": "ontouchstart", - "type": "(ev: TouchEvent) => any" - }, { "kind": "property", "name": "keyPath?", From 6fd70812ebb6ec9e98f12c011d3bc76b42045ee6 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Wed, 5 Apr 2017 15:11:45 +0900 Subject: [PATCH 24/50] update SVG spec --- baselines/dom.generated.d.ts | 32 ++++++++++++++++++++------------ inputfiles/browser.webidl.xml | 18 ++++++++---------- 2 files changed, 28 insertions(+), 22 deletions(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index aeb950d52..9b30cc852 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -8847,6 +8847,20 @@ declare var SVGStringList: { new(): SVGStringList; }; +interface SVGUnitTypes { + readonly SVG_UNIT_TYPE_UNKNOWN: number; + readonly SVG_UNIT_TYPE_USERSPACEONUSE: number; + readonly SVG_UNIT_TYPE_OBJECTBOUNDINGBOX: number; +} + +declare var SVGUnitTypes: { + prototype: SVGUnitTypes; + new(): SVGUnitTypes; + readonly SVG_UNIT_TYPE_UNKNOWN: number; + readonly SVG_UNIT_TYPE_USERSPACEONUSE: number; + readonly SVG_UNIT_TYPE_OBJECTBOUNDINGBOX: number; +}; + interface SVGSVGElement extends SVGGraphicsElement, SVGFitToViewBox, SVGZoomAndPan, WindowEventHandlers { readonly x: SVGAnimatedLength; readonly y: SVGAnimatedLength; @@ -8977,12 +8991,12 @@ declare var SVGUseElement: { new(): SVGUseElement; }; -interface SVGElementInstance extends ShadowRoot { +interface SVGUseElementShadowRoot extends ShadowRoot { } -declare var SVGElementInstance: { - prototype: SVGElementInstance; - new(): SVGElementInstance; +declare var SVGUseElementShadowRoot: { + prototype: SVGUseElementShadowRoot; + new(): SVGUseElementShadowRoot; }; interface ShadowAnimation extends Animation { @@ -9421,7 +9435,7 @@ declare var SVGSolidcolorElement: { new(): SVGSolidcolorElement; }; -interface SVGGradientElement extends SVGElement, SVGURIReference, SVGUnitTypes { +interface SVGGradientElement extends SVGElement, SVGURIReference { readonly gradientUnits: SVGAnimatedEnumeration; readonly gradientTransform: SVGAnimatedTransformList; readonly spreadMethod: SVGAnimatedEnumeration; @@ -9520,7 +9534,7 @@ declare var SVGStopElement: { new(): SVGStopElement; }; -interface SVGPatternElement extends SVGElement, SVGFitToViewBox, SVGURIReference, SVGUnitTypes { +interface SVGPatternElement extends SVGElement, SVGFitToViewBox, SVGURIReference { readonly patternUnits: SVGAnimatedEnumeration; readonly patternContentUnits: SVGAnimatedEnumeration; readonly patternTransform: SVGAnimatedTransformList; @@ -12011,12 +12025,6 @@ interface ConstrainablePattern { addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -interface SVGUnitTypes { - readonly SVG_UNIT_TYPE_UNKNOWN: number; - readonly SVG_UNIT_TYPE_USERSPACEONUSE: number; - readonly SVG_UNIT_TYPE_OBJECTBOUNDINGBOX: number; -} - interface SVGTests { readonly requiredExtensions: SVGStringList; readonly systemLanguage: SVGStringList; diff --git a/inputfiles/browser.webidl.xml b/inputfiles/browser.webidl.xml index c51cf481c..701fa593b 100644 --- a/inputfiles/browser.webidl.xml +++ b/inputfiles/browser.webidl.xml @@ -8171,6 +8171,13 @@ + + + + + + + @@ -8244,7 +8251,7 @@ SVGURIReference - + @@ -8579,7 +8586,6 @@ SVGURIReference - SVGUnitTypes @@ -8619,7 +8625,6 @@ SVGFitToViewBox SVGURIReference - SVGUnitTypes @@ -11376,13 +11381,6 @@ - - - - - - - From 75478e3fdaba2fcdb0642199d796b1414d2ec7a7 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Wed, 5 Apr 2017 16:07:38 +0900 Subject: [PATCH 25/50] ensure that other interfaces still get original --- TS.fsx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/TS.fsx b/TS.fsx index 705624efa..ebd79992a 100644 --- a/TS.fsx +++ b/TS.fsx @@ -1165,10 +1165,15 @@ module Emit = Pt.Printl "declare var %s: { new(%s): %s; };" nc.Name (ParamsToString ncParams) i.Name) let EmitInterfaceDeclaration (i:Browser.Interface) = + let getConflict iName = Map.tryFind iName extendConflictsBaseTypes; let processIName iName = - match Map.tryFind iName extendConflictsBaseTypes with + match getConflict iName with | Some _ -> iName + "Base" | _ -> iName + let processExtendIName iName = + match getConflict iName with + | Some conflict -> if List.contains i.Name conflict.ExtendType then iName + "Base" else iName + | _ -> iName let processedIName = processIName i.Name if processedIName <> i.Name then @@ -1193,7 +1198,7 @@ module Emit = else overridenExtendsFromJson - combinedExtends |> List.map processIName + combinedExtends |> List.map processExtendIName match finalExtends with | [] -> () From 2bb0f1a3b8c5421f351778478fb44a24b20056a4 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Wed, 5 Apr 2017 16:07:57 +0900 Subject: [PATCH 26/50] remove conflict on SVGAElement --- TS.fsx | 1 + baselines/dom.generated.d.ts | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/TS.fsx b/TS.fsx index ebd79992a..646b7f0e9 100644 --- a/TS.fsx +++ b/TS.fsx @@ -677,6 +677,7 @@ module Data = let extendConflicts = [ { BaseType = "AudioContext"; ExtendType = ["OfflineContext"]; MemberNames = ["suspend"] }; { BaseType = "HTMLCollection"; ExtendType = ["HTMLFormControlsCollection"]; MemberNames = ["namedItem"] }; + { BaseType = "HTMLHyperlinkElementUtils"; ExtendType = ["SVGAElement"]; MemberNames = ["href"] }; ] let extendConflictsBaseTypes = diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 9b30cc852..a20fe38c6 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -9600,7 +9600,7 @@ declare var SVGScriptElement: { new(): SVGScriptElement; }; -interface SVGAElement extends SVGGraphicsElement, SVGURIReference, HTMLHyperlinkElementUtils { +interface SVGAElement extends SVGGraphicsElement, SVGURIReference, HTMLHyperlinkElementUtilsBase { readonly target: SVGAnimatedString; readonly download: SVGAnimatedString; readonly rel: SVGAnimatedString; @@ -11549,8 +11549,7 @@ interface GlobalPerformance { readonly performance: Performance; } -interface HTMLHyperlinkElementUtils { - href: string; +interface HTMLHyperlinkElementUtilsBase { readonly origin: string; protocol: string; username: string; @@ -11563,6 +11562,10 @@ interface HTMLHyperlinkElementUtils { hash: string; } +interface HTMLHyperlinkElementUtils extends HTMLHyperlinkElementUtilsBase { + href: string; +} + interface CanvasState { save(): void; restore(): void; From fea2d6150aee377ed3421ca86fe9beed528631fd Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sun, 23 Apr 2017 19:44:42 +0900 Subject: [PATCH 27/50] ignore ABV --- inputfiles/removedTypes.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/inputfiles/removedTypes.json b/inputfiles/removedTypes.json index 9168ace44..9da674cee 100644 --- a/inputfiles/removedTypes.json +++ b/inputfiles/removedTypes.json @@ -77,5 +77,9 @@ { "kind": "typedef", "name": "JSON" + }, + { + "kind": "typedef", + "name": "ArrayBufferView" } ] From fb03a442ffcaa5adb59073ecd74e30b0a8b0dcf2 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sun, 23 Apr 2017 19:59:46 +0900 Subject: [PATCH 28/50] update baseline --- baselines/dom.generated.d.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index a20fe38c6..050d99aee 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -13038,7 +13038,6 @@ type BufferDataSource = ArrayBuffer | ArrayBufferView; type TexImageSource = ImageBitmap | ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement; type Float32List = Float32Array | GLfloat[]; type Int32List = Int32Array | GLint[]; -type ArrayBufferView = Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView; type BufferSource = ArrayBufferView | ArrayBuffer; type DOMTimeStamp = number; type FormDataEntryValue = File | string; From 44858b0b80e85a46352716c7e16edc4c1d890f1e Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Wed, 26 Apr 2017 14:45:33 +0900 Subject: [PATCH 29/50] remove unneeded conflict prevention --- TS.fsx | 1 - baselines/dom.generated.d.ts | 7 ++----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/TS.fsx b/TS.fsx index 646b7f0e9..7471f85b9 100644 --- a/TS.fsx +++ b/TS.fsx @@ -675,7 +675,6 @@ module Data = browser.Typedefs |> Array.map (fun td -> td.NewType) |> Set.ofArray let extendConflicts = [ - { BaseType = "AudioContext"; ExtendType = ["OfflineContext"]; MemberNames = ["suspend"] }; { BaseType = "HTMLCollection"; ExtendType = ["HTMLFormControlsCollection"]; MemberNames = ["namedItem"] }; { BaseType = "HTMLHyperlinkElementUtils"; ExtendType = ["SVGAElement"]; MemberNames = ["href"] }; ] diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 050d99aee..28ccaeedf 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -10032,10 +10032,11 @@ declare var BaseAudioContext: { new(): BaseAudioContext; }; -interface AudioContextBase extends BaseAudioContext { +interface AudioContext extends BaseAudioContext { readonly baseLatency: number; readonly outputLatency: number; getOutputTimestamp(): AudioTimestamp; + suspend(): Promise; close(): Promise; createMediaElementSource(mediaElement: HTMLMediaElement): MediaElementAudioSourceNode; createMediaStreamSource(mediaStream: MediaStream): MediaStreamAudioSourceNode; @@ -10045,10 +10046,6 @@ interface AudioContextBase extends BaseAudioContext { addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -interface AudioContext extends AudioContextBase { - suspend(): Promise; -} - declare var AudioContext: { prototype: AudioContext; new(contextOptions?: AudioContextOptions): AudioContext; From fcdf82dbb0f64553d70bb31371f5fb5e99830c88 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Fri, 28 Apr 2017 15:53:48 +0900 Subject: [PATCH 30/50] sort --- baselines/dom.es6.generated.d.ts | 102 +- baselines/dom.generated.d.ts | 18525 ++++++++++++++------------- baselines/webworker.generated.d.ts | 1468 +-- inputfiles/browser.webidl.xml | 17656 ++++++++++++------------- 4 files changed, 19127 insertions(+), 18624 deletions(-) diff --git a/baselines/dom.es6.generated.d.ts b/baselines/dom.es6.generated.d.ts index 67a14908d..2236a49be 100644 --- a/baselines/dom.es6.generated.d.ts +++ b/baselines/dom.es6.generated.d.ts @@ -3,12 +3,8 @@ /// DOM ES6 APIs ///////////////////////////// -interface MediaList { - [Symbol.iterator](): IterableIterator -} - -interface StyleSheetList { - [Symbol.iterator](): IterableIterator +interface AudioTrackList { + [Symbol.iterator](): IterableIterator } interface CSSRuleList { @@ -16,19 +12,15 @@ interface CSSRuleList { } interface CSSStyleDeclaration { - [Symbol.iterator](): IterableIterator -} - -interface NodeList { - [Symbol.iterator](): IterableIterator + [Symbol.iterator](): IterableIterator } -interface HTMLCollection { - [Symbol.iterator](): IterableIterator +interface DataTransferItemList { + [Symbol.iterator](): IterableIterator } -interface NamedNodeMap { - [Symbol.iterator](): IterableIterator +interface DOMStringList { + [Symbol.iterator](): IterableIterator } interface DOMTokenList { @@ -43,62 +35,74 @@ interface HTMLAllCollection { [Symbol.iterator](): IterableIterator } -interface DOMStringList { - [Symbol.iterator](): IterableIterator +interface HTMLCollection { + [Symbol.iterator](): IterableIterator } -interface AudioTrackList { - [Symbol.iterator](): IterableIterator +interface HTMLFormElement { + [Symbol.iterator](): IterableIterator } -interface VideoTrackList { - [Symbol.iterator](): IterableIterator +interface HTMLSelectElement { + [Symbol.iterator](): IterableIterator } -interface TextTrackList { - [Symbol.iterator](): IterableIterator +interface MediaList { + [Symbol.iterator](): IterableIterator } -interface TextTrackCueList { - [Symbol.iterator](): IterableIterator +interface MimeTypeArray { + [Symbol.iterator](): IterableIterator } -interface HTMLFormElement { - [Symbol.iterator](): IterableIterator +interface NamedNodeMap { + [Symbol.iterator](): IterableIterator } -interface HTMLSelectElement { - [Symbol.iterator](): IterableIterator +interface NodeList { + [Symbol.iterator](): IterableIterator } -interface DataTransferItemList { - [Symbol.iterator](): IterableIterator +interface Plugin { + [Symbol.iterator](): IterableIterator } interface PluginArray { [Symbol.iterator](): IterableIterator } -interface MimeTypeArray { - [Symbol.iterator](): IterableIterator +interface SourceBufferList { + [Symbol.iterator](): IterableIterator } -interface Plugin { - [Symbol.iterator](): IterableIterator +interface SpeechGrammarList { + [Symbol.iterator](): IterableIterator } -interface SourceBufferList { - [Symbol.iterator](): IterableIterator +interface SpeechRecognitionResult { + [Symbol.iterator](): IterableIterator } -interface SVGNumberList { - [Symbol.iterator](): IterableIterator +interface SpeechRecognitionResultList { + [Symbol.iterator](): IterableIterator +} + +interface StyleSheetList { + [Symbol.iterator](): IterableIterator } interface SVGLengthList { [Symbol.iterator](): IterableIterator } +interface SVGNumberList { + [Symbol.iterator](): IterableIterator +} + +interface SVGPointList { + [Symbol.iterator](): IterableIterator +} + interface SVGStringList { [Symbol.iterator](): IterableIterator } @@ -107,22 +111,18 @@ interface SVGTransformList { [Symbol.iterator](): IterableIterator } -interface SVGPointList { - [Symbol.iterator](): IterableIterator -} - -interface TouchList { - [Symbol.iterator](): IterableIterator +interface TextTrackCueList { + [Symbol.iterator](): IterableIterator } -interface SpeechRecognitionResult { - [Symbol.iterator](): IterableIterator +interface TextTrackList { + [Symbol.iterator](): IterableIterator } -interface SpeechRecognitionResultList { - [Symbol.iterator](): IterableIterator +interface TouchList { + [Symbol.iterator](): IterableIterator } -interface SpeechGrammarList { - [Symbol.iterator](): IterableIterator +interface VideoTrackList { + [Symbol.iterator](): IterableIterator } diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 28ccaeedf..6665da3ad 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -3,218 +3,330 @@ /// DOM APIs ///////////////////////////// -interface ClipboardEventInit extends EventInit { - clipboardData?: DataTransfer | null; +interface Account { + displayName: string; + id: string; + imageURL?: string; + name?: string; + rpDisplayName: string; } -interface AnimationEventInit extends EventInit { - animationName?: string; - elapsedTime?: number; - pseudoElement?: string; +interface AddEventListenerOptions extends EventListenerOptions { + once?: boolean; + passive?: boolean; } -interface TransitionEventInit extends EventInit { - propertyName?: string; - elapsedTime?: number; - pseudoElement?: string; +interface AesCbcParams extends Algorithm { + iv: BufferSource; } -interface ScrollOptions { - behavior?: ScrollBehavior; +interface AesCtrParams extends Algorithm { + counter: BufferSource; + length: number; } -interface ScrollToOptions extends ScrollOptions { - left?: number; - top?: number; +interface AesDerivedKeyParams extends Algorithm { + length: number; } -interface MediaQueryListEventInit extends EventInit { - media?: string; - matches?: boolean; +interface AesGcmParams extends Algorithm { + additionalData?: BufferSource; + iv: BufferSource; + tagLength?: number; } -interface ScrollIntoViewOptions extends ScrollOptions { - block?: ScrollLogicalPosition; - inline?: ScrollLogicalPosition; +interface AesKeyAlgorithm extends KeyAlgorithm { + length: number; } -interface MouseEventInit { - screenX?: number; - screenY?: number; - clientX?: number; - clientY?: number; +interface AesKeyGenParams extends Algorithm { + length: number; } -interface BoxQuadOptions { - box?: CSSBoxType; - relativeTo?: GeometryNode; +interface Algorithm { + name: string; } -interface ConvertCoordinateOptions { - fromBox?: CSSBoxType; - toBox?: CSSBoxType; +interface AnalyserOptions extends AudioNodeOptions { + fftSize?: number; + maxDecibels?: number; + minDecibels?: number; + smoothingTimeConstant?: number; } -interface DeviceOrientationEventInit extends EventInit { - alpha?: number | null; - beta?: number | null; - gamma?: number | null; - absolute?: boolean; +interface AnimationEffectTimingProperties { + delay?: number; + direction?: PlaybackDirection; + duration?: number | string; + easing?: string; + endDelay?: number; + fill?: FillMode; + iterations?: number; + iterationStart?: number; } -interface DeviceAccelerationInit { - x?: number | null; - y?: number | null; - z?: number | null; +interface AnimationEventInit extends EventInit { + animationName?: CSSOMString; + elapsedTime?: number; + pseudoElement?: CSSOMString; } -interface DeviceRotationRateInit { - alpha?: number | null; - beta?: number | null; - gamma?: number | null; +interface AnimationPlaybackEventInit extends EventInit { + currentTime?: number | null; + timelineTime?: number | null; } -interface DeviceMotionEventInit extends EventInit { - acceleration?: DeviceAccelerationInit | null; - accelerationIncludingGravity?: DeviceAccelerationInit | null; - rotationRate?: DeviceRotationRateInit | null; - interval?: number | null; +interface AssertionOptions { + allowList?: ScopedCredentialDescriptor[]; + extensions?: AuthenticationExtensions; + rpId?: string; + timeout?: number; } -interface EventInit { - scoped?: boolean; - bubbles?: boolean; - cancelable?: boolean; - composed?: boolean; +interface AssignedNodesOptions { + flatten?: boolean; } -interface CustomEventInit extends EventInit { - detail?: any; +interface AudioBufferOptions { + length: number; + numberOfChannels?: number; + sampleRate: number; } -interface EventListenerOptions { - capture?: boolean; +interface AudioBufferSourceOptions { + buffer?: AudioBuffer | null; + detune?: number; + loop?: boolean; + loopEnd?: number; + loopStart?: number; + playbackRate?: number; } -interface AddEventListenerOptions extends EventListenerOptions { - passive?: boolean; - once?: boolean; +interface AudioContextInfo { + currentTime?: number; + sampleRate?: number; } -interface MutationObserverInit { - childList?: boolean; - attributes?: boolean; - characterData?: boolean; - subtree?: boolean; - attributeOldValue?: boolean; - characterDataOldValue?: boolean; - attributeFilter?: string[]; +interface AudioContextOptions { + latencyHint?: AudioContextLatencyCategory | number; + sampleRate?: number; } -interface GetRootNodeOptions { - composed?: boolean; +interface AudioNodeOptions { + channelCount?: number; + channelCountMode?: ChannelCountMode; + channelInterpretation?: ChannelInterpretation; } -interface ElementCreationOptions { - is?: string; +interface AudioParamDescriptor { + defaultValue?: number; + maxValue?: number; + minValue?: number; + name?: string; } -interface ShadowRootInit { - mode: ShadowRootMode; +interface AudioProcessingEventInit extends EventInit { + inputBuffer: AudioBuffer; + outputBuffer: AudioBuffer; + playbackTime: number; } -interface MediaKeySystemConfiguration { - label?: string; - initDataTypes?: string[]; - audioCapabilities?: MediaKeySystemMediaCapability[]; - videoCapabilities?: MediaKeySystemMediaCapability[]; - distinctiveIdentifier?: MediaKeysRequirement; - persistentState?: MediaKeysRequirement; - sessionTypes?: string[]; +interface AudioTimestamp { + contextTime?: number; + performanceTime?: number; } -interface MediaKeySystemMediaCapability { - contentType?: string; - robustness?: string; +interface AudioWorkletNodeOptions extends AudioNodeOptions { + numberOfInputs?: number; + numberOfOutputs?: number; } -interface MediaKeyMessageEventInit extends EventInit { - messageType: MediaKeyMessageType; - message: ArrayBuffer; +interface AuthenticationExtensions { } -interface MediaEncryptedEventInit extends EventInit { - initDataType?: string; - initData?: ArrayBuffer | null; +interface BaseComputedKeyframe { + composite?: CompositeOperation; + computedOffset?: number; + easing?: string; + offset?: number | null; } -interface RequestInit { - method?: any; - headers?: HeadersInit; - body?: BodyInit | null; - referrer?: string; - referrerPolicy?: any; - mode?: RequestMode; - credentials?: RequestCredentials; - cache?: RequestCache; - redirect?: RequestRedirect; - integrity?: string; - keepalive?: boolean; - window?: any; +interface BaseKeyframe { + composite?: CompositeOperation; + easing?: string; + offset?: number | null; } -interface ResponseInit { - status?: number; - statusText?: any; - headers?: HeadersInit; +interface BasePropertyIndexedKeyframe { + composite?: CompositeOperation; + easing?: string; } -interface BlobPropertyBag { - type?: string; +interface BiquadFilterOptions extends AudioNodeOptions { + detune?: number; + frequency?: number; + gain?: number; + Q?: number; + type?: BiquadFilterType; } -interface FilePropertyBag { +interface BlobPropertyBag { type?: string; - lastModified?: number; } -interface GamepadEventInit extends EventInit { - gamepad: Gamepad; +interface BoxQuadOptions { + box?: CSSBoxType; + relativeTo?: GeometryNode; } -interface SensorOptions { - frequency?: number | null; +interface CacheBatchOperation { + options?: CacheQueryOptions; + request?: Request; + response?: Response; + type?: string; } -interface SensorErrorEventInit extends EventInit { - error: any; +interface CacheQueryOptions { + cacheName?: string; + ignoreMethod?: boolean; + ignoreSearch?: boolean; + ignoreVary?: boolean; } -interface PositionOptions { - enableHighAccuracy?: boolean; - timeout?: number; - maximumAge?: number; +interface CanvasRenderingContext2DSettings { + alpha?: boolean; } -interface DOMPointInit { - x?: number; - y?: number; - z?: number; - w?: number; +interface Capabilities { } -interface DOMRectInit { - x?: number; - y?: number; - width?: number; - height?: number; +interface ChannelMergerOptions extends AudioNodeOptions { + numberOfInputs?: number; } -interface DOMQuadInit { - p1?: DOMPointInit; - p2?: DOMPointInit; - p3?: DOMPointInit; - p4?: DOMPointInit; +interface ChannelSplitterOptions extends AudioNodeOptions { + numberOfOutputs?: number; +} + +interface ClientData { + challenge: string; + extensions?: AuthenticationExtensions; + hashAlg: AlgorithmIdentifier; + origin: string; + tokenBinding?: string; +} + +interface ClientQueryOptions { + includeReserved?: boolean; + includeUncontrolled?: boolean; + type?: ClientType; +} + +interface ClipboardEventInit extends EventInit { + clipboardData?: DataTransfer | null; +} + +interface CloseEventInit extends EventInit { + code?: number; + reason?: string; + wasClean?: boolean; +} + +interface CompositionEventInit extends UIEventInit { + data?: string; +} + +interface ComputedTimingProperties extends AnimationEffectTimingProperties { + activeDuration?: number; + currentIteration?: number | null; + endTime?: number; + localTime?: number | null; + progress?: number | null; +} + +interface ConstantSourceOptions { + offset?: number; +} + +interface ConstrainBooleanParameters { + exact?: boolean; + ideal?: boolean; +} + +interface ConstrainDOMStringParameters { + exact?: string | string[]; + ideal?: string | string[]; +} + +interface ConstrainDoubleRange extends DoubleRange { + exact?: number; + ideal?: number; +} + +interface ConstrainLongRange extends LongRange { + exact?: number; + ideal?: number; +} + +interface Constraints extends ConstraintSet { + advanced?: ConstraintSet[]; +} + +interface ConstraintSet { +} + +interface ConvertCoordinateOptions { + fromBox?: CSSBoxType; + toBox?: CSSBoxType; +} + +interface ConvolverOptions extends AudioNodeOptions { + buffer?: AudioBuffer | null; + disableNormalization?: boolean; +} + +interface CryptoKeyPair { + privateKey?: CryptoKey; + publicKey?: CryptoKey; +} + +interface CustomEventInit extends EventInit { + detail?: any; +} + +interface DelayOptions extends AudioNodeOptions { + delayTime?: number; + maxDelayTime?: number; +} + +interface DeviceAccelerationInit { + x?: number | null; + y?: number | null; + z?: number | null; +} + +interface DeviceMotionEventInit extends EventInit { + acceleration?: DeviceAccelerationInit | null; + accelerationIncludingGravity?: DeviceAccelerationInit | null; + interval?: number | null; + rotationRate?: DeviceRotationRateInit | null; +} + +interface DeviceOrientationEventInit extends EventInit { + absolute?: boolean; + alpha?: number | null; + beta?: number | null; + gamma?: number | null; +} + +interface DeviceRotationRateInit { + alpha?: number | null; + beta?: number | null; + gamma?: number | null; +} + +interface DocumentTimelineOptions { + originTime?: number; } interface DOMMatrixInit { @@ -224,6 +336,7 @@ interface DOMMatrixInit { d?: number; e?: number; f?: number; + is2D?: boolean; m11?: number; m12?: number; m13?: number; @@ -240,287 +353,251 @@ interface DOMMatrixInit { m42?: number; m43?: number; m44?: number; - is2D?: boolean; } -interface TrackEventInit extends EventInit { - track?: VideoTrack | AudioTrack | TextTrack | null; +interface DOMPointInit { + w?: number; + x?: number; + y?: number; + z?: number; } -interface RelatedEventInit extends EventInit { - relatedTarget?: EventTarget | null; +interface DOMQuadInit { + p1?: DOMPointInit; + p2?: DOMPointInit; + p3?: DOMPointInit; + p4?: DOMPointInit; } -interface AssignedNodesOptions { - flatten?: boolean; +interface DOMRectInit { + height?: number; + width?: number; + x?: number; + y?: number; } -interface CanvasRenderingContext2DSettings { - alpha?: boolean; +interface DoubleRange { + max?: number; + min?: number; } -interface ImageBitmapRenderingContextSettings { - alpha?: boolean; +interface DragEventInit extends MouseEventInit { + dataTransfer?: DataTransfer | null; } -interface ImageEncodeOptions { - type?: string; - quality?: number; +interface DynamicsCompressorOptions extends AudioNodeOptions { + attack?: number; + knee?: number; + ratio?: number; + release?: number; + threshold?: number; } -interface ElementDefinitionOptions { - extends?: string; +interface EcdhKeyDeriveParams extends Algorithm { + public: CryptoKey; } -interface DragEventInit extends MouseEventInit { - dataTransfer?: DataTransfer | null; +interface EcdsaParams extends Algorithm { + hash: HashAlgorithmIdentifier; } -interface PopStateEventInit extends EventInit { - state?: any; +interface EcKeyAlgorithm extends KeyAlgorithm { + namedCurve: NamedCurve; } -interface HashChangeEventInit extends EventInit { - oldURL?: string; - newURL?: string; +interface EcKeyGenParams extends Algorithm { + namedCurve: NamedCurve; } -interface PageTransitionEventInit extends EventInit { - persisted?: boolean; +interface EcKeyImportParams extends Algorithm { + namedCurve: NamedCurve; +} + +interface ElementCreationOptions { + is?: string; +} + +interface ElementDefinitionOptions { + extends?: string; } interface ErrorEventInit extends EventInit { - message?: string; - filename?: string; - lineno?: number; colno?: number; error?: any; + filename?: string; + lineno?: number; + message?: string; } -interface PromiseRejectionEventInit extends EventInit { - promise: Promise; - reason?: any; +interface EventInit { + scoped?: boolean; + bubbles?: boolean; + cancelable?: boolean; + composed?: boolean; } -interface ImageBitmapOptions { - imageOrientation?: ImageOrientation; - premultiplyAlpha?: PremultiplyAlpha; - colorSpaceConversion?: ColorSpaceConversion; - resizeWidth?: number; - resizeHeight?: number; - resizeQuality?: ResizeQuality; +interface EventListenerOptions { + capture?: boolean; } -interface MessageEventInit extends EventInit { - channel?: string; - data?: any; - origin?: string; - lastEventId?: string; - source?: MessageEventSource | null; - ports?: MessagePort[]; +interface EventModifierInit extends UIEventInit { + altKey?: boolean; + ctrlKey?: boolean; + metaKey?: boolean; + modifierAltGraph?: boolean; + modifierCapsLock?: boolean; + modifierFn?: boolean; + modifierFnLock?: boolean; + modifierHyper?: boolean; + modifierNumLock?: boolean; + modifierScrollLock?: boolean; + modifierSuper?: boolean; + modifierSymbol?: boolean; + modifierSymbolLock?: boolean; + shiftKey?: boolean; } interface EventSourceInit { withCredentials?: boolean; } -interface CloseEventInit extends EventInit { - wasClean?: boolean; - code?: number; - reason?: string; -} - -interface WorkerOptions { - type?: WorkerType; - credentials?: RequestCredentials; +interface ExtendableEventInit extends EventInit { } -interface StorageEventInit extends EventInit { - key?: string | null; - oldValue?: string | null; - newValue?: string | null; - url?: string; - storageArea?: Storage | null; +interface ExtendableMessageEventInit extends ExtendableEventInit { + data?: any; + lastEventId?: string; + origin?: string; + ports?: MessagePort[]; + source?: Client | ServiceWorker | MessagePort | null; } -interface RTCStats { - timestamp?: number; - type?: RTCStatsType; - id?: string; +interface FetchEventInit extends ExtendableEventInit { + clientId?: string; + preloadResponse: Promise; + request: Request; + reservedClientId?: string; + targetClientId?: string; } -interface RTCRTPStreamStats extends RTCStats { - ssrc?: string; - associateStatsId?: string; - isRemote?: boolean; - mediaType?: string; - mediaTrackId?: string; - transportId?: string; - codecId?: string; - firCount?: number; - pliCount?: number; - nackCount?: number; - sliCount?: number; - qpSum?: number; +interface FilePropertyBag { + lastModified?: number; + type?: string; } -interface RTCCodecStats extends RTCStats { - payloadType?: number; - codec?: string; - clockRate?: number; - channels?: number; - parameters?: string; - implementation?: string; +interface FocusEventInit extends UIEventInit { + relatedTarget?: EventTarget | null; } -interface RTCInboundRTPStreamStats extends RTCRTPStreamStats { - packetsReceived?: number; - bytesReceived?: number; - packetsLost?: number; - jitter?: number; - fractionLost?: number; - packetsDiscarded?: number; - packetsRepaired?: number; - burstPacketsLost?: number; - burstPacketsDiscarded?: number; - burstLossCount?: number; - burstDiscardCount?: number; - burstLossRate?: number; - burstDiscardRate?: number; - gapLossRate?: number; - gapDiscardRate?: number; - framesDecoded?: number; +interface ForeignFetchEventInit extends ExtendableEventInit { + origin?: string; + request: Request; } -interface RTCOutboundRTPStreamStats extends RTCRTPStreamStats { - packetsSent?: number; - bytesSent?: number; - targetBitrate?: number; - roundTripTime?: number; - framesEncoded?: number; +interface ForeignFetchOptions { + origins: string[]; + scopes: string[]; } -interface RTCPeerConnectionStats extends RTCStats { - dataChannelsOpened?: number; - dataChannelsClosed?: number; +interface ForeignFetchResponse { + headers?: any[]; + origin?: string; + response: Response; } -interface RTCMediaStreamStats extends RTCStats { - streamIdentifier?: string; - trackIds?: string[]; +interface GainOptions extends AudioNodeOptions { + gain?: number; } -interface RTCMediaStreamTrackStats extends RTCStats { - trackIdentifier?: string; - remoteSource?: boolean; - ended?: boolean; - detached?: boolean; - ssrcIds?: string[]; - frameWidth?: number; - frameHeight?: number; - framesPerSecond?: number; - framesSent?: number; - framesReceived?: number; - framesDecoded?: number; - framesDropped?: number; - framesCorrupted?: number; - partialFramesLost?: number; - fullFramesLost?: number; - audioLevel?: number; - echoReturnLoss?: number; - echoReturnLossEnhancement?: number; +interface GamepadEventInit extends EventInit { + gamepad: Gamepad; } -interface RTCDataChannelStats extends RTCStats { - label?: string; - protocol?: string; - datachannelid?: number; - state?: RTCDataChannelState; - messagesSent?: number; - bytesSent?: number; - messagesReceived?: number; - bytesReceived?: number; +interface GetNotificationOptions { + tag?: string; } -interface RTCTransportStats extends RTCStats { - bytesSent?: number; - bytesReceived?: number; - rtcpTransportStatsId?: string; - activeConnection?: boolean; - selectedCandidatePairId?: string; - localCertificateId?: string; - remoteCertificateId?: string; +interface GetRootNodeOptions { + composed?: boolean; } -interface RTCIceCandidateStats extends RTCStats { - transportId?: string; - isRemote?: boolean; - ip?: string; - port?: number; - protocol?: string; - candidateType?: RTCIceCandidateType; - priority?: number; - url?: string; - deleted?: boolean; +interface HashChangeEventInit extends EventInit { + newURL?: string; + oldURL?: string; } -interface RTCIceCandidatePairStats extends RTCStats { - transportId?: string; - localCandidateId?: string; - remoteCandidateId?: string; - state?: RTCStatsIceCandidatePairState; - priority?: number; - nominated?: boolean; - writable?: boolean; - readable?: boolean; - bytesSent?: number; - bytesReceived?: number; - totalRoundTripTime?: number; - currentRoundTripTime?: number; - availableOutgoingBitrate?: number; - availableIncomingBitrate?: number; - requestsReceived?: number; - requestsSent?: number; - responsesReceived?: number; - responsesSent?: number; - retransmissionsReceived?: number; - retransmissionsSent?: number; - consentRequestsReceived?: number; - consentRequestsSent?: number; - consentResponsesReceived?: number; - consentResponsesSent?: number; +interface HkdfParams extends Algorithm { + hash: HashAlgorithmIdentifier; + info: BufferSource; + salt: BufferSource; } -interface RTCCertificateStats extends RTCStats { - fingerprint?: string; - fingerprintAlgorithm?: string; - base64Certificate?: string; - issuerCertificateId?: string; +interface HmacImportParams extends Algorithm { + hash: HashAlgorithmIdentifier; + length?: number; } -interface IDBObjectStoreParameters { - keyPath?: string | string[] | null; - autoIncrement?: boolean; +interface HmacKeyAlgorithm extends KeyAlgorithm { + hash: KeyAlgorithm; + length: number; +} + +interface HmacKeyGenParams extends Algorithm { + hash: HashAlgorithmIdentifier; + length?: number; } interface IDBIndexParameters { - unique?: boolean; multiEntry?: boolean; + unique?: boolean; +} + +interface IDBObjectStoreParameters { + autoIncrement?: boolean; + keyPath?: string | string[] | null; } interface IDBVersionChangeEventInit extends EventInit { - oldVersion?: number; newVersion?: number | null; + oldVersion?: number; +} + +interface IIRFilterOptions extends AudioNodeOptions { + feedback: number[]; + feedforward: number[]; +} + +interface ImageBitmapOptions { + colorSpaceConversion?: ColorSpaceConversion; + imageOrientation?: ImageOrientation; + premultiplyAlpha?: PremultiplyAlpha; + resizeHeight?: number; + resizeQuality?: ResizeQuality; + resizeWidth?: number; +} + +interface ImageBitmapRenderingContextSettings { + alpha?: boolean; +} + +interface ImageEncodeOptions { + quality?: number; + type?: string; +} + +interface InputEventInit extends UIEventInit { + data?: string | null; + isComposing?: boolean; } interface IntersectionObserverEntryInit { - time: number; - rootBounds: DOMRectInit; boundingClientRect: DOMRectInit; + intersectionRatio: number; intersectionRect: DOMRectInit; isIntersecting: boolean; - intersectionRatio: number; + rootBounds: DOMRectInit; target: Element; + time: number; } interface IntersectionObserverInit { @@ -529,95 +606,47 @@ interface IntersectionObserverInit { threshold?: number | number[]; } -interface MediaTrackSupportedConstraints { - width?: boolean; - height?: boolean; - aspectRatio?: boolean; - frameRate?: boolean; - facingMode?: boolean; - volume?: boolean; - sampleRate?: boolean; - sampleSize?: boolean; - echoCancellation?: boolean; - latency?: boolean; - channelCount?: boolean; - deviceId?: boolean; - groupId?: boolean; -} - -interface MediaTrackCapabilities { - width?: LongRange; - height?: LongRange; - aspectRatio?: DoubleRange; - frameRate?: DoubleRange; - facingMode?: string[]; - volume?: DoubleRange; - sampleRate?: LongRange; - sampleSize?: LongRange; - echoCancellation?: boolean[]; - latency?: DoubleRange; - channelCount?: LongRange; - deviceId?: string; - groupId?: string; -} - -interface MediaTrackConstraints extends MediaTrackConstraintSet { - advanced?: MediaTrackConstraintSet[]; -} - -interface MediaTrackConstraintSet { - width?: ConstrainLong; - height?: ConstrainLong; - aspectRatio?: ConstrainDouble; - frameRate?: ConstrainDouble; - facingMode?: ConstrainDOMString; - volume?: ConstrainDouble; - sampleRate?: ConstrainLong; - sampleSize?: ConstrainLong; - echoCancellation?: ConstrainBoolean; - latency?: ConstrainDouble; - channelCount?: ConstrainLong; - deviceId?: ConstrainDOMString; - groupId?: ConstrainDOMString; -} - -interface MediaTrackSettings { - width?: number; - height?: number; - aspectRatio?: number; - frameRate?: number; - facingMode?: string; - volume?: number; - sampleRate?: number; - sampleSize?: number; - echoCancellation?: boolean; - latency?: number; - channelCount?: number; - deviceId?: string; - groupId?: string; -} - -interface MediaStreamTrackEventInit extends EventInit { - track: MediaStreamTrack; +interface JsonWebKey { + alg?: string; + crv?: string; + d?: string; + dp?: string; + dq?: string; + e?: string; + ext?: boolean; + k?: string; + key_ops?: string[]; + kty?: string; + n?: string; + oth?: RsaOtherPrimesInfo[]; + p?: string; + q?: string; + qi?: string; + use?: string; + x?: string; + y?: string; } -interface OverconstrainedErrorEventInit extends EventInit { - error?: any; +interface KeyAlgorithm { + name: string; } -interface MediaStreamConstraints { - video?: boolean | MediaTrackConstraints; - audio?: boolean | MediaTrackConstraints; +interface KeyboardEventInit extends EventModifierInit { + code?: string; + isComposing?: boolean; + key?: string; + location?: number; + repeat?: boolean; } -interface DoubleRange { - max?: number; - min?: number; +interface KeyframeAnimationOptions extends KeyframeEffectOptions { + id?: string; } -interface ConstrainDoubleRange extends DoubleRange { - exact?: number; - ideal?: number; +interface KeyframeEffectOptions extends AnimationEffectTimingProperties { + composite?: CompositeOperation; + iterationComposite?: IterationCompositeOperation; + spacing?: string; } interface LongRange { @@ -625,963 +654,941 @@ interface LongRange { min?: number; } -interface ConstrainLongRange extends LongRange { - exact?: number; - ideal?: number; +interface MediaElementAudioSourceOptions { + mediaElement: HTMLMediaElement; } -interface ConstrainBooleanParameters { - exact?: boolean; - ideal?: boolean; +interface MediaEncryptedEventInit extends EventInit { + initData?: ArrayBuffer | null; + initDataType?: string; } -interface ConstrainDOMStringParameters { - exact?: string | string[]; - ideal?: string | string[]; +interface MediaKeyMessageEventInit extends EventInit { + message: ArrayBuffer; + messageType: MediaKeyMessageType; } -interface Capabilities { +interface MediaKeySystemConfiguration { + audioCapabilities?: MediaKeySystemMediaCapability[]; + distinctiveIdentifier?: MediaKeysRequirement; + initDataTypes?: string[]; + label?: string; + persistentState?: MediaKeysRequirement; + sessionTypes?: string[]; + videoCapabilities?: MediaKeySystemMediaCapability[]; } -interface Settings { +interface MediaKeySystemMediaCapability { + contentType?: string; + robustness?: string; } -interface ConstraintSet { +interface MediaQueryListEventInit extends EventInit { + matches?: boolean; + media?: string; } -interface Constraints extends ConstraintSet { - advanced?: ConstraintSet[]; +interface MediaStreamAudioSourceOptions { + mediaStream: MediaStream; } -interface NotificationOptions { - dir?: NotificationDirection; - lang?: string; - body?: string; - tag?: string; - image?: string; - icon?: string; - badge?: string; - sound?: string; - vibrate?: any; - timestamp?: number; - renotify?: boolean; - silent?: boolean; - requireInteraction?: boolean; - data?: any; - actions?: NotificationAction[]; +interface MediaStreamConstraints { + audio?: boolean | MediaTrackConstraints; + video?: boolean | MediaTrackConstraints; } -interface NotificationAction { - action: string; - title: string; - icon?: string; +interface MediaStreamConstraints { + peerIdentity?: string; } -interface GetNotificationOptions { - tag?: string; +interface MediaStreamTrackAudioSourceOptions { + mediaStreamTrack: any; } -interface NotificationEventInit extends ExtendableEventInit { - notification: Notification; - action?: string; +interface MediaStreamTrackEventInit extends EventInit { + track: MediaStreamTrack; } -interface PaymentMethodData { - supportedMethods: string[]; - data?: any; +interface MediaTrackCapabilities { + aspectRatio?: number | DoubleRange; + channelCount?: number | LongRange; + deviceId?: string; + echoCancellation?: boolean[]; + facingMode?: string[]; + frameRate?: number | DoubleRange; + groupId?: string; + height?: number | LongRange; + latency?: number | DoubleRange; + sampleRate?: number | LongRange; + sampleSize?: number | LongRange; + volume?: number | DoubleRange; + width?: number | LongRange; } -interface PaymentCurrencyAmount { - currency: string; - value: string; - currencySystem?: string; +interface MediaTrackConstraints extends MediaTrackConstraintSet { + advanced?: MediaTrackConstraintSet[]; } -interface PaymentDetailsBase { - displayItems?: PaymentItem[]; - shippingOptions?: PaymentShippingOption[]; - modifiers?: PaymentDetailsModifier[]; +interface MediaTrackConstraintSet { + aspectRatio?: ConstrainDouble; + channelCount?: ConstrainLong; + deviceId?: ConstrainDOMString; + echoCancellation?: ConstrainBoolean; + facingMode?: ConstrainDOMString; + frameRate?: ConstrainDouble; + groupId?: ConstrainDOMString; + height?: ConstrainLong; + latency?: ConstrainDouble; + sampleRate?: ConstrainLong; + sampleSize?: ConstrainLong; + volume?: ConstrainDouble; + width?: ConstrainLong; } -interface PaymentDetailsInit extends PaymentDetailsBase { - id?: string; - total: PaymentItem; +interface MediaTrackSettings { + aspectRatio?: number; + channelCount?: number; + deviceId?: string; + echoCancellation?: boolean; + facingMode?: string; + frameRate?: number; + groupId?: string; + height?: number; + latency?: number; + sampleRate?: number; + sampleSize?: number; + volume?: number; + width?: number; } -interface PaymentDetailsUpdate extends PaymentDetailsBase { - error?: string; - total?: PaymentItem; +interface MediaTrackSupportedConstraints { + aspectRatio?: boolean; + channelCount?: boolean; + deviceId?: boolean; + echoCancellation?: boolean; + facingMode?: boolean; + frameRate?: boolean; + groupId?: boolean; + height?: boolean; + latency?: boolean; + sampleRate?: boolean; + sampleSize?: boolean; + volume?: boolean; + width?: boolean; } -interface PaymentDetailsModifier { - supportedMethods: string[]; - total?: PaymentItem; - additionalDisplayItems?: PaymentItem[]; +interface MessageEventInit extends EventInit { + channel?: string; data?: any; + lastEventId?: string; + origin?: string; + ports?: MessagePort[]; + source?: MessageEventSource | null; } -interface PaymentOptions { - requestPayerName?: boolean; - requestPayerEmail?: boolean; - requestPayerPhone?: boolean; - requestShipping?: boolean; - shippingType?: PaymentShippingType; +interface MouseEventInit extends EventModifierInit { + button?: number; + buttons?: number; + clientX?: number; + clientY?: number; + relatedTarget?: EventTarget | null; + screenX?: number; + screenY?: number; } -interface PaymentItem { - label: string; - amount: PaymentCurrencyAmount; - pending?: boolean; +interface MouseEventInit { + clientX?: number; + clientY?: number; + screenX?: number; + screenY?: number; } -interface PaymentShippingOption { - id: string; - label: string; - amount: PaymentCurrencyAmount; - selected?: boolean; +interface MutationObserverInit { + attributeFilter?: string[]; + attributeOldValue?: boolean; + attributes?: boolean; + characterData?: boolean; + characterDataOldValue?: boolean; + childList?: boolean; + subtree?: boolean; } -interface PaymentRequestUpdateEventInit extends EventInit { +interface NavigationPreloadState { + enabled?: boolean; + headerValue?: any; } -interface PerformanceObserverInit { - entryTypes: string[]; +interface NotificationAction { + action: string; + icon?: string; + title: string; } -interface PointerEventInit extends MouseEventInit { - pointerId?: number; - width?: number; - height?: number; - pressure?: number; - tiltX?: number; - tiltY?: number; - pointerType?: string; - isPrimary?: boolean; +interface NotificationEventInit extends ExtendableEventInit { + action?: string; + notification: Notification; } -interface PushSubscriptionOptionsInit { - userVisibleOnly?: boolean; - applicationServerKey?: BufferSource | string | null; +interface NotificationOptions { + actions?: NotificationAction[]; + badge?: string; + body?: string; + data?: any; + dir?: NotificationDirection; + icon?: string; + image?: string; + lang?: string; + renotify?: boolean; + requireInteraction?: boolean; + silent?: boolean; + sound?: string; + tag?: string; + timestamp?: number; + vibrate?: any; } -interface PushEventInit extends ExtendableEventInit { - data?: PushMessageDataInit; +interface OfflineAudioCompletionEventInit extends EventInit { + renderedBuffer: AudioBuffer; } -interface PushSubscriptionChangeInit extends ExtendableEventInit { - newSubscription?: PushSubscription; - oldSubscription?: PushSubscription; +interface OscillatorOptions extends AudioNodeOptions { + detune?: number; + frequency?: number; + periodicWave?: PeriodicWave; + type?: OscillatorType; } -interface RegistrationOptions { - scope?: string; - type?: WorkerType; - useCache?: boolean; +interface OverconstrainedErrorEventInit extends EventInit { + error?: any; } -interface NavigationPreloadState { - enabled?: boolean; - headerValue?: any; +interface PageTransitionEventInit extends EventInit { + persisted?: boolean; } -interface ClientQueryOptions { - includeUncontrolled?: boolean; - includeReserved?: boolean; - type?: ClientType; +interface PannerOptions extends AudioNodeOptions { + coneInnerAngle?: number; + coneOuterAngle?: number; + coneOuterGain?: number; + distanceModel?: DistanceModelType; + maxDistance?: number; + orientationX?: number; + orientationY?: number; + orientationZ?: number; + panningModel?: PanningModelType; + positionX?: number; + positionY?: number; + positionZ?: number; + refDistance?: number; + rolloffFactor?: number; } -interface ExtendableEventInit extends EventInit { +interface PaymentCurrencyAmount { + currency: string; + currencySystem?: string; + value: string; } -interface ForeignFetchOptions { - scopes: string[]; - origins: string[]; +interface PaymentDetailsBase { + displayItems?: PaymentItem[]; + modifiers?: PaymentDetailsModifier[]; + shippingOptions?: PaymentShippingOption[]; } -interface FetchEventInit extends ExtendableEventInit { - request: Request; - preloadResponse: Promise; - clientId?: string; - reservedClientId?: string; - targetClientId?: string; +interface PaymentDetailsInit extends PaymentDetailsBase { + id?: string; + total: PaymentItem; } -interface ForeignFetchEventInit extends ExtendableEventInit { - request: Request; - origin?: string; +interface PaymentDetailsModifier { + additionalDisplayItems?: PaymentItem[]; + data?: any; + supportedMethods: string[]; + total?: PaymentItem; } -interface ForeignFetchResponse { - response: Response; - origin?: string; - headers?: any[]; +interface PaymentDetailsUpdate extends PaymentDetailsBase { + error?: string; + total?: PaymentItem; } -interface ExtendableMessageEventInit extends ExtendableEventInit { - data?: any; - origin?: string; - lastEventId?: string; - source?: Client | ServiceWorker | MessagePort | null; - ports?: MessagePort[]; +interface PaymentItem { + amount: PaymentCurrencyAmount; + label: string; + pending?: boolean; } -interface CacheQueryOptions { - ignoreSearch?: boolean; - ignoreMethod?: boolean; - ignoreVary?: boolean; - cacheName?: string; +interface PaymentMethodData { + data?: any; + supportedMethods: string[]; } -interface CacheBatchOperation { - type?: string; - request?: Request; - response?: Response; - options?: CacheQueryOptions; +interface PaymentOptions { + requestPayerEmail?: boolean; + requestPayerName?: boolean; + requestPayerPhone?: boolean; + requestShipping?: boolean; + shippingType?: PaymentShippingType; } -interface SVGBoundingBoxOptions { - fill?: boolean; - stroke?: boolean; - markers?: boolean; - clipped?: boolean; +interface PaymentRequestUpdateEventInit extends EventInit { } -interface TouchInit { - identifier: number; - target: EventTarget; - clientX?: number; - clientY?: number; - screenX?: number; - screenY?: number; - pageX?: number; - pageY?: number; - radiusX?: number; - radiusY?: number; - rotationAngle?: number; - force?: number; +interface PaymentShippingOption { + amount: PaymentCurrencyAmount; + id: string; + label: string; + selected?: boolean; } -interface TouchEventInit extends EventModifierInit { - touches?: Touch[]; - targetTouches?: Touch[]; - changedTouches?: Touch[]; +interface Pbkdf2Params extends Algorithm { + hash: HashAlgorithmIdentifier; + iterations: number; + salt: BufferSource; } -interface UIEventInit extends EventInit { - view?: Window | null; - detail?: number; +interface PerformanceObserverInit { + entryTypes: string[]; } -interface FocusEventInit extends UIEventInit { - relatedTarget?: EventTarget | null; +interface PeriodicWaveConstraints { + disableNormalization?: boolean; } -interface MouseEventInit extends EventModifierInit { - screenX?: number; - screenY?: number; - clientX?: number; - clientY?: number; - button?: number; - buttons?: number; - relatedTarget?: EventTarget | null; +interface PeriodicWaveOptions extends PeriodicWaveConstraints { + imag?: number[]; + real?: number[]; } -interface EventModifierInit extends UIEventInit { - ctrlKey?: boolean; - shiftKey?: boolean; - altKey?: boolean; - metaKey?: boolean; - modifierAltGraph?: boolean; - modifierCapsLock?: boolean; - modifierFn?: boolean; - modifierFnLock?: boolean; - modifierHyper?: boolean; - modifierNumLock?: boolean; - modifierScrollLock?: boolean; - modifierSuper?: boolean; - modifierSymbol?: boolean; - modifierSymbolLock?: boolean; +interface PointerEventInit extends MouseEventInit { + height?: number; + isPrimary?: boolean; + pointerId?: number; + pointerType?: string; + pressure?: number; + tiltX?: number; + tiltY?: number; + width?: number; } -interface WheelEventInit extends MouseEventInit { - deltaX?: number; - deltaY?: number; - deltaZ?: number; - deltaMode?: number; +interface PopStateEventInit extends EventInit { + state?: any; } -interface InputEventInit extends UIEventInit { - data?: string | null; - isComposing?: boolean; +interface PositionOptions { + enableHighAccuracy?: boolean; + maximumAge?: number; + timeout?: number; } -interface KeyboardEventInit extends EventModifierInit { - key?: string; - code?: string; - location?: number; - repeat?: boolean; - isComposing?: boolean; +interface ProgressEventInit extends EventInit { + lengthComputable?: boolean; + loaded?: number; + total?: number; } -interface CompositionEventInit extends UIEventInit { - data?: string; +interface PromiseRejectionEventInit extends EventInit { + promise: Promise; + reason?: any; } -interface DocumentTimelineOptions { - originTime?: number; +interface PushEventInit extends ExtendableEventInit { + data?: PushMessageDataInit; } -interface AnimationEffectTimingProperties { - delay?: number; - endDelay?: number; - fill?: FillMode; - iterationStart?: number; - iterations?: number; - duration?: number | string; - direction?: PlaybackDirection; - easing?: string; +interface PushSubscriptionChangeInit extends ExtendableEventInit { + newSubscription?: PushSubscription; + oldSubscription?: PushSubscription; } -interface ComputedTimingProperties extends AnimationEffectTimingProperties { - endTime?: number; - activeDuration?: number; - localTime?: number | null; - progress?: number | null; - currentIteration?: number | null; +interface PushSubscriptionOptionsInit { + applicationServerKey?: BufferSource | string | null; + userVisibleOnly?: boolean; } -interface BaseComputedKeyframe { - offset?: number | null; - computedOffset?: number; - easing?: string; - composite?: CompositeOperation; +interface RegistrationOptions { + scope?: string; + type?: WorkerType; + useCache?: boolean; } -interface BasePropertyIndexedKeyframe { - easing?: string; - composite?: CompositeOperation; +interface RelatedEventInit extends EventInit { + relatedTarget?: EventTarget | null; } -interface BaseKeyframe { - offset?: number | null; - easing?: string; - composite?: CompositeOperation; +interface RequestInit { + body?: BodyInit | null; + cache?: RequestCache; + credentials?: RequestCredentials; + headers?: HeadersInit; + integrity?: string; + keepalive?: boolean; + method?: any; + mode?: RequestMode; + redirect?: RequestRedirect; + referrer?: string; + referrerPolicy?: any; + window?: any; } -interface KeyframeEffectOptions extends AnimationEffectTimingProperties { - iterationComposite?: IterationCompositeOperation; - composite?: CompositeOperation; - spacing?: string; +interface ResponseInit { + headers?: HeadersInit; + status?: number; + statusText?: any; } -interface KeyframeAnimationOptions extends KeyframeEffectOptions { - id?: string; +interface RsaHashedImportParams extends Algorithm { + hash: HashAlgorithmIdentifier; } -interface AnimationPlaybackEventInit extends EventInit { - currentTime?: number | null; - timelineTime?: number | null; +interface RsaHashedKeyAlgorithm extends RsaKeyAlgorithm { + hash: KeyAlgorithm; } -interface AudioContextOptions { - latencyHint?: AudioContextLatencyCategory | number; - sampleRate?: number; +interface RsaHashedKeyGenParams extends RsaKeyGenParams { + hash: HashAlgorithmIdentifier; } -interface AudioTimestamp { - contextTime?: number; - performanceTime?: number; +interface RsaKeyAlgorithm extends KeyAlgorithm { + modulusLength: number; + publicExponent: BigInteger; } -interface OfflineAudioCompletionEventInit extends EventInit { - renderedBuffer: AudioBuffer; +interface RsaKeyGenParams extends Algorithm { + modulusLength: number; + publicExponent: BigInteger; } -interface AudioNodeOptions { - channelCount?: number; - channelCountMode?: ChannelCountMode; - channelInterpretation?: ChannelInterpretation; +interface RsaOaepParams extends Algorithm { + label?: BufferSource; } -interface GainOptions extends AudioNodeOptions { - gain?: number; +interface RsaOtherPrimesInfo { + d?: string; + r?: string; + t?: string; } -interface DelayOptions extends AudioNodeOptions { - maxDelayTime?: number; - delayTime?: number; +interface RsaPssParams extends Algorithm { + saltLength: number; } -interface AudioBufferOptions { - numberOfChannels?: number; - length: number; - sampleRate: number; +interface RTCAnswerOptions extends RTCOfferAnswerOptions { } -interface AudioBufferSourceOptions { - buffer?: AudioBuffer | null; - detune?: number; - loop?: boolean; - loopEnd?: number; - loopStart?: number; - playbackRate?: number; +interface RTCCertificateExpiration { + expires?: number; } -interface ConstantSourceOptions { - offset?: number; +interface RTCCertificateStats extends RTCStats { + base64Certificate?: string; + fingerprint?: string; + fingerprintAlgorithm?: string; + issuerCertificateId?: string; } -interface MediaElementAudioSourceOptions { - mediaElement: HTMLMediaElement; +interface RTCCodecStats extends RTCStats { + channels?: number; + clockRate?: number; + codec?: string; + implementation?: string; + parameters?: string; + payloadType?: number; } -interface AudioWorkletNodeOptions extends AudioNodeOptions { - numberOfInputs?: number; - numberOfOutputs?: number; +interface RTCConfiguration { + bundlePolicy?: RTCBundlePolicy; + certificates?: RTCCertificate[]; + iceCandidatePoolSize?: number; + iceServers?: RTCIceServer[]; + iceTransportPolicy?: RTCIceTransportPolicy; + peerIdentity?: string; + rtcpMuxPolicy?: RTCRtcpMuxPolicy; } -interface AudioParamDescriptor { - name?: string; - defaultValue?: number; - minValue?: number; - maxValue?: number; +interface RTCDataChannelEventInit extends EventInit { + channel: RTCDataChannel; } -interface AudioContextInfo { - currentTime?: number; - sampleRate?: number; +interface RTCDataChannelInit { + id?: number; + maxPacketLifeTime?: number; + maxRetransmits?: number; + negotiated?: boolean; + ordered?: boolean; + priority?: RTCPriorityType; + protocol?: string; } -interface AudioProcessingEventInit extends EventInit { - playbackTime: number; - inputBuffer: AudioBuffer; - outputBuffer: AudioBuffer; +interface RTCDataChannelStats extends RTCStats { + bytesReceived?: number; + bytesSent?: number; + datachannelid?: number; + label?: string; + messagesReceived?: number; + messagesSent?: number; + protocol?: string; + state?: RTCDataChannelState; } -interface PannerOptions extends AudioNodeOptions { - panningModel?: PanningModelType; - distanceModel?: DistanceModelType; - positionX?: number; - positionY?: number; - positionZ?: number; - orientationX?: number; - orientationY?: number; - orientationZ?: number; - refDistance?: number; - maxDistance?: number; - rolloffFactor?: number; - coneInnerAngle?: number; - coneOuterAngle?: number; - coneOuterGain?: number; +interface RTCDtlsFingerprint { + algorithm?: string; + value?: string; } -interface StereoPannerOptions extends AudioNodeOptions { - pan?: number; +interface RTCDTMFToneChangeEventInit extends EventInit { + tone: string; } -interface ConvolverOptions extends AudioNodeOptions { - buffer?: AudioBuffer | null; - disableNormalization?: boolean; +interface RTCErrorEventInit extends EventInit { + error?: any; } -interface AnalyserOptions extends AudioNodeOptions { - fftSize?: number; - maxDecibels?: number; - minDecibels?: number; - smoothingTimeConstant?: number; +interface RTCIceCandidateInit { + candidate?: string; + sdpMid?: string | null; + sdpMLineIndex?: number | null; + ufrag?: string; } -interface ChannelSplitterOptions extends AudioNodeOptions { - numberOfOutputs?: number; +interface RTCIceCandidatePair { + local?: RTCIceCandidate; + remote?: RTCIceCandidate; } -interface ChannelMergerOptions extends AudioNodeOptions { - numberOfInputs?: number; +interface RTCIceCandidatePairStats extends RTCStats { + availableIncomingBitrate?: number; + availableOutgoingBitrate?: number; + bytesReceived?: number; + bytesSent?: number; + consentRequestsReceived?: number; + consentRequestsSent?: number; + consentResponsesReceived?: number; + consentResponsesSent?: number; + currentRoundTripTime?: number; + localCandidateId?: string; + nominated?: boolean; + priority?: number; + readable?: boolean; + remoteCandidateId?: string; + requestsReceived?: number; + requestsSent?: number; + responsesReceived?: number; + responsesSent?: number; + retransmissionsReceived?: number; + retransmissionsSent?: number; + state?: RTCStatsIceCandidatePairState; + totalRoundTripTime?: number; + transportId?: string; + writable?: boolean; } -interface DynamicsCompressorOptions extends AudioNodeOptions { - attack?: number; - knee?: number; - ratio?: number; - release?: number; - threshold?: number; -} - -interface BiquadFilterOptions extends AudioNodeOptions { - type?: BiquadFilterType; - Q?: number; - detune?: number; - frequency?: number; - gain?: number; -} - -interface IIRFilterOptions extends AudioNodeOptions { - feedforward: number[]; - feedback: number[]; +interface RTCIceCandidateStats extends RTCStats { + candidateType?: RTCIceCandidateType; + deleted?: boolean; + ip?: string; + isRemote?: boolean; + port?: number; + priority?: number; + protocol?: string; + transportId?: string; + url?: string; } -interface WaveShaperOptions extends AudioNodeOptions { - curve?: number[]; - oversample?: OverSampleType; +interface RTCIceParameters { + password?: string; + usernameFragment?: string; } -interface OscillatorOptions extends AudioNodeOptions { - type?: OscillatorType; - frequency?: number; - detune?: number; - periodicWave?: PeriodicWave; +interface RTCIceServer { + credential?: string; + credentialType?: RTCIceCredentialType; + urls: string | string[]; + username?: string; } -interface PeriodicWaveConstraints { - disableNormalization?: boolean; +interface RTCIdentityAssertionResult { + assertion: string; + idp: RTCIdentityProviderDetails; } -interface PeriodicWaveOptions extends PeriodicWaveConstraints { - real?: number[]; - imag?: number[]; +interface RTCIdentityProvider { + generateAssertion: GenerateAssertionCallback; + validateAssertion: ValidateAssertionCallback; } -interface MediaStreamAudioSourceOptions { - mediaStream: MediaStream; +interface RTCIdentityProviderDetails { + domain: string; + protocol?: string; } -interface MediaStreamTrackAudioSourceOptions { - mediaStreamTrack: any; +interface RTCIdentityProviderOptions { + peerIdentity?: string; + protocol?: string; + usernameHint?: string; } -interface Account { - rpDisplayName: string; - displayName: string; - id: string; - name?: string; - imageURL?: string; +interface RTCIdentityValidationResult { + contents: string; + identity: string; } -interface ScopedCredentialParameters { - type: ScopedCredentialType; - algorithm: AlgorithmIdentifier; +interface RTCInboundRTPStreamStats extends RTCRTPStreamStats { + burstDiscardCount?: number; + burstDiscardRate?: number; + burstLossCount?: number; + burstLossRate?: number; + burstPacketsDiscarded?: number; + burstPacketsLost?: number; + bytesReceived?: number; + fractionLost?: number; + framesDecoded?: number; + gapDiscardRate?: number; + gapLossRate?: number; + jitter?: number; + packetsDiscarded?: number; + packetsLost?: number; + packetsReceived?: number; + packetsRepaired?: number; } -interface ScopedCredentialOptions { - timeout?: number; - rpId?: string; - excludeList?: ScopedCredentialDescriptor[]; - attachment?: Attachment; - extensions?: AuthenticationExtensions; +interface RTCMediaStreamStats extends RTCStats { + streamIdentifier?: string; + trackIds?: string[]; } -interface AssertionOptions { - timeout?: number; - rpId?: string; - allowList?: ScopedCredentialDescriptor[]; - extensions?: AuthenticationExtensions; +interface RTCMediaStreamTrackStats extends RTCStats { + audioLevel?: number; + detached?: boolean; + echoReturnLoss?: number; + echoReturnLossEnhancement?: number; + ended?: boolean; + frameHeight?: number; + framesCorrupted?: number; + framesDecoded?: number; + framesDropped?: number; + framesPerSecond?: number; + framesReceived?: number; + framesSent?: number; + frameWidth?: number; + fullFramesLost?: number; + partialFramesLost?: number; + remoteSource?: boolean; + ssrcIds?: string[]; + trackIdentifier?: string; } -interface AuthenticationExtensions { +interface RTCOfferAnswerOptions { + voiceActivityDetection?: boolean; } -interface ClientData { - challenge: string; - origin: string; - hashAlg: AlgorithmIdentifier; - tokenBinding?: string; - extensions?: AuthenticationExtensions; +interface RTCOfferOptions extends RTCOfferAnswerOptions { + iceRestart?: boolean; } -interface ScopedCredentialDescriptor { - type: ScopedCredentialType; - id: BufferSource; - transports?: Transport[]; +interface RTCOfferOptions { + offerToReceiveAudio?: boolean; + offerToReceiveVideo?: boolean; } -interface SyncEventInit extends ExtendableEventInit { - tag: string; - lastChance?: boolean; +interface RTCOutboundRTPStreamStats extends RTCRTPStreamStats { + bytesSent?: number; + framesEncoded?: number; + packetsSent?: number; + roundTripTime?: number; + targetBitrate?: number; } -interface Algorithm { - name: string; +interface RTCPeerConnectionIceErrorEventInit extends EventInit { + errorCode: number; + hostCandidate?: string; + statusText?: string; + url?: string; } -interface KeyAlgorithm { - name: string; +interface RTCPeerConnectionIceEventInit extends EventInit { + candidate?: RTCIceCandidate | null; + url?: string | null; } -interface RsaOtherPrimesInfo { - r?: string; - d?: string; - t?: string; +interface RTCPeerConnectionStats extends RTCStats { + dataChannelsClosed?: number; + dataChannelsOpened?: number; } -interface JsonWebKey { - kty?: string; - use?: string; - key_ops?: string[]; - alg?: string; - ext?: boolean; - crv?: string; - x?: string; - y?: string; - d?: string; - n?: string; - e?: string; - p?: string; - q?: string; - dp?: string; - dq?: string; - qi?: string; - oth?: RsaOtherPrimesInfo[]; - k?: string; +interface RTCRtcpParameters { + cname?: string; + reducedSize?: boolean; } -interface CryptoKeyPair { - publicKey?: CryptoKey; - privateKey?: CryptoKey; +interface RTCRtpCapabilities { + codecs?: RTCRtpCodecCapability[]; + headerExtensions?: RTCRtpHeaderExtensionCapability[]; } -interface RsaKeyGenParams extends Algorithm { - modulusLength: number; - publicExponent: BigInteger; +interface RTCRtpCodecCapability { + channels?: number; + clockRate?: number; + mimeType?: string; + sdpFmtpLine?: string; } -interface RsaHashedKeyGenParams extends RsaKeyGenParams { - hash: HashAlgorithmIdentifier; +interface RTCRtpCodecParameters { + channels?: number; + clockRate?: number; + mimeType?: string; + payloadType?: number; + sdpFmtpLine?: string; } -interface RsaKeyAlgorithm extends KeyAlgorithm { - modulusLength: number; - publicExponent: BigInteger; +interface RTCRtpEncodingParameters { + active?: boolean; + dtx?: RTCDtxStatus; + fec?: RTCRtpFecParameters; + maxBitrate?: number; + maxFramerate?: number; + priority?: RTCPriorityType; + rid?: string; + rtx?: RTCRtpRtxParameters; + scaleResolutionDownBy?: number; + ssrc?: number; } -interface RsaHashedKeyAlgorithm extends RsaKeyAlgorithm { - hash: KeyAlgorithm; +interface RTCRtpFecParameters { + ssrc?: number; } -interface RsaHashedImportParams extends Algorithm { - hash: HashAlgorithmIdentifier; +interface RTCRtpHeaderExtensionCapability { + uri?: string; } -interface RsaPssParams extends Algorithm { - saltLength: number; +interface RTCRtpHeaderExtensionParameters { + encrypted?: boolean; + id?: number; + uri?: string; } -interface RsaOaepParams extends Algorithm { - label?: BufferSource; +interface RTCRtpParameters { + codecs?: RTCRtpCodecParameters[]; + degradationPreference?: RTCDegradationPreference; + encodings?: RTCRtpEncodingParameters[]; + headerExtensions?: RTCRtpHeaderExtensionParameters[]; + rtcp?: RTCRtcpParameters; + transactionId?: string; } -interface EcdsaParams extends Algorithm { - hash: HashAlgorithmIdentifier; +interface RTCRtpRtxParameters { + ssrc?: number; } -interface EcKeyGenParams extends Algorithm { - namedCurve: NamedCurve; +interface RTCRTPStreamStats extends RTCStats { + associateStatsId?: string; + codecId?: string; + firCount?: number; + isRemote?: boolean; + mediaTrackId?: string; + mediaType?: string; + nackCount?: number; + pliCount?: number; + qpSum?: number; + sliCount?: number; + ssrc?: string; + transportId?: string; } -interface EcKeyAlgorithm extends KeyAlgorithm { - namedCurve: NamedCurve; +interface RTCRtpTransceiverInit { + direction?: RTCRtpTransceiverDirection; + sendEncodings?: RTCRtpEncodingParameters[]; + streams?: MediaStream[]; } -interface EcKeyImportParams extends Algorithm { - namedCurve: NamedCurve; +interface RTCSessionDescriptionInit { + sdp?: string; + type: RTCSdpType; } -interface EcdhKeyDeriveParams extends Algorithm { - public: CryptoKey; +interface RTCStats { + id?: string; + timestamp?: number; + type?: RTCStatsType; } -interface AesCtrParams extends Algorithm { - counter: BufferSource; - length: number; +interface RTCStats { + id?: string; + timestamp?: number; + type?: RTCStatsType; } -interface AesKeyAlgorithm extends KeyAlgorithm { - length: number; +interface RTCTrackEventInit extends EventInit { + receiver: RTCRtpReceiver; + streams?: MediaStream[]; + track: MediaStreamTrack; + transceiver: RTCRtpTransceiver; } -interface AesKeyGenParams extends Algorithm { - length: number; +interface RTCTransportStats extends RTCStats { + activeConnection?: boolean; + bytesReceived?: number; + bytesSent?: number; + localCertificateId?: string; + remoteCertificateId?: string; + rtcpTransportStatsId?: string; + selectedCandidatePairId?: string; } -interface AesDerivedKeyParams extends Algorithm { - length: number; +interface ScopedCredentialDescriptor { + id: BufferSource; + transports?: Transport[]; + type: ScopedCredentialType; } -interface AesCbcParams extends Algorithm { - iv: BufferSource; +interface ScopedCredentialOptions { + attachment?: Attachment; + excludeList?: ScopedCredentialDescriptor[]; + extensions?: AuthenticationExtensions; + rpId?: string; + timeout?: number; } -interface AesGcmParams extends Algorithm { - iv: BufferSource; - additionalData?: BufferSource; - tagLength?: number; +interface ScopedCredentialParameters { + algorithm: AlgorithmIdentifier; + type: ScopedCredentialType; } -interface HmacImportParams extends Algorithm { - hash: HashAlgorithmIdentifier; - length?: number; +interface ScrollIntoViewOptions extends ScrollOptions { + block?: ScrollLogicalPosition; + inline?: ScrollLogicalPosition; } -interface HmacKeyAlgorithm extends KeyAlgorithm { - hash: KeyAlgorithm; - length: number; +interface ScrollOptions { + behavior?: ScrollBehavior; } -interface HmacKeyGenParams extends Algorithm { - hash: HashAlgorithmIdentifier; - length?: number; +interface ScrollToOptions extends ScrollOptions { + left?: number; + top?: number; } -interface HkdfParams extends Algorithm { - hash: HashAlgorithmIdentifier; - salt: BufferSource; - info: BufferSource; +interface SensorErrorEventInit extends EventInit { + error: any; } -interface Pbkdf2Params extends Algorithm { - salt: BufferSource; - iterations: number; - hash: HashAlgorithmIdentifier; +interface SensorOptions { + frequency?: number | null; } -interface RTCConfiguration { - iceServers?: RTCIceServer[]; - iceTransportPolicy?: RTCIceTransportPolicy; - bundlePolicy?: RTCBundlePolicy; - rtcpMuxPolicy?: RTCRtcpMuxPolicy; - peerIdentity?: string; - certificates?: RTCCertificate[]; - iceCandidatePoolSize?: number; +interface Settings { } -interface RTCIceServer { - urls: string | string[]; - username?: string; - credential?: string; - credentialType?: RTCIceCredentialType; +interface ShadowRootInit { + mode: ShadowRootMode; } -interface RTCOfferAnswerOptions { - voiceActivityDetection?: boolean; +interface StereoPannerOptions extends AudioNodeOptions { + pan?: number; } -interface RTCOfferOptions extends RTCOfferAnswerOptions { - iceRestart?: boolean; +interface StorageEventInit extends EventInit { + key?: string | null; + newValue?: string | null; + oldValue?: string | null; + storageArea?: Storage | null; + url?: string; } -interface RTCAnswerOptions extends RTCOfferAnswerOptions { +interface SVGBoundingBoxOptions { + clipped?: boolean; + fill?: boolean; + markers?: boolean; + stroke?: boolean; } -interface RTCOfferOptions { - offerToReceiveAudio?: boolean; - offerToReceiveVideo?: boolean; +interface SyncEventInit extends ExtendableEventInit { + lastChance?: boolean; + tag: string; } -interface RTCSessionDescriptionInit { - type: RTCSdpType; - sdp?: string; +interface TouchEventInit extends EventModifierInit { + changedTouches?: Touch[]; + targetTouches?: Touch[]; + touches?: Touch[]; } -interface RTCIceCandidateInit { - candidate?: string; - sdpMid?: string | null; - sdpMLineIndex?: number | null; - ufrag?: string; +interface TouchInit { + altitudeAngle?: number; + azimuthAngle?: number; + clientX?: number; + clientY?: number; + force?: number; + identifier: number; + pageX?: number; + pageY?: number; + radiusX?: number; + radiusY?: number; + rotationAngle?: number; + screenX?: number; + screenY?: number; + target: EventTarget; + touchType?: TouchType; } -interface RTCPeerConnectionIceEventInit extends EventInit { - candidate?: RTCIceCandidate | null; - url?: string | null; +interface TrackEventInit extends EventInit { + track?: VideoTrack | AudioTrack | TextTrack | null; } -interface RTCPeerConnectionIceErrorEventInit extends EventInit { - hostCandidate?: string; - url?: string; - errorCode: number; - statusText?: string; +interface TransitionEventInit extends EventInit { + elapsedTime?: number; + propertyName?: CSSOMString; + pseudoElement?: CSSOMString; } -interface RTCCertificateExpiration { - expires?: number; +interface UIEventInit extends EventInit { + detail?: number; + view?: Window | null; } -interface RTCRtpTransceiverInit { - direction?: RTCRtpTransceiverDirection; - streams?: MediaStream[]; - sendEncodings?: RTCRtpEncodingParameters[]; +interface WaveShaperOptions extends AudioNodeOptions { + curve?: number[]; + oversample?: OverSampleType; } -interface RTCRtpParameters { - transactionId?: string; - encodings?: RTCRtpEncodingParameters[]; - headerExtensions?: RTCRtpHeaderExtensionParameters[]; - rtcp?: RTCRtcpParameters; - codecs?: RTCRtpCodecParameters[]; - degradationPreference?: RTCDegradationPreference; +interface WebGLContextAttributes { + alpha?: GLboolean; + antialias?: GLboolean; + depth?: GLboolean; + failIfMajorPerformanceCaveat?: GLboolean; + powerPreference?: WebGLPowerPreference; + premultipliedAlpha?: GLboolean; + preserveDrawingBuffer?: GLboolean; + stencil?: GLboolean; } -interface RTCRtpEncodingParameters { - ssrc?: number; - rtx?: RTCRtpRtxParameters; - fec?: RTCRtpFecParameters; - dtx?: RTCDtxStatus; - active?: boolean; - priority?: RTCPriorityType; - maxBitrate?: number; - maxFramerate?: number; - rid?: string; - scaleResolutionDownBy?: number; +interface WebGLContextEventInit extends EventInit { + statusMessage?: string; } -interface RTCRtpRtxParameters { - ssrc?: number; +interface WheelEventInit extends MouseEventInit { + deltaMode?: number; + deltaX?: number; + deltaY?: number; + deltaZ?: number; } -interface RTCRtpFecParameters { - ssrc?: number; +interface WorkerOptions { + credentials?: RequestCredentials; + type?: WorkerType; } -interface RTCRtcpParameters { - cname?: string; - reducedSize?: boolean; +interface WorkletOptions { + credentials?: RequestCredentials; } -interface RTCRtpHeaderExtensionParameters { - uri?: string; - id?: number; - encrypted?: boolean; +interface EventListener { + (evt: Event): void; } -interface RTCRtpCodecParameters { - payloadType?: number; - mimeType?: string; - clockRate?: number; - channels?: number; - sdpFmtpLine?: string; -} - -interface RTCRtpCapabilities { - codecs?: RTCRtpCodecCapability[]; - headerExtensions?: RTCRtpHeaderExtensionCapability[]; -} - -interface RTCRtpCodecCapability { - mimeType?: string; - clockRate?: number; - channels?: number; - sdpFmtpLine?: string; -} - -interface RTCRtpHeaderExtensionCapability { - uri?: string; -} - -interface RTCDtlsFingerprint { - algorithm?: string; - value?: string; -} - -interface RTCIceParameters { - usernameFragment?: string; - password?: string; -} - -interface RTCIceCandidatePair { - local?: RTCIceCandidate; - remote?: RTCIceCandidate; -} - -interface RTCTrackEventInit extends EventInit { - receiver: RTCRtpReceiver; - track: MediaStreamTrack; - streams?: MediaStream[]; - transceiver: RTCRtpTransceiver; -} - -interface RTCDataChannelInit { - ordered?: boolean; - maxPacketLifeTime?: number; - maxRetransmits?: number; - protocol?: string; - negotiated?: boolean; - id?: number; - priority?: RTCPriorityType; -} - -interface RTCDataChannelEventInit extends EventInit { - channel: RTCDataChannel; -} - -interface RTCDTMFToneChangeEventInit extends EventInit { - tone: string; -} - -interface RTCStats { - timestamp?: number; - type?: RTCStatsType; - id?: string; -} - -interface RTCIdentityProvider { - generateAssertion: GenerateAssertionCallback; - validateAssertion: ValidateAssertionCallback; -} - -interface RTCIdentityAssertionResult { - idp: RTCIdentityProviderDetails; - assertion: string; -} - -interface RTCIdentityProviderDetails { - domain: string; - protocol?: string; -} - -interface RTCIdentityValidationResult { - identity: string; - contents: string; -} - -interface RTCIdentityProviderOptions { - protocol?: string; - usernameHint?: string; - peerIdentity?: string; -} - -interface MediaStreamConstraints { - peerIdentity?: string; -} - -interface RTCErrorEventInit extends EventInit { - error?: any; -} - -interface WebGLContextAttributes { - alpha?: GLboolean; - depth?: GLboolean; - stencil?: GLboolean; - antialias?: GLboolean; - premultipliedAlpha?: GLboolean; - preserveDrawingBuffer?: GLboolean; - powerPreference?: WebGLPowerPreference; - failIfMajorPerformanceCaveat?: GLboolean; -} - -interface WebGLContextEventInit extends EventInit { - statusMessage?: string; -} - -interface ProgressEventInit extends EventInit { - lengthComputable?: boolean; - loaded?: number; - total?: number; -} - -interface EventListener { - (evt: Event): void; -} - -interface NodeFilter { - (evt: Event): void; +interface NodeFilter { + (evt: Event): void; } interface AmbientLightSensor extends Sensor { @@ -1595,2250 +1602,1584 @@ declare var AmbientLightSensor: { new(sensorOptions?: SensorOptions): AmbientLightSensor; }; -interface ClipboardEvent extends Event { - readonly clipboardData: DataTransfer | null; +interface AnalyserNode extends AudioNode { + fftSize: number; + readonly frequencyBinCount: number; + maxDecibels: number; + minDecibels: number; + smoothingTimeConstant: number; + getByteFrequencyData(array: Uint8Array): void; + getByteTimeDomainData(array: Uint8Array): void; + getFloatFrequencyData(array: Float32Array): void; + getFloatTimeDomainData(array: Float32Array): void; } -declare var ClipboardEvent: { - prototype: ClipboardEvent; - new(type: string, eventInitDict?: ClipboardEventInit): ClipboardEvent; +declare var AnalyserNode: { + prototype: AnalyserNode; + new(context: BaseAudioContext, options?: AnalyserOptions): AnalyserNode; }; -interface AnimationEvent extends Event { - readonly animationName: string; - readonly elapsedTime: number; - readonly pseudoElement: string; +interface AnimationEventMap { + "cancel": Event; + "finish": Event; } -declare var AnimationEvent: { - prototype: AnimationEvent; - new(type: string, animationEventInitDict?: AnimationEventInit): AnimationEvent; -}; - -interface CSSKeyframeRule extends CSSRule { - keyText: string; - readonly style: CSSStyleDeclaration; +interface Animation extends EventTarget { + currentTime: number | null; + effect: AnimationEffectReadOnly | null; + readonly finished: Promise; + id: string; + oncancel: (this: Animation, ev: Event) => any; + onfinish: (this: Animation, ev: Event) => any; + playbackRate: number; + readonly playState: AnimationPlayState; + readonly ready: Promise; + startTime: number | null; + timeline: AnimationTimeline | null; + cancel(): void; + finish(): void; + pause(): void; + play(): void; + reverse(): void; + addEventListener(type: K, listener: (this: Animation, ev: AnimationEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var CSSKeyframeRule: { - prototype: CSSKeyframeRule; - new(): CSSKeyframeRule; +declare var Animation: { + prototype: Animation; + new(effect?: AnimationEffectReadOnly, timeline?: AnimationTimeline): Animation; }; -interface CSSKeyframesRule extends CSSRule { - name: string; - readonly cssRules: CSSRuleList; - appendRule(rule: string): void; - deleteRule(select: string): void; - findRule(select: string): CSSKeyframeRule | null; +interface AnimationEffectReadOnly { + readonly timing: AnimationEffectTimingReadOnly; + getComputedTiming(): ComputedTimingProperties; } -declare var CSSKeyframesRule: { - prototype: CSSKeyframesRule; - new(): CSSKeyframesRule; +declare var AnimationEffectReadOnly: { + prototype: AnimationEffectReadOnly; + new(): AnimationEffectReadOnly; }; -interface CSSGroupingRule extends CSSRule { - readonly cssRules: CSSRuleList; - insertRule(rule: string, index: number): number; - deleteRule(index: number): void; +interface AnimationEffectTiming extends AnimationEffectTimingReadOnly { + delay: number; + direction: PlaybackDirection; + duration: number | string; + easing: string; + endDelay: number; + fill: FillMode; + iterations: number; + iterationStart: number; } -declare var CSSGroupingRule: { - prototype: CSSGroupingRule; - new(): CSSGroupingRule; +declare var AnimationEffectTiming: { + prototype: AnimationEffectTiming; + new(): AnimationEffectTiming; }; -interface CSSConditionRule extends CSSGroupingRule { - conditionText: string; +interface AnimationEffectTimingReadOnly { + readonly delay: number; + readonly direction: PlaybackDirection; + readonly duration: number | string; + readonly easing: string; + readonly endDelay: number; + readonly fill: FillMode; + readonly iterations: number; + readonly iterationStart: number; } -declare var CSSConditionRule: { - prototype: CSSConditionRule; - new(): CSSConditionRule; +declare var AnimationEffectTimingReadOnly: { + prototype: AnimationEffectTimingReadOnly; + new(): AnimationEffectTimingReadOnly; }; -interface CSSMediaRule extends CSSConditionRule { - readonly media: MediaList; +interface AnimationEvent extends Event { + readonly animationName: CSSOMString; + readonly elapsedTime: number; + readonly pseudoElement: CSSOMString; } -declare var CSSMediaRule: { - prototype: CSSMediaRule; - new(): CSSMediaRule; +declare var AnimationEvent: { + prototype: AnimationEvent; + new(type: CSSOMString, animationEventInitDict?: AnimationEventInit): AnimationEvent; }; -interface CSSSupportsRule extends CSSConditionRule { +interface AnimationPlaybackEvent extends Event { + readonly currentTime: number | null; + readonly timelineTime: number | null; } -declare var CSSSupportsRule: { - prototype: CSSSupportsRule; - new(): CSSSupportsRule; +declare var AnimationPlaybackEvent: { + prototype: AnimationPlaybackEvent; + new(type: string, eventInitDict?: AnimationPlaybackEventInit): AnimationPlaybackEvent; }; -interface SVGClipPathElement extends SVGElement, SVGUnitTypes { - readonly clipPathUnits: SVGAnimatedEnumeration; - readonly transform: SVGAnimatedTransformList; - addEventListener(type: K, listener: (this: SVGClipPathElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGClipPathElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface AnimationTimeline { + readonly currentTime: number | null; } -declare var SVGClipPathElement: { - prototype: SVGClipPathElement; - new(): SVGClipPathElement; +declare var AnimationTimeline: { + prototype: AnimationTimeline; + new(): AnimationTimeline; }; -interface SVGMaskElement extends SVGElement, SVGUnitTypes { - readonly maskUnits: SVGAnimatedEnumeration; - readonly maskContentUnits: SVGAnimatedEnumeration; - readonly x: SVGAnimatedLength; - readonly y: SVGAnimatedLength; - readonly width: SVGAnimatedLength; - readonly height: SVGAnimatedLength; - addEventListener(type: K, listener: (this: SVGMaskElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGMaskElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; +interface ApplicationCacheEventMap { + "cached": Event; + "checking": Event; + "downloading": Event; + "error": Event; + "noupdate": Event; + "obsolete": Event; + "progress": ProgressEvent; + "updateready": Event; +} + +interface ApplicationCache extends EventTarget { + oncached: (this: ApplicationCache, ev: Event) => any; + onchecking: (this: ApplicationCache, ev: Event) => any; + ondownloading: (this: ApplicationCache, ev: Event) => any; + onerror: (this: ApplicationCache, ev: Event) => any; + onnoupdate: (this: ApplicationCache, ev: Event) => any; + onobsolete: (this: ApplicationCache, ev: Event) => any; + onprogress: (this: ApplicationCache, ev: ProgressEvent) => any; + onupdateready: (this: ApplicationCache, ev: Event) => any; + readonly status: number; + abort(): void; + swapCache(): void; + update(): void; + readonly CHECKING: number; + readonly DOWNLOADING: number; + readonly IDLE: number; + readonly OBSOLETE: number; + readonly UNCACHED: number; + readonly UPDATEREADY: number; + addEventListener(type: K, listener: (this: ApplicationCache, ev: ApplicationCacheEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGMaskElement: { - prototype: SVGMaskElement; - new(): SVGMaskElement; +declare var ApplicationCache: { + prototype: ApplicationCache; + new(): ApplicationCache; + readonly CHECKING: number; + readonly DOWNLOADING: number; + readonly IDLE: number; + readonly OBSOLETE: number; + readonly UNCACHED: number; + readonly UPDATEREADY: number; }; -interface MediaList { - mediaText: string; - readonly length: number; - item(index: number): string | null; - appendMedium(medium: string): void; - deleteMedium(medium: string): void; - [index: number]: string; +interface Attr extends Node { + readonly localName: string; + readonly name: string; + readonly namespaceURI: string | null; + readonly ownerElement: Element | null; + readonly prefix: string | null; + readonly specified: boolean; + value: string; } -declare var MediaList: { - prototype: MediaList; - new(): MediaList; +declare var Attr: { + prototype: Attr; + new(): Attr; }; -interface StyleSheet { - readonly type: string; - readonly href: string | null; - readonly ownerNode: Element | ProcessingInstruction | null; - readonly parentStyleSheet: StyleSheet | null; - readonly title: string | null; - readonly media: MediaList; - disabled: boolean; +interface AudioBuffer { + readonly duration: number; + readonly length: number; + readonly numberOfChannels: number; + readonly sampleRate: number; + copyFromChannel(destination: Float32Array, channelNumber: number, startInChannel?: number): void; + copyToChannel(source: Float32Array, channelNumber: number, startInChannel?: number): void; + getChannelData(channel: number): Float32Array; } -declare var StyleSheet: { - prototype: StyleSheet; - new(): StyleSheet; +declare var AudioBuffer: { + prototype: AudioBuffer; + new(options: AudioBufferOptions): AudioBuffer; }; -interface CSSStyleSheet extends StyleSheet { - readonly ownerRule: CSSRule | null; - readonly cssRules: CSSRuleList; - insertRule(rule: string, index: number): number; - deleteRule(index: number): void; +interface AudioBufferSourceNode extends AudioScheduledSourceNode { + buffer: AudioBuffer | null; + readonly detune: AudioParam; + loop: boolean; + loopEnd: number; + loopStart: number; + readonly playbackRate: AudioParam; + start(when?: number, offset?: number, duration?: number): void; + addEventListener(type: K, listener: (this: AudioBufferSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var CSSStyleSheet: { - prototype: CSSStyleSheet; - new(): CSSStyleSheet; +declare var AudioBufferSourceNode: { + prototype: AudioBufferSourceNode; + new(context: BaseAudioContext, options?: AudioBufferSourceOptions): AudioBufferSourceNode; }; -interface StyleSheetList { - readonly length: number; - item(index: number): StyleSheet | null; - [index: number]: StyleSheet; +interface AudioContext extends BaseAudioContext { + readonly baseLatency: number; + readonly outputLatency: number; + close(): Promise; + createMediaElementSource(mediaElement: HTMLMediaElement): MediaElementAudioSourceNode; + createMediaStreamDestination(): MediaStreamAudioDestinationNode; + createMediaStreamSource(mediaStream: MediaStream): MediaStreamAudioSourceNode; + createMediaStreamTrackSource(mediaStreamTrack: any): MediaStreamTrackAudioSourceNode; + getOutputTimestamp(): AudioTimestamp; + suspend(): Promise; + addEventListener(type: K, listener: (this: AudioContext, ev: BaseAudioContextEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var StyleSheetList: { - prototype: StyleSheetList; - new(): StyleSheetList; +declare var AudioContext: { + prototype: AudioContext; + new(contextOptions?: AudioContextOptions): AudioContext; + new(): AudioContext; }; -interface CSSRuleList { - readonly length: number; - item(index: number): CSSRule | null; - [index: number]: CSSRule; +interface AudioDestinationNode extends AudioNode { + readonly maxChannelCount: number; } -declare var CSSRuleList: { - prototype: CSSRuleList; - new(): CSSRuleList; +declare var AudioDestinationNode: { + prototype: AudioDestinationNode; + new(): AudioDestinationNode; }; -interface CSSRule { - readonly type: number; - cssText: string; - readonly parentRule: CSSRule | null; - readonly parentStyleSheet: CSSStyleSheet | null; - readonly STYLE_RULE: number; - readonly CHARSET_RULE: number; - readonly IMPORT_RULE: number; - readonly MEDIA_RULE: number; - readonly FONT_FACE_RULE: number; - readonly PAGE_RULE: number; - readonly MARGIN_RULE: number; - readonly NAMESPACE_RULE: number; - readonly KEYFRAMES_RULE: number; - readonly KEYFRAME_RULE: number; - readonly SUPPORTS_RULE: number; +interface AudioListener { + readonly forwardX: AudioParam; + readonly forwardY: AudioParam; + readonly forwardZ: AudioParam; + readonly positionX: AudioParam; + readonly positionY: AudioParam; + readonly positionZ: AudioParam; + readonly upX: AudioParam; + readonly upY: AudioParam; + readonly upZ: AudioParam; + setOrientation(x: number, y: number, z: number, xUp: number, yUp: number, zUp: number): void; + setPosition(x: number, y: number, z: number): void; } -declare var CSSRule: { - prototype: CSSRule; - new(): CSSRule; - readonly STYLE_RULE: number; - readonly CHARSET_RULE: number; - readonly IMPORT_RULE: number; - readonly MEDIA_RULE: number; - readonly FONT_FACE_RULE: number; - readonly PAGE_RULE: number; - readonly MARGIN_RULE: number; - readonly NAMESPACE_RULE: number; - readonly KEYFRAMES_RULE: number; - readonly KEYFRAME_RULE: number; - readonly SUPPORTS_RULE: number; +declare var AudioListener: { + prototype: AudioListener; + new(): AudioListener; }; -interface CSSStyleRule extends CSSRule { - selectorText: string; - readonly style: CSSStyleDeclaration; +interface AudioNode extends EventTarget { + channelCount: number; + channelCountMode: ChannelCountMode; + channelInterpretation: ChannelInterpretation; + readonly context: BaseAudioContext; + readonly numberOfInputs: number; + readonly numberOfOutputs: number; + connect(destination: AudioNode, output?: number, input?: number): AudioNode; + connect(destination: AudioParam, output?: number): void; + connect(destination: AudioNode, output?: number, input?: number): AudioNode; + connect(destination: AudioParam, output?: number): void; + disconnect(output?: number): void; + disconnect(destination: AudioNode, output?: number, input?: number): void; + disconnect(destination: AudioParam, output?: number): void; + disconnect(output?: number): void; + disconnect(destination: AudioNode, output?: number, input?: number): void; + disconnect(destination: AudioParam, output?: number): void; + disconnect(output?: number): void; + disconnect(destination: AudioNode, output?: number, input?: number): void; + disconnect(destination: AudioParam, output?: number): void; + disconnect(output?: number): void; + disconnect(destination: AudioNode, output?: number, input?: number): void; + disconnect(destination: AudioParam, output?: number): void; + disconnect(output?: number): void; + disconnect(destination: AudioNode, output?: number, input?: number): void; + disconnect(destination: AudioParam, output?: number): void; + disconnect(output?: number): void; + disconnect(destination: AudioNode, output?: number, input?: number): void; + disconnect(destination: AudioParam, output?: number): void; + disconnect(output?: number): void; + disconnect(destination: AudioNode, output?: number, input?: number): void; + disconnect(destination: AudioParam, output?: number): void; } -declare var CSSStyleRule: { - prototype: CSSStyleRule; - new(): CSSStyleRule; +declare var AudioNode: { + prototype: AudioNode; + new(): AudioNode; }; -interface CSSImportRule extends CSSRule { - readonly href: string; - readonly media: MediaList; - readonly styleSheet: CSSStyleSheet; +interface AudioParam { + readonly defaultValue: number; + readonly maxValue: number; + readonly minValue: number; + value: number; + cancelAndHoldAtTime(cancelTime: number): AudioParam; + cancelScheduledValues(cancelTime: number): AudioParam; + exponentialRampToValueAtTime(value: number, endTime: number): AudioParam; + linearRampToValueAtTime(value: number, endTime: number): AudioParam; + setTargetAtTime(target: number, startTime: number, timeConstant: number): AudioParam; + setValueAtTime(value: number, startTime: number): AudioParam; + setValueCurveAtTime(values: Float32Array, startTime: number, duration: number): AudioParam; } -declare var CSSImportRule: { - prototype: CSSImportRule; - new(): CSSImportRule; +declare var AudioParam: { + prototype: AudioParam; + new(): AudioParam; }; -interface CSSGroupingRule extends CSSRule { - readonly cssRules: CSSRuleList; - insertRule(rule: string, index: number): number; - deleteRule(index: number): void; +interface AudioParamMap { } -declare var CSSGroupingRule: { - prototype: CSSGroupingRule; - new(): CSSGroupingRule; +declare var AudioParamMap: { + prototype: AudioParamMap; + new(): AudioParamMap; }; -interface CSSMediaRule extends CSSGroupingRule { - readonly media: MediaList; +interface AudioProcessingEvent extends Event { + readonly inputBuffer: AudioBuffer; + readonly outputBuffer: AudioBuffer; + readonly playbackTime: number; } -declare var CSSMediaRule: { - prototype: CSSMediaRule; - new(): CSSMediaRule; +declare var AudioProcessingEvent: { + prototype: AudioProcessingEvent; + new(type: string, eventInitDict: AudioProcessingEventInit): AudioProcessingEvent; }; -interface CSSPageRule extends CSSGroupingRule { - selectorText: string; - readonly style: CSSStyleDeclaration; +interface AudioScheduledSourceNodeEventMap { + "ended": Event; } -declare var CSSPageRule: { - prototype: CSSPageRule; - new(): CSSPageRule; -}; - -interface CSSMarginRule extends CSSRule { - readonly name: string; - readonly style: CSSStyleDeclaration; +interface AudioScheduledSourceNode extends AudioNode { + onended: (this: AudioScheduledSourceNode, ev: Event) => any; + start(when?: number): void; + stop(when?: number): void; + addEventListener(type: K, listener: (this: AudioScheduledSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var CSSMarginRule: { - prototype: CSSMarginRule; - new(): CSSMarginRule; +declare var AudioScheduledSourceNode: { + prototype: AudioScheduledSourceNode; + new(): AudioScheduledSourceNode; }; -interface CSSNamespaceRule extends CSSRule { - readonly namespaceURI: string; - readonly prefix: string; +interface AudioTrack { + enabled: boolean; + readonly id: string; + readonly kind: string; + readonly label: string; + readonly language: string; + readonly sourceBuffer: SourceBuffer | null; } -declare var CSSNamespaceRule: { - prototype: CSSNamespaceRule; - new(): CSSNamespaceRule; +declare var AudioTrack: { + prototype: AudioTrack; + new(): AudioTrack; }; -interface CSSStyleDeclaration { - cssText: string; +interface AudioTrackListEventMap { + "addtrack": TrackEvent; + "change": Event; + "removetrack": TrackEvent; +} + +interface AudioTrackList extends EventTarget { readonly length: number; - readonly parentRule: CSSRule | null; - cssFloat: string; - camel_cased_attribute: string; - webkit_cased_attribute: string; - dashed_attribute: string; - resize: string | null; - userSelect: string | null; - item(index: number): string; - getPropertyValue(property: string): string; - getPropertyPriority(property: string): string; - setProperty(property: string, value: string, priority?: string): void; - setPropertyValue(property: string, value: string): void; - setPropertyPriority(property: string, priority: string): void; - removeProperty(property: string): string; - [index: number]: string; + onaddtrack: (this: AudioTrackList, ev: TrackEvent) => any; + onchange: (this: AudioTrackList, ev: Event) => any; + onremovetrack: (this: AudioTrackList, ev: TrackEvent) => any; + getTrackById(id: string): AudioTrack | null; + addEventListener(type: K, listener: (this: AudioTrackList, ev: AudioTrackListEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + [index: number]: AudioTrack; } -declare var CSSStyleDeclaration: { - prototype: CSSStyleDeclaration; - new(): CSSStyleDeclaration; +declare var AudioTrackList: { + prototype: AudioTrackList; + new(): AudioTrackList; }; -interface CSS { +interface AudioWorkletGlobalScope extends WorkletGlobalScope { + registerProcessor(name: string, processorCtor: VoidFunction): void; } -declare var CSS: { - prototype: CSS; - new(): CSS; - escape(ident: string): string; - supports(property: string, value: string): boolean; - supports(conditionText: string): boolean; +declare var AudioWorkletGlobalScope: { + prototype: AudioWorkletGlobalScope; + new(): AudioWorkletGlobalScope; }; -interface TransitionEvent extends Event { - readonly propertyName: string; - readonly elapsedTime: number; - readonly pseudoElement: string; +interface AudioWorkletNodeEventMap { + "data": Event; } -declare var TransitionEvent: { - prototype: TransitionEvent; - new(type: string, transitionEventInitDict?: TransitionEventInit): TransitionEvent; +interface AudioWorkletNode extends AudioNode { + ondata: (this: AudioWorkletNode, ev: Event) => any; + readonly parameters: AudioParamMap; + sendData(data: any): void; + addEventListener(type: K, listener: (this: AudioWorkletNode, ev: AudioWorkletNodeEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var AudioWorkletNode: { + prototype: AudioWorkletNode; + new(context: BaseAudioContext, options?: any): AudioWorkletNode; }; -interface MediaQueryListEventMap { - "change": Event; +interface AudioWorkletProcessorEventMap { + "data": Event; } -interface MediaQueryList extends EventTarget { - readonly media: string; - readonly matches: boolean; - onchange: (this: MediaQueryList, ev: Event) => any; - addListener(listener: EventListenerOrEventListenerObject | null): void; - removeListener(listener: EventListenerOrEventListenerObject | null): void; - addEventListener(type: K, listener: (this: MediaQueryList, ev: MediaQueryListEventMap[K]) => any, useCapture?: boolean): void; +interface AudioWorkletProcessor extends EventTarget { + readonly contextInfo: AudioContextInfo; + ondata: (this: AudioWorkletProcessor, ev: Event) => any; + sendData(data: any): void; + addEventListener(type: K, listener: (this: AudioWorkletProcessor, ev: AudioWorkletProcessorEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var MediaQueryList: { - prototype: MediaQueryList; - new(): MediaQueryList; +declare var AudioWorkletProcessor: { + prototype: AudioWorkletProcessor; + new(): AudioWorkletProcessor; }; -interface MediaQueryListEvent extends Event { - readonly media: string; - readonly matches: boolean; +interface AuthenticationAssertion { + readonly authenticatorData: ArrayBuffer; + readonly clientDataJSON: ArrayBuffer; + readonly credential: ScopedCredential; + readonly signature: ArrayBuffer; } -declare var MediaQueryListEvent: { - prototype: MediaQueryListEvent; - new(type: string, eventInitDict?: MediaQueryListEventInit): MediaQueryListEvent; +declare var AuthenticationAssertion: { + prototype: AuthenticationAssertion; + new(): AuthenticationAssertion; }; -interface Screen { - readonly availWidth: number; - readonly availHeight: number; - readonly width: number; - readonly height: number; - readonly colorDepth: number; - readonly pixelDepth: number; +interface BarProp { + readonly visible: boolean; } -declare var Screen: { - prototype: Screen; - new(): Screen; +declare var BarProp: { + prototype: BarProp; + new(): BarProp; }; -interface CaretPosition { - readonly offsetNode: Node; - readonly offset: number; - getClientRect(): DOMRect | null; +interface BaseAudioContextEventMap { + "statechange": Event; } -declare var CaretPosition: { - prototype: CaretPosition; - new(): CaretPosition; +interface BaseAudioContext extends EventTarget { + readonly currentTime: number; + readonly destination: AudioDestinationNode; + readonly listener: AudioListener; + onstatechange: (this: BaseAudioContext, ev: Event) => any; + readonly sampleRate: number; + readonly state: AudioContextState; + createAnalyser(): AnalyserNode; + createBiquadFilter(): BiquadFilterNode; + createBuffer(numberOfChannels: number, length: number, sampleRate: number): AudioBuffer; + createBufferSource(): AudioBufferSourceNode; + createChannelMerger(numberOfInputs?: number): ChannelMergerNode; + createChannelSplitter(numberOfOutputs?: number): ChannelSplitterNode; + createConstantSource(): ConstantSourceNode; + createConvolver(): ConvolverNode; + createDelay(maxDelayTime?: number): DelayNode; + createDynamicsCompressor(): DynamicsCompressorNode; + createGain(): GainNode; + createIIRFilter(feedforward: number[], feedback: number[]): IIRFilterNode; + createOscillator(): OscillatorNode; + createPanner(): PannerNode; + createPeriodicWave(real: Float32Array, imag: Float32Array, constraints?: PeriodicWaveConstraints): PeriodicWave; + createScriptProcessor(bufferSize?: number, numberOfInputChannels?: number, numberOfOutputChannels?: number): ScriptProcessorNode; + createStereoPanner(): StereoPannerNode; + createWaveShaper(): WaveShaperNode; + decodeAudioData(audioData: ArrayBuffer, successCallback?: DecodeSuccessCallback, errorCallback?: DecodeErrorCallback): Promise; + resume(): Promise; + addEventListener(type: K, listener: (this: BaseAudioContext, ev: BaseAudioContextEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var BaseAudioContext: { + prototype: BaseAudioContext; + new(): BaseAudioContext; }; -interface DeviceOrientationEvent extends Event { - readonly alpha: number | null; - readonly beta: number | null; - readonly gamma: number | null; - readonly absolute: boolean; +interface BeforeUnloadEvent extends Event { + returnValue: any; } -declare var DeviceOrientationEvent: { - prototype: DeviceOrientationEvent; - new(type: string, eventInitDict?: DeviceOrientationEventInit): DeviceOrientationEvent; +declare var BeforeUnloadEvent: { + prototype: BeforeUnloadEvent; + new(): BeforeUnloadEvent; }; -interface DeviceMotionEvent extends Event { - readonly acceleration: DeviceAcceleration | null; - readonly accelerationIncludingGravity: DeviceAcceleration | null; - readonly rotationRate: DeviceRotationRate | null; - readonly interval: number | null; +interface BiquadFilterNode extends AudioNode { + readonly detune: AudioParam; + readonly frequency: AudioParam; + readonly gain: AudioParam; + readonly Q: AudioParam; + type: BiquadFilterType; + getFrequencyResponse(frequencyHz: Float32Array, magResponse: Float32Array, phaseResponse: Float32Array): void; } -declare var DeviceMotionEvent: { - prototype: DeviceMotionEvent; - new(type: string, eventInitDict?: DeviceMotionEventInit): DeviceMotionEvent; +declare var BiquadFilterNode: { + prototype: BiquadFilterNode; + new(context: BaseAudioContext, options?: BiquadFilterOptions): BiquadFilterNode; }; -interface Event { +interface Blob { + readonly isClosed: boolean; + readonly size: number; readonly type: string; - readonly target: EventTarget | null; - readonly currentTarget: EventTarget | null; - readonly eventPhase: number; - cancelBubble: boolean; - readonly bubbles: boolean; - readonly cancelable: boolean; - readonly defaultPrevented: boolean; - readonly composed: boolean; - readonly isTrusted: boolean; - readonly timeStamp: number; - readonly scoped: boolean; - composedPath(): EventTarget[]; - stopPropagation(): void; - stopImmediatePropagation(): void; - preventDefault(): void; - initEvent(type: string, bubbles?: boolean, cancelable?: boolean): void; - deepPath(): EventTarget[]; - readonly NONE: number; - readonly CAPTURING_PHASE: number; - readonly AT_TARGET: number; - readonly BUBBLING_PHASE: number; + close(): void; + slice(start?: number, end?: number, contentType?: string): Blob; } -declare var Event: { - prototype: Event; - new(type: string, eventInitDict?: EventInit): Event; - readonly NONE: number; - readonly CAPTURING_PHASE: number; - readonly AT_TARGET: number; - readonly BUBBLING_PHASE: number; +declare var Blob: { + prototype: Blob; + new (blobParts?: any[], options?: BlobPropertyBag): Blob; }; -interface CustomEvent extends Event { - readonly detail: any; - initCustomEvent(type: string, bubbles?: boolean, cancelable?: boolean, detail?: any): void; +interface BroadcastChannelEventMap { + "message": MessageEvent; + "messageerror": MessageEvent; } -declare var CustomEvent: { - prototype: CustomEvent; - new(type: string, eventInitDict?: CustomEventInit): CustomEvent; +interface BroadcastChannel extends EventTarget { + readonly name: string; + onmessage: (this: BroadcastChannel, ev: MessageEvent) => any; + onmessageerror: (this: BroadcastChannel, ev: MessageEvent) => any; + close(): void; + postMessage(message: any): void; + addEventListener(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var BroadcastChannel: { + prototype: BroadcastChannel; + new(name: string): BroadcastChannel; }; -interface EventTarget { - addEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; - removeEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; - dispatchEvent(event: Event): boolean; +interface Cache { + add(request: RequestInfo): Promise; + addAll(requests: RequestInfo[]): Promise; + delete(request: RequestInfo, options?: CacheQueryOptions): Promise; + keys(request?: RequestInfo, options?: CacheQueryOptions): Promise; + match(request: RequestInfo, options?: CacheQueryOptions): Promise; + matchAll(request?: RequestInfo, options?: CacheQueryOptions): Promise; + put(request: RequestInfo, response: Response): Promise; } -declare var EventTarget: { - prototype: EventTarget; - new(): EventTarget; +declare var Cache: { + prototype: Cache; + new(): Cache; }; -interface NodeList { - readonly length: number; - item(index: number): Node | null; - [index: number]: Node; +interface CacheStorage { + delete(cacheName: string): Promise; + has(cacheName: string): Promise; + keys(): Promise; + match(request: RequestInfo, options?: CacheQueryOptions): Promise; + open(cacheName: string): Promise; } -declare var NodeList: { - prototype: NodeList; - new(): NodeList; +declare var CacheStorage: { + prototype: CacheStorage; + new(): CacheStorage; }; -interface HTMLCollectionBase { - /** - * Sets or retrieves the number of objects in a collection. - */ - readonly length: number; - /** - * Retrieves an object from various collections. - */ - item(index: number): Element; - [index: number]: Element; +interface CanvasGradient { + addColorStop(offset: number, color: string): void; } -interface HTMLCollection extends HTMLCollectionBase { - /** - * Retrieves a select object or an object from an options collection. - */ - namedItem(name: string): Element | null; +declare var CanvasGradient: { + prototype: CanvasGradient; + new(): CanvasGradient; +}; + +interface CanvasPattern { + setTransform(transform?: DOMMatrixInit): void; } -declare var HTMLCollection: { - prototype: HTMLCollection; - new(): HTMLCollection; +declare var CanvasPattern: { + prototype: CanvasPattern; + new(): CanvasPattern; }; -interface MutationObserver { - observe(target: Node, options?: MutationObserverInit): void; - disconnect(): void; - takeRecords(): MutationRecord[]; +interface CanvasRenderingContext2D extends Object, CanvasState, CanvasTransform, CanvasCompositing, CanvasImageSmoothing, CanvasFillStrokeStyles, CanvasShadowStyles, CanvasFilters, CanvasRect, CanvasDrawPath, CanvasUserInterface, CanvasText, CanvasDrawImage, CanvasImageData, CanvasPathDrawingStyles, CanvasTextDrawingStyles, CanvasPath { + readonly canvas: HTMLCanvasElement; + mozImageSmoothingEnabled: boolean; + webkitImageSmoothingEnabled: boolean; + oImageSmoothingEnabled: boolean; } -declare var MutationObserver: { - prototype: MutationObserver; - new(callback: MutationCallback): MutationObserver; +declare var CanvasRenderingContext2D: { + prototype: CanvasRenderingContext2D; + new(): CanvasRenderingContext2D; }; -interface MutationRecord { - readonly type: string; - readonly target: Node; - readonly addedNodes: NodeList; - readonly removedNodes: NodeList; - readonly previousSibling: Node | null; - readonly nextSibling: Node | null; - readonly attributeName: string | null; - readonly attributeNamespace: string | null; - readonly oldValue: string | null; +interface CaretPosition { + readonly offset: number; + readonly offsetNode: Node; + getClientRect(): DOMRect | null; } -declare var MutationRecord: { - prototype: MutationRecord; - new(): MutationRecord; +declare var CaretPosition: { + prototype: CaretPosition; + new(): CaretPosition; }; -interface Node extends EventTarget { - readonly nodeType: number; - readonly nodeName: string; - readonly baseURI: string; - readonly isConnected: boolean; - readonly ownerDocument: Document | null; - readonly parentNode: Node | null; - readonly parentElement: HTMLElement | null; - readonly childNodes: NodeList; - readonly firstChild: Node | null; - readonly lastChild: Node | null; - readonly previousSibling: Node | null; - readonly nextSibling: Node | null; - nodeValue: string | null; - textContent: string | null; - getRootNode(options?: GetRootNodeOptions): Node; - hasChildNodes(): boolean; - normalize(): void; - cloneNode(deep?: boolean): Node; - isEqualNode(otherNode: Node | null): boolean; - isSameNode(otherNode: Node | null): boolean; - compareDocumentPosition(other: Node): number; - contains(other: Node | null): boolean; - lookupPrefix(namespace: string | null): string | null; - lookupNamespaceURI(prefix: string | null): string | null; - isDefaultNamespace(namespace: string | null): boolean; - insertBefore(newChild: T, refChild: Node | null): T; - appendChild(newChild: T): T; - replaceChild(newChild: Node, oldChild: T): T; - removeChild(oldChild: T): T; - readonly ELEMENT_NODE: number; - readonly ATTRIBUTE_NODE: number; - readonly TEXT_NODE: number; - readonly CDATA_SECTION_NODE: number; - readonly ENTITY_REFERENCE_NODE: number; - readonly ENTITY_NODE: number; - readonly PROCESSING_INSTRUCTION_NODE: number; - readonly COMMENT_NODE: number; - readonly DOCUMENT_NODE: number; - readonly DOCUMENT_TYPE_NODE: number; - readonly DOCUMENT_FRAGMENT_NODE: number; - readonly NOTATION_NODE: number; - readonly DOCUMENT_POSITION_DISCONNECTED: number; - readonly DOCUMENT_POSITION_PRECEDING: number; - readonly DOCUMENT_POSITION_FOLLOWING: number; - readonly DOCUMENT_POSITION_CONTAINS: number; - readonly DOCUMENT_POSITION_CONTAINED_BY: number; - readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number; +interface CDATASection extends Text { } -declare var Node: { - prototype: Node; - new(): Node; - readonly ELEMENT_NODE: number; - readonly ATTRIBUTE_NODE: number; - readonly TEXT_NODE: number; - readonly CDATA_SECTION_NODE: number; - readonly ENTITY_REFERENCE_NODE: number; - readonly ENTITY_NODE: number; - readonly PROCESSING_INSTRUCTION_NODE: number; - readonly COMMENT_NODE: number; - readonly DOCUMENT_NODE: number; - readonly DOCUMENT_TYPE_NODE: number; - readonly DOCUMENT_FRAGMENT_NODE: number; - readonly NOTATION_NODE: number; - readonly DOCUMENT_POSITION_DISCONNECTED: number; - readonly DOCUMENT_POSITION_PRECEDING: number; - readonly DOCUMENT_POSITION_FOLLOWING: number; - readonly DOCUMENT_POSITION_CONTAINS: number; - readonly DOCUMENT_POSITION_CONTAINED_BY: number; - readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number; +declare var CDATASection: { + prototype: CDATASection; + new(): CDATASection; }; -interface DocumentEventMap extends GlobalEventHandlersEventMap, DocumentAndElementEventHandlersEventMap { - "readystatechange": Event; +interface ChannelMergerNode extends AudioNode { } -interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, ParentNode, GeometryUtils, GlobalEventHandlers, DocumentAndElementEventHandlers, ParentNode { - /** - * Gets the implementation object of the current document. - */ - readonly implementation: DOMImplementation; - /** - * Sets or gets the URL for the current document. - */ - readonly URL: string; - readonly documentURI: string; - readonly origin: string; - /** - * Gets a value that indicates whether standards-compliant mode is switched on for the object. - */ - readonly compatMode: string; - readonly characterSet: string; - /** - * Gets or sets the character set used to encode the object. - */ - readonly charset: string; - /** - * Returns the character encoding used to create the webpage that is loaded into the document object. - */ - readonly inputEncoding: string; - readonly contentType: string; - /** - * Gets an object representing the document type declaration associated with the current document. - */ - readonly doctype: DocumentType | null; - /** - * Gets a reference to the root node of the document. - */ - documentElement: HTMLElement; - readonly scrollingElement: Element | null; - /** - * Contains information about the current URL. - */ - readonly location: Location | null; - /** - * Sets or gets the security domain of the document. - */ - domain: string; - /** - * Gets the URL of the location that referred the user to the current page. - */ - readonly referrer: string; - cookie: string; - /** - * Gets the date that the page was last modified, if the page supplies one. - */ - readonly lastModified: string; - /** - * Retrieves a value that indicates the current state of the object. - */ - readonly readyState: DocumentReadyState; - /** - * Contains the title of the document. - */ - title: string; - /** - * Sets or retrieves a value that indicates the reading order of the object. - */ - dir: string; - /** - * Specifies the beginning and end of the document body. - */ - body: HTMLElement | null; - readonly head: HTMLHeadElement | null; - /** - * Retrieves a collection, in source order, of img objects in the document. - */ - images: HTMLCollectionOf; - /** - * Retrieves a collection of all embed objects in the document. - */ - embeds: HTMLCollectionOf; - plugins: HTMLCollectionOf; - /** - * Retrieves a collection of all a objects that specify the href property and all area objects in the document. - */ - links: HTMLCollectionOf; - /** - * Retrieves a collection, in source order, of all form objects in the document. - */ - forms: HTMLCollectionOf; - /** - * Retrieves a collection of all script objects in the document. - */ - scripts: HTMLCollectionOf; - readonly currentScript: HTMLScriptElement | SVGScriptElement | null; - readonly defaultView: any; - /** - * Gets the object that has the focus when the parent document has focus. - */ - readonly activeElement: Element | null; - /** - * Sets or gets a value that indicates whether the document can be edited. - */ - designMode: string; - /** - * Fires when the state of the object has changed. - * @param ev The event - */ - onreadystatechange: (this: Document, ev: Event) => any; - /** - * Sets or gets the foreground (text) color of the document. - */ - fgColor: string; - /** - * Sets or gets the color of the document links. - */ - linkColor: string; - /** - * Sets or gets the color of the links that the user has visited. - */ - vlinkColor: string; - /** - * Sets or gets the color of all active links in the document. - */ - alinkColor: string; - /** - * Deprecated. Sets or retrieves a value that indicates the background color behind the object. - */ - bgColor: string; - /** - * Retrieves a collection of all a objects that have a name and/or id property. Objects in this collection are in HTML source order. - */ - anchors: HTMLCollectionOf; - /** - * Retrieves a collection of all applet objects in the document. - */ - applets: HTMLCollectionOf; - /** - * Returns a reference to the collection of elements contained by the object. - */ - readonly all: HTMLAllCollection; - /** - * Retrieves a collection of styleSheet objects representing the style sheets that correspond to each instance of a link or style object in the document. - */ - readonly styleSheets: StyleSheetList; - /** - * Gets the root svg element in the document hierarchy. - */ - readonly rootElement: SVGSVGElement | null; - readonly timeline: DocumentTimeline; - /** - * Retrieves a collection of objects based on the specified element name. - * @param name Specifies the name of an element. - */ - getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf; - getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf; - getElementsByTagNameNS(namespaceURI: string, localName: string): HTMLCollectionOf; - getElementsByClassName(classNames: string): HTMLCollectionOf; - /** - * Creates an instance of the element for the specified tag. - * @param tagName The name of an element. - */ - createElementNS(namespaceURI: "http://www.w3.org/1999/xhtml", qualifiedName: string): HTMLElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "a"): SVGAElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "circle"): SVGCircleElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "clipPath"): SVGClipPathElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "componentTransferFunction"): SVGComponentTransferFunctionElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "defs"): SVGDefsElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "desc"): SVGDescElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "ellipse"): SVGEllipseElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feBlend"): SVGFEBlendElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feColorMatrix"): SVGFEColorMatrixElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feComponentTransfer"): SVGFEComponentTransferElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feComposite"): SVGFECompositeElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feConvolveMatrix"): SVGFEConvolveMatrixElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feDiffuseLighting"): SVGFEDiffuseLightingElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feDisplacementMap"): SVGFEDisplacementMapElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feDistantLight"): SVGFEDistantLightElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feFlood"): SVGFEFloodElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feFuncA"): SVGFEFuncAElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feFuncB"): SVGFEFuncBElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feFuncG"): SVGFEFuncGElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feFuncR"): SVGFEFuncRElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feGaussianBlur"): SVGFEGaussianBlurElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feImage"): SVGFEImageElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feMerge"): SVGFEMergeElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feMergeNode"): SVGFEMergeNodeElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feMorphology"): SVGFEMorphologyElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feOffset"): SVGFEOffsetElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "fePointLight"): SVGFEPointLightElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feSpecularLighting"): SVGFESpecularLightingElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feSpotLight"): SVGFESpotLightElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feTile"): SVGFETileElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feTurbulence"): SVGFETurbulenceElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "filter"): SVGFilterElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "foreignObject"): SVGForeignObjectElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "g"): SVGGElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "image"): SVGImageElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "gradient"): SVGGradientElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "line"): SVGLineElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "linearGradient"): SVGLinearGradientElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "marker"): SVGMarkerElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "mask"): SVGMaskElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "path"): SVGPathElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "metadata"): SVGMetadataElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "pattern"): SVGPatternElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "polygon"): SVGPolygonElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "polyline"): SVGPolylineElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "radialGradient"): SVGRadialGradientElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "rect"): SVGRectElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "svg"): SVGSVGElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "script"): SVGScriptElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "stop"): SVGStopElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "style"): SVGStyleElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "switch"): SVGSwitchElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "symbol"): SVGSymbolElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "tspan"): SVGTSpanElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "textContent"): SVGTextContentElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "text"): SVGTextElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "textPath"): SVGTextPathElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "textPositioning"): SVGTextPositioningElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "title"): SVGTitleElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "use"): SVGUseElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "view"): SVGViewElement; - createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: string): SVGElement; - createElementNS(namespace: string | null, qualifiedName: string, options?: ElementCreationOptions): Element; - /** - * Creates a new document. - */ - createDocumentFragment(): DocumentFragment; - /** - * Creates a text string from the specified value. - * @param data String that specifies the nodeValue property of the text node. - */ - createTextNode(data: string): Text; - createCDATASection(data: string): CDATASection; - /** - * Creates a comment object with the specified data. - * @param data Sets the comment object's data. - */ - createComment(data: string): Comment; - createProcessingInstruction(target: string, data: string): ProcessingInstruction; - importNode(importedNode: T, deep: boolean): T; - adoptNode(source: T): T; - /** - * Creates an attribute object with a specified name. - * @param name String that sets the attribute object's name. - */ - createAttribute(localName: string): Attr; - createAttributeNS(namespace: string | null, qualifiedName: string): Attr; - createEvent(eventInterface: "AnimationEvent"): AnimationEvent; - createEvent(eventInterface: "AnimationPlaybackEvent"): AnimationPlaybackEvent; - createEvent(eventInterface: "AudioProcessingEvent"): AudioProcessingEvent; - createEvent(eventInterface: "BeforeUnloadEvent"): BeforeUnloadEvent; - createEvent(eventInterface: "ClipboardEvent"): ClipboardEvent; - createEvent(eventInterface: "CloseEvent"): CloseEvent; - createEvent(eventInterface: "CustomEvent"): CustomEvent; - createEvent(eventInterface: "DeviceMotionEvent"): DeviceMotionEvent; - createEvent(eventInterface: "DeviceOrientationEvent"): DeviceOrientationEvent; - createEvent(eventInterface: "DragEvent"): DragEvent; - createEvent(eventInterface: "ErrorEvent"): ErrorEvent; - createEvent(eventInterface: "Event"): Event; - createEvent(eventInterface: "Events"): Event; - createEvent(eventInterface: "ExtendableEvent"): ExtendableEvent; - createEvent(eventInterface: "ExtendableMessageEvent"): ExtendableMessageEvent; - createEvent(eventInterface: "FetchEvent"): FetchEvent; - createEvent(eventInterface: "GamepadEvent"): GamepadEvent; - createEvent(eventInterface: "HashChangeEvent"): HashChangeEvent; - createEvent(eventInterface: "IDBVersionChangeEvent"): IDBVersionChangeEvent; - createEvent(eventInterface: "InstallEvent"): InstallEvent; - createEvent(eventInterface: "KeyboardEvent"): KeyboardEvent; - createEvent(eventInterface: "MediaEncryptedEvent"): MediaEncryptedEvent; - createEvent(eventInterface: "MediaKeyMessageEvent"): MediaKeyMessageEvent; - createEvent(eventInterface: "MediaQueryListEvent"): MediaQueryListEvent; - createEvent(eventInterface: "MediaStreamTrackEvent"): MediaStreamTrackEvent; - createEvent(eventInterface: "MessageEvent"): MessageEvent; - createEvent(eventInterface: "MouseEvent"): MouseEvent; - createEvent(eventInterface: "MouseEvents"): MouseEvent; - createEvent(eventInterface: "NotificationEvent"): NotificationEvent; - createEvent(eventInterface: "OfflineAudioCompletionEvent"): OfflineAudioCompletionEvent; - createEvent(eventInterface: "OverconstrainedErrorEvent"): OverconstrainedErrorEvent; - createEvent(eventInterface: "PageTransitionEvent"): PageTransitionEvent; - createEvent(eventInterface: "PaymentRequestUpdateEvent"): PaymentRequestUpdateEvent; - createEvent(eventInterface: "PopStateEvent"): PopStateEvent; - createEvent(eventInterface: "ProgressEvent"): ProgressEvent; - createEvent(eventInterface: "PromiseRejectionEvent"): PromiseRejectionEvent; - createEvent(eventInterface: "PushEvent"): PushEvent; - createEvent(eventInterface: "PushSubscriptionChangeEvent"): PushSubscriptionChangeEvent; - createEvent(eventInterface: "RTCDTMFToneChangeEvent"): RTCDTMFToneChangeEvent; - createEvent(eventInterface: "RTCDataChannelEvent"): RTCDataChannelEvent; - createEvent(eventInterface: "RTCErrorEvent"): RTCErrorEvent; - createEvent(eventInterface: "RTCPeerConnectionIceErrorEvent"): RTCPeerConnectionIceErrorEvent; - createEvent(eventInterface: "RTCPeerConnectionIceEvent"): RTCPeerConnectionIceEvent; - createEvent(eventInterface: "RTCTrackEvent"): RTCTrackEvent; - createEvent(eventInterface: "RelatedEvent"): RelatedEvent; - createEvent(eventInterface: "SensorErrorEvent"): SensorErrorEvent; - createEvent(eventInterface: "SpeechRecognitionError"): SpeechRecognitionError; - createEvent(eventInterface: "SpeechRecognitionEvent"): SpeechRecognitionEvent; - createEvent(eventInterface: "SpeechSynthesisEvent"): SpeechSynthesisEvent; - createEvent(eventInterface: "StorageEvent"): StorageEvent; - createEvent(eventInterface: "SyncEvent"): SyncEvent; - createEvent(eventInterface: "TouchEvent"): TouchEvent; - createEvent(eventInterface: "TrackEvent"): TrackEvent; - createEvent(eventInterface: "TransitionEvent"): TransitionEvent; - createEvent(eventInterface: "UIEvent"): UIEvent; - createEvent(eventInterface: "UIEvents"): UIEvent; - createEvent(eventInterface: "WebGLContextEvent"): WebGLContextEvent; - createEvent(eventInterface: "WheelEvent"): WheelEvent; - createEvent(eventInterface: string): Event; - /** - * Returns an empty range object that has both of its boundary points positioned at the beginning of the document. - */ - createRange(): Range; - /** - * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document. - * @param root The root element or node to start traversing on. - * @param whatToShow The type of nodes or elements to appear in the node list - * @param filter A custom NodeFilter function to use. For more information, see filter. Use null for no filter. - * @param entityReferenceExpansion A flag that specifies whether entity reference nodes are expanded. - */ - createNodeIterator(root: Node, whatToShow?: number, filter?: NodeFilter): NodeIterator; - /** - * Creates a TreeWalker object that you can use to traverse filtered lists of nodes or elements in a document. - * @param root The root element or node to start traversing on. - * @param whatToShow The type of nodes or elements to appear in the node list. For more information, see whatToShow. - * @param filter A custom NodeFilter function to use. - * @param entityReferenceExpansion A flag that specifies whether entity reference nodes are expanded. - */ - createTreeWalker(root: Node, whatToShow?: number, filter?: NodeFilter): TreeWalker; - /** - * Returns the element for the specified x coordinate and the specified y coordinate. - * @param x The x-offset - * @param y The y-offset - */ - elementFromPoint(x: number, y: number): Element | null; - elementsFromPoint(x: number, y: number): Element[]; - caretPositionFromPoint(x: number, y: number): CaretPosition | null; - /** - * Gets a collection of objects based on the value of the NAME or ID attribute. - * @param elementName Gets a collection of objects based on the value of the NAME or ID attribute. - */ - getElementsByName(elementName: string): NodeListOf; - /** - * Opens a new window and loads a document specified by a given URL. Also, opens a new window that uses the url parameter and the name parameter to collect the output of the write method and the writeln method. - * @param url Specifies a MIME type for the document. - * @param name Specifies the name of the window. This name is used as the value for the TARGET attribute on a form or an anchor element. - * @param features Contains a list of items separated by commas. Each item consists of an option and a value, separated by an equals sign (for example, "fullscreen=yes, toolbar=yes"). The following values are supported. - * @param replace Specifies whether the existing entry for the document is replaced in the history list. - */ - open(url?: string, name?: string, features?: string, replace?: boolean): Document; - /** - * Opens a new window and loads a document specified by a given URL. Also, opens a new window that uses the url parameter and the name parameter to collect the output of the write method and the writeln method. - * @param url Specifies a MIME type for the document. - * @param name Specifies the name of the window. This name is used as the value for the TARGET attribute on a form or an anchor element. - * @param features Contains a list of items separated by commas. Each item consists of an option and a value, separated by an equals sign (for example, "fullscreen=yes, toolbar=yes"). The following values are supported. - * @param replace Specifies whether the existing entry for the document is replaced in the history list. - */ - open(url?: string, name?: string, features?: string, replace?: boolean): Document; - /** - * Closes an output stream and forces the sent data to display. - */ - close(): void; - /** - * Writes one or more HTML expressions to a document in the specified window. - * @param content Specifies the text and HTML tags to write. - */ - write(...text: string[]): void; - /** - * Writes one or more HTML expressions, followed by a carriage return, to a document in the specified window. - * @param content The text and HTML tags to write. - */ - writeln(...text: string[]): void; - /** - * Gets a value indicating whether the object currently has focus. - */ - hasFocus(): boolean; - /** - * Executes a command on the current document, current selection, or the given range. - * @param commandId String that specifies the command to execute. This command can be any of the command identifiers that can be executed in script. - * @param showUI Display the user interface, defaults to false. - * @param value Value to assign. - */ - execCommand(commandId: string, showUI?: boolean, value?: string): boolean; - /** - * Returns a Boolean value that indicates whether a specified command can be successfully executed using execCommand, given the current state of the document. - * @param commandId Specifies a command identifier. - */ - queryCommandEnabled(commandId: string): boolean; - /** - * Returns a Boolean value that indicates whether the specified command is in the indeterminate state. - * @param commandId String that specifies a command identifier. - */ - queryCommandIndeterm(commandId: string): boolean; - /** - * Returns a Boolean value that indicates the current state of the command. - * @param commandId String that specifies a command identifier. - */ - queryCommandState(commandId: string): boolean; - /** - * Returns a Boolean value that indicates whether the current command is supported on the current range. - * @param commandId Specifies a command identifier. - */ - queryCommandSupported(commandId: string): boolean; - /** - * Returns the current value of the document, range, or current selection for the given command. - * @param commandId String that specifies a command identifier. - */ - queryCommandValue(commandId: string): string; - clear(): void; - captureEvents(): void; - releaseEvents(): void; - /** - * Returns an object representing the current selection of the document that is loaded into the object displaying a webpage. - */ - getSelection(): Selection | null; - createTouch(view: any, target: EventTarget, identifier: number, pageX: number, pageY: number, screenX: number, screenY: number): Touch; - createTouchList(...touches: Touch[]): TouchList; - getAnimations(): Animation[]; - addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; - [name: string]: any; -} - -declare var Document: { - prototype: Document; - new(): Document; -}; - -interface XMLDocument extends Document { - addEventListener(type: K, listener: (this: XMLDocument, ev: DocumentEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var XMLDocument: { - prototype: XMLDocument; - new(): XMLDocument; -}; - -interface DOMImplementation { - createDocumentType(qualifiedName: string, publicId: string, systemId: string): DocumentType; - createDocument(namespaceURI: string | null, qualifiedName: string | null, doctype: DocumentType | null): Document; - createHTMLDocument(title?: string): Document; - hasFeature(feature: string | null, version: string | null): boolean; -} - -declare var DOMImplementation: { - prototype: DOMImplementation; - new(): DOMImplementation; -}; - -interface DocumentType extends Node, ChildNode { - readonly name: string; - readonly publicId: string; - readonly systemId: string; -} - -declare var DocumentType: { - prototype: DocumentType; - new(): DocumentType; -}; - -interface DocumentFragment extends Node, NonElementParentNode, ParentNode, ParentNode { -} - -declare var DocumentFragment: { - prototype: DocumentFragment; - new(): DocumentFragment; -}; - -interface ShadowRoot extends DocumentFragment, DocumentOrShadowRoot { - readonly mode: ShadowRootMode; - readonly host: Element; -} - -declare var ShadowRoot: { - prototype: ShadowRoot; - new(): ShadowRoot; -}; - -interface ElementEventMap { - "gotpointercapture": Event; - "lostpointercapture": Event; -} - -interface Element extends Node, ParentNode, NonDocumentTypeChildNode, ChildNode, Slotable, GeometryUtils, Animatable, ParentNode { - readonly namespaceURI: string | null; - readonly prefix: string | null; - readonly localName: string; - readonly tagName: string; - id: string; - className: string; - readonly classList: DOMTokenList; - slot: string; - readonly attributes: NamedNodeMap; - readonly shadowRoot: ShadowRoot | null; - scrollTop: number; - scrollLeft: number; - readonly scrollWidth: number; - readonly scrollHeight: number; - readonly clientTop: number; - readonly clientLeft: number; - readonly clientWidth: number; - readonly clientHeight: number; - innerHTML: string; - outerHTML: string; - ongotpointercapture: (this: Element, ev: Event) => any; - onlostpointercapture: (this: Element, ev: Event) => any; - readonly assignedSlot: HTMLSlotElement | null; - hasAttributes(): boolean; - getAttributeNames(): string[]; - getAttribute(name: string): string | null; - getAttributeNS(namespace: string | null, localName: string): string | null; - setAttribute(name: string, value: string): void; - setAttributeNS(namespace: string | null, qualifiedName: string, value: string): void; - removeAttribute(qualifiedName: string): void; - removeAttributeNS(namespace: string | null, localName: string): void; - hasAttribute(qualifiedName: string): boolean; - hasAttributeNS(namespace: string | null, localName: string): boolean; - getAttributeNode(qualifiedName: string): Attr | null; - getAttributeNodeNS(namespace: string | null, localName: string): Attr | null; - setAttributeNode(attr: Attr): Attr | null; - setAttributeNodeNS(attr: Attr): Attr | null; - removeAttributeNode(attr: Attr): Attr; - attachShadow(init: ShadowRootInit): ShadowRoot; - closest(selectors: string): Element | null; - matches(selectors: string): boolean; - webkitMatchesSelector(selectors: string): boolean; - getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf; - getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf; - getElementsByTagNameNS(namespaceURI: string, localName: string): HTMLCollectionOf; - getElementsByClassName(classNames: string): HTMLCollectionOf; - insertAdjacentElement(where: string, element: Element): Element | null; - insertAdjacentText(where: string, data: string): void; - getClientRects(): DOMRect[]; - getBoundingClientRect(): DOMRect; - scrollIntoView(): void; - scrollIntoView(arg: any): void; - scroll(options?: ScrollToOptions): void; - scroll(x: number, y: number): void; - scrollTo(options?: ScrollToOptions): void; - scrollTo(x: number, y: number): void; - scrollBy(options?: ScrollToOptions): void; - scrollBy(x: number, y: number): void; - insertAdjacentHTML(position: string, text: string): void; - setPointerCapture(pointerId: number): void; - releasePointerCapture(pointerId: number): void; - getElementsByClassName(classNames: string): NodeListOf; - matches(selector: string): boolean; - closest(selector: string): Element | null; - insertAdjacentElement(position: string, insertedElement: Element): Element | null; - insertAdjacentHTML(where: string, html: string): void; - insertAdjacentText(where: string, text: string): void; - attachShadow(shadowRootInitDict: ShadowRootInit): ShadowRoot; - addEventListener(type: K, listener: (this: Element, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var Element: { - prototype: Element; - new(): Element; -}; - -interface NamedNodeMap { - readonly length: number; - item(index: number): Attr | null; - getNamedItem(qualifiedName: string): Attr | null; - getNamedItemNS(namespace: string | null, localName: string): Attr | null; - setNamedItem(attr: Attr): Attr | null; - setNamedItemNS(attr: Attr): Attr | null; - removeNamedItem(qualifiedName: string): Attr; - removeNamedItemNS(namespace: string | null, localName: string): Attr; - [index: number]: Attr; -} - -declare var NamedNodeMap: { - prototype: NamedNodeMap; - new(): NamedNodeMap; -}; - -interface Attr extends Node { - readonly namespaceURI: string | null; - readonly prefix: string | null; - readonly localName: string; - readonly name: string; - value: string; - readonly ownerElement: Element | null; - readonly specified: boolean; -} - -declare var Attr: { - prototype: Attr; - new(): Attr; -}; - -interface CharacterData extends Node, NonDocumentTypeChildNode, ChildNode { - data: string; - readonly length: number; - substringData(offset: number, count: number): string; - appendData(data: string): void; - insertData(offset: number, data: string): void; - deleteData(offset: number, count: number): void; - replaceData(offset: number, count: number, data: string): void; -} - -declare var CharacterData: { - prototype: CharacterData; - new(): CharacterData; -}; - -interface Text extends CharacterData, Slotable, GeometryUtils { - readonly wholeText: string; - readonly assignedSlot: HTMLSlotElement | null; - splitText(offset: number): Text; -} - -declare var Text: { - prototype: Text; - new(data?: string): Text; -}; - -interface CDATASection extends Text { -} - -declare var CDATASection: { - prototype: CDATASection; - new(): CDATASection; -}; - -interface ProcessingInstruction extends CharacterData, LinkStyle { - readonly target: string; -} - -declare var ProcessingInstruction: { - prototype: ProcessingInstruction; - new(): ProcessingInstruction; -}; - -interface Comment extends CharacterData { -} - -declare var Comment: { - prototype: Comment; - new(data?: string): Comment; -}; - -interface Range { - readonly startContainer: Node; - readonly startOffset: number; - readonly endContainer: Node; - readonly endOffset: number; - readonly collapsed: boolean; - readonly commonAncestorContainer: Node; - setStart(node: Node, offset: number): void; - setEnd(node: Node, offset: number): void; - setStartBefore(node: Node): void; - setStartAfter(node: Node): void; - setEndBefore(node: Node): void; - setEndAfter(node: Node): void; - collapse(toStart?: boolean): void; - selectNode(node: Node): void; - selectNodeContents(node: Node): void; - compareBoundaryPoints(how: number, sourceRange: Range): number; - deleteContents(): void; - extractContents(): DocumentFragment; - cloneContents(): DocumentFragment; - insertNode(node: Node): void; - surroundContents(newParent: Node): void; - cloneRange(): Range; - detach(): void; - isPointInRange(node: Node, offset: number): boolean; - comparePoint(node: Node, offset: number): number; - intersectsNode(node: Node): boolean; - getClientRects(): DOMRect[]; - getBoundingClientRect(): DOMRect; - createContextualFragment(fragment: string): DocumentFragment; - readonly START_TO_START: number; - readonly START_TO_END: number; - readonly END_TO_END: number; - readonly END_TO_START: number; -} - -declare var Range: { - prototype: Range; - new(): Range; - readonly START_TO_START: number; - readonly START_TO_END: number; - readonly END_TO_END: number; - readonly END_TO_START: number; -}; - -interface NodeIterator { - readonly root: Node; - readonly referenceNode: Node; - readonly pointerBeforeReferenceNode: boolean; - readonly whatToShow: number; - readonly filter: NodeFilter | null; - nextNode(): Node | null; - previousNode(): Node | null; - detach(): void; -} - -declare var NodeIterator: { - prototype: NodeIterator; - new(): NodeIterator; +declare var ChannelMergerNode: { + prototype: ChannelMergerNode; + new(context: BaseAudioContext, options?: ChannelMergerOptions): ChannelMergerNode; }; -interface TreeWalker { - readonly root: Node; - readonly whatToShow: number; - readonly filter: NodeFilter | null; - currentNode: Node; - parentNode(): Node | null; - firstChild(): Node | null; - lastChild(): Node | null; - previousSibling(): Node | null; - nextSibling(): Node | null; - previousNode(): Node | null; - nextNode(): Node | null; +interface ChannelSplitterNode extends AudioNode { } -declare var TreeWalker: { - prototype: TreeWalker; - new(): TreeWalker; +declare var ChannelSplitterNode: { + prototype: ChannelSplitterNode; + new(context: BaseAudioContext, options?: ChannelSplitterNode): ChannelSplitterNode; }; -interface DOMTokenList { +interface CharacterData extends Node, NonDocumentTypeChildNode, ChildNode { + data: string; readonly length: number; - value: string; - item(index: number): string | null; - contains(token: string): boolean; - add(...tokens: string[]): void; - remove(...tokens: string[]): void; - toggle(token: string, force?: boolean): boolean; - replace(token: string, newToken: string): void; - supports(token: string): boolean; - [index: number]: string; -} - -declare var DOMTokenList: { - prototype: DOMTokenList; - new(): DOMTokenList; -}; - -interface DOMParser { - parseFromString(str: string, type: any): Document; -} - -declare var DOMParser: { - prototype: DOMParser; - new(): DOMParser; -}; - -interface XMLSerializer { - serializeToString(root: Node): string; -} - -declare var XMLSerializer: { - prototype: XMLSerializer; - new(): XMLSerializer; -}; - -interface MediaKeySystemAccess { - readonly keySystem: string; - getConfiguration(): MediaKeySystemConfiguration; - createMediaKeys(): Promise; -} - -declare var MediaKeySystemAccess: { - prototype: MediaKeySystemAccess; - new(): MediaKeySystemAccess; -}; - -interface MediaKeys { - createSession(sessionType?: MediaKeySessionType): MediaKeySession; - setServerCertificate(serverCertificate: BufferSource): Promise; -} - -declare var MediaKeys: { - prototype: MediaKeys; - new(): MediaKeys; -}; - -interface MediaKeySessionEventMap { - "keystatuseschange": Event; - "message": MediaKeyMessageEvent; -} - -interface MediaKeySession extends EventTarget { - readonly sessionId: string; - readonly expiration: number; - readonly closed: Promise; - readonly keyStatuses: MediaKeyStatusMap; - onkeystatuseschange: (this: MediaKeySession, ev: Event) => any; - onmessage: (this: MediaKeySession, ev: MediaKeyMessageEvent) => any; - generateRequest(initDataType: string, initData: BufferSource): Promise; - load(sessionId: string): Promise; - update(response: BufferSource): Promise; - close(): Promise; - remove(): Promise; - addEventListener(type: K, listener: (this: MediaKeySession, ev: MediaKeySessionEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var MediaKeySession: { - prototype: MediaKeySession; - new(): MediaKeySession; -}; - -interface MediaKeyStatusMap { - readonly size: number; - has(keyId: BufferSource): boolean; - get(keyId: BufferSource): any; -} - -declare var MediaKeyStatusMap: { - prototype: MediaKeyStatusMap; - new(): MediaKeyStatusMap; -}; - -interface MediaKeyMessageEvent extends Event { - readonly messageType: MediaKeyMessageType; - readonly message: ArrayBuffer; -} - -declare var MediaKeyMessageEvent: { - prototype: MediaKeyMessageEvent; - new(type: string, eventInitDict: MediaKeyMessageEventInit): MediaKeyMessageEvent; -}; - -interface MediaEncryptedEvent extends Event { - readonly initDataType: string; - readonly initData: ArrayBuffer | null; -} - -declare var MediaEncryptedEvent: { - prototype: MediaEncryptedEvent; - new(type: string, eventInitDict?: MediaEncryptedEventInit): MediaEncryptedEvent; -}; - -interface Headers { - append(name: any, value: any): void; - delete(name: any): void; - get(name: any): any; - has(name: any): boolean; - set(name: any, value: any): void; -} - -declare var Headers: { - prototype: Headers; - new(init?: Headers | string[][] | object): Headers; -}; - -interface Request extends Object, Body { - readonly method: any; - readonly url: string; - readonly headers: Headers; - readonly type: RequestType; - readonly destination: RequestDestination; - readonly referrer: string; - readonly referrerPolicy: any; - readonly mode: RequestMode; - readonly credentials: RequestCredentials; - readonly cache: RequestCache; - readonly redirect: RequestRedirect; - readonly integrity: string; - readonly keepalive: boolean; - clone(): Request; + appendData(data: string): void; + deleteData(offset: number, count: number): void; + insertData(offset: number, data: string): void; + replaceData(offset: number, count: number, data: string): void; + substringData(offset: number, count: number): string; } -declare var Request: { - prototype: Request; - new(input: RequestInfo, init?: RequestInit): Request; +declare var CharacterData: { + prototype: CharacterData; + new(): CharacterData; }; -interface Response extends Object, Body { - readonly type: ResponseType; +interface Client { + readonly id: string; + readonly reserved: boolean; + readonly type: ClientType; readonly url: string; - readonly redirected: boolean; - readonly status: number; - readonly ok: boolean; - readonly statusText: any; - readonly headers: Headers; - readonly trailer: Promise; - clone(): Response; -} - -declare var Response: { - prototype: Response; - new(body?: any, init?: ResponseInit): Response; - error: () => Response; - redirect: (url: string, status?: number) => Response; - error(): Response; - redirect(url: string, status?: number): Response; + postMessage(message: any, transfer?: any[]): void; +} + +declare var Client: { + prototype: Client; + new(): Client; }; -interface Blob { - readonly size: number; - readonly type: string; - readonly isClosed: boolean; - slice(start?: number, end?: number, contentType?: string): Blob; - close(): void; +interface Clients { + claim(): Promise; + get(id: string): Promise; + matchAll(options?: ClientQueryOptions): Promise; + openWindow(url: string): any; } -declare var Blob: { - prototype: Blob; - new (blobParts?: any[], options?: BlobPropertyBag): Blob; +declare var Clients: { + prototype: Clients; + new(): Clients; }; -interface File extends Blob { - readonly name: string; - readonly lastModified: number; +interface ClipboardEvent extends Event { + readonly clipboardData: DataTransfer | null; } -declare var File: { - prototype: File; - new (parts: (ArrayBuffer | ArrayBufferView | Blob | string)[], filename: string, properties?: FilePropertyBag): File; +declare var ClipboardEvent: { + prototype: ClipboardEvent; + new(type: string, eventInitDict?: ClipboardEventInit): ClipboardEvent; }; -interface FileList { - readonly length: number; - item(index: number): File | null; - [index: number]: File; +interface CloseEvent extends Event { + readonly code: number; + readonly reason: string; + readonly wasClean: boolean; } -declare var FileList: { - prototype: FileList; - new(): FileList; +declare var CloseEvent: { + prototype: CloseEvent; + new(type: string, eventInitDict?: CloseEventInit): CloseEvent; }; -interface FileReaderEventMap { - "loadstart": ProgressEvent; - "progress": ProgressEvent; - "load": ProgressEvent; - "abort": ProgressEvent; - "error": ProgressEvent; - "loadend": ProgressEvent; +interface Comment extends CharacterData { } -interface FileReader extends EventTarget { - readonly readyState: number; - readonly result: string | ArrayBuffer | null; - readonly error: any; - onloadstart: (this: FileReader, ev: ProgressEvent) => any; - onprogress: (this: FileReader, ev: ProgressEvent) => any; - onload: (this: FileReader, ev: ProgressEvent) => any; - onabort: (this: FileReader, ev: ProgressEvent) => any; - onerror: (this: FileReader, ev: ProgressEvent) => any; - onloadend: (this: FileReader, ev: ProgressEvent) => any; - readAsArrayBuffer(blob: Blob): void; - readAsText(blob: Blob, label?: string): void; - readAsDataURL(blob: Blob): void; - abort(): void; - readonly EMPTY: number; - readonly LOADING: number; - readonly DONE: number; - addEventListener(type: K, listener: (this: FileReader, ev: FileReaderEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare var Comment: { + prototype: Comment; + new(data?: string): Comment; +}; + +interface CompositionEvent extends UIEvent { + readonly data: string; } -declare var FileReader: { - prototype: FileReader; - new(): FileReader; - readonly EMPTY: number; - readonly LOADING: number; - readonly DONE: number; +declare var CompositionEvent: { + prototype: CompositionEvent; + new(type: string, eventInitDict?: CompositionEventInit): CompositionEvent; }; -interface FileReaderSync { - readAsArrayBuffer(blob: Blob): ArrayBuffer; - readAsText(blob: Blob, label?: string): string; - readAsDataURL(blob: Blob): string; +interface ConstantSourceNode extends AudioScheduledSourceNode { + readonly offset: AudioParam; + addEventListener(type: K, listener: (this: ConstantSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var FileReaderSync: { - prototype: FileReaderSync; - new(): FileReaderSync; +declare var ConstantSourceNode: { + prototype: ConstantSourceNode; + new(context: BaseAudioContext, options?: ConstantSourceOptions): ConstantSourceNode; }; -interface SVGFilterElement extends SVGElement, SVGURIReference, SVGUnitTypes { - readonly filterUnits: SVGAnimatedEnumeration; - readonly primitiveUnits: SVGAnimatedEnumeration; - readonly x: SVGAnimatedLength; - readonly y: SVGAnimatedLength; - readonly width: SVGAnimatedLength; - readonly height: SVGAnimatedLength; - addEventListener(type: K, listener: (this: SVGFilterElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGFilterElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface ConvolverNode extends AudioNode { + buffer: AudioBuffer | null; + normalize: boolean; } -declare var SVGFilterElement: { - prototype: SVGFilterElement; - new(): SVGFilterElement; +declare var ConvolverNode: { + prototype: ConvolverNode; + new(context: BaseAudioContext, options?: ConvolverOptions): ConvolverNode; }; -interface SVGFEBlendElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { - readonly in1: SVGAnimatedString; - readonly in2: SVGAnimatedString; - readonly mode: SVGAnimatedEnumeration; - readonly SVG_FEBLEND_MODE_UNKNOWN: number; - readonly SVG_FEBLEND_MODE_NORMAL: number; - readonly SVG_FEBLEND_MODE_MULTIPLY: number; - readonly SVG_FEBLEND_MODE_SCREEN: number; - readonly SVG_FEBLEND_MODE_DARKEN: number; - readonly SVG_FEBLEND_MODE_LIGHTEN: number; - addEventListener(type: K, listener: (this: SVGFEBlendElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGFEBlendElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface Crypto { + readonly subtle: SubtleCrypto; + getRandomValues(array: ArrayBufferView): ArrayBufferView; } -declare var SVGFEBlendElement: { - prototype: SVGFEBlendElement; - new(): SVGFEBlendElement; - readonly SVG_FEBLEND_MODE_UNKNOWN: number; - readonly SVG_FEBLEND_MODE_NORMAL: number; - readonly SVG_FEBLEND_MODE_MULTIPLY: number; - readonly SVG_FEBLEND_MODE_SCREEN: number; - readonly SVG_FEBLEND_MODE_DARKEN: number; - readonly SVG_FEBLEND_MODE_LIGHTEN: number; +declare var Crypto: { + prototype: Crypto; + new(): Crypto; }; -interface SVGFEColorMatrixElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { - readonly in1: SVGAnimatedString; - readonly type: SVGAnimatedEnumeration; - readonly values: SVGAnimatedNumberList; - readonly SVG_FECOLORMATRIX_TYPE_UNKNOWN: number; - readonly SVG_FECOLORMATRIX_TYPE_MATRIX: number; - readonly SVG_FECOLORMATRIX_TYPE_SATURATE: number; - readonly SVG_FECOLORMATRIX_TYPE_HUEROTATE: number; - readonly SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA: number; - addEventListener(type: K, listener: (this: SVGFEColorMatrixElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGFEColorMatrixElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface CryptoKey { + readonly algorithm: any; + readonly extractable: boolean; + readonly type: KeyType; + readonly usages: any; } -declare var SVGFEColorMatrixElement: { - prototype: SVGFEColorMatrixElement; - new(): SVGFEColorMatrixElement; - readonly SVG_FECOLORMATRIX_TYPE_UNKNOWN: number; - readonly SVG_FECOLORMATRIX_TYPE_MATRIX: number; - readonly SVG_FECOLORMATRIX_TYPE_SATURATE: number; - readonly SVG_FECOLORMATRIX_TYPE_HUEROTATE: number; - readonly SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA: number; +declare var CryptoKey: { + prototype: CryptoKey; + new(): CryptoKey; }; -interface SVGFEComponentTransferElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { - readonly in1: SVGAnimatedString; - addEventListener(type: K, listener: (this: SVGFEComponentTransferElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGFEComponentTransferElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface CSS { } -declare var SVGFEComponentTransferElement: { - prototype: SVGFEComponentTransferElement; - new(): SVGFEComponentTransferElement; +declare var CSS: { + prototype: CSS; + new(): CSS; + escape(ident: CSSOMString): CSSOMString; + supports(property: CSSOMString, value: CSSOMString): boolean; + supports(conditionText: CSSOMString): boolean; }; -interface SVGComponentTransferFunctionElement extends SVGElement { - readonly type: SVGAnimatedEnumeration; - readonly tableValues: SVGAnimatedNumberList; - readonly slope: SVGAnimatedNumber; - readonly intercept: SVGAnimatedNumber; - readonly amplitude: SVGAnimatedNumber; - readonly exponent: SVGAnimatedNumber; - readonly offset: SVGAnimatedNumber; - readonly SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN: number; - readonly SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY: number; - readonly SVG_FECOMPONENTTRANSFER_TYPE_TABLE: number; - readonly SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE: number; - readonly SVG_FECOMPONENTTRANSFER_TYPE_LINEAR: number; - readonly SVG_FECOMPONENTTRANSFER_TYPE_GAMMA: number; - addEventListener(type: K, listener: (this: SVGComponentTransferFunctionElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGComponentTransferFunctionElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface CSSConditionRule extends CSSGroupingRule { + conditionText: CSSOMString; } -declare var SVGComponentTransferFunctionElement: { - prototype: SVGComponentTransferFunctionElement; - new(): SVGComponentTransferFunctionElement; - readonly SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN: number; - readonly SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY: number; - readonly SVG_FECOMPONENTTRANSFER_TYPE_TABLE: number; - readonly SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE: number; - readonly SVG_FECOMPONENTTRANSFER_TYPE_LINEAR: number; - readonly SVG_FECOMPONENTTRANSFER_TYPE_GAMMA: number; +declare var CSSConditionRule: { + prototype: CSSConditionRule; + new(): CSSConditionRule; }; -interface SVGFEFuncRElement extends SVGComponentTransferFunctionElement { - addEventListener(type: K, listener: (this: SVGFEFuncRElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGFEFuncRElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface CSSGroupingRule extends CSSRule { + readonly cssRules: CSSRuleList; + deleteRule(index: number): void; + insertRule(rule: CSSOMString, index?: number): number; } -declare var SVGFEFuncRElement: { - prototype: SVGFEFuncRElement; - new(): SVGFEFuncRElement; +declare var CSSGroupingRule: { + prototype: CSSGroupingRule; + new(): CSSGroupingRule; }; -interface SVGFEFuncGElement extends SVGComponentTransferFunctionElement { - addEventListener(type: K, listener: (this: SVGFEFuncGElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGFEFuncGElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface CSSGroupingRule extends CSSRule { + readonly cssRules: CSSRuleList; + deleteRule(index: number): void; + insertRule(rule: CSSOMString, index: number): number; } -declare var SVGFEFuncGElement: { - prototype: SVGFEFuncGElement; - new(): SVGFEFuncGElement; +declare var CSSGroupingRule: { + prototype: CSSGroupingRule; + new(): CSSGroupingRule; }; -interface SVGFEFuncBElement extends SVGComponentTransferFunctionElement { - addEventListener(type: K, listener: (this: SVGFEFuncBElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGFEFuncBElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface CSSImportRule extends CSSRule { + readonly href: string; + readonly media: MediaList; + readonly styleSheet: CSSStyleSheet; } -declare var SVGFEFuncBElement: { - prototype: SVGFEFuncBElement; - new(): SVGFEFuncBElement; +declare var CSSImportRule: { + prototype: CSSImportRule; + new(): CSSImportRule; }; -interface SVGFEFuncAElement extends SVGComponentTransferFunctionElement { - addEventListener(type: K, listener: (this: SVGFEFuncAElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGFEFuncAElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface CSSKeyframeRule extends CSSRule { + keyText: CSSOMString; + readonly style: CSSStyleDeclaration; } -declare var SVGFEFuncAElement: { - prototype: SVGFEFuncAElement; - new(): SVGFEFuncAElement; +declare var CSSKeyframeRule: { + prototype: CSSKeyframeRule; + new(): CSSKeyframeRule; }; -interface SVGFECompositeElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { - readonly in1: SVGAnimatedString; - readonly in2: SVGAnimatedString; - readonly operator: SVGAnimatedEnumeration; - readonly k1: SVGAnimatedNumber; - readonly k2: SVGAnimatedNumber; - readonly k3: SVGAnimatedNumber; - readonly k4: SVGAnimatedNumber; - readonly SVG_FECOMPOSITE_OPERATOR_UNKNOWN: number; - readonly SVG_FECOMPOSITE_OPERATOR_OVER: number; - readonly SVG_FECOMPOSITE_OPERATOR_IN: number; - readonly SVG_FECOMPOSITE_OPERATOR_OUT: number; - readonly SVG_FECOMPOSITE_OPERATOR_ATOP: number; - readonly SVG_FECOMPOSITE_OPERATOR_XOR: number; - readonly SVG_FECOMPOSITE_OPERATOR_ARITHMETIC: number; - addEventListener(type: K, listener: (this: SVGFECompositeElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGFECompositeElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface CSSKeyframesRule extends CSSRule { + readonly cssRules: CSSRuleList; + name: CSSOMString; + appendRule(rule: CSSOMString): void; + deleteRule(select: CSSOMString): void; + findRule(select: CSSOMString): CSSKeyframeRule | null; } -declare var SVGFECompositeElement: { - prototype: SVGFECompositeElement; - new(): SVGFECompositeElement; - readonly SVG_FECOMPOSITE_OPERATOR_UNKNOWN: number; - readonly SVG_FECOMPOSITE_OPERATOR_OVER: number; - readonly SVG_FECOMPOSITE_OPERATOR_IN: number; - readonly SVG_FECOMPOSITE_OPERATOR_OUT: number; - readonly SVG_FECOMPOSITE_OPERATOR_ATOP: number; - readonly SVG_FECOMPOSITE_OPERATOR_XOR: number; - readonly SVG_FECOMPOSITE_OPERATOR_ARITHMETIC: number; +declare var CSSKeyframesRule: { + prototype: CSSKeyframesRule; + new(): CSSKeyframesRule; }; -interface SVGFEConvolveMatrixElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { - readonly in1: SVGAnimatedString; - readonly orderX: SVGAnimatedInteger; - readonly orderY: SVGAnimatedInteger; - readonly kernelMatrix: SVGAnimatedNumberList; - readonly divisor: SVGAnimatedNumber; - readonly bias: SVGAnimatedNumber; - readonly targetX: SVGAnimatedInteger; - readonly targetY: SVGAnimatedInteger; - readonly edgeMode: SVGAnimatedEnumeration; - readonly kernelUnitLengthX: SVGAnimatedNumber; - readonly kernelUnitLengthY: SVGAnimatedNumber; - readonly SVG_EDGEMODE_UNKNOWN: number; - readonly SVG_EDGEMODE_DUPLICATE: number; - readonly SVG_EDGEMODE_WRAP: number; - readonly SVG_EDGEMODE_NONE: number; - addEventListener(type: K, listener: (this: SVGFEConvolveMatrixElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGFEConvolveMatrixElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface CSSMarginRule extends CSSRule { + readonly name: CSSOMString; + readonly style: CSSStyleDeclaration; } -declare var SVGFEConvolveMatrixElement: { - prototype: SVGFEConvolveMatrixElement; - new(): SVGFEConvolveMatrixElement; - readonly SVG_EDGEMODE_UNKNOWN: number; - readonly SVG_EDGEMODE_DUPLICATE: number; - readonly SVG_EDGEMODE_WRAP: number; - readonly SVG_EDGEMODE_NONE: number; +declare var CSSMarginRule: { + prototype: CSSMarginRule; + new(): CSSMarginRule; }; -interface SVGFEDiffuseLightingElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { - readonly in1: SVGAnimatedString; - readonly surfaceScale: SVGAnimatedNumber; - readonly diffuseConstant: SVGAnimatedNumber; - readonly kernelUnitLengthX: SVGAnimatedNumber; - readonly kernelUnitLengthY: SVGAnimatedNumber; - addEventListener(type: K, listener: (this: SVGFEDiffuseLightingElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGFEDiffuseLightingElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface CSSMediaRule extends CSSConditionRule { + readonly media: MediaList; } -declare var SVGFEDiffuseLightingElement: { - prototype: SVGFEDiffuseLightingElement; - new(): SVGFEDiffuseLightingElement; +declare var CSSMediaRule: { + prototype: CSSMediaRule; + new(): CSSMediaRule; }; -interface SVGFEDistantLightElement extends SVGElement { - readonly azimuth: SVGAnimatedNumber; - readonly elevation: SVGAnimatedNumber; - addEventListener(type: K, listener: (this: SVGFEDistantLightElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGFEDistantLightElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface CSSMediaRule extends CSSGroupingRule { + readonly media: MediaList; } -declare var SVGFEDistantLightElement: { - prototype: SVGFEDistantLightElement; - new(): SVGFEDistantLightElement; +declare var CSSMediaRule: { + prototype: CSSMediaRule; + new(): CSSMediaRule; }; -interface SVGFEPointLightElement extends SVGElement { - readonly x: SVGAnimatedNumber; - readonly y: SVGAnimatedNumber; - readonly z: SVGAnimatedNumber; - addEventListener(type: K, listener: (this: SVGFEPointLightElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGFEPointLightElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface CSSNamespaceRule extends CSSRule { + readonly namespaceURI: CSSOMString; + readonly prefix: CSSOMString; } -declare var SVGFEPointLightElement: { - prototype: SVGFEPointLightElement; - new(): SVGFEPointLightElement; +declare var CSSNamespaceRule: { + prototype: CSSNamespaceRule; + new(): CSSNamespaceRule; }; -interface SVGFESpotLightElement extends SVGElement { - readonly x: SVGAnimatedNumber; - readonly y: SVGAnimatedNumber; - readonly z: SVGAnimatedNumber; - readonly pointsAtX: SVGAnimatedNumber; - readonly pointsAtY: SVGAnimatedNumber; - readonly pointsAtZ: SVGAnimatedNumber; - readonly specularExponent: SVGAnimatedNumber; - readonly limitingConeAngle: SVGAnimatedNumber; - addEventListener(type: K, listener: (this: SVGFESpotLightElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGFESpotLightElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface CSSPageRule extends CSSGroupingRule { + selectorText: CSSOMString; + readonly style: CSSStyleDeclaration; } -declare var SVGFESpotLightElement: { - prototype: SVGFESpotLightElement; - new(): SVGFESpotLightElement; +declare var CSSPageRule: { + prototype: CSSPageRule; + new(): CSSPageRule; }; -interface SVGFEDisplacementMapElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { - readonly in1: SVGAnimatedString; - readonly in2: SVGAnimatedString; - readonly scale: SVGAnimatedNumber; - readonly xChannelSelector: SVGAnimatedEnumeration; - readonly yChannelSelector: SVGAnimatedEnumeration; - readonly SVG_CHANNEL_UNKNOWN: number; - readonly SVG_CHANNEL_R: number; - readonly SVG_CHANNEL_G: number; - readonly SVG_CHANNEL_B: number; - readonly SVG_CHANNEL_A: number; - addEventListener(type: K, listener: (this: SVGFEDisplacementMapElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGFEDisplacementMapElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface CSSRule { + cssText: CSSOMString; + readonly parentRule: CSSRule | null; + readonly parentStyleSheet: CSSStyleSheet | null; + readonly type: number; + readonly CHARSET_RULE: number; + readonly FONT_FACE_RULE: number; + readonly IMPORT_RULE: number; + readonly KEYFRAME_RULE: number; + readonly KEYFRAMES_RULE: number; + readonly MARGIN_RULE: number; + readonly MEDIA_RULE: number; + readonly NAMESPACE_RULE: number; + readonly PAGE_RULE: number; + readonly STYLE_RULE: number; + readonly SUPPORTS_RULE: number; } -declare var SVGFEDisplacementMapElement: { - prototype: SVGFEDisplacementMapElement; - new(): SVGFEDisplacementMapElement; - readonly SVG_CHANNEL_UNKNOWN: number; - readonly SVG_CHANNEL_R: number; - readonly SVG_CHANNEL_G: number; - readonly SVG_CHANNEL_B: number; - readonly SVG_CHANNEL_A: number; +declare var CSSRule: { + prototype: CSSRule; + new(): CSSRule; + readonly CHARSET_RULE: number; + readonly FONT_FACE_RULE: number; + readonly IMPORT_RULE: number; + readonly KEYFRAME_RULE: number; + readonly KEYFRAMES_RULE: number; + readonly MARGIN_RULE: number; + readonly MEDIA_RULE: number; + readonly NAMESPACE_RULE: number; + readonly PAGE_RULE: number; + readonly STYLE_RULE: number; + readonly SUPPORTS_RULE: number; }; -interface SVGFEDropShadowElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { - readonly in1: SVGAnimatedString; - readonly dx: SVGAnimatedNumber; - readonly dy: SVGAnimatedNumber; - readonly stdDeviationX: SVGAnimatedNumber; - readonly stdDeviationY: SVGAnimatedNumber; - setStdDeviation(stdDeviationX: number, stdDeviationY: number): void; - addEventListener(type: K, listener: (this: SVGFEDropShadowElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGFEDropShadowElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface CSSRuleList { + readonly length: number; + item(index: number): CSSRule | null; + [index: number]: CSSRule; } -declare var SVGFEDropShadowElement: { - prototype: SVGFEDropShadowElement; - new(): SVGFEDropShadowElement; +declare var CSSRuleList: { + prototype: CSSRuleList; + new(): CSSRuleList; }; -interface SVGFEFloodElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { - addEventListener(type: K, listener: (this: SVGFEFloodElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGFEFloodElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface CSSStyleDeclaration { + cssFloat: CSSOMString; + cssText: CSSOMString; + dashed_attribute: CSSOMString; + readonly length: number; + readonly parentRule: CSSRule | null; + resize: string | null; + userSelect: string | null; + getPropertyPriority(property: CSSOMString): CSSOMString; + getPropertyValue(property: CSSOMString): CSSOMString; + item(index: number): CSSOMString; + removeProperty(property: CSSOMString): CSSOMString; + setProperty(property: CSSOMString, value: CSSOMString, priority?: CSSOMString): void; + setPropertyPriority(property: CSSOMString, priority: CSSOMString): void; + setPropertyValue(property: CSSOMString, value: CSSOMString): void; + [index: number]: CSSOMString; } -declare var SVGFEFloodElement: { - prototype: SVGFEFloodElement; - new(): SVGFEFloodElement; +declare var CSSStyleDeclaration: { + prototype: CSSStyleDeclaration; + new(): CSSStyleDeclaration; }; -interface SVGFEGaussianBlurElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { - readonly in1: SVGAnimatedString; - readonly stdDeviationX: SVGAnimatedNumber; - readonly stdDeviationY: SVGAnimatedNumber; - readonly edgeMode: SVGAnimatedEnumeration; - setStdDeviation(stdDeviationX: number, stdDeviationY: number): void; - readonly SVG_EDGEMODE_UNKNOWN: number; - readonly SVG_EDGEMODE_DUPLICATE: number; - readonly SVG_EDGEMODE_WRAP: number; - readonly SVG_EDGEMODE_NONE: number; - addEventListener(type: K, listener: (this: SVGFEGaussianBlurElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGFEGaussianBlurElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface CSSStyleRule extends CSSRule { + selectorText: CSSOMString; + readonly style: CSSStyleDeclaration; } - -declare var SVGFEGaussianBlurElement: { - prototype: SVGFEGaussianBlurElement; - new(): SVGFEGaussianBlurElement; - readonly SVG_EDGEMODE_UNKNOWN: number; - readonly SVG_EDGEMODE_DUPLICATE: number; - readonly SVG_EDGEMODE_WRAP: number; - readonly SVG_EDGEMODE_NONE: number; + +declare var CSSStyleRule: { + prototype: CSSStyleRule; + new(): CSSStyleRule; }; -interface SVGFEImageElement extends SVGElement, SVGFilterPrimitiveStandardAttributes, SVGURIReference { - readonly preserveAspectRatio: SVGAnimatedPreserveAspectRatio; - readonly crossOrigin: SVGAnimatedString; - addEventListener(type: K, listener: (this: SVGFEImageElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGFEImageElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface CSSStyleSheet extends StyleSheet { + readonly cssRules: CSSRuleList; + readonly ownerRule: CSSRule | null; + deleteRule(index: number): void; + insertRule(rule: CSSOMString, index?: number): number; } -declare var SVGFEImageElement: { - prototype: SVGFEImageElement; - new(): SVGFEImageElement; +declare var CSSStyleSheet: { + prototype: CSSStyleSheet; + new(): CSSStyleSheet; }; -interface SVGFEMergeElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { - addEventListener(type: K, listener: (this: SVGFEMergeElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGFEMergeElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface CSSSupportsRule extends CSSConditionRule { } -declare var SVGFEMergeElement: { - prototype: SVGFEMergeElement; - new(): SVGFEMergeElement; +declare var CSSSupportsRule: { + prototype: CSSSupportsRule; + new(): CSSSupportsRule; }; -interface SVGFEMergeNodeElement extends SVGElement { - readonly in1: SVGAnimatedString; - addEventListener(type: K, listener: (this: SVGFEMergeNodeElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGFEMergeNodeElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface CustomElementRegistry { + define(name: string, constructor: Function, options?: ElementDefinitionOptions): void; + get(name: string): any; + whenDefined(name: string): Promise; } -declare var SVGFEMergeNodeElement: { - prototype: SVGFEMergeNodeElement; - new(): SVGFEMergeNodeElement; +declare var CustomElementRegistry: { + prototype: CustomElementRegistry; + new(): CustomElementRegistry; }; -interface SVGFEMorphologyElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { - readonly in1: SVGAnimatedString; - readonly operator: SVGAnimatedEnumeration; - readonly radiusX: SVGAnimatedNumber; - readonly radiusY: SVGAnimatedNumber; - readonly SVG_MORPHOLOGY_OPERATOR_UNKNOWN: number; - readonly SVG_MORPHOLOGY_OPERATOR_ERODE: number; - readonly SVG_MORPHOLOGY_OPERATOR_DILATE: number; - addEventListener(type: K, listener: (this: SVGFEMorphologyElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGFEMorphologyElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface CustomEvent extends Event { + readonly detail: any; + initCustomEvent(type: string, bubbles?: boolean, cancelable?: boolean, detail?: any): void; } -declare var SVGFEMorphologyElement: { - prototype: SVGFEMorphologyElement; - new(): SVGFEMorphologyElement; - readonly SVG_MORPHOLOGY_OPERATOR_UNKNOWN: number; - readonly SVG_MORPHOLOGY_OPERATOR_ERODE: number; - readonly SVG_MORPHOLOGY_OPERATOR_DILATE: number; +declare var CustomEvent: { + prototype: CustomEvent; + new(type: string, eventInitDict?: CustomEventInit): CustomEvent; }; -interface SVGFEOffsetElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { - readonly in1: SVGAnimatedString; - readonly dx: SVGAnimatedNumber; - readonly dy: SVGAnimatedNumber; - addEventListener(type: K, listener: (this: SVGFEOffsetElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGFEOffsetElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface DataTransfer { + dropEffect: string; + effectAllowed: string; + readonly files: FileList; + readonly items: DataTransferItemList; + readonly types: string[]; + clearData(format?: string): void; + getData(format: string): string; + setData(format: string, data: string): void; + setDragImage(image: Element, x: number, y: number): void; } -declare var SVGFEOffsetElement: { - prototype: SVGFEOffsetElement; - new(): SVGFEOffsetElement; +declare var DataTransfer: { + prototype: DataTransfer; + new(): DataTransfer; }; -interface SVGFESpecularLightingElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { - readonly in1: SVGAnimatedString; - readonly surfaceScale: SVGAnimatedNumber; - readonly specularConstant: SVGAnimatedNumber; - readonly specularExponent: SVGAnimatedNumber; - readonly kernelUnitLengthX: SVGAnimatedNumber; - readonly kernelUnitLengthY: SVGAnimatedNumber; - addEventListener(type: K, listener: (this: SVGFESpecularLightingElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGFESpecularLightingElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface DataTransferItem { + readonly kind: string; + readonly type: string; + getAsFile(): File | null; + getAsString(callback: FunctionStringCallback | null): void; } -declare var SVGFESpecularLightingElement: { - prototype: SVGFESpecularLightingElement; - new(): SVGFESpecularLightingElement; +declare var DataTransferItem: { + prototype: DataTransferItem; + new(): DataTransferItem; }; -interface SVGFETileElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { - readonly in1: SVGAnimatedString; - addEventListener(type: K, listener: (this: SVGFETileElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGFETileElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface DataTransferItemList { + readonly length: number; + add(data: string, type: string): DataTransferItem | null; + add(data: File): DataTransferItem | null; + clear(): void; + remove(index: number): void; + [index: number]: DataTransferItem; } -declare var SVGFETileElement: { - prototype: SVGFETileElement; - new(): SVGFETileElement; +declare var DataTransferItemList: { + prototype: DataTransferItemList; + new(): DataTransferItemList; }; -interface SVGFETurbulenceElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { - readonly baseFrequencyX: SVGAnimatedNumber; - readonly baseFrequencyY: SVGAnimatedNumber; - readonly numOctaves: SVGAnimatedInteger; - readonly seed: SVGAnimatedNumber; - readonly stitchTiles: SVGAnimatedEnumeration; - readonly type: SVGAnimatedEnumeration; - readonly SVG_TURBULENCE_TYPE_UNKNOWN: number; - readonly SVG_TURBULENCE_TYPE_FRACTALNOISE: number; - readonly SVG_TURBULENCE_TYPE_TURBULENCE: number; - readonly SVG_STITCHTYPE_UNKNOWN: number; - readonly SVG_STITCHTYPE_STITCH: number; - readonly SVG_STITCHTYPE_NOSTITCH: number; - addEventListener(type: K, listener: (this: SVGFETurbulenceElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGFETurbulenceElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; +interface DedicatedWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap { + "message": MessageEvent; +} + +interface DedicatedWorkerGlobalScope extends WorkerGlobalScope { + onmessage: (this: DedicatedWorkerGlobalScope, ev: MessageEvent) => any; + onmessageerror: (this: DedicatedWorkerGlobalScope, ev: MessageEvent) => any; + close(): void; + postMessage(message: any, transfer?: any[]): void; + addEventListener(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGFETurbulenceElement: { - prototype: SVGFETurbulenceElement; - new(): SVGFETurbulenceElement; - readonly SVG_TURBULENCE_TYPE_UNKNOWN: number; - readonly SVG_TURBULENCE_TYPE_FRACTALNOISE: number; - readonly SVG_TURBULENCE_TYPE_TURBULENCE: number; - readonly SVG_STITCHTYPE_UNKNOWN: number; - readonly SVG_STITCHTYPE_STITCH: number; - readonly SVG_STITCHTYPE_NOSTITCH: number; +declare var DedicatedWorkerGlobalScope: { + prototype: DedicatedWorkerGlobalScope; + new(): DedicatedWorkerGlobalScope; }; -interface Gamepad { - readonly id: string; - readonly index: number; - readonly connected: boolean; - readonly timestamp: number; - readonly mapping: GamepadMappingType; - readonly axes: number[]; - readonly buttons: GamepadButton[]; +interface DelayNode extends AudioNode { + readonly delayTime: AudioParam; } -declare var Gamepad: { - prototype: Gamepad; - new(): Gamepad; +declare var DelayNode: { + prototype: DelayNode; + new(context: BaseAudioContext, options?: DelayOptions): DelayNode; }; -interface GamepadButton { - readonly pressed: boolean; - readonly touched: boolean; - readonly value: number; +interface DeviceMotionEvent extends Event { + readonly acceleration: DeviceAcceleration | null; + readonly accelerationIncludingGravity: DeviceAcceleration | null; + readonly interval: number | null; + readonly rotationRate: DeviceRotationRate | null; } -declare var GamepadButton: { - prototype: GamepadButton; - new(): GamepadButton; +declare var DeviceMotionEvent: { + prototype: DeviceMotionEvent; + new(type: string, eventInitDict?: DeviceMotionEventInit): DeviceMotionEvent; }; -interface GamepadEvent extends Event { - readonly gamepad: Gamepad; +interface DeviceOrientationEvent extends Event { + readonly absolute: boolean; + readonly alpha: number | null; + readonly beta: number | null; + readonly gamma: number | null; } -declare var GamepadEvent: { - prototype: GamepadEvent; - new(eventInitDict: GamepadEventInit): GamepadEvent; +declare var DeviceOrientationEvent: { + prototype: DeviceOrientationEvent; + new(type: string, eventInitDict?: DeviceOrientationEventInit): DeviceOrientationEvent; }; -interface SensorEventMap { - "change": Event; - "activate": Event; - "error": SensorErrorEvent; +interface DocumentEventMap extends GlobalEventHandlersEventMap, DocumentAndElementEventHandlersEventMap { + "readystatechange": Event; } -interface Sensor extends EventTarget { - readonly state: SensorState; - readonly timestamp: number | null; - onchange: (this: Sensor, ev: Event) => any; - onactivate: (this: Sensor, ev: Event) => any; - onerror: (this: Sensor, ev: SensorErrorEvent) => any; - start(): void; - stop(): void; - addEventListener(type: K, listener: (this: Sensor, ev: SensorEventMap[K]) => any, useCapture?: boolean): void; +interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, ParentNode, GeometryUtils, GlobalEventHandlers, DocumentAndElementEventHandlers, ParentNode { + /** + * Gets the object that has the focus when the parent document has focus. + */ + readonly activeElement: Element | null; + /** + * Sets or gets the color of all active links in the document. + */ + alinkColor: string; + /** + * Returns a reference to the collection of elements contained by the object. + */ + readonly all: HTMLAllCollection; + /** + * Retrieves a collection of all a objects that have a name and/or id property. Objects in this collection are in HTML source order. + */ + anchors: HTMLCollectionOf; + /** + * Retrieves a collection of all applet objects in the document. + */ + applets: HTMLCollectionOf; + /** + * Deprecated. Sets or retrieves a value that indicates the background color behind the object. + */ + bgColor: string; + /** + * Specifies the beginning and end of the document body. + */ + body: HTMLElement | null; + readonly characterSet: string; + /** + * Gets or sets the character set used to encode the object. + */ + readonly charset: string; + /** + * Gets a value that indicates whether standards-compliant mode is switched on for the object. + */ + readonly compatMode: string; + readonly contentType: string; + cookie: string; + readonly currentScript: HTMLScriptElement | SVGScriptElement | null; + readonly defaultView: any; + /** + * Sets or gets a value that indicates whether the document can be edited. + */ + designMode: string; + /** + * Sets or retrieves a value that indicates the reading order of the object. + */ + dir: string; + /** + * Gets an object representing the document type declaration associated with the current document. + */ + readonly doctype: DocumentType | null; + /** + * Gets a reference to the root node of the document. + */ + documentElement: HTMLElement; + readonly documentURI: string; + /** + * Sets or gets the security domain of the document. + */ + domain: string; + /** + * Retrieves a collection of all embed objects in the document. + */ + embeds: HTMLCollectionOf; + /** + * Sets or gets the foreground (text) color of the document. + */ + fgColor: string; + /** + * Retrieves a collection, in source order, of all form objects in the document. + */ + forms: HTMLCollectionOf; + readonly head: HTMLHeadElement | null; + /** + * Retrieves a collection, in source order, of img objects in the document. + */ + images: HTMLCollectionOf; + /** + * Gets the implementation object of the current document. + */ + readonly implementation: DOMImplementation; + /** + * Returns the character encoding used to create the webpage that is loaded into the document object. + */ + readonly inputEncoding: string; + /** + * Gets the date that the page was last modified, if the page supplies one. + */ + readonly lastModified: string; + /** + * Sets or gets the color of the document links. + */ + linkColor: string; + /** + * Retrieves a collection of all a objects that specify the href property and all area objects in the document. + */ + links: HTMLCollectionOf; + /** + * Contains information about the current URL. + */ + readonly location: Location | null; + /** + * Fires when the state of the object has changed. + * @param ev The event + */ + onreadystatechange: (this: Document, ev: Event) => any; + readonly origin: string; + plugins: HTMLCollectionOf; + /** + * Retrieves a value that indicates the current state of the object. + */ + readonly readyState: DocumentReadyState; + /** + * Gets the URL of the location that referred the user to the current page. + */ + readonly referrer: string; + /** + * Gets the root svg element in the document hierarchy. + */ + readonly rootElement: SVGSVGElement | null; + /** + * Retrieves a collection of all script objects in the document. + */ + scripts: HTMLCollectionOf; + readonly scrollingElement: Element | null; + /** + * Retrieves a collection of styleSheet objects representing the style sheets that correspond to each instance of a link or style object in the document. + */ + readonly styleSheets: StyleSheetList; + readonly timeline: DocumentTimeline; + /** + * Contains the title of the document. + */ + title: string; + /** + * Sets or gets the URL for the current document. + */ + readonly URL: string; + /** + * Sets or gets the color of the links that the user has visited. + */ + vlinkColor: string; + adoptNode(source: T): T; + captureEvents(): void; + caretPositionFromPoint(x: number, y: number): CaretPosition | null; + clear(): void; + /** + * Closes an output stream and forces the sent data to display. + */ + close(): void; + /** + * Creates an attribute object with a specified name. + * @param name String that sets the attribute object's name. + */ + createAttribute(localName: string): Attr; + createAttributeNS(namespace: string | null, qualifiedName: string): Attr; + createCDATASection(data: string): CDATASection; + /** + * Creates a comment object with the specified data. + * @param data Sets the comment object's data. + */ + createComment(data: string): Comment; + /** + * Creates a new document. + */ + createDocumentFragment(): DocumentFragment; + /** + * Creates an instance of the element for the specified tag. + * @param tagName The name of an element. + */ + createElementNS(namespaceURI: "http://www.w3.org/1999/xhtml", qualifiedName: string): HTMLElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "a"): SVGAElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "circle"): SVGCircleElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "clipPath"): SVGClipPathElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "componentTransferFunction"): SVGComponentTransferFunctionElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "defs"): SVGDefsElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "desc"): SVGDescElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "ellipse"): SVGEllipseElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feBlend"): SVGFEBlendElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feColorMatrix"): SVGFEColorMatrixElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feComponentTransfer"): SVGFEComponentTransferElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feComposite"): SVGFECompositeElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feConvolveMatrix"): SVGFEConvolveMatrixElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feDiffuseLighting"): SVGFEDiffuseLightingElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feDisplacementMap"): SVGFEDisplacementMapElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feDistantLight"): SVGFEDistantLightElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feFlood"): SVGFEFloodElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feFuncA"): SVGFEFuncAElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feFuncB"): SVGFEFuncBElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feFuncG"): SVGFEFuncGElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feFuncR"): SVGFEFuncRElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feGaussianBlur"): SVGFEGaussianBlurElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feImage"): SVGFEImageElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feMerge"): SVGFEMergeElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feMergeNode"): SVGFEMergeNodeElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feMorphology"): SVGFEMorphologyElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feOffset"): SVGFEOffsetElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "fePointLight"): SVGFEPointLightElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feSpecularLighting"): SVGFESpecularLightingElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feSpotLight"): SVGFESpotLightElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feTile"): SVGFETileElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "feTurbulence"): SVGFETurbulenceElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "filter"): SVGFilterElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "foreignObject"): SVGForeignObjectElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "g"): SVGGElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "image"): SVGImageElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "gradient"): SVGGradientElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "line"): SVGLineElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "linearGradient"): SVGLinearGradientElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "marker"): SVGMarkerElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "mask"): SVGMaskElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "path"): SVGPathElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "metadata"): SVGMetadataElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "pattern"): SVGPatternElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "polygon"): SVGPolygonElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "polyline"): SVGPolylineElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "radialGradient"): SVGRadialGradientElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "rect"): SVGRectElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "svg"): SVGSVGElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "script"): SVGScriptElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "stop"): SVGStopElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "style"): SVGStyleElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "switch"): SVGSwitchElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "symbol"): SVGSymbolElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "tspan"): SVGTSpanElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "textContent"): SVGTextContentElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "text"): SVGTextElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "textPath"): SVGTextPathElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "textPositioning"): SVGTextPositioningElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "title"): SVGTitleElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "use"): SVGUseElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: "view"): SVGViewElement; + createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: string): SVGElement; + createElementNS(namespace: string | null, qualifiedName: string, options?: ElementCreationOptions): Element; + createEvent(eventInterface: "AnimationEvent"): AnimationEvent; + createEvent(eventInterface: "AnimationPlaybackEvent"): AnimationPlaybackEvent; + createEvent(eventInterface: "AudioProcessingEvent"): AudioProcessingEvent; + createEvent(eventInterface: "BeforeUnloadEvent"): BeforeUnloadEvent; + createEvent(eventInterface: "ClipboardEvent"): ClipboardEvent; + createEvent(eventInterface: "CloseEvent"): CloseEvent; + createEvent(eventInterface: "CompositionEvent"): CompositionEvent; + createEvent(eventInterface: "CustomEvent"): CustomEvent; + createEvent(eventInterface: "DeviceMotionEvent"): DeviceMotionEvent; + createEvent(eventInterface: "DeviceOrientationEvent"): DeviceOrientationEvent; + createEvent(eventInterface: "DragEvent"): DragEvent; + createEvent(eventInterface: "ErrorEvent"): ErrorEvent; + createEvent(eventInterface: "Event"): Event; + createEvent(eventInterface: "Events"): Event; + createEvent(eventInterface: "ExtendableEvent"): ExtendableEvent; + createEvent(eventInterface: "ExtendableMessageEvent"): ExtendableMessageEvent; + createEvent(eventInterface: "FetchEvent"): FetchEvent; + createEvent(eventInterface: "FocusEvent"): FocusEvent; + createEvent(eventInterface: "GamepadEvent"): GamepadEvent; + createEvent(eventInterface: "HashChangeEvent"): HashChangeEvent; + createEvent(eventInterface: "IDBVersionChangeEvent"): IDBVersionChangeEvent; + createEvent(eventInterface: "InstallEvent"): InstallEvent; + createEvent(eventInterface: "KeyboardEvent"): KeyboardEvent; + createEvent(eventInterface: "LongRunningScriptDetectedEvent"): LongRunningScriptDetectedEvent; + createEvent(eventInterface: "MediaEncryptedEvent"): MediaEncryptedEvent; + createEvent(eventInterface: "MediaKeyMessageEvent"): MediaKeyMessageEvent; + createEvent(eventInterface: "MediaQueryListEvent"): MediaQueryListEvent; + createEvent(eventInterface: "MediaStreamTrackEvent"): MediaStreamTrackEvent; + createEvent(eventInterface: "MessageEvent"): MessageEvent; + createEvent(eventInterface: "MouseEvent"): MouseEvent; + createEvent(eventInterface: "MouseEvents"): MouseEvent; + createEvent(eventInterface: "NavigationCompletedEvent"): NavigationCompletedEvent; + createEvent(eventInterface: "NavigationEvent"): NavigationEvent; + createEvent(eventInterface: "NavigationEventWithReferrer"): NavigationEventWithReferrer; + createEvent(eventInterface: "NotificationEvent"): NotificationEvent; + createEvent(eventInterface: "OfflineAudioCompletionEvent"): OfflineAudioCompletionEvent; + createEvent(eventInterface: "OverconstrainedErrorEvent"): OverconstrainedErrorEvent; + createEvent(eventInterface: "PageTransitionEvent"): PageTransitionEvent; + createEvent(eventInterface: "PaymentRequestUpdateEvent"): PaymentRequestUpdateEvent; + createEvent(eventInterface: "PointerEvent"): PointerEvent; + createEvent(eventInterface: "PopStateEvent"): PopStateEvent; + createEvent(eventInterface: "ProgressEvent"): ProgressEvent; + createEvent(eventInterface: "PromiseRejectionEvent"): PromiseRejectionEvent; + createEvent(eventInterface: "PushEvent"): PushEvent; + createEvent(eventInterface: "PushSubscriptionChangeEvent"): PushSubscriptionChangeEvent; + createEvent(eventInterface: "RTCDTMFToneChangeEvent"): RTCDTMFToneChangeEvent; + createEvent(eventInterface: "RTCDataChannelEvent"): RTCDataChannelEvent; + createEvent(eventInterface: "RTCErrorEvent"): RTCErrorEvent; + createEvent(eventInterface: "RTCIceCandidatePairChangedEvent"): RTCIceCandidatePairChangedEvent; + createEvent(eventInterface: "RTCIceGathererEvent"): RTCIceGathererEvent; + createEvent(eventInterface: "RTCPeerConnectionIceErrorEvent"): RTCPeerConnectionIceErrorEvent; + createEvent(eventInterface: "RTCPeerConnectionIceEvent"): RTCPeerConnectionIceEvent; + createEvent(eventInterface: "RTCSsrcConflictEvent"): RTCSsrcConflictEvent; + createEvent(eventInterface: "RTCTrackEvent"): RTCTrackEvent; + createEvent(eventInterface: "RelatedEvent"): RelatedEvent; + createEvent(eventInterface: "SVGZoomEvent"): SVGZoomEvent; + createEvent(eventInterface: "SVGZoomEvents"): SVGZoomEvent; + createEvent(eventInterface: "ScriptNotifyEvent"): ScriptNotifyEvent; + createEvent(eventInterface: "SensorErrorEvent"): SensorErrorEvent; + createEvent(eventInterface: "SpeechRecognitionError"): SpeechRecognitionError; + createEvent(eventInterface: "SpeechRecognitionEvent"): SpeechRecognitionEvent; + createEvent(eventInterface: "SpeechSynthesisEvent"): SpeechSynthesisEvent; + createEvent(eventInterface: "StorageEvent"): StorageEvent; + createEvent(eventInterface: "SyncEvent"): SyncEvent; + createEvent(eventInterface: "TouchEvent"): TouchEvent; + createEvent(eventInterface: "TrackEvent"): TrackEvent; + createEvent(eventInterface: "TransitionEvent"): TransitionEvent; + createEvent(eventInterface: "UIEvent"): UIEvent; + createEvent(eventInterface: "UIEvents"): UIEvent; + createEvent(eventInterface: "UnviewableContentIdentifiedEvent"): UnviewableContentIdentifiedEvent; + createEvent(eventInterface: "WebGLContextEvent"): WebGLContextEvent; + createEvent(eventInterface: "WheelEvent"): WheelEvent; + createEvent(eventInterface: string): Event; + /** + * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document. + * @param root The root element or node to start traversing on. + * @param whatToShow The type of nodes or elements to appear in the node list + * @param filter A custom NodeFilter function to use. For more information, see filter. Use null for no filter. + * @param entityReferenceExpansion A flag that specifies whether entity reference nodes are expanded. + */ + createNodeIterator(root: Node, whatToShow?: number, filter?: NodeFilter): NodeIterator; + createProcessingInstruction(target: string, data: string): ProcessingInstruction; + /** + * Returns an empty range object that has both of its boundary points positioned at the beginning of the document. + */ + createRange(): Range; + /** + * Creates a text string from the specified value. + * @param data String that specifies the nodeValue property of the text node. + */ + createTextNode(data: string): Text; + createTouch(view: any, target: EventTarget, identifier: number, pageX: number, pageY: number, screenX: number, screenY: number): Touch; + createTouchList(...touches: Touch[]): TouchList; + /** + * Creates a TreeWalker object that you can use to traverse filtered lists of nodes or elements in a document. + * @param root The root element or node to start traversing on. + * @param whatToShow The type of nodes or elements to appear in the node list. For more information, see whatToShow. + * @param filter A custom NodeFilter function to use. + * @param entityReferenceExpansion A flag that specifies whether entity reference nodes are expanded. + */ + createTreeWalker(root: Node, whatToShow?: number, filter?: NodeFilter): TreeWalker; + /** + * Returns the element for the specified x coordinate and the specified y coordinate. + * @param x The x-offset + * @param y The y-offset + */ + elementFromPoint(x: number, y: number): Element | null; + elementsFromPoint(x: number, y: number): Element[]; + /** + * Executes a command on the current document, current selection, or the given range. + * @param commandId String that specifies the command to execute. This command can be any of the command identifiers that can be executed in script. + * @param showUI Display the user interface, defaults to false. + * @param value Value to assign. + */ + execCommand(commandId: string, showUI?: boolean, value?: string): boolean; + getAnimations(): Animation[]; + getElementsByClassName(classNames: string): HTMLCollectionOf; + /** + * Gets a collection of objects based on the value of the NAME or ID attribute. + * @param elementName Gets a collection of objects based on the value of the NAME or ID attribute. + */ + getElementsByName(elementName: string): NodeListOf; + /** + * Retrieves a collection of objects based on the specified element name. + * @param name Specifies the name of an element. + */ + getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf; + getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf; + getElementsByTagNameNS(namespaceURI: string, localName: string): HTMLCollectionOf; + /** + * Returns an object representing the current selection of the document that is loaded into the object displaying a webpage. + */ + getSelection(): Selection | null; + /** + * Gets a value indicating whether the object currently has focus. + */ + hasFocus(): boolean; + importNode(importedNode: T, deep: boolean): T; + /** + * Opens a new window and loads a document specified by a given URL. Also, opens a new window that uses the url parameter and the name parameter to collect the output of the write method and the writeln method. + * @param url Specifies a MIME type for the document. + * @param name Specifies the name of the window. This name is used as the value for the TARGET attribute on a form or an anchor element. + * @param features Contains a list of items separated by commas. Each item consists of an option and a value, separated by an equals sign (for example, "fullscreen=yes, toolbar=yes"). The following values are supported. + * @param replace Specifies whether the existing entry for the document is replaced in the history list. + */ + open(url?: string, name?: string, features?: string, replace?: boolean): Document; + /** + * Opens a new window and loads a document specified by a given URL. Also, opens a new window that uses the url parameter and the name parameter to collect the output of the write method and the writeln method. + * @param url Specifies a MIME type for the document. + * @param name Specifies the name of the window. This name is used as the value for the TARGET attribute on a form or an anchor element. + * @param features Contains a list of items separated by commas. Each item consists of an option and a value, separated by an equals sign (for example, "fullscreen=yes, toolbar=yes"). The following values are supported. + * @param replace Specifies whether the existing entry for the document is replaced in the history list. + */ + open(url?: string, name?: string, features?: string, replace?: boolean): Document; + /** + * Returns a Boolean value that indicates whether a specified command can be successfully executed using execCommand, given the current state of the document. + * @param commandId Specifies a command identifier. + */ + queryCommandEnabled(commandId: string): boolean; + /** + * Returns a Boolean value that indicates whether the specified command is in the indeterminate state. + * @param commandId String that specifies a command identifier. + */ + queryCommandIndeterm(commandId: string): boolean; + /** + * Returns a Boolean value that indicates the current state of the command. + * @param commandId String that specifies a command identifier. + */ + queryCommandState(commandId: string): boolean; + /** + * Returns a Boolean value that indicates whether the current command is supported on the current range. + * @param commandId Specifies a command identifier. + */ + queryCommandSupported(commandId: string): boolean; + /** + * Returns the current value of the document, range, or current selection for the given command. + * @param commandId String that specifies a command identifier. + */ + queryCommandValue(commandId: string): string; + releaseEvents(): void; + /** + * Writes one or more HTML expressions to a document in the specified window. + * @param content Specifies the text and HTML tags to write. + */ + write(...text: string[]): void; + /** + * Writes one or more HTML expressions, followed by a carriage return, to a document in the specified window. + * @param content The text and HTML tags to write. + */ + writeln(...text: string[]): void; + addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + [name: string]: any; } -declare var Sensor: { - prototype: Sensor; - new(): Sensor; -}; - -interface SensorErrorEvent extends Event { - readonly error: any; -} - -declare var SensorErrorEvent: { - prototype: SensorErrorEvent; - new(type: string, errorEventInitDict: SensorErrorEventInit): SensorErrorEvent; -}; - -interface DOMPointReadOnly { - readonly x: number; - readonly y: number; - readonly z: number; - readonly w: number; - matrixTransform(matrix?: DOMMatrixInit): DOMPoint; -} - -declare var DOMPointReadOnly: { - prototype: DOMPointReadOnly; - new(x?: number, y?: number, z?: number, w?: number): DOMPointReadOnly; - fromPoint(other?: DOMPointInit): DOMPointReadOnly; -}; - -interface DOMPoint extends DOMPointReadOnly { - x: number; - y: number; - z: number; - w: number; -} - -declare var DOMPoint: { - prototype: DOMPoint; - new(x?: number, y?: number, z?: number, w?: number): DOMPoint; - fromPoint(other?: DOMPointInit): DOMPoint; -}; - -interface DOMRectReadOnly { - readonly x: number; - readonly y: number; - readonly width: number; - readonly height: number; - readonly top: number; - readonly right: number; - readonly bottom: number; - readonly left: number; -} - -declare var DOMRectReadOnly: { - prototype: DOMRectReadOnly; - new(x?: number, y?: number, width?: number, height?: number): DOMRectReadOnly; - fromRect(other?: DOMRectInit): DOMRectReadOnly; -}; - -interface DOMRect extends DOMRectReadOnly { - x: number; - y: number; - width: number; - height: number; -} - -declare var DOMRect: { - prototype: DOMRect; - new(x?: number, y?: number, width?: number, height?: number): DOMRect; - fromRect(other?: DOMRectInit): DOMRect; +declare var Document: { + prototype: Document; + new(): Document; }; -interface DOMQuad { - readonly p1: DOMPoint; - readonly p2: DOMPoint; - readonly p3: DOMPoint; - readonly p4: DOMPoint; - getBounds(): DOMRect; +interface DocumentFragment extends Node, NonElementParentNode, ParentNode, ParentNode { } -declare var DOMQuad: { - prototype: DOMQuad; - new(p1?: DOMPointInit, p2?: DOMPointInit, p3?: DOMPointInit, p4?: DOMPointInit): DOMQuad; - fromRect(other?: DOMRectInit): DOMQuad; - fromQuad(other?: DOMQuadInit): DOMQuad; -}; - -interface DOMMatrixReadOnly { - readonly a: number; - readonly b: number; - readonly c: number; - readonly d: number; - readonly e: number; - readonly f: number; - readonly m11: number; - readonly m12: number; - readonly m13: number; - readonly m14: number; - readonly m21: number; - readonly m22: number; - readonly m23: number; - readonly m24: number; - readonly m31: number; - readonly m32: number; - readonly m33: number; - readonly m34: number; - readonly m41: number; - readonly m42: number; - readonly m43: number; - readonly m44: number; - readonly is2D: boolean; - readonly isIdentity: boolean; - translate(tx?: number, ty?: number, tz?: number): DOMMatrix; - scale(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; - scale3d(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; - rotate(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix; - rotateFromVector(x?: number, y?: number): DOMMatrix; - rotateAxisAngle(x?: number, y?: number, z?: number, angle?: number): DOMMatrix; - skewX(sx?: number): DOMMatrix; - skewY(sy?: number): DOMMatrix; - multiply(other?: DOMMatrixInit): DOMMatrix; - flipX(): DOMMatrix; - flipY(): DOMMatrix; - inverse(): DOMMatrix; - transformPoint(point?: DOMPointInit): DOMPoint; - toFloat32Array(): Float32Array; - toFloat64Array(): Float64Array; +declare var DocumentFragment: { + prototype: DocumentFragment; + new(): DocumentFragment; +}; + +interface DocumentTimeline extends AnimationTimeline { } -declare var DOMMatrixReadOnly: { - prototype: DOMMatrixReadOnly; - new(): DOMMatrixReadOnly; - new(transformList: string): DOMMatrixReadOnly; - new(numberSequence: number[]): DOMMatrixReadOnly; - fromMatrix(other?: DOMMatrixInit): DOMMatrixReadOnly; - fromFloat32Array(array32: Float32Array): DOMMatrixReadOnly; - fromFloat64Array(array64: Float64Array): DOMMatrixReadOnly; +declare var DocumentTimeline: { + prototype: DocumentTimeline; + new(options?: DocumentTimelineOptions): DocumentTimeline; +}; + +interface DocumentType extends Node, ChildNode { + readonly name: string; + readonly publicId: string; + readonly systemId: string; +} + +declare var DocumentType: { + prototype: DocumentType; + new(): DocumentType; +}; + +interface DOMImplementation { + createDocument(namespaceURI: string | null, qualifiedName: string | null, doctype: DocumentType | null): Document; + createDocumentType(qualifiedName: string, publicId: string, systemId: string): DocumentType; + createHTMLDocument(title?: string): Document; + hasFeature(feature: string | null, version: string | null): boolean; +} + +declare var DOMImplementation: { + prototype: DOMImplementation; + new(): DOMImplementation; }; interface DOMMatrix extends DOMMatrixReadOnly { @@ -3864,163 +3205,169 @@ interface DOMMatrix extends DOMMatrixReadOnly { m42: number; m43: number; m44: number; + invertSelf(): DOMMatrix; multiplySelf(other?: DOMMatrixInit): DOMMatrix; preMultiplySelf(other?: DOMMatrixInit): DOMMatrix; - translateSelf(tx?: number, ty?: number, tz?: number): DOMMatrix; - scaleSelf(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; - scale3dSelf(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; - rotateSelf(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix; - rotateFromVectorSelf(x?: number, y?: number): DOMMatrix; rotateAxisAngleSelf(x?: number, y?: number, z?: number, angle?: number): DOMMatrix; + rotateFromVectorSelf(x?: number, y?: number): DOMMatrix; + rotateSelf(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix; + scale3dSelf(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + scaleSelf(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + setMatrixValue(transformList: string): DOMMatrix; skewXSelf(sx?: number): DOMMatrix; skewYSelf(sy?: number): DOMMatrix; - invertSelf(): DOMMatrix; - setMatrixValue(transformList: string): DOMMatrix; + translateSelf(tx?: number, ty?: number, tz?: number): DOMMatrix; } declare var DOMMatrix: { prototype: DOMMatrix; - new(): DOMMatrix; - new(transformList: string): DOMMatrix; - new(numberSequence: number[]): DOMMatrix; - fromMatrix(other?: DOMMatrixInit): DOMMatrix; + new(init?: string | number[]): DOMMatrix; fromFloat32Array(array32: Float32Array): DOMMatrix; fromFloat64Array(array64: Float64Array): DOMMatrix; + fromMatrix(other?: DOMMatrixInit): DOMMatrix; }; -interface PerformanceEventMap { - "resourcetimingbufferfull": Event; +interface DOMMatrixReadOnly { + readonly a: number; + readonly b: number; + readonly c: number; + readonly d: number; + readonly e: number; + readonly f: number; + readonly is2D: boolean; + readonly isIdentity: boolean; + readonly m11: number; + readonly m12: number; + readonly m13: number; + readonly m14: number; + readonly m21: number; + readonly m22: number; + readonly m23: number; + readonly m24: number; + readonly m31: number; + readonly m32: number; + readonly m33: number; + readonly m34: number; + readonly m41: number; + readonly m42: number; + readonly m43: number; + readonly m44: number; + flipX(): DOMMatrix; + flipY(): DOMMatrix; + inverse(): DOMMatrix; + multiply(other?: DOMMatrixInit): DOMMatrix; + rotate(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix; + rotateAxisAngle(x?: number, y?: number, z?: number, angle?: number): DOMMatrix; + rotateFromVector(x?: number, y?: number): DOMMatrix; + scale(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + scale3d(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + skewX(sx?: number): DOMMatrix; + skewY(sy?: number): DOMMatrix; + toFloat32Array(): Float32Array; + toFloat64Array(): Float64Array; + transformPoint(point?: DOMPointInit): DOMPoint; + translate(tx?: number, ty?: number, tz?: number): DOMMatrix; } -interface Performance extends EventTarget { - readonly timing: PerformanceTiming; - readonly navigation: PerformanceNavigation; - onresourcetimingbufferfull: (this: Performance, ev: Event) => any; - now(): number; - getEntries(): PerformanceEntryList; - getEntriesByType(type: string): PerformanceEntryList; - getEntriesByName(name: string, type?: string): PerformanceEntryList; - clearResourceTimings(): void; - setResourceTimingBufferSize(maxSize: number): void; - mark(markName: string): void; - clearMarks(markName?: string): void; - measure(measureName: string, startMark?: string, endMark?: string): void; - clearMeasures(measureName?: string): void; - addEventListener(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare var DOMMatrixReadOnly: { + prototype: DOMMatrixReadOnly; + new(init?: string | number[]): DOMMatrixReadOnly; + fromFloat32Array(array32: Float32Array): DOMMatrixReadOnly; + fromFloat64Array(array64: Float64Array): DOMMatrixReadOnly; + fromMatrix(other?: DOMMatrixInit): DOMMatrixReadOnly; +}; + +interface DOMParser { + parseFromString(str: string, type: any): Document; } -declare var Performance: { - prototype: Performance; - new(): Performance; +declare var DOMParser: { + prototype: DOMParser; + new(): DOMParser; }; -interface Example { +interface DOMPoint extends DOMPointReadOnly { + w: number; + x: number; + y: number; + z: number; } -declare var Example: { - prototype: Example; - new(): Example; +declare var DOMPoint: { + prototype: DOMPoint; + new(x?: number, y?: number, z?: number, w?: number): DOMPoint; + fromPoint(other?: DOMPointInit): DOMPoint; }; -interface HTMLAllCollection { - readonly length: number; - namedItem(name: string): HTMLCollection | Element | null; - item(nameOrIndex?: string): HTMLCollection | Element | null; - [index: number]: Element; +interface DOMPointReadOnly { + readonly w: number; + readonly x: number; + readonly y: number; + readonly z: number; + matrixTransform(matrix?: DOMMatrixInit): DOMPoint; } -declare var HTMLAllCollection: { - prototype: HTMLAllCollection; - new(): HTMLAllCollection; +declare var DOMPointReadOnly: { + prototype: DOMPointReadOnly; + new(x?: number, y?: number, z?: number, w?: number): DOMPointReadOnly; + fromPoint(other?: DOMPointInit): DOMPointReadOnly; }; -interface HTMLFormControlsCollection extends HTMLCollectionBase { - namedItem(name: string): RadioNodeList | Element | null; +interface DOMQuad { + readonly p1: DOMPoint; + readonly p2: DOMPoint; + readonly p3: DOMPoint; + readonly p4: DOMPoint; + getBounds(): DOMRect; } -declare var HTMLFormControlsCollection: { - prototype: HTMLFormControlsCollection; - new(): HTMLFormControlsCollection; +declare var DOMQuad: { + prototype: DOMQuad; + new(p1?: DOMPointInit, p2?: DOMPointInit, p3?: DOMPointInit, p4?: DOMPointInit): DOMQuad; + fromQuad(other?: DOMQuadInit): DOMQuad; + fromRect(other?: DOMRectInit): DOMQuad; }; -interface RadioNodeList extends NodeList { - value: string; +interface DOMRect extends DOMRectReadOnly { + height: number; + width: number; + x: number; + y: number; } -declare var RadioNodeList: { - prototype: RadioNodeList; - new(): RadioNodeList; +declare var DOMRect: { + prototype: DOMRect; + new(x?: number, y?: number, width?: number, height?: number): DOMRect; + fromRect(other?: DOMRectInit): DOMRect; }; -interface HTMLOptionsCollection extends HTMLCollectionOf { - length: number; - selectedIndex: number; - add(element: HTMLOptionElement | HTMLOptGroupElement, before?: HTMLElement | number): void; - remove(index: number): void; +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 HTMLOptionsCollection: { - prototype: HTMLOptionsCollection; - new(): HTMLOptionsCollection; +declare var DOMRectReadOnly: { + prototype: DOMRectReadOnly; + new(x?: number, y?: number, width?: number, height?: number): DOMRectReadOnly; + fromRect(other?: DOMRectInit): DOMRectReadOnly; }; interface DOMStringList { readonly length: number; - item(index: number): string | null; contains(string: string): boolean; + item(index: number): string | null; [index: number]: string; -} - -declare var DOMStringList: { - prototype: DOMStringList; - new(): DOMStringList; -}; - -interface HTMLElement extends Element, GlobalEventHandlers, DocumentAndElementEventHandlers, ElementContentEditable, ElementCSSInlineStyle { - title: string; - lang: string; - translate: boolean; - dir: string; - readonly dataset: DOMStringMap; - hidden: boolean; - tabIndex: number; - accessKey: string; - readonly accessKeyLabel: string; - draggable: boolean; - contextMenu: HTMLMenuElement | null; - spellcheck: boolean; - innerText: string; - readonly offsetParent: Element | null; - readonly offsetTop: number; - readonly offsetLeft: number; - readonly offsetWidth: number; - readonly offsetHeight: number; - click(): void; - focus(): void; - blur(): void; - forceSpellCheck(): void; - addEventListener(type: K, listener: (this: HTMLElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var HTMLElement: { - prototype: HTMLElement; - new(): HTMLElement; -}; - -interface HTMLUnknownElement extends HTMLElement { - addEventListener(type: K, listener: (this: HTMLUnknownElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLUnknownElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLUnknownElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var HTMLUnknownElement: { - prototype: HTMLUnknownElement; - new(): HTMLUnknownElement; +} + +declare var DOMStringList: { + prototype: DOMStringList; + new(): DOMStringList; }; interface DOMStringMap { @@ -4032,778 +3379,702 @@ declare var DOMStringMap: { new(): DOMStringMap; }; -interface HTMLHtmlElement extends HTMLElement { - /** - * Sets or retrieves the DTD version that governs the current document. - */ - version: string; - addEventListener(type: K, listener: (this: HTMLHtmlElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLHtmlElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLHtmlElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface DOMTokenList { + readonly length: number; + value: string; + add(...tokens: string[]): void; + contains(token: string): boolean; + item(index: number): string | null; + remove(...tokens: string[]): void; + replace(token: string, newToken: string): void; + supports(token: string): boolean; + toggle(token: string, force?: boolean): boolean; + [index: number]: string; } -declare var HTMLHtmlElement: { - prototype: HTMLHtmlElement; - new(): HTMLHtmlElement; +declare var DOMTokenList: { + prototype: DOMTokenList; + new(): DOMTokenList; }; -interface HTMLHeadElement extends HTMLElement { - addEventListener(type: K, listener: (this: HTMLHeadElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLHeadElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLHeadElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface DragEvent extends MouseEvent { + readonly dataTransfer: DataTransfer | null; } -declare var HTMLHeadElement: { - prototype: HTMLHeadElement; - new(): HTMLHeadElement; +declare var DragEvent: { + prototype: DragEvent; + new(type: "drag" | "dragend" | "dragenter" | "dragexit" | "dragleave" | "dragover" | "dragstart" | "drop", dragEventInit?: { dataTransfer?: DataTransfer }): DragEvent; }; -interface HTMLTitleElement extends HTMLElement { - /** - * Retrieves or sets the text of the object as a string. - */ - text: string; - addEventListener(type: K, listener: (this: HTMLTitleElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLTitleElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLTitleElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface DynamicsCompressorNode extends AudioNode { + readonly attack: AudioParam; + readonly knee: AudioParam; + readonly ratio: AudioParam; + readonly reduction: number; + readonly release: AudioParam; + readonly threshold: AudioParam; } -declare var HTMLTitleElement: { - prototype: HTMLTitleElement; - new(): HTMLTitleElement; +declare var DynamicsCompressorNode: { + prototype: DynamicsCompressorNode; + new(context: BaseAudioContext, options?: DynamicsCompressorOptions): DynamicsCompressorNode; }; -interface HTMLBaseElement extends HTMLElement { - /** - * Gets or sets the baseline URL on which relative links are based. - */ - href: string; - /** - * Sets or retrieves the window or frame at which to target content. - */ - target: string; - addEventListener(type: K, listener: (this: HTMLBaseElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLBaseElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLBaseElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; +interface ElementEventMap { + "gotpointercapture": PointerEvent; + "lostpointercapture": PointerEvent; +} + +interface Element extends Node, ParentNode, NonDocumentTypeChildNode, ChildNode, Slotable, GeometryUtils, Animatable, ParentNode { + readonly attributes: NamedNodeMap; + readonly classList: DOMTokenList; + className: string; + readonly clientHeight: number; + readonly clientLeft: number; + readonly clientTop: number; + readonly clientWidth: number; + id: string; + innerHTML: string; + readonly localName: string; + readonly namespaceURI: string | null; + ongotpointercapture: (this: Element, ev: PointerEvent) => any; + onlostpointercapture: (this: Element, ev: PointerEvent) => any; + outerHTML: string; + readonly prefix: string | null; + readonly scrollHeight: number; + scrollLeft: number; + scrollTop: number; + readonly scrollWidth: number; + readonly shadowRoot: ShadowRoot | null; + slot: string; + readonly tagName: string; + readonly assignedSlot: HTMLSlotElement | null; + attachShadow(init: ShadowRootInit): ShadowRoot; + closest(selectors: string): Element | null; + getAttribute(name: string): string | null; + getAttributeNames(): string[]; + getAttributeNode(qualifiedName: string): Attr | null; + getAttributeNodeNS(namespace: string | null, localName: string): Attr | null; + getAttributeNS(namespace: string | null, localName: string): string | null; + getBoundingClientRect(): DOMRect; + getClientRects(): DOMRect[]; + getElementsByClassName(classNames: string): HTMLCollectionOf; + getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf; + getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf; + getElementsByTagNameNS(namespaceURI: string, localName: string): HTMLCollectionOf; + hasAttribute(qualifiedName: string): boolean; + hasAttributeNS(namespace: string | null, localName: string): boolean; + hasAttributes(): boolean; + insertAdjacentElement(where: string, element: Element): Element | null; + insertAdjacentHTML(position: string, text: string): void; + insertAdjacentText(where: string, data: string): void; + matches(selectors: string): boolean; + releasePointerCapture(pointerId: number): void; + removeAttribute(qualifiedName: string): void; + removeAttributeNode(attr: Attr): Attr; + removeAttributeNS(namespace: string | null, localName: string): void; + scroll(options?: ScrollToOptions): void; + scroll(x: number, y: number): void; + scrollBy(options?: ScrollToOptions): void; + scrollBy(x: number, y: number): void; + scrollIntoView(): void; + scrollIntoView(arg: any): void; + scrollTo(x: number, y: number): void; + scrollTo(options?: ScrollToOptions): void; + setAttribute(name: string, value: string): void; + setAttributeNode(attr: Attr): Attr | null; + setAttributeNodeNS(attr: Attr): Attr | null; + setAttributeNS(namespace: string | null, qualifiedName: string, value: string): void; + setPointerCapture(pointerId: number): void; + webkitMatchesSelector(selectors: string): boolean; + getElementsByClassName(classNames: string): NodeListOf; + matches(selector: string): boolean; + closest(selector: string): Element | null; + insertAdjacentElement(position: string, insertedElement: Element): Element | null; + insertAdjacentHTML(where: string, html: string): void; + insertAdjacentText(where: string, text: string): void; + attachShadow(shadowRootInitDict: ShadowRootInit): ShadowRoot; + addEventListener(type: K, listener: (this: Element, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLBaseElement: { - prototype: HTMLBaseElement; - new(): HTMLBaseElement; +declare var Element: { + prototype: Element; + new(): Element; }; -interface HTMLLinkElement extends HTMLElement, LinkStyle { - /** - * Sets or retrieves a destination URL or an anchor point. - */ - href: string; - crossOrigin: string | null; - /** - * Sets or retrieves the relationship between the object and the destination of the link. - */ - rel: string; - as: RequestDestination; - readonly relList: DOMTokenList; - /** - * Sets or retrieves the media type. - */ - media: string; - nonce: string; - integrity: string; - /** - * Sets or retrieves the language code of the object. - */ - hreflang: string; - /** - * Sets or retrieves the MIME type of the object. - */ - type: string; - readonly sizes: DOMTokenList; - referrerPolicy: string; - scope: string; - workerType: WorkerType; - useCache: boolean; - /** - * Sets or retrieves the character set used to encode the object. - */ - charset: string; - /** - * Sets or retrieves the relationship between the object and the destination of the link. - */ - rev: string; - /** - * Sets or retrieves the window or frame at which to target content. - */ - target: string; - import?: Document; - addEventListener(type: K, listener: (this: HTMLLinkElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLLinkElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLLinkElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface ErrorEvent extends Event { + readonly colno: number; + readonly error: any; + readonly filename: string; + readonly lineno: number; + readonly message: string; } -declare var HTMLLinkElement: { - prototype: HTMLLinkElement; - new(): HTMLLinkElement; +declare var ErrorEvent: { + prototype: ErrorEvent; + new(type: string, errorEventInitDict?: ErrorEventInit): ErrorEvent; }; -interface HTMLMetaElement extends HTMLElement { - /** - * Sets or retrieves the value specified in the content attribute of the meta object. - */ - name: string; - /** - * Gets or sets information used to bind the value of a content attribute of a meta element to an HTTP response header. - */ - httpEquiv: string; - /** - * Gets or sets meta-information to associate with httpEquiv or name. - */ - content: string; - /** - * Sets or retrieves a scheme to be used in interpreting the value of a property specified for the object. - */ - scheme: string; - addEventListener(type: K, listener: (this: HTMLMetaElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLMetaElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLMetaElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface Event { + readonly bubbles: boolean; + readonly cancelable: boolean; + cancelBubble: boolean; + readonly composed: boolean; + readonly currentTarget: EventTarget | null; + readonly defaultPrevented: boolean; + readonly eventPhase: number; + readonly isTrusted: boolean; + readonly target: EventTarget | null; + readonly timeStamp: number; + readonly type: string; + readonly scoped: boolean; + composedPath(): EventTarget[]; + initEvent(type: string, bubbles?: boolean, cancelable?: boolean): void; + preventDefault(): void; + stopImmediatePropagation(): void; + stopPropagation(): void; + deepPath(): EventTarget[]; + readonly AT_TARGET: number; + readonly BUBBLING_PHASE: number; + readonly CAPTURING_PHASE: number; + readonly NONE: number; } -declare var HTMLMetaElement: { - prototype: HTMLMetaElement; - new(): HTMLMetaElement; +declare var Event: { + prototype: Event; + new(type: string, eventInitDict?: EventInit): Event; + readonly AT_TARGET: number; + readonly BUBBLING_PHASE: number; + readonly CAPTURING_PHASE: number; + readonly NONE: number; }; -interface HTMLStyleElement extends HTMLElement, LinkStyle { - /** - * Sets or retrieves the media type. - */ - media: string; - nonce: string; - /** - * Retrieves the CSS language in which the style sheet is written. - */ - type: string; - addEventListener(type: K, listener: (this: HTMLStyleElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLStyleElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLStyleElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface EventSourceEventMap { + "error": Event; + "message": MessageEvent; + "open": Event; } -declare var HTMLStyleElement: { - prototype: HTMLStyleElement; - new(): HTMLStyleElement; -}; - -interface HTMLBodyElement extends HTMLElement, WindowEventHandlers { - text: string; - link: string; - vLink: string; - aLink: string; - bgColor: string; - background: string; - addEventListener(type: K, listener: (this: HTMLBodyElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLBodyElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLBodyElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLBodyElement, ev: WindowEventHandlersEventMap[K]) => any, useCapture?: boolean): void; +interface EventSource extends EventTarget { + onerror: (this: EventSource, ev: Event) => any; + onmessage: (this: EventSource, ev: MessageEvent) => any; + onopen: (this: EventSource, ev: Event) => any; + readonly readyState: number; + readonly url: string; + readonly withCredentials: boolean; + close(): void; + readonly CLOSED: number; + readonly CONNECTING: number; + readonly OPEN: number; + addEventListener(type: K, listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLBodyElement: { - prototype: HTMLBodyElement; - new(): HTMLBodyElement; +declare var EventSource: { + prototype: EventSource; + new(url: string, eventSourceInitDict?: EventSourceInit): EventSource; + readonly CLOSED: number; + readonly CONNECTING: number; + readonly OPEN: number; }; -interface HTMLHeadingElement extends HTMLElement { - /** - * Sets or retrieves a value that indicates the table alignment. - */ - align: string; - addEventListener(type: K, listener: (this: HTMLHeadingElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLHeadingElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLHeadingElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface EventTarget { + addEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + dispatchEvent(event: Event): boolean; + removeEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } -declare var HTMLHeadingElement: { - prototype: HTMLHeadingElement; - new(): HTMLHeadingElement; +declare var EventTarget: { + prototype: EventTarget; + new(): EventTarget; }; -interface HTMLParagraphElement extends HTMLElement { - /** - * Sets or retrieves how the object is aligned with adjacent text. - */ - align: string; - addEventListener(type: K, listener: (this: HTMLParagraphElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLParagraphElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLParagraphElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface ExtendableEvent extends Event { + waitUntil(f: Promise): void; } -declare var HTMLParagraphElement: { - prototype: HTMLParagraphElement; - new(): HTMLParagraphElement; +declare var ExtendableEvent: { + prototype: ExtendableEvent; + new(type: string, eventInitDict?: ExtendableEventInit): ExtendableEvent; }; -interface HTMLHRElement extends HTMLElement { - /** - * Sets or retrieves how the object is aligned with adjacent text. - */ - align: string; - color: string; - /** - * Sets or retrieves whether the horizontal rule is drawn with 3-D shading. - */ - noShade: boolean; - size: string; - /** - * Sets or retrieves the width of the object. - */ - width: string; - addEventListener(type: K, listener: (this: HTMLHRElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLHRElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLHRElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface ExtendableMessageEvent extends ExtendableEvent { + readonly data: any; + readonly lastEventId: string; + readonly origin: string; + readonly ports: ReadonlyArray; + readonly source: Client | ServiceWorker | MessagePort | null; } -declare var HTMLHRElement: { - prototype: HTMLHRElement; - new(): HTMLHRElement; +declare var ExtendableMessageEvent: { + prototype: ExtendableMessageEvent; + new(type: string, eventInitDict?: ExtendableMessageEventInit): ExtendableMessageEvent; }; -interface HTMLPreElement extends HTMLElement { - /** - * Sets or gets a value that you can use to implement your own width functionality for the object. - */ - width: number; - addEventListener(type: K, listener: (this: HTMLPreElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLPreElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLPreElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface FetchEvent extends ExtendableEvent { + readonly clientId: string; + readonly preloadResponse: Promise; + readonly request: Request; + readonly reservedClientId: string; + readonly targetClientId: string; + respondWith(r: Promise): void; } -declare var HTMLPreElement: { - prototype: HTMLPreElement; - new(): HTMLPreElement; +declare var FetchEvent: { + prototype: FetchEvent; + new(type: string, eventInitDict: FetchEventInit): FetchEvent; }; -interface HTMLQuoteElement extends HTMLElement { - /** - * Sets or retrieves reference information about the object. - */ - cite: string; - addEventListener(type: K, listener: (this: HTMLQuoteElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLQuoteElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLQuoteElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface File extends Blob { + readonly lastModified: number; + readonly name: string; } -declare var HTMLQuoteElement: { - prototype: HTMLQuoteElement; - new(): HTMLQuoteElement; +declare var File: { + prototype: File; + new (parts: (ArrayBuffer | ArrayBufferView | Blob | string)[], filename: string, properties?: FilePropertyBag): File; }; -interface HTMLOListElement extends HTMLElement { - reversed: boolean; - /** - * The starting number. - */ - start: number; - type: string; - compact: boolean; - addEventListener(type: K, listener: (this: HTMLOListElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLOListElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLOListElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface FileList { + readonly length: number; + item(index: number): File | null; + [index: number]: File; } -declare var HTMLOListElement: { - prototype: HTMLOListElement; - new(): HTMLOListElement; +declare var FileList: { + prototype: FileList; + new(): FileList; }; -interface HTMLUListElement extends HTMLElement { - compact: boolean; - type: string; - addEventListener(type: K, listener: (this: HTMLUListElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLUListElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLUListElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface FileReaderEventMap { + "abort": ProgressEvent; + "error": ProgressEvent; + "load": ProgressEvent; + "loadend": ProgressEvent; + "loadstart": ProgressEvent; + "progress": ProgressEvent; } -declare var HTMLUListElement: { - prototype: HTMLUListElement; - new(): HTMLUListElement; -}; - -interface HTMLLIElement extends HTMLElement { - /** - * Sets or retrieves the value of a list item. - */ - value: number; - type: string; - addEventListener(type: K, listener: (this: HTMLLIElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLLIElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLLIElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; +interface FileReader extends EventTarget { + readonly error: any; + onabort: (this: FileReader, ev: ProgressEvent) => any; + onerror: (this: FileReader, ev: ProgressEvent) => any; + onload: (this: FileReader, ev: ProgressEvent) => any; + onloadend: (this: FileReader, ev: ProgressEvent) => any; + onloadstart: (this: FileReader, ev: ProgressEvent) => any; + onprogress: (this: FileReader, ev: ProgressEvent) => any; + readonly readyState: number; + readonly result: string | ArrayBuffer | null; + abort(): void; + readAsArrayBuffer(blob: Blob): void; + readAsDataURL(blob: Blob): void; + readAsText(blob: Blob, label?: string): void; + readonly DONE: number; + readonly EMPTY: number; + readonly LOADING: number; + addEventListener(type: K, listener: (this: FileReader, ev: FileReaderEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLLIElement: { - prototype: HTMLLIElement; - new(): HTMLLIElement; -}; - -interface HTMLDListElement extends HTMLElement { - compact: boolean; - addEventListener(type: K, listener: (this: HTMLDListElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLDListElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLDListElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare var FileReader: { + prototype: FileReader; + new(): FileReader; + readonly DONE: number; + readonly EMPTY: number; + readonly LOADING: number; +}; + +interface FileReaderSync { + readAsArrayBuffer(blob: Blob): ArrayBuffer; + readAsDataURL(blob: Blob): string; + readAsText(blob: Blob, label?: string): string; } -declare var HTMLDListElement: { - prototype: HTMLDListElement; - new(): HTMLDListElement; +declare var FileReaderSync: { + prototype: FileReaderSync; + new(): FileReaderSync; }; -interface HTMLDivElement extends HTMLElement { - /** - * Sets or retrieves how the object is aligned with adjacent text. - */ - align: string; - addEventListener(type: K, listener: (this: HTMLDivElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLDivElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLDivElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface FocusEvent extends UIEvent { + readonly relatedTarget: EventTarget | null; } -declare var HTMLDivElement: { - prototype: HTMLDivElement; - new(): HTMLDivElement; +declare var FocusEvent: { + prototype: FocusEvent; + new(type: string, eventInitDict?: FocusEventInit): FocusEvent; }; -interface HTMLAnchorElement extends HTMLElement, HTMLHyperlinkElementUtils { - /** - * Sets or retrieves the window or frame at which to target content. - */ - target: string; - download: string; - ping: string; - /** - * Sets or retrieves the relationship between the object and the destination of the link. - */ - rel: string; - readonly relList: DOMTokenList; - /** - * Sets or retrieves the language code of the object. - */ - hreflang: string; - type: string; - /** - * Retrieves or sets the text of the object as a string. - */ - text: string; - referrerPolicy: string; - /** - * Sets or retrieves the coordinates of the object. - */ - coords: string; - /** - * Sets or retrieves the character set used to encode the object. - */ - charset: string; - /** - * Sets or retrieves the shape of the object. - */ - name: string; - /** - * Sets or retrieves the relationship between the object and the destination of the link. - */ - rev: string; - /** - * Sets or retrieves the shape of the object. - */ - shape: string; - addEventListener(type: K, listener: (this: HTMLAnchorElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLAnchorElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLAnchorElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface ForeignFetchEvent extends ExtendableEvent { + readonly origin: string; + readonly request: Request; + respondWith(r: Promise): void; } -declare var HTMLAnchorElement: { - prototype: HTMLAnchorElement; - new(): HTMLAnchorElement; +declare var ForeignFetchEvent: { + prototype: ForeignFetchEvent; + new(type: string, eventInitDict: ForeignFetchEventInit): ForeignFetchEvent; }; -interface HTMLDataElement extends HTMLElement { - value: string; - addEventListener(type: K, listener: (this: HTMLDataElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLDataElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLDataElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface FormData { + append(name: string, value: string | Blob, fileName?: string): void; + append(name: string, value: string | Blob, fileName?: string): void; + delete(name: string): void; + get(name: string): FormDataEntryValue | null; + getAll(name: string): FormDataEntryValue[]; + has(name: string): boolean; + set(name: string, value: string): void; + set(name: string, blobValue: Blob, filename?: string): void; } -declare var HTMLDataElement: { - prototype: HTMLDataElement; - new(): HTMLDataElement; +declare var FormData: { + prototype: FormData; + new (form?: HTMLFormElement): FormData; }; -interface HTMLTimeElement extends HTMLElement { - dateTime: string; - addEventListener(type: K, listener: (this: HTMLTimeElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLTimeElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLTimeElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface GainNode extends AudioNode { + readonly gain: AudioParam; } -declare var HTMLTimeElement: { - prototype: HTMLTimeElement; - new(): HTMLTimeElement; +declare var GainNode: { + prototype: GainNode; + new(context: BaseAudioContext, options?: GainOptions): GainNode; }; -interface HTMLSpanElement extends HTMLElement { - addEventListener(type: K, listener: (this: HTMLSpanElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLSpanElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLSpanElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface Gamepad { + readonly axes: number[]; + readonly buttons: GamepadButton[]; + readonly connected: boolean; + readonly id: string; + readonly index: number; + readonly mapping: GamepadMappingType; + readonly timestamp: number; } -declare var HTMLSpanElement: { - prototype: HTMLSpanElement; - new(): HTMLSpanElement; +declare var Gamepad: { + prototype: Gamepad; + new(): Gamepad; }; -interface HTMLBRElement extends HTMLElement { - /** - * Sets or retrieves the side on which floating objects are not to be positioned when any IHTMLBlockElement is inserted into the document. - */ - clear: string; - addEventListener(type: K, listener: (this: HTMLBRElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLBRElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLBRElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface GamepadButton { + readonly pressed: boolean; + readonly touched: boolean; + readonly value: number; } -declare var HTMLBRElement: { - prototype: HTMLBRElement; - new(): HTMLBRElement; +declare var GamepadButton: { + prototype: GamepadButton; + new(): GamepadButton; }; -interface HTMLModElement extends HTMLElement { - /** - * Sets or retrieves reference information about the object. - */ - cite: string; - /** - * Sets or retrieves the date and time of a modification to the object. - */ - dateTime: string; - addEventListener(type: K, listener: (this: HTMLModElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLModElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLModElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface GamepadEvent extends Event { + readonly gamepad: Gamepad; } -declare var HTMLModElement: { - prototype: HTMLModElement; - new(): HTMLModElement; +declare var GamepadEvent: { + prototype: GamepadEvent; + new(eventInitDict: GamepadEventInit): GamepadEvent; }; -interface HTMLPictureElement extends HTMLElement { - addEventListener(type: K, listener: (this: HTMLPictureElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLPictureElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLPictureElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface HashChangeEvent extends Event { + readonly newURL: string; + readonly oldURL: string; } -declare var HTMLPictureElement: { - prototype: HTMLPictureElement; - new(): HTMLPictureElement; +declare var HashChangeEvent: { + prototype: HashChangeEvent; + new(type: string, eventInitDict?: HashChangeEventInit): HashChangeEvent; }; -interface HTMLSourceElement extends HTMLElement { - /** - * The address or URL of the a media resource that is to be considered. - */ - src: string; - /** - * Gets or sets the MIME type of a media resource. - */ - type: string; - srcset: string; - sizes: string; - /** - * Gets or sets the intended media type of the media source. - */ - media: string; - addEventListener(type: K, listener: (this: HTMLSourceElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLSourceElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLSourceElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface Headers { + append(name: any, value: any): void; + delete(name: any): void; + get(name: any): any; + has(name: any): boolean; + set(name: any, value: any): void; } -declare var HTMLSourceElement: { - prototype: HTMLSourceElement; - new(): HTMLSourceElement; +declare var Headers: { + prototype: Headers; + new(init?: Headers | string[][] | object): Headers; }; -interface HTMLImageElement extends HTMLElement { - /** - * Sets or retrieves a text alternative to the graphic. - */ - alt: string; - /** - * The address or URL of the a media resource that is to be considered. - */ - src: string; - srcset: string; - sizes: string; - crossOrigin: string | null; - /** - * Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map. - */ - useMap: string; - /** - * Sets or retrieves whether the image is a server-side image map. - */ - isMap: boolean; - /** - * Sets or retrieves the width of the object. - */ - width: number; - /** - * Sets or retrieves the height of the object. - */ - height: number; +interface History { + readonly length: number; + scrollRestoration: ScrollRestoration; + readonly state: any; + back(): void; + forward(): void; + go(delta?: number): void; + pushState(data: any, title: string, url?: string | null): void; + replaceState(data: any, title: string, url?: string | null): void; +} + +declare var History: { + prototype: History; + new(): History; +}; + +interface HTMLAllCollection { + readonly length: number; + item(nameOrIndex?: string): HTMLCollection | Element | null; + namedItem(name: string): HTMLCollection | Element | null; + [index: number]: Element; +} + +declare var HTMLAllCollection: { + prototype: HTMLAllCollection; + new(): HTMLAllCollection; +}; + +interface HTMLAnchorElement extends HTMLElement, HTMLHyperlinkElementUtils { /** - * The original width of the image resource before sizing. + * Sets or retrieves the character set used to encode the object. */ - readonly naturalWidth: number; + charset: string; /** - * The original height of the image resource before sizing. + * Sets or retrieves the coordinates of the object. */ - readonly naturalHeight: number; + coords: string; + download: string; /** - * Retrieves whether the object is fully loaded. + * Sets or retrieves the language code of the object. */ - readonly complete: boolean; - readonly currentSrc: string; - referrerPolicy: string; + hreflang: string; /** - * Sets or retrieves the name of the object. + * Sets or retrieves the shape of the object. */ name: string; - lowsrc: string; + ping: string; + referrerPolicy: string; /** - * Sets or retrieves how the object is aligned with adjacent text. + * Sets or retrieves the relationship between the object and the destination of the link. */ - align: string; + rel: string; + readonly relList: DOMTokenList; /** - * Sets or retrieves the width of the border to draw around the object. + * Sets or retrieves the relationship between the object and the destination of the link. */ - hspace: number; + rev: string; /** - * Sets or retrieves the vertical margin for the object. + * Sets or retrieves the shape of the object. */ - vspace: number; + shape: string; /** - * Sets or retrieves a Uniform Resource Identifier (URI) to a long description of the object. + * Sets or retrieves the window or frame at which to target content. */ - longDesc: string; + target: string; /** - * Specifies the properties of a border drawn around an object. + * Retrieves or sets the text of the object as a string. */ - border: string; - readonly x: number; - readonly y: number; - addEventListener(type: K, listener: (this: HTMLImageElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLImageElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLImageElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + text: string; + type: string; + addEventListener(type: K, listener: (this: HTMLAnchorElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLAnchorElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLAnchorElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLImageElement: { - prototype: HTMLImageElement; - new(): HTMLImageElement; +declare var HTMLAnchorElement: { + prototype: HTMLAnchorElement; + new(): HTMLAnchorElement; }; -interface HTMLIFrameElement extends HTMLElement { +interface HTMLAppletElement extends HTMLElement { + align: string; /** - * Sets or retrieves a URL to be loaded by the object. + * Sets or retrieves a text alternative to the graphic. */ - src: string; - srcdoc: string; + alt: string; /** - * Sets or retrieves the frame name. + * Sets or retrieves a character string that can be used to implement your own archive functionality for the object. */ - name: string; - readonly sandbox: DOMTokenList; - allowFullscreen: boolean; - allowPaymentRequest: boolean; - allowUserMedia: boolean; + archive: string; + code: string; /** - * Sets or retrieves the width of the object. + * Sets or retrieves the URL of the component. */ - width: string; + codeBase: string; /** * Sets or retrieves the height of the object. */ height: string; - referrerPolicy: string; - /** - * Retrieves the document object of the page or frame. - */ - readonly contentDocument: Document | null; - /** - * Retrieves the object of the specified. - */ - readonly contentWindow: any; + hspace: number; /** - * Sets or retrieves how the object is aligned with adjacent text. + * Sets or retrieves the shape of the object. */ - align: string; + name: string; + object: string; + vspace: number; + width: string; + addEventListener(type: K, listener: (this: HTMLAppletElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLAppletElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLAppletElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLAppletElement: { + prototype: HTMLAppletElement; + new(): HTMLAppletElement; +}; + +interface HTMLAreaElement extends HTMLElement, HTMLHyperlinkElementUtils { /** - * Sets or retrieves whether the frame can be scrolled. + * Sets or retrieves a text alternative to the graphic. */ - scrolling: string; + alt: string; /** - * Sets or retrieves whether to display a border for the frame. + * Sets or retrieves the coordinates of the object. */ - frameBorder: string; + coords: string; + download: string; /** - * Sets or retrieves a URI to a long description of the object. + * Sets or gets whether clicks in this region cause action. */ - longDesc: string; + noHref: boolean; + ping: string; + referrerPolicy: string; + rel: string; + readonly relList: DOMTokenList; /** - * Sets or retrieves the top and bottom margin heights before displaying the text in a frame. + * Sets or retrieves the shape of the object. */ - marginHeight: string; + shape: string; /** - * Sets or retrieves the left and right margin widths before displaying the text in a frame. + * Sets or retrieves the window or frame at which to target content. */ - marginWidth: string; - getSVGDocument(): Document | null; - addEventListener(type: K, listener: (this: HTMLIFrameElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLIFrameElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLIFrameElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + target: string; + addEventListener(type: K, listener: (this: HTMLAreaElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLAreaElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLAreaElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLIFrameElement: { - prototype: HTMLIFrameElement; - new(): HTMLIFrameElement; +declare var HTMLAreaElement: { + prototype: HTMLAreaElement; + new(): HTMLAreaElement; }; -interface HTMLEmbedElement extends HTMLElement { - /** - * Sets or retrieves a URL to be loaded by the object. - */ - src: string; - type: string; - /** - * Sets or retrieves the width of the object. - */ - width: string; - /** - * Sets or retrieves the height of the object. - */ - height: string; - align: string; - /** - * Sets or retrieves the name of the object. - */ - name: string; - getSVGDocument(): Document | null; - addEventListener(type: K, listener: (this: HTMLEmbedElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLEmbedElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLEmbedElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; +interface HTMLAudioElement extends HTMLMediaElement { + addEventListener(type: K, listener: (this: HTMLAudioElement, ev: HTMLMediaElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLEmbedElement: { - prototype: HTMLEmbedElement; - new(): HTMLEmbedElement; +declare var HTMLAudioElement: { + prototype: HTMLAudioElement; + new(): HTMLAudioElement; }; -interface HTMLObjectElement extends HTMLElement { +interface HTMLBaseElement extends HTMLElement { /** - * Sets or retrieves the URL that references the data of the object. + * Gets or sets the baseline URL on which relative links are based. */ - data: string; + href: string; /** - * Sets or retrieves the MIME type of the object. + * Sets or retrieves the window or frame at which to target content. */ - type: string; - typeMustMatch: boolean; + target: string; + addEventListener(type: K, listener: (this: HTMLBaseElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLBaseElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLBaseElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLBaseElement: { + prototype: HTMLBaseElement; + new(): HTMLBaseElement; +}; + +interface HTMLBodyElement extends HTMLElement, WindowEventHandlers { + aLink: string; + background: string; + bgColor: string; + link: string; + text: string; + vLink: string; + addEventListener(type: K, listener: (this: HTMLBodyElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLBodyElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLBodyElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLBodyElement, ev: WindowEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLBodyElement: { + prototype: HTMLBodyElement; + new(): HTMLBodyElement; +}; + +interface HTMLBRElement extends HTMLElement { /** - * Sets or retrieves the name of the object. + * Sets or retrieves the side on which floating objects are not to be positioned when any IHTMLBlockElement is inserted into the document. */ - name: string; + clear: string; + addEventListener(type: K, listener: (this: HTMLBRElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLBRElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLBRElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLBRElement: { + prototype: HTMLBRElement; + new(): HTMLBRElement; +}; + +interface HTMLButtonElement extends HTMLElement { /** - * Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map. + * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing. */ - useMap: string; + autofocus: boolean; + disabled: boolean; /** * Retrieves a reference to the form that the object is embedded in. */ readonly form: HTMLFormElement | null; /** - * Sets or retrieves the width of the object. + * Overrides the action attribute (where the data on a form is sent) on the parent form element. */ - width: string; + formAction: string; /** - * Sets or retrieves the height of the object. + * Used to override the encoding (formEnctype attribute) specified on the form element. */ - height: string; + formEnctype: string; /** - * Retrieves the document object of the page or frame. + * Overrides the submit method attribute previously specified on a form element. */ - readonly contentDocument: Document | null; - readonly contentWindow: any; + formMethod: string; /** - * Returns whether an element will successfully validate based on forms validation rules and constraints. + * Overrides any validation or required attributes on a form or form elements to allow it to be submitted without validation. This can be used to create a "save draft"-type submit option. */ - readonly willValidate: boolean; + formNoValidate: boolean; /** - * Returns a ValidityState object that represents the validity states of an element. + * Overrides the target attribute on a form element. */ - readonly validity: ValidityState; + formTarget: string; + readonly labels: NodeList; /** - * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. + * Sets or retrieves the name of the object. */ - readonly validationMessage: string; - align: string; + name: string; /** - * Sets or retrieves a character string that can be used to implement your own archive functionality for the object. + * Gets the classification and default behavior of the button. */ - archive: string; + type: string; /** - * Sets or retrieves the URL of the file containing the compiled Java class. + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. */ - code: string; - declare: boolean; - hspace: number; + readonly validationMessage: string; /** - * Sets or retrieves a message to be displayed while an object is loading. + * Returns a ValidityState object that represents the validity states of an element. */ - standby: string; - vspace: number; + readonly validity: ValidityState; /** - * Sets or retrieves the URL of the component. + * Sets or retrieves the default or selected value of the control. */ - codeBase: string; + value: string; /** - * Sets or retrieves the Internet media type for the code associated with the object. + * Returns whether an element will successfully validate based on forms validation rules and constraints. */ - codeType: string; - border: string; - getSVGDocument(): Document | null; + readonly willValidate: boolean; /** * Returns whether a form will validate when it is submitted, without having to submit it. */ @@ -4814,861 +4085,873 @@ interface HTMLObjectElement extends HTMLElement { * @param error Sets a custom error message that is displayed when a form is submitted. */ setCustomValidity(error: string): void; - addEventListener(type: K, listener: (this: HTMLObjectElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLObjectElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLObjectElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLButtonElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLButtonElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLButtonElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLObjectElement: { - prototype: HTMLObjectElement; - new(): HTMLObjectElement; +declare var HTMLButtonElement: { + prototype: HTMLButtonElement; + new(): HTMLButtonElement; }; -interface HTMLParamElement extends HTMLElement { +interface HTMLCanvasElement extends HTMLElement { /** - * Sets or retrieves the name of an input parameter for an element. + * Gets or sets the height of a canvas element on a document. */ - name: string; + height: number; /** - * Sets or retrieves the value of an input parameter for an element. + * Gets or sets the width of a canvas element on a document. */ - value: string; + width: number; /** - * Sets or retrieves the content type of the resource designated by the value attribute. + * Returns an object that provides methods and properties for drawing and manipulating images and graphics on a canvas element in a document. A context object includes information about colors, line widths, fonts, and other graphic parameters that can be drawn on a canvas. + * @param contextId The identifier (ID) of the type of canvas to create. Internet Explorer 9 and Internet Explorer 10 support only a 2-D context using canvas.getContext("2d"); IE11 Preview also supports 3-D or WebGL context using canvas.getContext("experimental-webgl"); */ - type: string; + getContext(contextId: "2d", contextAttributes?: Canvas2DContextAttributes): CanvasRenderingContext2D | null; + getContext(contextId: "webgl" | "experimental-webgl", contextAttributes?: WebGLContextAttributes): WebGLRenderingContext | null; + getContext(contextId: string, contextAttributes?: {}): CanvasRenderingContext2D | WebGLRenderingContext | null; + toBlob(callback: BlobCallback, type?: string, quality?: any): void; /** - * Sets or retrieves the data type of the value attribute. + * Returns the content of the current canvas as an image that you can use as a source for another canvas or an HTML element. + * @param type The standard MIME type for the image format to return. If you do not specify this parameter, the default value is a PNG format image. */ - valueType: string; - addEventListener(type: K, listener: (this: HTMLParamElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLParamElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLParamElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + toDataURL(type?: string, quality?: any): string; + transferControlToOffscreen(): OffscreenCanvas; + toBlob(callback: (result: Blob | null) => void, type?: string, ...arguments: any[]): void; + addEventListener(type: K, listener: (this: HTMLCanvasElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLCanvasElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLCanvasElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLParamElement: { - prototype: HTMLParamElement; - new(): HTMLParamElement; +declare var HTMLCanvasElement: { + prototype: HTMLCanvasElement; + new(): HTMLCanvasElement; }; -interface HTMLVideoElement extends HTMLMediaElement { - /** - * Gets or sets the width of the video element. - */ - width: number; - /** - * Gets or sets the height of the video element. - */ - height: number; +interface HTMLCollectionBase { /** - * Gets the intrinsic width of a video in CSS pixels, or zero if the dimensions are not known. + * Sets or retrieves the number of objects in a collection. */ - readonly videoWidth: number; + readonly length: number; /** - * Gets the intrinsic height of a video in CSS pixels, or zero if the dimensions are not known. + * Retrieves an object from various collections. */ - readonly videoHeight: number; + item(index: number): Element; + [index: number]: Element; +} + +interface HTMLCollection extends HTMLCollectionBase { /** - * Gets or sets a URL of an image to display, for example, like a movie poster. This can be a still frame from the video, or another image if no video data is available. + * Retrieves a select object or an object from an options collection. */ - poster: string; - playsInline: boolean; - getVideoPlaybackQuality(): VideoPlaybackQuality; - addEventListener(type: K, listener: (this: HTMLVideoElement, ev: HTMLMediaElementEventMap[K]) => any, useCapture?: boolean): void; + namedItem(name: string): Element | null; +} + +declare var HTMLCollection: { + prototype: HTMLCollection; + new(): HTMLCollection; +}; + +interface HTMLDataElement extends HTMLElement { + value: string; + addEventListener(type: K, listener: (this: HTMLDataElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLDataElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLDataElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLVideoElement: { - prototype: HTMLVideoElement; - new(): HTMLVideoElement; +declare var HTMLDataElement: { + prototype: HTMLDataElement; + new(): HTMLDataElement; }; -interface HTMLAudioElement extends HTMLMediaElement { - addEventListener(type: K, listener: (this: HTMLAudioElement, ev: HTMLMediaElementEventMap[K]) => any, useCapture?: boolean): void; +interface HTMLDataListElement extends HTMLElement { + options: HTMLCollectionOf; + addEventListener(type: K, listener: (this: HTMLDataListElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLDataListElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLDataListElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLAudioElement: { - prototype: HTMLAudioElement; - new(): HTMLAudioElement; +declare var HTMLDataListElement: { + prototype: HTMLDataListElement; + new(): HTMLDataListElement; }; -interface HTMLTrackElement extends HTMLElement { - kind: string; - src: string; - srclang: string; - label: string; - default: boolean; - readonly readyState: number; - readonly track: TextTrack; - readonly NONE: number; - readonly LOADING: number; - readonly LOADED: number; - readonly ERROR: number; - addEventListener(type: K, listener: (this: HTMLTrackElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLTrackElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLTrackElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; +interface HTMLDetailsElement extends HTMLElement { + open: boolean; + addEventListener(type: K, listener: (this: HTMLDetailsElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLDetailsElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLDetailsElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLDetailsElement: { + prototype: HTMLDetailsElement; + new(): HTMLDetailsElement; +}; + +interface HTMLDialogElement extends HTMLElement { + open: boolean; + returnValue: string; + close(returnValue?: string): void; + show(): void; + showModal(): void; + addEventListener(type: K, listener: (this: HTMLDialogElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLDialogElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLDialogElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLDialogElement: { + prototype: HTMLDialogElement; + new(): HTMLDialogElement; +}; + +interface HTMLDirectoryElement extends HTMLElement { + compact: boolean; + addEventListener(type: K, listener: (this: HTMLDirectoryElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLDirectoryElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLDirectoryElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLDirectoryElement: { + prototype: HTMLDirectoryElement; + new(): HTMLDirectoryElement; +}; + +interface HTMLDivElement extends HTMLElement { + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + align: string; + addEventListener(type: K, listener: (this: HTMLDivElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLDivElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLDivElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLDivElement: { + prototype: HTMLDivElement; + new(): HTMLDivElement; +}; + +interface HTMLDListElement extends HTMLElement { + compact: boolean; + addEventListener(type: K, listener: (this: HTMLDListElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLDListElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLDListElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLDListElement: { + prototype: HTMLDListElement; + new(): HTMLDListElement; +}; + +interface HTMLElement extends Element, GlobalEventHandlers, DocumentAndElementEventHandlers, ElementContentEditable, ElementCSSInlineStyle { + accessKey: string; + readonly accessKeyLabel: string; + contextMenu: HTMLMenuElement | null; + readonly dataset: DOMStringMap; + dir: string; + draggable: boolean; + hidden: boolean; + innerText: string; + lang: string; + readonly offsetHeight: number; + readonly offsetLeft: number; + readonly offsetParent: Element | null; + readonly offsetTop: number; + readonly offsetWidth: number; + spellcheck: boolean; + tabIndex: number; + title: string; + translate: boolean; + blur(): void; + click(): void; + focus(): void; + forceSpellCheck(): void; + addEventListener(type: K, listener: (this: HTMLElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLTrackElement: { - prototype: HTMLTrackElement; - new(): HTMLTrackElement; - readonly NONE: number; - readonly LOADING: number; - readonly LOADED: number; - readonly ERROR: number; +declare var HTMLElement: { + prototype: HTMLElement; + new(): HTMLElement; }; -interface HTMLMediaElementEventMap extends ElementEventMap, GlobalEventHandlersEventMap, DocumentAndElementEventHandlersEventMap { - "encrypted": MediaEncryptedEvent; - "waitingforkey": Event; -} - -interface HTMLMediaElement extends HTMLElement { - /** - * Returns an object representing the current error state of the audio or video element. - */ - readonly error: MediaError | null; - /** - * The address or URL of the a media resource that is to be considered. - */ - src: string; - srcObject: MediaProvider | null; - /** - * Gets the address or URL of the current media resource that is selected by IHTMLMediaElement. - */ - readonly currentSrc: string; - crossOrigin: string | null; - /** - * Gets the current network activity for the element. - */ - readonly networkState: number; - /** - * Gets or sets the current playback position, in seconds. - */ - preload: string; - /** - * Gets a collection of buffered time ranges. - */ - readonly buffered: TimeRanges; - readyState: number; - /** - * Gets a flag that indicates whether the the client is currently moving to a new playback position in the media resource. - */ - readonly seeking: boolean; - /** - * Gets or sets the current playback position, in seconds. - */ - currentTime: number; - /** - * Returns the duration in seconds of the current media resource. A NaN value is returned if duration is not available, or Infinity if the media resource is streaming. - */ - readonly duration: number; - /** - * Gets a flag that specifies whether playback is paused. - */ - readonly paused: boolean; - /** - * Gets or sets the default playback rate when the user is not using fast forward or reverse for a video or audio resource. - */ - defaultPlaybackRate: number; - /** - * Gets or sets the current rate of speed for the media resource to play. This speed is expressed as a multiple of the normal speed of the media resource. - */ - playbackRate: number; - /** - * Gets TimeRanges for the current media resource that has been played. - */ - readonly played: TimeRanges; - /** - * Returns a TimeRanges object that represents the ranges of the current media resource that can be seeked. - */ - readonly seekable: TimeRanges; - /** - * Gets information about whether the playback has ended or not. - */ - readonly ended: boolean; +interface HTMLEmbedElement extends HTMLElement { + align: string; /** - * Gets or sets a value that indicates whether to start playing the media automatically. + * Sets or retrieves the height of the object. */ - autoplay: boolean; + height: string; /** - * Gets or sets a flag to specify whether playback should restart after it completes. + * Sets or retrieves the name of the object. */ - loop: boolean; + name: string; /** - * Gets or sets a flag that indicates whether the client provides a set of controls for the media (in case the developer does not include controls for the player). + * Sets or retrieves a URL to be loaded by the object. */ - controls: boolean; + src: string; + type: string; /** - * Gets or sets the volume level for audio portions of the media element. + * Sets or retrieves the width of the object. */ - volume: number; + width: string; + getSVGDocument(): Document | null; + addEventListener(type: K, listener: (this: HTMLEmbedElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLEmbedElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLEmbedElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLEmbedElement: { + prototype: HTMLEmbedElement; + new(): HTMLEmbedElement; +}; + +interface HTMLFieldSetElement extends HTMLElement { + disabled: boolean; + readonly elements: HTMLCollection; /** - * Gets or sets a flag that indicates whether the audio (either audio or the audio track on video media) is muted. + * Retrieves a reference to the form that the object is embedded in. */ - muted: boolean; - defaultMuted: boolean; + readonly form: HTMLFormElement | null; + name: string; + readonly type: string; /** - * Returns an AudioTrackList object with the audio tracks for a given video element. + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. */ - readonly audioTracks: AudioTrackList; - readonly videoTracks: VideoTrackList; - readonly textTracks: TextTrackList; - readonly mediaKeys: MediaKeys | null; - onencrypted: (this: HTMLMediaElement, ev: MediaEncryptedEvent) => any; - onwaitingforkey: (this: HTMLMediaElement, ev: Event) => any; + readonly validationMessage: string; /** - * Resets the audio or video object and loads a new media resource. + * Returns a ValidityState object that represents the validity states of an element. */ - load(): void; + readonly validity: ValidityState; /** - * Returns a string that specifies whether the client can play a given media resource type. + * Returns whether an element will successfully validate based on forms validation rules and constraints. */ - canPlayType(type: string): CanPlayTypeResult; - fastSeek(time: number): void; - getStartDate(): any; + readonly willValidate: boolean; /** - * Loads and starts playback of a media resource. + * Returns whether a form will validate when it is submitted, without having to submit it. */ - play(): Promise; + checkValidity(): boolean; + reportValidity(): boolean; /** - * Pauses the current playback and sets paused to TRUE. This can be used to test whether the media is playing or paused. You can also use the pause or play events to tell whether the media is playing or not. + * Sets a custom error message that is displayed when a form is submitted. + * @param error Sets a custom error message that is displayed when a form is submitted. */ - pause(): void; - addTextTrack(kind: TextTrackKind, label?: string, language?: string): TextTrack; - setMediaKeys(mediaKeys: MediaKeys | null): Promise; - readonly NETWORK_EMPTY: number; - readonly NETWORK_IDLE: number; - readonly NETWORK_LOADING: number; - readonly NETWORK_NO_SOURCE: number; - readonly HAVE_NOTHING: number; - readonly HAVE_METADATA: number; - readonly HAVE_CURRENT_DATA: number; - readonly HAVE_FUTURE_DATA: number; - readonly HAVE_ENOUGH_DATA: number; - addEventListener(type: K, listener: (this: HTMLMediaElement, ev: HTMLMediaElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var HTMLMediaElement: { - prototype: HTMLMediaElement; - new(): HTMLMediaElement; - readonly NETWORK_EMPTY: number; - readonly NETWORK_IDLE: number; - readonly NETWORK_LOADING: number; - readonly NETWORK_NO_SOURCE: number; - readonly HAVE_NOTHING: number; - readonly HAVE_METADATA: number; - readonly HAVE_CURRENT_DATA: number; - readonly HAVE_FUTURE_DATA: number; - readonly HAVE_ENOUGH_DATA: number; -}; - -interface MediaError { - readonly code: number; - readonly message: string; - readonly MEDIA_ERR_ABORTED: number; - readonly MEDIA_ERR_NETWORK: number; - readonly MEDIA_ERR_DECODE: number; - readonly MEDIA_ERR_SRC_NOT_SUPPORTED: number; -} - -declare var MediaError: { - prototype: MediaError; - new(): MediaError; - readonly MEDIA_ERR_ABORTED: number; - readonly MEDIA_ERR_NETWORK: number; - readonly MEDIA_ERR_DECODE: number; - readonly MEDIA_ERR_SRC_NOT_SUPPORTED: number; -}; - -interface AudioTrackListEventMap { - "change": Event; - "addtrack": TrackEvent; - "removetrack": TrackEvent; -} - -interface AudioTrackList extends EventTarget { - readonly length: number; - onchange: (this: AudioTrackList, ev: Event) => any; - onaddtrack: (this: AudioTrackList, ev: TrackEvent) => any; - onremovetrack: (this: AudioTrackList, ev: TrackEvent) => any; - getTrackById(id: string): AudioTrack | null; - addEventListener(type: K, listener: (this: AudioTrackList, ev: AudioTrackListEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; - [index: number]: AudioTrack; -} - -declare var AudioTrackList: { - prototype: AudioTrackList; - new(): AudioTrackList; -}; - -interface AudioTrack { - readonly id: string; - readonly kind: string; - readonly label: string; - readonly language: string; - enabled: boolean; - readonly sourceBuffer: SourceBuffer | null; + setCustomValidity(error: string): void; + addEventListener(type: K, listener: (this: HTMLFieldSetElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLFieldSetElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLFieldSetElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var AudioTrack: { - prototype: AudioTrack; - new(): AudioTrack; +declare var HTMLFieldSetElement: { + prototype: HTMLFieldSetElement; + new(): HTMLFieldSetElement; }; -interface VideoTrackListEventMap { - "change": Event; - "addtrack": TrackEvent; - "removetrack": TrackEvent; -} - -interface VideoTrackList extends EventTarget { - readonly length: number; - readonly selectedIndex: number; - onchange: (this: VideoTrackList, ev: Event) => any; - onaddtrack: (this: VideoTrackList, ev: TrackEvent) => any; - onremovetrack: (this: VideoTrackList, ev: TrackEvent) => any; - getTrackById(id: string): VideoTrack | null; - addEventListener(type: K, listener: (this: VideoTrackList, ev: VideoTrackListEventMap[K]) => any, useCapture?: boolean): void; +interface HTMLFontElement extends HTMLElement { + color: string; + /** + * Sets or retrieves the current typeface family. + */ + face: string; + size: string; + addEventListener(type: K, listener: (this: HTMLFontElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLFontElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLFontElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; - [index: number]: VideoTrack; } -declare var VideoTrackList: { - prototype: VideoTrackList; - new(): VideoTrackList; +declare var HTMLFontElement: { + prototype: HTMLFontElement; + new(): HTMLFontElement; }; -interface VideoTrack { - readonly id: string; - readonly kind: string; - readonly label: string; - readonly language: string; - selected: boolean; - readonly sourceBuffer: SourceBuffer | null; +interface HTMLFormControlsCollection extends HTMLCollectionBase { + namedItem(name: string): RadioNodeList | Element | null; } -declare var VideoTrack: { - prototype: VideoTrack; - new(): VideoTrack; +declare var HTMLFormControlsCollection: { + prototype: HTMLFormControlsCollection; + new(): HTMLFormControlsCollection; }; -interface TextTrackListEventMap { - "change": Event; - "addtrack": TrackEvent; - "removetrack": TrackEvent; -} - -interface TextTrackList extends EventTarget { +interface HTMLFormElement extends HTMLElement { + /** + * Sets or retrieves a list of character encodings for input data that must be accepted by the server processing the form. + */ + acceptCharset: string; + /** + * Sets or retrieves the URL to which the form content is sent for processing. + */ + action: string; + /** + * Specifies whether autocomplete is applied to an editable text field. + */ + autocomplete: string; + /** + * Retrieves a collection, in source order, of all controls in a given form. + */ + readonly elements: HTMLFormControlsCollection; + /** + * Sets or retrieves the MIME encoding for the form. + */ + encoding: string; + /** + * Sets or retrieves the encoding type for the form. + */ + enctype: string; + /** + * Sets or retrieves the number of objects in a collection. + */ readonly length: number; - onchange: (this: TextTrackList, ev: Event) => any; - onaddtrack: (this: TextTrackList, ev: TrackEvent) => any; - onremovetrack: (this: TextTrackList, ev: TrackEvent) => any; - getTrackById(id: string): TextTrack | null; - addEventListener(type: K, listener: (this: TextTrackList, ev: TextTrackListEventMap[K]) => any, useCapture?: boolean): void; + /** + * Sets or retrieves how to send the form data to the server. + */ + method: string; + /** + * Sets or retrieves the name of the object. + */ + name: string; + /** + * Designates a form that is not validated when submitted. + */ + noValidate: boolean; + /** + * Sets or retrieves the window or frame at which to target content. + */ + target: string; + /** + * Returns whether a form will validate when it is submitted, without having to submit it. + */ + checkValidity(): boolean; + reportValidity(): boolean; + /** + * Fires when the user resets a form. + */ + reset(): void; + /** + * Fires when a FORM is about to be submitted. + */ + submit(): void; + addEventListener(type: K, listener: (this: HTMLFormElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLFormElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLFormElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; - [index: number]: TextTrack; + [index: number]: Element; } -declare var TextTrackList: { - prototype: TextTrackList; - new(): TextTrackList; +declare var HTMLFormElement: { + prototype: HTMLFormElement; + new(): HTMLFormElement; }; -interface TextTrackEventMap { - "cuechange": Event; -} - -interface TextTrack extends EventTarget { - readonly kind: TextTrackKind; - readonly label: string; - readonly language: string; - readonly id: string; - readonly inBandMetadataTrackDispatchType: string; - mode: TextTrackMode; - readonly cues: TextTrackCueList | null; - readonly activeCues: TextTrackCueList | null; - oncuechange: (this: TextTrack, ev: Event) => any; - readonly sourceBuffer: SourceBuffer | null; - addCue(cue: TextTrackCue): void; - removeCue(cue: TextTrackCue): void; - addEventListener(type: K, listener: (this: TextTrack, ev: TextTrackEventMap[K]) => any, useCapture?: boolean): void; +interface HTMLFrameElement extends HTMLElement { + /** + * Retrieves the document object of the page or frame. + */ + readonly contentDocument: Document | null; + /** + * Retrieves the object of the specified. + */ + readonly contentWindow: any; + /** + * Sets or retrieves whether to display a border for the frame. + */ + frameBorder: string; + /** + * Sets or retrieves a URI to a long description of the object. + */ + longDesc: string; + /** + * Sets or retrieves the top and bottom margin heights before displaying the text in a frame. + */ + marginHeight: string; + /** + * Sets or retrieves the left and right margin widths before displaying the text in a frame. + */ + marginWidth: string; + /** + * Sets or retrieves the frame name. + */ + name: string; + /** + * Sets or retrieves whether the user can resize the frame. + */ + noResize: boolean; + /** + * Sets or retrieves whether the frame can be scrolled. + */ + scrolling: string; + /** + * Sets or retrieves a URL to be loaded by the object. + */ + src: string; + addEventListener(type: K, listener: (this: HTMLFrameElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLFrameElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLFrameElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var TextTrack: { - prototype: TextTrack; - new(): TextTrack; -}; - -interface TextTrackCueList { - readonly length: number; - getCueById(id: string): TextTrackCue | null; - [index: number]: TextTrackCue; -} - -declare var TextTrackCueList: { - prototype: TextTrackCueList; - new(): TextTrackCueList; +declare var HTMLFrameElement: { + prototype: HTMLFrameElement; + new(): HTMLFrameElement; }; -interface TextTrackCueEventMap { - "enter": Event; - "exit": Event; -} - -interface TextTrackCue extends EventTarget { - readonly track: TextTrack | null; - id: string; - startTime: number; - endTime: number; - pauseOnExit: boolean; - onenter: (this: TextTrackCue, ev: Event) => any; - onexit: (this: TextTrackCue, ev: Event) => any; - addEventListener(type: K, listener: (this: TextTrackCue, ev: TextTrackCueEventMap[K]) => any, useCapture?: boolean): void; +interface HTMLFrameSetElement extends HTMLElement, WindowEventHandlers { + /** + * Sets or retrieves the frame widths of the object. + */ + cols: string; + /** + * Sets or retrieves the frame heights of the object. + */ + rows: string; + addEventListener(type: K, listener: (this: HTMLFrameSetElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLFrameSetElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLFrameSetElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLFrameSetElement, ev: WindowEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var TextTrackCue: { - prototype: TextTrackCue; - new(): TextTrackCue; -}; - -interface TimeRanges { - readonly length: number; - start(index: number): number; - end(index: number): number; -} - -declare var TimeRanges: { - prototype: TimeRanges; - new(): TimeRanges; +declare var HTMLFrameSetElement: { + prototype: HTMLFrameSetElement; + new(): HTMLFrameSetElement; }; -interface TrackEvent extends Event { - readonly track: VideoTrack | AudioTrack | TextTrack | null; +interface HTMLHeadElement extends HTMLElement { + addEventListener(type: K, listener: (this: HTMLHeadElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLHeadElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLHeadElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var TrackEvent: { - prototype: TrackEvent; - new(type: string, eventInitDict?: TrackEventInit): TrackEvent; +declare var HTMLHeadElement: { + prototype: HTMLHeadElement; + new(): HTMLHeadElement; }; -interface HTMLMapElement extends HTMLElement { - /** - * Sets or retrieves the name of the object. - */ - name: string; +interface HTMLHeadingElement extends HTMLElement { /** - * Retrieves a collection of the area objects defined for the given map object. + * Sets or retrieves a value that indicates the table alignment. */ - readonly areas: HTMLCollection; - addEventListener(type: K, listener: (this: HTMLMapElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLMapElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLMapElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + align: string; + addEventListener(type: K, listener: (this: HTMLHeadingElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLHeadingElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLHeadingElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLMapElement: { - prototype: HTMLMapElement; - new(): HTMLMapElement; +declare var HTMLHeadingElement: { + prototype: HTMLHeadingElement; + new(): HTMLHeadingElement; }; -interface HTMLAreaElement extends HTMLElement, HTMLHyperlinkElementUtils { - /** - * Sets or retrieves a text alternative to the graphic. - */ - alt: string; +interface HTMLHRElement extends HTMLElement { /** - * Sets or retrieves the coordinates of the object. + * Sets or retrieves how the object is aligned with adjacent text. */ - coords: string; + align: string; + color: string; /** - * Sets or retrieves the shape of the object. + * Sets or retrieves whether the horizontal rule is drawn with 3-D shading. */ - shape: string; + noShade: boolean; + size: string; /** - * Sets or retrieves the window or frame at which to target content. + * Sets or retrieves the width of the object. */ - target: string; - download: string; - ping: string; - rel: string; - readonly relList: DOMTokenList; - referrerPolicy: string; + width: string; + addEventListener(type: K, listener: (this: HTMLHRElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLHRElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLHRElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLHRElement: { + prototype: HTMLHRElement; + new(): HTMLHRElement; +}; + +interface HTMLHtmlElement extends HTMLElement { /** - * Sets or gets whether clicks in this region cause action. + * Sets or retrieves the DTD version that governs the current document. */ - noHref: boolean; - addEventListener(type: K, listener: (this: HTMLAreaElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLAreaElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLAreaElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + version: string; + addEventListener(type: K, listener: (this: HTMLHtmlElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLHtmlElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLHtmlElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLAreaElement: { - prototype: HTMLAreaElement; - new(): HTMLAreaElement; +declare var HTMLHtmlElement: { + prototype: HTMLHtmlElement; + new(): HTMLHtmlElement; }; -interface HTMLTableElement extends HTMLElement { +interface HTMLIFrameElement extends HTMLElement { /** - * Retrieves the caption object of a table. + * Sets or retrieves how the object is aligned with adjacent text. */ - caption: HTMLTableCaptionElement | null; + align: string; + allowFullscreen: boolean; + allowPaymentRequest: boolean; + allowUserMedia: boolean; + allowUserMedia: boolean; /** - * Retrieves the tHead object of the table. + * Retrieves the document object of the page or frame. */ - tHead: HTMLTableSectionElement | null; + readonly contentDocument: Document | null; /** - * Retrieves the tFoot object of the table. + * Retrieves the object of the specified. */ - tFoot: HTMLTableSectionElement | null; + readonly contentWindow: any; /** - * Retrieves a collection of all tBody objects in the table. Objects in this collection are in source order. + * Sets or retrieves whether to display a border for the frame. */ - tBodies: HTMLCollectionOf; + frameBorder: string; /** - * Sets or retrieves the number of horizontal rows contained in the object. + * Sets or retrieves the height of the object. */ - rows: HTMLCollectionOf; + height: string; /** - * Sets or retrieves a value that indicates the table alignment. + * Sets or retrieves a URI to a long description of the object. */ - align: string; + longDesc: string; /** - * Sets or retrieves the width of the border to draw around the object. + * Sets or retrieves the top and bottom margin heights before displaying the text in a frame. */ - border: string; + marginHeight: string; /** - * Sets or retrieves the way the border frame around the table is displayed. + * Sets or retrieves the left and right margin widths before displaying the text in a frame. */ - frame: string; + marginWidth: string; /** - * Sets or retrieves which dividing lines (inner borders) are displayed. + * Sets or retrieves the frame name. */ - rules: string; + name: string; + referrerPolicy: string; + readonly sandbox: DOMTokenList; /** - * Sets or retrieves a description and/or structure of the object. + * Sets or retrieves whether the frame can be scrolled. */ - summary: string; + scrolling: string; + /** + * Sets or retrieves a URL to be loaded by the object. + */ + src: string; + srcdoc: string; /** * Sets or retrieves the width of the object. */ width: string; - bgColor: string; + getSVGDocument(): Document | null; + addEventListener(type: K, listener: (this: HTMLIFrameElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLIFrameElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLIFrameElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLIFrameElement: { + prototype: HTMLIFrameElement; + new(): HTMLIFrameElement; +}; + +interface HTMLImageElement extends HTMLElement { /** - * Sets or retrieves the amount of space between the border of the cell and the content of the cell. + * Sets or retrieves how the object is aligned with adjacent text. */ - cellPadding: string; + align: string; /** - * Sets or retrieves the amount of space between cells in a table. + * Sets or retrieves a text alternative to the graphic. */ - cellSpacing: string; + alt: string; /** - * Creates an empty caption element in the table. + * Specifies the properties of a border drawn around an object. */ - createCaption(): HTMLTableCaptionElement; + border: string; /** - * Deletes the caption element and its contents from the table. + * Retrieves whether the object is fully loaded. */ - deleteCaption(): void; + readonly complete: boolean; + crossOrigin: string | null; + readonly currentSrc: string; /** - * Returns the tHead element object if successful, or null otherwise. + * Sets or retrieves the height of the object. */ - createTHead(): HTMLTableSectionElement; + height: number; /** - * Deletes the tHead element and its contents from the table. + * Sets or retrieves the width of the border to draw around the object. */ - deleteTHead(): void; + hspace: number; /** - * Creates an empty tFoot element in the table. + * Sets or retrieves whether the image is a server-side image map. */ - createTFoot(): HTMLTableSectionElement; + isMap: boolean; /** - * Deletes the tFoot element and its contents from the table. + * Sets or retrieves a Uniform Resource Identifier (URI) to a long description of the object. */ - deleteTFoot(): void; + longDesc: string; + lowsrc: string; /** - * Creates an empty tBody element in the table. + * Sets or retrieves the name of the object. */ - createTBody(): HTMLTableSectionElement; + name: string; /** - * Creates a new row (tr) in the table, and adds the row to the rows collection. - * @param index Number that specifies where to insert the row in the rows collection. The default value is -1, which appends the new row to the end of the rows collection. + * The original height of the image resource before sizing. */ - insertRow(index?: number): HTMLTableRowElement; + readonly naturalHeight: number; /** - * Removes the specified row (tr) from the element and from the rows collection. - * @param index Number that specifies the zero-based position in the rows collection of the row to remove. + * The original width of the image resource before sizing. */ - deleteRow(index: number): void; - addEventListener(type: K, listener: (this: HTMLTableElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLTableElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLTableElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var HTMLTableElement: { - prototype: HTMLTableElement; - new(): HTMLTableElement; -}; - -interface HTMLTableCaptionElement extends HTMLElement { + readonly naturalWidth: number; + referrerPolicy: string; + sizes: string; /** - * Sets or retrieves the alignment of the caption or legend. + * The address or URL of the a media resource that is to be considered. */ - align: string; - addEventListener(type: K, listener: (this: HTMLTableCaptionElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLTableCaptionElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLTableCaptionElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var HTMLTableCaptionElement: { - prototype: HTMLTableCaptionElement; - new(): HTMLTableCaptionElement; -}; - -interface HTMLTableColElement extends HTMLElement { + src: string; + srcset: string; /** - * Sets or retrieves the number of columns in the group. + * Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map. */ - span: number; + useMap: string; /** - * Sets or retrieves the alignment of the object relative to the display or table. + * Sets or retrieves the vertical margin for the object. */ - align: string; - ch: string; - chOff: string; - vAlign: string; + vspace: number; /** * Sets or retrieves the width of the object. */ - width: string; - addEventListener(type: K, listener: (this: HTMLTableColElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLTableColElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLTableColElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + width: number; + readonly x: number; + readonly y: number; + addEventListener(type: K, listener: (this: HTMLImageElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLImageElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLImageElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLTableColElement: { - prototype: HTMLTableColElement; - new(): HTMLTableColElement; +declare var HTMLImageElement: { + prototype: HTMLImageElement; + new(): HTMLImageElement; }; -interface HTMLTableSectionElement extends HTMLElement { +interface HTMLInputElement extends HTMLElement { /** - * Sets or retrieves the number of horizontal rows contained in the object. + * Sets or retrieves a comma-separated list of content types. */ - rows: HTMLCollectionOf; + accept: string; /** - * Sets or retrieves a value that indicates the table alignment. + * Sets or retrieves how the object is aligned with adjacent text. */ align: string; - ch: string; - chOff: string; - vAlign: string; /** - * Creates a new row (tr) in the table, and adds the row to the rows collection. - * @param index Number that specifies where to insert the row in the rows collection. The default value is -1, which appends the new row to the end of the rows collection. + * Sets or retrieves a text alternative to the graphic. */ - insertRow(index?: number): HTMLTableRowElement; + alt: string; /** - * Removes the specified row (tr) from the element and from the rows collection. - * @param index Number that specifies the zero-based position in the rows collection of the row to remove. + * Specifies whether autocomplete is applied to an editable text field. */ - deleteRow(index: number): void; - addEventListener(type: K, listener: (this: HTMLTableSectionElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLTableSectionElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLTableSectionElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var HTMLTableSectionElement: { - prototype: HTMLTableSectionElement; - new(): HTMLTableSectionElement; -}; - -interface HTMLTableRowElement extends HTMLElement { + autocomplete: string; /** - * Retrieves the position of the object in the rows collection for the table. + * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing. */ - readonly rowIndex: number; + autofocus: boolean; /** - * Retrieves the position of the object in the collection. + * Sets or retrieves the state of the check box or radio button. */ - readonly sectionRowIndex: number; + checked: boolean; /** - * Retrieves a collection of all cells in the table row. + * Sets or retrieves the state of the check box or radio button. */ - cells: HTMLCollectionOf; + defaultChecked: boolean; /** - * Sets or retrieves how the object is aligned with adjacent text. + * Sets or retrieves the initial contents of the object. */ - align: string; - ch: string; - chOff: string; - vAlign: string; - bgColor: string; + defaultValue: string; + dirName: string; + disabled: boolean; /** - * Creates a new cell in the table row, and adds the cell to the cells collection. - * @param index Number that specifies where to insert the cell in the tr. The default value is -1, which appends the new cell to the end of the cells collection. + * Returns a FileList object on a file type input object. */ - insertCell(index?: number): HTMLTableCellElement; + readonly files: FileList | null; /** - * Removes the specified cell from the table row, as well as from the cells collection. - * @param index Number that specifies the zero-based position of the cell to remove from the table row. If no value is provided, the last cell in the cells collection is deleted. + * Retrieves a reference to the form that the object is embedded in. */ - deleteCell(index: number): void; - addEventListener(type: K, listener: (this: HTMLTableRowElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLTableRowElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLTableRowElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var HTMLTableRowElement: { - prototype: HTMLTableRowElement; - new(): HTMLTableRowElement; -}; - -interface HTMLTableCellElement extends HTMLElement { + readonly form: HTMLFormElement | null; /** - * Sets or retrieves the number columns in the table that the object should span. + * Overrides the action attribute (where the data on a form is sent) on the parent form element. */ - colSpan: number; + formAction: string; /** - * Sets or retrieves how many rows in a table the cell should span. + * Used to override the encoding (formEnctype attribute) specified on the form element. */ - rowSpan: number; + formEnctype: string; /** - * Sets or retrieves a list of header cells that provide information for the object. + * Overrides the submit method attribute previously specified on a form element. */ - headers: string; + formMethod: string; /** - * Retrieves the position of the object in the cells collection of a row. + * Overrides any validation or required attributes on a form or form elements to allow it to be submitted without validation. This can be used to create a "save draft"-type submit option. */ - readonly cellIndex: number; + formNoValidate: boolean; /** - * Sets or retrieves the group of cells in a table to which the object's information applies. + * Overrides the target attribute on a form element. */ - scope: string; + formTarget: string; /** - * Sets or retrieves abbreviated text for the object. + * Sets or retrieves the height of the object. */ - abbr: string; + height: number; + indeterminate: boolean; + inputMode: string; + readonly labels: NodeList | null; /** - * Sets or retrieves how the object is aligned with adjacent text. + * Specifies the ID of a pre-defined datalist of options for an input element. */ - align: string; + readonly list: HTMLElement | null; /** - * Sets or retrieves a comma-delimited list of conceptual categories associated with the object. + * Defines the maximum acceptable value for an input element with type="number".When used with the min and step attributes, lets you control the range and increment (such as only even numbers) that the user can enter into an input field. */ - axis: string; + max: string; /** - * Sets or retrieves the height of the object. + * Sets or retrieves the maximum number of characters that the user can enter in a text control. */ - height: string; + maxLength: number; /** - * Sets or retrieves the width of the object. + * Defines the minimum acceptable value for an input element with type="number". When used with the max and step attributes, lets you control the range and increment (such as even numbers only) that the user can enter into an input field. */ - width: string; - ch: string; - chOff: string; + min: string; + minLength: number; /** - * Sets or retrieves whether the browser automatically performs wordwrap. + * Sets or retrieves the Boolean value indicating whether multiple items can be selected from a list. */ - noWrap: boolean; - vAlign: string; - bgColor: string; - addEventListener(type: K, listener: (this: HTMLTableCellElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLTableCellElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLTableCellElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var HTMLTableCellElement: { - prototype: HTMLTableCellElement; - new(): HTMLTableCellElement; -}; - -interface HTMLFormElement extends HTMLElement { + multiple: boolean; /** - * Sets or retrieves a list of character encodings for input data that must be accepted by the server processing the form. + * Sets or retrieves the name of the object. */ - acceptCharset: string; + name: string; /** - * Sets or retrieves the URL to which the form content is sent for processing. + * Gets or sets a string containing a regular expression that the user's input must match. */ - action: string; + pattern: string; /** - * Specifies whether autocomplete is applied to an editable text field. + * Gets or sets a text string that is displayed in an input field as a hint or prompt to users as the format or type of information they need to enter.The text appears in an input field until the user puts focus on the field. */ - autocomplete: string; + placeholder: string; + readOnly: boolean; /** - * Sets or retrieves the encoding type for the form. + * When present, marks an element that can't be submitted without a value. */ - enctype: string; + required: boolean; + selectionDirection: string | null; /** - * Sets or retrieves the MIME encoding for the form. + * Gets or sets the end position or offset of a text selection. */ - encoding: string; + selectionEnd: number | null; /** - * Sets or retrieves how to send the form data to the server. + * Gets or sets the starting position or offset of a text selection. */ - method: string; + selectionStart: number | null; + size: number; /** - * Sets or retrieves the name of the object. + * The address or URL of the a media resource that is to be considered. */ - name: string; + src: string; /** - * Designates a form that is not validated when submitted. + * Defines an increment or jump between values that you want to allow the user to enter. When used with the max and min attributes, lets you control the range and increment (for example, allow only even numbers) that the user can enter into an input field. */ - noValidate: boolean; + step: string; /** - * Sets or retrieves the window or frame at which to target content. + * Returns the content type of the object. */ - target: string; + type: string; /** - * Retrieves a collection, in source order, of all controls in a given form. + * Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map. */ - readonly elements: HTMLFormControlsCollection; + useMap: string; /** - * Sets or retrieves the number of objects in a collection. + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. */ - readonly length: number; + readonly validationMessage: string; /** - * Fires when a FORM is about to be submitted. + * Returns a ValidityState object that represents the validity states of an element. */ - submit(): void; + readonly validity: ValidityState; /** - * Fires when the user resets a form. + * Returns the value of the data at the cursor's current position. */ - reset(): void; + value: string; + valueAsDate: any; + /** + * Returns the input field value as a number. + */ + valueAsNumber: number; + /** + * Sets or retrieves the width of the object. + */ + width: number; + /** + * Returns whether an element will successfully validate based on forms validation rules and constraints. + */ + readonly willValidate: boolean; /** * Returns whether a form will validate when it is submitted, without having to submit it. */ checkValidity(): boolean; reportValidity(): boolean; - addEventListener(type: K, listener: (this: HTMLFormElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLFormElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLFormElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + /** + * Makes the selection equal to the current object. + */ + select(): void; + /** + * Sets a custom error message that is displayed when a form is submitted. + * @param error Sets a custom error message that is displayed when a form is submitted. + */ + setCustomValidity(error: string): void; + setRangeText(replacement: string): void; + setRangeText(replacement: string, start: number, end: number, selectionMode?: SelectionMode): void; + /** + * 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. + */ + setSelectionRange(start: number, end: number, direction?: string): 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. + */ + stepDown(n?: number): void; + /** + * Increments a range input control's value by the value given by the Step attribute. If the optional parameter is used, will increment the input control's value by that value. + * @param n Value to increment the value by. + */ + stepUp(n?: number): void; + addEventListener(type: K, listener: (this: HTMLInputElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLInputElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLInputElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; - [index: number]: Element; } -declare var HTMLFormElement: { - prototype: HTMLFormElement; - new(): HTMLFormElement; +declare var HTMLInputElement: { + prototype: HTMLInputElement; + new(): HTMLInputElement; }; interface HTMLLabelElement extends HTMLElement { + readonly control: HTMLElement | null; /** * Retrieves a reference to the form that the object is embedded in. */ @@ -5677,7 +4960,6 @@ interface HTMLLabelElement extends HTMLElement { * Sets or retrieves the object to which the given label object is assigned. */ htmlFor: string; - readonly control: HTMLElement | null; addEventListener(type: K, listener: (this: HTMLLabelElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLLabelElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLLabelElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; @@ -5689,1386 +4971,1670 @@ declare var HTMLLabelElement: { new(): HTMLLabelElement; }; -interface HTMLInputElement extends HTMLElement { +interface HTMLLegendElement extends HTMLElement { /** - * Sets or retrieves a comma-separated list of content types. + * Retrieves a reference to the form that the object is embedded in. */ - accept: string; + align: string; /** - * Sets or retrieves a text alternative to the graphic. + * Retrieves a reference to the form that the object is embedded in. */ - alt: string; + readonly form: HTMLFormElement | null; + addEventListener(type: K, listener: (this: HTMLLegendElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLLegendElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLLegendElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLLegendElement: { + prototype: HTMLLegendElement; + new(): HTMLLegendElement; +}; + +interface HTMLLIElement extends HTMLElement { + type: string; /** - * Specifies whether autocomplete is applied to an editable text field. + * Sets or retrieves the value of a list item. */ - autocomplete: string; + value: number; + addEventListener(type: K, listener: (this: HTMLLIElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLLIElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLLIElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLLIElement: { + prototype: HTMLLIElement; + new(): HTMLLIElement; +}; + +interface HTMLLinkElement extends HTMLElement, LinkStyle { + as: string; /** - * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing. + * Sets or retrieves the character set used to encode the object. */ - autofocus: boolean; + charset: string; + crossOrigin: string | null; /** - * Sets or retrieves the state of the check box or radio button. + * Sets or retrieves a destination URL or an anchor point. */ - defaultChecked: boolean; + href: string; /** - * Sets or retrieves the state of the check box or radio button. + * Sets or retrieves the language code of the object. */ - checked: boolean; - dirName: string; - disabled: boolean; + hreflang: string; + integrity: string; /** - * Retrieves a reference to the form that the object is embedded in. + * Sets or retrieves the media type. */ - readonly form: HTMLFormElement | null; + media: string; + nonce: string; + referrerPolicy: string; /** - * Returns a FileList object on a file type input object. + * Sets or retrieves the relationship between the object and the destination of the link. */ - readonly files: FileList | null; + rel: string; + readonly relList: DOMTokenList; /** - * Overrides the action attribute (where the data on a form is sent) on the parent form element. + * Sets or retrieves the relationship between the object and the destination of the link. */ - formAction: string; + rev: string; + scope: string; + readonly sizes: DOMTokenList; /** - * Used to override the encoding (formEnctype attribute) specified on the form element. + * Sets or retrieves the window or frame at which to target content. */ - formEnctype: string; + target: string; /** - * Overrides the submit method attribute previously specified on a form element. + * Sets or retrieves the MIME type of the object. */ - formMethod: string; + type: string; + useCache: boolean; + workerType: WorkerType; + import?: Document; + addEventListener(type: K, listener: (this: HTMLLinkElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLLinkElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLLinkElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLLinkElement: { + prototype: HTMLLinkElement; + new(): HTMLLinkElement; +}; + +interface HTMLMapElement extends HTMLElement { /** - * Overrides any validation or required attributes on a form or form elements to allow it to be submitted without validation. This can be used to create a "save draft"-type submit option. + * Retrieves a collection of the area objects defined for the given map object. */ - formNoValidate: boolean; + readonly areas: HTMLCollection; /** - * Overrides the target attribute on a form element. + * Sets or retrieves the name of the object. */ - formTarget: string; + name: string; + addEventListener(type: K, listener: (this: HTMLMapElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLMapElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLMapElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLMapElement: { + prototype: HTMLMapElement; + new(): HTMLMapElement; +}; + +interface HTMLMarqueeElementEventMap extends ElementEventMap, GlobalEventHandlersEventMap, DocumentAndElementEventHandlersEventMap { + "bounce": Event; + "finish": Event; + "start": Event; +} + +interface HTMLMarqueeElement extends HTMLElement { + behavior: string; + bgColor: string; + direction: string; + height: string; + hspace: number; + loop: number; + onbounce: (this: HTMLMarqueeElement, ev: Event) => any; + onfinish: (this: HTMLMarqueeElement, ev: Event) => any; + onstart: (this: HTMLMarqueeElement, ev: Event) => any; + scrollAmount: number; + scrollDelay: number; + trueSpeed: boolean; + vspace: number; + width: string; + start(): void; + stop(): void; + addEventListener(type: K, listener: (this: HTMLMarqueeElement, ev: HTMLMarqueeElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLMarqueeElement: { + prototype: HTMLMarqueeElement; + new(): HTMLMarqueeElement; +}; + +interface HTMLMediaElementEventMap extends ElementEventMap, GlobalEventHandlersEventMap, DocumentAndElementEventHandlersEventMap { + "encrypted": MediaEncryptedEvent; + "waitingforkey": Event; +} + +interface HTMLMediaElement extends HTMLElement { /** - * Sets or retrieves the height of the object. + * Returns an AudioTrackList object with the audio tracks for a given video element. */ - height: number; - indeterminate: boolean; - inputMode: string; + readonly audioTracks: AudioTrackList; /** - * Specifies the ID of a pre-defined datalist of options for an input element. + * Gets or sets a value that indicates whether to start playing the media automatically. */ - readonly list: HTMLElement | null; + autoplay: boolean; /** - * Defines the maximum acceptable value for an input element with type="number".When used with the min and step attributes, lets you control the range and increment (such as only even numbers) that the user can enter into an input field. + * Gets a collection of buffered time ranges. */ - max: string; + readonly buffered: TimeRanges; /** - * Sets or retrieves the maximum number of characters that the user can enter in a text control. + * Gets or sets a flag that indicates whether the client provides a set of controls for the media (in case the developer does not include controls for the player). */ - maxLength: number; + controls: boolean; + crossOrigin: string | null; /** - * Defines the minimum acceptable value for an input element with type="number". When used with the max and step attributes, lets you control the range and increment (such as even numbers only) that the user can enter into an input field. + * Gets the address or URL of the current media resource that is selected by IHTMLMediaElement. */ - min: string; - minLength: number; + readonly currentSrc: string; /** - * Sets or retrieves the Boolean value indicating whether multiple items can be selected from a list. + * Gets or sets the current playback position, in seconds. */ - multiple: boolean; + currentTime: number; + defaultMuted: boolean; /** - * Sets or retrieves the name of the object. + * Gets or sets the default playback rate when the user is not using fast forward or reverse for a video or audio resource. */ - name: string; + defaultPlaybackRate: number; /** - * Gets or sets a string containing a regular expression that the user's input must match. + * Returns the duration in seconds of the current media resource. A NaN value is returned if duration is not available, or Infinity if the media resource is streaming. */ - pattern: string; + readonly duration: number; /** - * Gets or sets a text string that is displayed in an input field as a hint or prompt to users as the format or type of information they need to enter.The text appears in an input field until the user puts focus on the field. + * Gets information about whether the playback has ended or not. */ - placeholder: string; - readOnly: boolean; + readonly ended: boolean; /** - * When present, marks an element that can't be submitted without a value. + * Returns an object representing the current error state of the audio or video element. */ - required: boolean; - size: number; + readonly error: MediaError | null; /** - * The address or URL of the a media resource that is to be considered. + * Gets or sets a flag to specify whether playback should restart after it completes. */ - src: string; + loop: boolean; + readonly mediaKeys: MediaKeys | null; /** - * Defines an increment or jump between values that you want to allow the user to enter. When used with the max and min attributes, lets you control the range and increment (for example, allow only even numbers) that the user can enter into an input field. + * Gets or sets a flag that indicates whether the audio (either audio or the audio track on video media) is muted. */ - step: string; + muted: boolean; /** - * Returns the content type of the object. + * Gets the current network activity for the element. */ - type: string; + readonly networkState: number; + onencrypted: (this: HTMLMediaElement, ev: MediaEncryptedEvent) => any; + onwaitingforkey: (this: HTMLMediaElement, ev: Event) => any; /** - * Sets or retrieves the initial contents of the object. + * Gets a flag that specifies whether playback is paused. */ - defaultValue: string; + readonly paused: boolean; /** - * Returns the value of the data at the cursor's current position. + * Gets or sets the current rate of speed for the media resource to play. This speed is expressed as a multiple of the normal speed of the media resource. */ - value: string; - valueAsDate: any; + playbackRate: number; /** - * Returns the input field value as a number. + * Gets TimeRanges for the current media resource that has been played. */ - valueAsNumber: number; + readonly played: TimeRanges; /** - * Sets or retrieves the width of the object. + * Gets or sets the current playback position, in seconds. */ - width: number; + preload: string; + readyState: number; /** - * Returns whether an element will successfully validate based on forms validation rules and constraints. + * Returns a TimeRanges object that represents the ranges of the current media resource that can be seeked. */ - readonly willValidate: boolean; + readonly seekable: TimeRanges; /** - * Returns a ValidityState object that represents the validity states of an element. + * Gets a flag that indicates whether the the client is currently moving to a new playback position in the media resource. */ - readonly validity: ValidityState; + readonly seeking: boolean; /** - * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. + * The address or URL of the a media resource that is to be considered. */ - readonly validationMessage: string; - readonly labels: NodeList | null; + src: string; + srcObject: MediaProvider | null; + readonly textTracks: TextTrackList; + readonly videoTracks: VideoTrackList; /** - * Gets or sets the starting position or offset of a text selection. + * Gets or sets the volume level for audio portions of the media element. + */ + volume: number; + addTextTrack(kind: TextTrackKind, label?: string, language?: string): TextTrack; + /** + * Returns a string that specifies whether the client can play a given media resource type. */ - selectionStart: number | null; + canPlayType(type: string): CanPlayTypeResult; + fastSeek(time: number): void; + getStartDate(): any; /** - * Gets or sets the end position or offset of a text selection. + * Resets the audio or video object and loads a new media resource. */ - selectionEnd: number | null; - selectionDirection: string | null; + load(): void; /** - * Sets or retrieves how the object is aligned with adjacent text. + * Pauses the current playback and sets paused to TRUE. This can be used to test whether the media is playing or paused. You can also use the pause or play events to tell whether the media is playing or not. */ - align: string; + pause(): void; /** - * Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map. + * Loads and starts playback of a media resource. */ - useMap: string; + play(): Promise; + setMediaKeys(mediaKeys: MediaKeys | null): Promise; + readonly HAVE_CURRENT_DATA: number; + readonly HAVE_ENOUGH_DATA: number; + readonly HAVE_FUTURE_DATA: number; + readonly HAVE_METADATA: number; + readonly HAVE_NOTHING: number; + readonly NETWORK_EMPTY: number; + readonly NETWORK_IDLE: number; + readonly NETWORK_LOADING: number; + readonly NETWORK_NO_SOURCE: number; + addEventListener(type: K, listener: (this: HTMLMediaElement, ev: HTMLMediaElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLMediaElement: { + prototype: HTMLMediaElement; + new(): HTMLMediaElement; + readonly HAVE_CURRENT_DATA: number; + readonly HAVE_ENOUGH_DATA: number; + readonly HAVE_FUTURE_DATA: number; + readonly HAVE_METADATA: number; + readonly HAVE_NOTHING: number; + readonly NETWORK_EMPTY: number; + readonly NETWORK_IDLE: number; + readonly NETWORK_LOADING: number; + readonly NETWORK_NO_SOURCE: number; +}; + +interface HTMLMenuElement extends HTMLElement { + compact: boolean; + label: string; + type: string; + addEventListener(type: K, listener: (this: HTMLMenuElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLMenuElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLMenuElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLMenuElement: { + prototype: HTMLMenuElement; + new(): HTMLMenuElement; +}; + +interface HTMLMenuItemElement extends HTMLElement { + checked: boolean; + default: boolean; + disabled: boolean; + icon: string; + label: string; + radiogroup: string; + type: string; + addEventListener(type: K, listener: (this: HTMLMenuItemElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLMenuItemElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLMenuItemElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLMenuItemElement: { + prototype: HTMLMenuItemElement; + new(): HTMLMenuItemElement; +}; + +interface HTMLMetaElement extends HTMLElement { /** - * Increments a range input control's value by the value given by the Step attribute. If the optional parameter is used, will increment the input control's value by that value. - * @param n Value to increment the value by. + * Gets or sets meta-information to associate with httpEquiv or name. */ - stepUp(n?: number): void; + content: string; /** - * 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. + * Gets or sets information used to bind the value of a content attribute of a meta element to an HTTP response header. */ - stepDown(n?: number): void; + httpEquiv: string; /** - * Returns whether a form will validate when it is submitted, without having to submit it. + * Sets or retrieves the value specified in the content attribute of the meta object. */ - checkValidity(): boolean; - reportValidity(): boolean; + name: string; /** - * Sets a custom error message that is displayed when a form is submitted. - * @param error Sets a custom error message that is displayed when a form is submitted. + * Sets or retrieves a scheme to be used in interpreting the value of a property specified for the object. */ - setCustomValidity(error: string): void; + scheme: string; + addEventListener(type: K, listener: (this: HTMLMetaElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLMetaElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLMetaElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLMetaElement: { + prototype: HTMLMetaElement; + new(): HTMLMetaElement; +}; + +interface HTMLMeterElement extends HTMLElement { + high: number; + readonly labels: NodeList; + low: number; + max: number; + min: number; + optimum: number; + value: number; + addEventListener(type: K, listener: (this: HTMLMeterElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLMeterElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLMeterElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLMeterElement: { + prototype: HTMLMeterElement; + new(): HTMLMeterElement; +}; + +interface HTMLModElement extends HTMLElement { /** - * Makes the selection equal to the current object. + * Sets or retrieves reference information about the object. */ - select(): void; - setRangeText(replacement: string): void; - setRangeText(replacement: string, start: number, end: number, selectionMode?: SelectionMode): void; + cite: string; /** - * 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. + * Sets or retrieves the date and time of a modification to the object. */ - setSelectionRange(start: number, end: number, direction?: string): void; - addEventListener(type: K, listener: (this: HTMLInputElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLInputElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLInputElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + dateTime: string; + addEventListener(type: K, listener: (this: HTMLModElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLModElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLModElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLInputElement: { - prototype: HTMLInputElement; - new(): HTMLInputElement; +declare var HTMLModElement: { + prototype: HTMLModElement; + new(): HTMLModElement; }; -interface HTMLButtonElement extends HTMLElement { +interface HTMLObjectElement extends HTMLElement { + align: string; /** - * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing. + * Sets or retrieves a character string that can be used to implement your own archive functionality for the object. */ - autofocus: boolean; - disabled: boolean; + archive: string; + border: string; /** - * Retrieves a reference to the form that the object is embedded in. + * Sets or retrieves the URL of the file containing the compiled Java class. */ - readonly form: HTMLFormElement | null; + code: string; /** - * Overrides the action attribute (where the data on a form is sent) on the parent form element. + * Sets or retrieves the URL of the component. */ - formAction: string; + codeBase: string; /** - * Used to override the encoding (formEnctype attribute) specified on the form element. + * Sets or retrieves the Internet media type for the code associated with the object. */ - formEnctype: string; + codeType: string; /** - * Overrides the submit method attribute previously specified on a form element. + * Retrieves the document object of the page or frame. */ - formMethod: string; + readonly contentDocument: Document | null; + readonly contentWindow: any; /** - * Overrides any validation or required attributes on a form or form elements to allow it to be submitted without validation. This can be used to create a "save draft"-type submit option. + * Sets or retrieves the URL that references the data of the object. */ - formNoValidate: boolean; + data: string; + declare: boolean; /** - * Overrides the target attribute on a form element. + * Retrieves a reference to the form that the object is embedded in. */ - formTarget: string; + readonly form: HTMLFormElement | null; + /** + * Sets or retrieves the height of the object. + */ + height: string; + hspace: number; /** * Sets or retrieves the name of the object. */ name: string; /** - * Gets the classification and default behavior of the button. + * Sets or retrieves a message to be displayed while an object is loading. + */ + standby: string; + /** + * Sets or retrieves the MIME type of the object. */ type: string; + typeMustMatch: boolean; /** - * Sets or retrieves the default or selected value of the control. + * Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map. */ - value: string; + useMap: string; /** - * Returns whether an element will successfully validate based on forms validation rules and constraints. + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. */ - readonly willValidate: boolean; + readonly validationMessage: string; /** * Returns a ValidityState object that represents the validity states of an element. */ readonly validity: ValidityState; + vspace: number; /** - * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. + * Sets or retrieves the width of the object. */ - readonly validationMessage: string; - readonly labels: NodeList; + width: string; + /** + * Returns whether an element will successfully validate based on forms validation rules and constraints. + */ + readonly willValidate: boolean; /** * Returns whether a form will validate when it is submitted, without having to submit it. */ checkValidity(): boolean; + getSVGDocument(): Document | null; reportValidity(): boolean; /** * Sets a custom error message that is displayed when a form is submitted. * @param error Sets a custom error message that is displayed when a form is submitted. */ setCustomValidity(error: string): void; - addEventListener(type: K, listener: (this: HTMLButtonElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLButtonElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLButtonElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLObjectElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLObjectElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLObjectElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLObjectElement: { + prototype: HTMLObjectElement; + new(): HTMLObjectElement; +}; + +interface HTMLOListElement extends HTMLElement { + compact: boolean; + reversed: boolean; + /** + * The starting number. + */ + start: number; + type: string; + addEventListener(type: K, listener: (this: HTMLOListElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLOListElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLOListElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLOListElement: { + prototype: HTMLOListElement; + new(): HTMLOListElement; +}; + +interface HTMLOptGroupElement extends HTMLElement { + disabled: boolean; + /** + * Sets or retrieves a value that you can use to implement your own label functionality for the object. + */ + label: string; + addEventListener(type: K, listener: (this: HTMLOptGroupElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLOptGroupElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLOptGroupElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLButtonElement: { - prototype: HTMLButtonElement; - new(): HTMLButtonElement; +declare var HTMLOptGroupElement: { + prototype: HTMLOptGroupElement; + new(): HTMLOptGroupElement; }; -interface HTMLSelectElement extends HTMLElement { - autocomplete: string; +interface HTMLOptionElement extends HTMLElement { /** - * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing. + * Sets or retrieves the status of an option. */ - autofocus: boolean; + defaultSelected: boolean; disabled: boolean; /** * Retrieves a reference to the form that the object is embedded in. */ readonly form: HTMLFormElement | null; /** - * Sets or retrieves the Boolean value indicating whether multiple items can be selected from a list. - */ - multiple: boolean; - /** - * Sets or retrieves the name of the object. + * Sets or retrieves the ordinal position of an option in a list box. */ - name: string; + readonly index: number; /** - * When present, marks an element that can't be submitted without a value. + * Sets or retrieves a value that you can use to implement your own label functionality for the object. */ - required: boolean; + label: string; /** - * Sets or retrieves the number of rows in the list box. + * Sets or retrieves whether the option in the list box is the default item. */ - size: number; + selected: boolean; /** - * Retrieves the type of select control based on the value of the MULTIPLE attribute. + * Sets or retrieves the text string specified by the option tag. */ - readonly type: string; - readonly options: HTMLOptionsCollection; + text: string; /** - * Sets or retrieves the number of objects in a collection. + * Sets or retrieves the value which is returned to the server when the form control is submitted. */ + value: string; + addEventListener(type: K, listener: (this: HTMLOptionElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLOptionElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLOptionElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLOptionElement: { + prototype: HTMLOptionElement; + new(): HTMLOptionElement; +}; + +interface HTMLOptionsCollection extends HTMLCollectionOf { length: number; - selectedOptions: HTMLCollectionOf; - /** - * Sets or retrieves the index of the selected option in a select object. - */ selectedIndex: number; - /** - * Sets or retrieves the value which is returned to the server when the form control is submitted. - */ + add(element: HTMLOptionElement | HTMLOptGroupElement, before?: HTMLElement | number): void; + remove(index: number): void; +} + +declare var HTMLOptionsCollection: { + prototype: HTMLOptionsCollection; + new(): HTMLOptionsCollection; +}; + +interface HTMLOutputElement extends HTMLElement { + defaultValue: string; + readonly form: HTMLFormElement | null; + readonly htmlFor: DOMTokenList; + readonly labels: NodeList; + name: string; + readonly type: string; + readonly validationMessage: string; + readonly validity: ValidityState; value: string; - /** - * Returns whether an element will successfully validate based on forms validation rules and constraints. - */ readonly willValidate: boolean; + checkValidity(): boolean; + reportValidity(): boolean; + setCustomValidity(error: string): void; + addEventListener(type: K, listener: (this: HTMLOutputElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLOutputElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLOutputElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLOutputElement: { + prototype: HTMLOutputElement; + new(): HTMLOutputElement; +}; + +interface HTMLParagraphElement extends HTMLElement { /** - * Returns a ValidityState object that represents the validity states of an element. + * Sets or retrieves how the object is aligned with adjacent text. */ - readonly validity: ValidityState; + align: string; + addEventListener(type: K, listener: (this: HTMLParagraphElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLParagraphElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLParagraphElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLParagraphElement: { + prototype: HTMLParagraphElement; + new(): HTMLParagraphElement; +}; + +interface HTMLParamElement extends HTMLElement { /** - * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. + * Sets or retrieves the name of an input parameter for an element. */ - readonly validationMessage: string; - readonly labels: NodeList; + name: string; /** - * Retrieves a select object or an object from an options collection. - * @param name Variant of type Number or String that specifies the object or collection to retrieve. If this parameter is an integer, it is the zero-based index of the object. If this parameter is a string, all objects with matching name or id properties are retrieved, and a collection is returned if more than one match is made. - * @param index Variant of type Number that specifies the zero-based index of the object to retrieve when a collection is returned. + * Sets or retrieves the content type of the resource designated by the value attribute. */ - item(index: number): Element | null; + type: string; /** - * Retrieves a select object or an object from an options collection. - * @param namedItem A String that specifies the name or id property of the object to retrieve. A collection is returned if more than one match is made. + * Sets or retrieves the value of an input parameter for an element. */ - namedItem(name: string): HTMLOptionElement | null; + value: string; /** - * Adds an element to the areas, controlRange, or options collection. - * @param element Variant of type Number that specifies the index position in the collection where the element is placed. If no value is given, the method places the element at the end of the collection. - * @param before Variant of type Object that specifies an element to insert before, or null to append the object to the collection. + * Sets or retrieves the data type of the value attribute. */ - add(element: HTMLOptionElement | HTMLOptGroupElement, before?: HTMLElement | number): void; + valueType: string; + addEventListener(type: K, listener: (this: HTMLParamElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLParamElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLParamElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLParamElement: { + prototype: HTMLParamElement; + new(): HTMLParamElement; +}; + +interface HTMLPictureElement extends HTMLElement { + addEventListener(type: K, listener: (this: HTMLPictureElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLPictureElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLPictureElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLPictureElement: { + prototype: HTMLPictureElement; + new(): HTMLPictureElement; +}; + +interface HTMLPreElement extends HTMLElement { /** - * Removes an element from the collection. - * @param index Number that specifies the zero-based index of the element to remove from the collection. + * Sets or gets a value that you can use to implement your own width functionality for the object. */ - remove(): void; + width: number; + addEventListener(type: K, listener: (this: HTMLPreElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLPreElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLPreElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var HTMLPreElement: { + prototype: HTMLPreElement; + new(): HTMLPreElement; +}; + +interface HTMLProgressElement extends HTMLElement { + readonly labels: NodeList; /** - * Removes an element from the collection. - * @param index Number that specifies the zero-based index of the element to remove from the collection. + * Defines the maximum, or "done" value for a progress element. */ - remove(index: number): void; + max: number; /** - * Returns whether a form will validate when it is submitted, without having to submit it. + * Returns the quotient of value/max when the value attribute is set (determinate progress bar), or -1 when the value attribute is missing (indeterminate progress bar). */ - checkValidity(): boolean; - reportValidity(): boolean; + readonly position: number; /** - * Sets a custom error message that is displayed when a form is submitted. - * @param error Sets a custom error message that is displayed when a form is submitted. + * Sets or gets the current value of a progress element. The value must be a non-negative number between 0 and the max value. */ - setCustomValidity(error: string): void; - addEventListener(type: K, listener: (this: HTMLSelectElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLSelectElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLSelectElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; - [index: number]: Element; -} - -declare var HTMLSelectElement: { - prototype: HTMLSelectElement; - new(): HTMLSelectElement; -}; - -interface HTMLDataListElement extends HTMLElement { - options: HTMLCollectionOf; - addEventListener(type: K, listener: (this: HTMLDataListElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLDataListElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLDataListElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + value: number; + addEventListener(type: K, listener: (this: HTMLProgressElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLProgressElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLProgressElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLDataListElement: { - prototype: HTMLDataListElement; - new(): HTMLDataListElement; +declare var HTMLProgressElement: { + prototype: HTMLProgressElement; + new(): HTMLProgressElement; }; -interface HTMLOptGroupElement extends HTMLElement { - disabled: boolean; +interface HTMLQuoteElement extends HTMLElement { /** - * Sets or retrieves a value that you can use to implement your own label functionality for the object. + * Sets or retrieves reference information about the object. */ - label: string; - addEventListener(type: K, listener: (this: HTMLOptGroupElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLOptGroupElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLOptGroupElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + cite: string; + addEventListener(type: K, listener: (this: HTMLQuoteElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLQuoteElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLQuoteElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLOptGroupElement: { - prototype: HTMLOptGroupElement; - new(): HTMLOptGroupElement; +declare var HTMLQuoteElement: { + prototype: HTMLQuoteElement; + new(): HTMLQuoteElement; }; -interface HTMLOptionElement extends HTMLElement { - disabled: boolean; +interface HTMLScriptElement extends HTMLElement { + async: boolean; /** - * Retrieves a reference to the form that the object is embedded in. + * Sets or retrieves the character set used to encode the object. */ - readonly form: HTMLFormElement | null; + charset: string; + crossOrigin: string | null; /** - * Sets or retrieves a value that you can use to implement your own label functionality for the object. + * Sets or retrieves the status of the script. */ - label: string; + defer: boolean; /** - * Sets or retrieves the status of an option. + * Sets or retrieves the event for which the script is written. */ - defaultSelected: boolean; + event: string; /** - * Sets or retrieves whether the option in the list box is the default item. + * Sets or retrieves the object that is bound to the event script. */ - selected: boolean; + htmlFor: string; + integrity: string; + noModule: boolean; + nonce: string; /** - * Sets or retrieves the value which is returned to the server when the form control is submitted. + * Retrieves the URL to an external file that contains the source code or data. */ - value: string; + src: string; /** - * Sets or retrieves the text string specified by the option tag. + * Retrieves or sets the text of the object as a string. */ text: string; /** - * Sets or retrieves the ordinal position of an option in a list box. + * Sets or retrieves the MIME type for the associated scripting engine. */ - readonly index: number; - addEventListener(type: K, listener: (this: HTMLOptionElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLOptionElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLOptionElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + type: string; + addEventListener(type: K, listener: (this: HTMLScriptElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLScriptElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLScriptElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLOptionElement: { - prototype: HTMLOptionElement; - new(): HTMLOptionElement; +declare var HTMLScriptElement: { + prototype: HTMLScriptElement; + new(): HTMLScriptElement; }; -interface HTMLTextAreaElement extends HTMLElement { +interface HTMLSelectElement extends HTMLElement { autocomplete: string; /** * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing. */ autofocus: boolean; - /** - * Sets or retrieves the width of the object. - */ - cols: number; - dirName: string; disabled: boolean; /** * Retrieves a reference to the form that the object is embedded in. */ readonly form: HTMLFormElement | null; - inputMode: string; - /** - * Sets or retrieves the maximum number of characters that the user can enter in a text control. - */ - maxLength: number; - minLength: number; + readonly labels: NodeList; /** - * Sets or retrieves the name of the object. + * Sets or retrieves the number of objects in a collection. */ - name: string; + length: number; /** - * Gets or sets a text string that is displayed in an input field as a hint or prompt to users as the format or type of information they need to enter.The text appears in an input field until the user puts focus on the field. + * Sets or retrieves the Boolean value indicating whether multiple items can be selected from a list. */ - placeholder: string; + multiple: boolean; /** - * Sets or retrieves the value indicated whether the content of the object is read-only. + * Sets or retrieves the name of the object. */ - readOnly: boolean; + name: string; + readonly options: HTMLOptionsCollection; /** * When present, marks an element that can't be submitted without a value. */ required: boolean; /** - * Sets or retrieves the number of horizontal rows contained in the object. + * Sets or retrieves the index of the selected option in a select object. */ - rows: number; + selectedIndex: number; + selectedOptions: HTMLCollectionOf; /** - * Sets or retrieves how to handle wordwrapping in the object. + * Sets or retrieves the number of rows in the list box. */ - wrap: string; + size: number; /** - * Retrieves the type of control. + * Retrieves the type of select control based on the value of the MULTIPLE attribute. */ readonly type: string; /** - * Sets or retrieves the initial contents of the object. - */ - defaultValue: string; - /** - * Retrieves or sets the text in the entry field of the textArea element. - */ - value: string; - readonly textLength: number; - /** - * Returns whether an element will successfully validate based on forms validation rules and constraints. + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. */ - readonly willValidate: boolean; + readonly validationMessage: string; /** * Returns a ValidityState object that represents the validity states of an element. */ readonly validity: ValidityState; /** - * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. + * Sets or retrieves the value which is returned to the server when the form control is submitted. */ - readonly validationMessage: string; - readonly labels: NodeList; + value: string; /** - * Gets or sets the starting position or offset of a text selection. + * Returns whether an element will successfully validate based on forms validation rules and constraints. */ - selectionStart: number; + readonly willValidate: boolean; /** - * Gets or sets the end position or offset of a text selection. + * Adds an element to the areas, controlRange, or options collection. + * @param element Variant of type Number that specifies the index position in the collection where the element is placed. If no value is given, the method places the element at the end of the collection. + * @param before Variant of type Object that specifies an element to insert before, or null to append the object to the collection. */ - selectionEnd: number; - selectionDirection: string; + add(element: HTMLOptionElement | HTMLOptGroupElement, before?: HTMLElement | number): void; /** * Returns whether a form will validate when it is submitted, without having to submit it. */ checkValidity(): boolean; - reportValidity(): boolean; - /** - * Sets a custom error message that is displayed when a form is submitted. - * @param error Sets a custom error message that is displayed when a form is submitted. - */ - setCustomValidity(error: string): void; /** - * Highlights the input area of a form element. + * Retrieves a select object or an object from an options collection. + * @param name Variant of type Number or String that specifies the object or collection to retrieve. If this parameter is an integer, it is the zero-based index of the object. If this parameter is a string, all objects with matching name or id properties are retrieved, and a collection is returned if more than one match is made. + * @param index Variant of type Number that specifies the zero-based index of the object to retrieve when a collection is returned. */ - select(): void; - setRangeText(replacement: string): void; - setRangeText(replacement: string, start: number, end: number, selectionMode?: SelectionMode): void; + item(index: number): Element | null; /** - * 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. + * Retrieves a select object or an object from an options collection. + * @param namedItem A String that specifies the name or id property of the object to retrieve. A collection is returned if more than one match is made. */ - setSelectionRange(start: number, end: number, direction?: string): void; - addEventListener(type: K, listener: (this: HTMLTextAreaElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLTextAreaElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLTextAreaElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var HTMLTextAreaElement: { - prototype: HTMLTextAreaElement; - new(): HTMLTextAreaElement; -}; - -interface HTMLOutputElement extends HTMLElement { - readonly htmlFor: DOMTokenList; - readonly form: HTMLFormElement | null; - name: string; - readonly type: string; - defaultValue: string; - value: string; - readonly willValidate: boolean; - readonly validity: ValidityState; - readonly validationMessage: string; - readonly labels: NodeList; - checkValidity(): boolean; - reportValidity(): boolean; - setCustomValidity(error: string): void; - addEventListener(type: K, listener: (this: HTMLOutputElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLOutputElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLOutputElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var HTMLOutputElement: { - prototype: HTMLOutputElement; - new(): HTMLOutputElement; -}; - -interface HTMLProgressElement extends HTMLElement { + namedItem(name: string): HTMLOptionElement | null; /** - * Sets or gets the current value of a progress element. The value must be a non-negative number between 0 and the max value. + * Removes an element from the collection. + * @param index Number that specifies the zero-based index of the element to remove from the collection. */ - value: number; + remove(): void; /** - * Defines the maximum, or "done" value for a progress element. + * Removes an element from the collection. + * @param index Number that specifies the zero-based index of the element to remove from the collection. */ - max: number; + remove(index: number): void; + reportValidity(): boolean; /** - * Returns the quotient of value/max when the value attribute is set (determinate progress bar), or -1 when the value attribute is missing (indeterminate progress bar). + * Sets a custom error message that is displayed when a form is submitted. + * @param error Sets a custom error message that is displayed when a form is submitted. */ - readonly position: number; - readonly labels: NodeList; - addEventListener(type: K, listener: (this: HTMLProgressElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLProgressElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLProgressElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + setCustomValidity(error: string): void; + addEventListener(type: K, listener: (this: HTMLSelectElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLSelectElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLSelectElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + [index: number]: Element; } -declare var HTMLProgressElement: { - prototype: HTMLProgressElement; - new(): HTMLProgressElement; +declare var HTMLSelectElement: { + prototype: HTMLSelectElement; + new(): HTMLSelectElement; }; -interface HTMLMeterElement extends HTMLElement { - value: number; - min: number; - max: number; - low: number; - high: number; - optimum: number; - readonly labels: NodeList; - addEventListener(type: K, listener: (this: HTMLMeterElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLMeterElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLMeterElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; +interface HTMLSlotElement extends HTMLElement { + name: string; + assignedNodes(options?: AssignedNodesOptions): Node[]; + addEventListener(type: K, listener: (this: HTMLSlotElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLSlotElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLSlotElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLMeterElement: { - prototype: HTMLMeterElement; - new(): HTMLMeterElement; +declare var HTMLSlotElement: { + prototype: HTMLSlotElement; + new(): HTMLSlotElement; }; -interface HTMLFieldSetElement extends HTMLElement { - disabled: boolean; - /** - * Retrieves a reference to the form that the object is embedded in. - */ - readonly form: HTMLFormElement | null; - name: string; - readonly type: string; - readonly elements: HTMLCollection; - /** - * Returns whether an element will successfully validate based on forms validation rules and constraints. - */ - readonly willValidate: boolean; - /** - * Returns a ValidityState object that represents the validity states of an element. - */ - readonly validity: ValidityState; - /** - * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. - */ - readonly validationMessage: string; - /** - * Returns whether a form will validate when it is submitted, without having to submit it. - */ - checkValidity(): boolean; - reportValidity(): boolean; +interface HTMLSourceElement extends HTMLElement { /** - * Sets a custom error message that is displayed when a form is submitted. - * @param error Sets a custom error message that is displayed when a form is submitted. + * Gets or sets the intended media type of the media source. */ - setCustomValidity(error: string): void; - addEventListener(type: K, listener: (this: HTMLFieldSetElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLFieldSetElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLFieldSetElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var HTMLFieldSetElement: { - prototype: HTMLFieldSetElement; - new(): HTMLFieldSetElement; -}; - -interface HTMLLegendElement extends HTMLElement { + media: string; + sizes: string; /** - * Retrieves a reference to the form that the object is embedded in. + * The address or URL of the a media resource that is to be considered. */ - readonly form: HTMLFormElement | null; + src: string; + srcset: string; /** - * Retrieves a reference to the form that the object is embedded in. + * Gets or sets the MIME type of a media resource. */ - align: string; - addEventListener(type: K, listener: (this: HTMLLegendElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLLegendElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLLegendElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + type: string; + addEventListener(type: K, listener: (this: HTMLSourceElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLSourceElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLSourceElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLLegendElement: { - prototype: HTMLLegendElement; - new(): HTMLLegendElement; -}; - -interface ValidityState { - readonly valueMissing: boolean; - readonly typeMismatch: boolean; - readonly patternMismatch: boolean; - readonly tooLong: boolean; - readonly tooShort: boolean; - readonly rangeUnderflow: boolean; - readonly rangeOverflow: boolean; - readonly stepMismatch: boolean; - readonly badInput: boolean; - readonly customError: boolean; - readonly valid: boolean; -} - -declare var ValidityState: { - prototype: ValidityState; - new(): ValidityState; +declare var HTMLSourceElement: { + prototype: HTMLSourceElement; + new(): HTMLSourceElement; }; -interface HTMLDetailsElement extends HTMLElement { - open: boolean; - addEventListener(type: K, listener: (this: HTMLDetailsElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLDetailsElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLDetailsElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; +interface HTMLSpanElement extends HTMLElement { + addEventListener(type: K, listener: (this: HTMLSpanElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLSpanElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLSpanElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLDetailsElement: { - prototype: HTMLDetailsElement; - new(): HTMLDetailsElement; +declare var HTMLSpanElement: { + prototype: HTMLSpanElement; + new(): HTMLSpanElement; }; -interface HTMLMenuElement extends HTMLElement { +interface HTMLStyleElement extends HTMLElement, LinkStyle { + /** + * Sets or retrieves the media type. + */ + media: string; + nonce: string; + /** + * Retrieves the CSS language in which the style sheet is written. + */ type: string; - label: string; - compact: boolean; - addEventListener(type: K, listener: (this: HTMLMenuElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLMenuElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLMenuElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLStyleElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLStyleElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLStyleElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLMenuElement: { - prototype: HTMLMenuElement; - new(): HTMLMenuElement; +declare var HTMLStyleElement: { + prototype: HTMLStyleElement; + new(): HTMLStyleElement; }; -interface HTMLMenuItemElement extends HTMLElement { - type: string; - label: string; - icon: string; - disabled: boolean; - checked: boolean; - radiogroup: string; - default: boolean; - addEventListener(type: K, listener: (this: HTMLMenuItemElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLMenuItemElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLMenuItemElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; +interface HTMLTableCaptionElement extends HTMLElement { + /** + * Sets or retrieves the alignment of the caption or legend. + */ + align: string; + addEventListener(type: K, listener: (this: HTMLTableCaptionElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTableCaptionElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTableCaptionElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLMenuItemElement: { - prototype: HTMLMenuItemElement; - new(): HTMLMenuItemElement; +declare var HTMLTableCaptionElement: { + prototype: HTMLTableCaptionElement; + new(): HTMLTableCaptionElement; }; -interface RelatedEvent extends Event { - readonly relatedTarget: EventTarget | null; +interface HTMLTableCellElement extends HTMLElement { + /** + * Sets or retrieves abbreviated text for the object. + */ + abbr: string; + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + align: string; + /** + * Sets or retrieves a comma-delimited list of conceptual categories associated with the object. + */ + axis: string; + bgColor: string; + /** + * Retrieves the position of the object in the cells collection of a row. + */ + readonly cellIndex: number; + ch: string; + chOff: string; + /** + * Sets or retrieves the number columns in the table that the object should span. + */ + colSpan: number; + /** + * Sets or retrieves a list of header cells that provide information for the object. + */ + headers: string; + /** + * Sets or retrieves the height of the object. + */ + height: string; + /** + * Sets or retrieves whether the browser automatically performs wordwrap. + */ + noWrap: boolean; + /** + * Sets or retrieves how many rows in a table the cell should span. + */ + rowSpan: number; + /** + * Sets or retrieves the group of cells in a table to which the object's information applies. + */ + scope: string; + vAlign: string; + /** + * Sets or retrieves the width of the object. + */ + width: string; + addEventListener(type: K, listener: (this: HTMLTableCellElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTableCellElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTableCellElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var RelatedEvent: { - prototype: RelatedEvent; - new(type: string, eventInitDict?: RelatedEventInit): RelatedEvent; +declare var HTMLTableCellElement: { + prototype: HTMLTableCellElement; + new(): HTMLTableCellElement; }; -interface HTMLDialogElement extends HTMLElement { - open: boolean; - returnValue: string; - show(): void; - showModal(): void; - close(returnValue?: string): void; - addEventListener(type: K, listener: (this: HTMLDialogElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLDialogElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLDialogElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; +interface HTMLTableColElement extends HTMLElement { + /** + * Sets or retrieves the alignment of the object relative to the display or table. + */ + align: string; + ch: string; + chOff: string; + /** + * Sets or retrieves the number of columns in the group. + */ + span: number; + vAlign: string; + /** + * Sets or retrieves the width of the object. + */ + width: string; + addEventListener(type: K, listener: (this: HTMLTableColElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTableColElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTableColElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLDialogElement: { - prototype: HTMLDialogElement; - new(): HTMLDialogElement; +declare var HTMLTableColElement: { + prototype: HTMLTableColElement; + new(): HTMLTableColElement; }; -interface HTMLScriptElement extends HTMLElement { +interface HTMLTableElement extends HTMLElement { + /** + * Sets or retrieves a value that indicates the table alignment. + */ + align: string; + bgColor: string; + /** + * Sets or retrieves the width of the border to draw around the object. + */ + border: string; + /** + * Retrieves the caption object of a table. + */ + caption: HTMLTableCaptionElement | null; + /** + * Sets or retrieves the amount of space between the border of the cell and the content of the cell. + */ + cellPadding: string; + /** + * Sets or retrieves the amount of space between cells in a table. + */ + cellSpacing: string; + /** + * Sets or retrieves the way the border frame around the table is displayed. + */ + frame: string; + /** + * Sets or retrieves the number of horizontal rows contained in the object. + */ + rows: HTMLCollectionOf; + /** + * Sets or retrieves which dividing lines (inner borders) are displayed. + */ + rules: string; + /** + * Sets or retrieves a description and/or structure of the object. + */ + summary: string; + /** + * Retrieves a collection of all tBody objects in the table. Objects in this collection are in source order. + */ + tBodies: HTMLCollectionOf; + /** + * Retrieves the tFoot object of the table. + */ + tFoot: HTMLTableSectionElement | null; + /** + * Retrieves the tHead object of the table. + */ + tHead: HTMLTableSectionElement | null; + /** + * Sets or retrieves the width of the object. + */ + width: string; + /** + * Creates an empty caption element in the table. + */ + createCaption(): HTMLTableCaptionElement; + /** + * Creates an empty tBody element in the table. + */ + createTBody(): HTMLTableSectionElement; /** - * Retrieves the URL to an external file that contains the source code or data. + * Creates an empty tFoot element in the table. */ - src: string; + createTFoot(): HTMLTableSectionElement; /** - * Sets or retrieves the MIME type for the associated scripting engine. + * Returns the tHead element object if successful, or null otherwise. */ - type: string; - noModule: boolean; + createTHead(): HTMLTableSectionElement; /** - * Sets or retrieves the character set used to encode the object. + * Deletes the caption element and its contents from the table. */ - charset: string; - async: boolean; + deleteCaption(): void; /** - * Sets or retrieves the status of the script. + * Removes the specified row (tr) from the element and from the rows collection. + * @param index Number that specifies the zero-based position in the rows collection of the row to remove. */ - defer: boolean; - crossOrigin: string | null; + deleteRow(index: number): void; /** - * Retrieves or sets the text of the object as a string. + * Deletes the tFoot element and its contents from the table. */ - text: string; - nonce: string; - integrity: string; + deleteTFoot(): void; /** - * Sets or retrieves the event for which the script is written. + * Deletes the tHead element and its contents from the table. */ - event: string; + deleteTHead(): void; /** - * Sets or retrieves the object that is bound to the event script. + * Creates a new row (tr) in the table, and adds the row to the rows collection. + * @param index Number that specifies where to insert the row in the rows collection. The default value is -1, which appends the new row to the end of the rows collection. */ - htmlFor: string; - addEventListener(type: K, listener: (this: HTMLScriptElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLScriptElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLScriptElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var HTMLScriptElement: { - prototype: HTMLScriptElement; - new(): HTMLScriptElement; -}; - -interface HTMLTemplateElement extends HTMLElement { - readonly content: DocumentFragment; - addEventListener(type: K, listener: (this: HTMLTemplateElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLTemplateElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLTemplateElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var HTMLTemplateElement: { - prototype: HTMLTemplateElement; - new(): HTMLTemplateElement; -}; - -interface HTMLSlotElement extends HTMLElement { - name: string; - assignedNodes(options?: AssignedNodesOptions): Node[]; - addEventListener(type: K, listener: (this: HTMLSlotElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLSlotElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLSlotElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + insertRow(index?: number): HTMLTableRowElement; + addEventListener(type: K, listener: (this: HTMLTableElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTableElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTableElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLSlotElement: { - prototype: HTMLSlotElement; - new(): HTMLSlotElement; +declare var HTMLTableElement: { + prototype: HTMLTableElement; + new(): HTMLTableElement; }; -interface HTMLCanvasElement extends HTMLElement { - /** - * Gets or sets the width of a canvas element on a document. - */ - width: number; +interface HTMLTableRowElement extends HTMLElement { /** - * Gets or sets the height of a canvas element on a document. + * Sets or retrieves how the object is aligned with adjacent text. */ - height: number; + align: string; + bgColor: string; /** - * Returns an object that provides methods and properties for drawing and manipulating images and graphics on a canvas element in a document. A context object includes information about colors, line widths, fonts, and other graphic parameters that can be drawn on a canvas. - * @param contextId The identifier (ID) of the type of canvas to create. Internet Explorer 9 and Internet Explorer 10 support only a 2-D context using canvas.getContext("2d"); IE11 Preview also supports 3-D or WebGL context using canvas.getContext("experimental-webgl"); + * Retrieves a collection of all cells in the table row. */ - getContext(contextId: "2d", contextAttributes?: Canvas2DContextAttributes): CanvasRenderingContext2D | null; - getContext(contextId: "webgl" | "experimental-webgl", contextAttributes?: WebGLContextAttributes): WebGLRenderingContext | null; - getContext(contextId: string, contextAttributes?: {}): CanvasRenderingContext2D | WebGLRenderingContext | null; + cells: HTMLCollectionOf; + ch: string; + chOff: string; /** - * Returns the content of the current canvas as an image that you can use as a source for another canvas or an HTML element. - * @param type The standard MIME type for the image format to return. If you do not specify this parameter, the default value is a PNG format image. - */ - toDataURL(type?: string, quality?: any): string; - toBlob(callback: BlobCallback, type?: string, quality?: any): void; - transferControlToOffscreen(): OffscreenCanvas; - toBlob(callback: (result: Blob | null) => void, type?: string, ...arguments: any[]): void; - addEventListener(type: K, listener: (this: HTMLCanvasElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLCanvasElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLCanvasElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var HTMLCanvasElement: { - prototype: HTMLCanvasElement; - new(): HTMLCanvasElement; -}; - -interface CanvasRenderingContext2D extends Object, CanvasState, CanvasTransform, CanvasCompositing, CanvasImageSmoothing, CanvasFillStrokeStyles, CanvasShadowStyles, CanvasFilters, CanvasRect, CanvasDrawPath, CanvasUserInterface, CanvasText, CanvasDrawImage, CanvasImageData, CanvasPathDrawingStyles, CanvasTextDrawingStyles, CanvasPath { - readonly canvas: HTMLCanvasElement; - mozImageSmoothingEnabled: boolean; - webkitImageSmoothingEnabled: boolean; - oImageSmoothingEnabled: boolean; -} - -declare var CanvasRenderingContext2D: { - prototype: CanvasRenderingContext2D; - new(): CanvasRenderingContext2D; -}; - -interface CanvasGradient { - addColorStop(offset: number, color: string): void; -} - -declare var CanvasGradient: { - prototype: CanvasGradient; - new(): CanvasGradient; -}; - -interface CanvasPattern { - setTransform(transform?: DOMMatrixInit): void; -} - -declare var CanvasPattern: { - prototype: CanvasPattern; - new(): CanvasPattern; -}; - -interface TextMetrics { - readonly width: number; - readonly actualBoundingBoxLeft: number; - readonly actualBoundingBoxRight: number; - readonly fontBoundingBoxAscent: number; - readonly fontBoundingBoxDescent: number; - readonly actualBoundingBoxAscent: number; - readonly actualBoundingBoxDescent: number; - readonly emHeightAscent: number; - readonly emHeightDescent: number; - readonly hangingBaseline: number; - readonly alphabeticBaseline: number; - readonly ideographicBaseline: number; -} - -declare var TextMetrics: { - prototype: TextMetrics; - new(): TextMetrics; -}; - -interface ImageData { - readonly width: number; - readonly height: number; - data: Uint8ClampedArray; -} - -declare var ImageData: { - prototype: ImageData; - new(width: number, height: number): ImageData; - new(array: Uint8ClampedArray, width: number, height: number): ImageData; -}; - -interface Path2D extends Object, CanvasPath { - addPath(path: Path2D, transform?: DOMMatrixInit): void; -} - -declare var Path2D: { - prototype: Path2D; - new(): Path2D; - new(path: Path2D): Path2D; - new(paths: Path2D[], fillRule?: CanvasFillRule): Path2D; - new(d: string): Path2D; -}; - -interface ImageBitmapRenderingContext { - readonly canvas: HTMLCanvasElement; - transferFromImageBitmap(bitmap: ImageBitmap | null): void; -} - -declare var ImageBitmapRenderingContext: { - prototype: ImageBitmapRenderingContext; - new(): ImageBitmapRenderingContext; -}; - -interface OffscreenCanvas extends EventTarget { - width: number; - height: number; - getContext(contextType: OffscreenRenderingContextType, ...arguments: any[]): OffscreenRenderingContext | null; - transferToImageBitmap(): ImageBitmap; - convertToBlob(options?: ImageEncodeOptions): Promise; -} - -declare var OffscreenCanvas: { - prototype: OffscreenCanvas; - new(width: number, height: number): OffscreenCanvas; -}; - -interface OffscreenCanvasRenderingContext2D extends Object, CanvasState, CanvasTransform, CanvasCompositing, CanvasImageSmoothing, CanvasFillStrokeStyles, CanvasShadowStyles, CanvasFilters, CanvasRect, CanvasDrawPath, CanvasDrawImage, CanvasImageData, CanvasPathDrawingStyles, CanvasPath { - readonly canvas: OffscreenCanvas; - commit(): void; -} - -declare var OffscreenCanvasRenderingContext2D: { - prototype: OffscreenCanvasRenderingContext2D; - new(): OffscreenCanvasRenderingContext2D; -}; - -interface CustomElementRegistry { - define(name: string, constructor: Function, options?: ElementDefinitionOptions): void; - get(name: string): any; - whenDefined(name: string): Promise; -} - -declare var CustomElementRegistry: { - prototype: CustomElementRegistry; - new(): CustomElementRegistry; -}; - -interface DataTransfer { - dropEffect: string; - effectAllowed: string; - readonly items: DataTransferItemList; - readonly types: string[]; - readonly files: FileList; - setDragImage(image: Element, x: number, y: number): void; - getData(format: string): string; - setData(format: string, data: string): void; - clearData(format?: string): void; -} - -declare var DataTransfer: { - prototype: DataTransfer; - new(): DataTransfer; -}; - -interface DataTransferItemList { - readonly length: number; - add(data: string, type: string): DataTransferItem | null; - add(data: File): DataTransferItem | null; - remove(index: number): void; - clear(): void; - [index: number]: DataTransferItem; + * Retrieves the position of the object in the rows collection for the table. + */ + readonly rowIndex: number; + /** + * Retrieves the position of the object in the collection. + */ + readonly sectionRowIndex: number; + vAlign: string; + /** + * Removes the specified cell from the table row, as well as from the cells collection. + * @param index Number that specifies the zero-based position of the cell to remove from the table row. If no value is provided, the last cell in the cells collection is deleted. + */ + deleteCell(index: number): void; + /** + * Creates a new cell in the table row, and adds the cell to the cells collection. + * @param index Number that specifies where to insert the cell in the tr. The default value is -1, which appends the new cell to the end of the cells collection. + */ + insertCell(index?: number): HTMLTableCellElement; + addEventListener(type: K, listener: (this: HTMLTableRowElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTableRowElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTableRowElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var DataTransferItemList: { - prototype: DataTransferItemList; - new(): DataTransferItemList; +declare var HTMLTableRowElement: { + prototype: HTMLTableRowElement; + new(): HTMLTableRowElement; }; -interface DataTransferItem { - readonly kind: string; - readonly type: string; - getAsString(callback: FunctionStringCallback | null): void; - getAsFile(): File | null; +interface HTMLTableSectionElement extends HTMLElement { + /** + * Sets or retrieves a value that indicates the table alignment. + */ + align: string; + ch: string; + chOff: string; + /** + * Sets or retrieves the number of horizontal rows contained in the object. + */ + rows: HTMLCollectionOf; + vAlign: string; + /** + * Removes the specified row (tr) from the element and from the rows collection. + * @param index Number that specifies the zero-based position in the rows collection of the row to remove. + */ + deleteRow(index: number): void; + /** + * Creates a new row (tr) in the table, and adds the row to the rows collection. + * @param index Number that specifies where to insert the row in the rows collection. The default value is -1, which appends the new row to the end of the rows collection. + */ + insertRow(index?: number): HTMLTableRowElement; + addEventListener(type: K, listener: (this: HTMLTableSectionElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTableSectionElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTableSectionElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var DataTransferItem: { - prototype: DataTransferItem; - new(): DataTransferItem; +declare var HTMLTableSectionElement: { + prototype: HTMLTableSectionElement; + new(): HTMLTableSectionElement; }; -interface DragEvent extends MouseEvent { - readonly dataTransfer: DataTransfer | null; +interface HTMLTemplateElement extends HTMLElement { + readonly content: DocumentFragment; + addEventListener(type: K, listener: (this: HTMLTemplateElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTemplateElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTemplateElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var DragEvent: { - prototype: DragEvent; - new(type: "drag" | "dragend" | "dragenter" | "dragexit" | "dragleave" | "dragover" | "dragstart" | "drop", dragEventInit?: { dataTransfer?: DataTransfer }): DragEvent; +declare var HTMLTemplateElement: { + prototype: HTMLTemplateElement; + new(): HTMLTemplateElement; }; -interface WindowEventMap extends GlobalEventHandlersEventMap, WindowEventHandlersEventMap { - "deviceorientation": Event; - "devicemotion": Event; -} - -interface Window extends EventTarget, GlobalEventHandlers, WindowEventHandlers, WindowOrWorkerGlobalScope, WindowSessionStorage, WindowLocalStorage, GlobalPerformance, IDBEnvironment, GlobalCrypto, SpeechSynthesisGetter { - readonly window: any; - readonly self: any; - readonly document: Document; +interface HTMLTextAreaElement extends HTMLElement { + autocomplete: string; + /** + * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing. + */ + autofocus: boolean; + /** + * Sets or retrieves the width of the object. + */ + cols: number; + /** + * Sets or retrieves the initial contents of the object. + */ + defaultValue: string; + dirName: string; + disabled: boolean; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + readonly form: HTMLFormElement | null; + inputMode: string; + readonly labels: NodeList; + /** + * Sets or retrieves the maximum number of characters that the user can enter in a text control. + */ + maxLength: number; + minLength: number; + /** + * Sets or retrieves the name of the object. + */ name: string; - readonly location: Location; - readonly history: History; - readonly customElements: CustomElementRegistry; - readonly locationbar: BarProp; - readonly menubar: BarProp; - readonly personalbar: BarProp; - readonly scrollbars: BarProp; - readonly statusbar: BarProp; - readonly toolbar: BarProp; - status: string; - readonly closed: boolean; - readonly frames: any; - readonly length: number; - readonly top: any; - opener: any; - readonly parent: any; - readonly frameElement: Element | null; - readonly navigator: Navigator; - readonly applicationCache: ApplicationCache; - readonly external: External; - readonly screen: Screen; - readonly innerWidth: number; - readonly innerHeight: number; - readonly scrollX: number; - readonly pageXOffset: number; - readonly scrollY: number; - readonly pageYOffset: number; - readonly screenX: number; - readonly screenY: number; - readonly outerWidth: number; - readonly outerHeight: number; - readonly devicePixelRatio: number; - ondeviceorientation: (this: Window, ev: Event) => any; - ondevicemotion: (this: Window, ev: Event) => any; - readonly audioWorklet: Worklet; - URLSearchParams: typeof URLSearchParams; - Blob: typeof Blob; - close(): void; - stop(): void; - focus(): void; - blur(): void; - open(url?: string, target?: string, features?: string, replace?: boolean): Window; - alert(message?: any): void; - alert(message?: any): void; - confirm(message?: string): boolean; - prompt(message?: string, _default?: string): string | null; - print(): void; - requestAnimationFrame(callback: FrameRequestCallback): number; - cancelAnimationFrame(handle: number): void; - postMessage(message: any, targetOrigin: string, transfer?: any[]): void; - captureEvents(): void; - releaseEvents(): void; - getComputedStyle(elt: Element, pseudoElt?: string): CSSStyleDeclaration; - matchMedia(query: string): MediaQueryList; - moveTo(x: number, y: number): void; - moveBy(x: number, y: number): void; - resizeTo(x: number, y: number): void; - resizeBy(x: number, y: number): void; - scroll(options?: ScrollToOptions): void; - scroll(x: number, y: number): void; - scrollTo(options?: ScrollToOptions): void; - scrollTo(x: number, y: number): void; - scrollBy(options?: ScrollToOptions): void; - scrollBy(x: number, y: number): void; - getSelection(): Selection | null; - createImageBitmap(image: HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | ImageData | Blob, options?: ImageBitmapOptions): Promise; - createImageBitmap(image: HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | ImageData | Blob, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise; - addEventListener(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, useCapture?: boolean): void; + /** + * Gets or sets a text string that is displayed in an input field as a hint or prompt to users as the format or type of information they need to enter.The text appears in an input field until the user puts focus on the field. + */ + placeholder: string; + /** + * Sets or retrieves the value indicated whether the content of the object is read-only. + */ + readOnly: boolean; + /** + * When present, marks an element that can't be submitted without a value. + */ + required: boolean; + /** + * Sets or retrieves the number of horizontal rows contained in the object. + */ + rows: number; + selectionDirection: string; + /** + * Gets or sets the end position or offset of a text selection. + */ + selectionEnd: number; + /** + * Gets or sets the starting position or offset of a text selection. + */ + selectionStart: number; + readonly textLength: number; + /** + * Retrieves the type of control. + */ + readonly type: string; + /** + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. + */ + readonly validationMessage: string; + /** + * Returns a ValidityState object that represents the validity states of an element. + */ + readonly validity: ValidityState; + /** + * Retrieves or sets the text in the entry field of the textArea element. + */ + value: string; + /** + * Returns whether an element will successfully validate based on forms validation rules and constraints. + */ + readonly willValidate: boolean; + /** + * Sets or retrieves how to handle wordwrapping in the object. + */ + wrap: string; + /** + * Returns whether a form will validate when it is submitted, without having to submit it. + */ + checkValidity(): boolean; + reportValidity(): boolean; + /** + * Highlights the input area of a form element. + */ + select(): void; + /** + * Sets a custom error message that is displayed when a form is submitted. + * @param error Sets a custom error message that is displayed when a form is submitted. + */ + setCustomValidity(error: string): void; + setRangeText(replacement: string): void; + setRangeText(replacement: string, start: number, end: number, selectionMode?: SelectionMode): void; + /** + * 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. + */ + setSelectionRange(start: number, end: number, direction?: string): void; + addEventListener(type: K, listener: (this: HTMLTextAreaElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTextAreaElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTextAreaElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var Window: { - prototype: Window; - new(): Window; +declare var HTMLTextAreaElement: { + prototype: HTMLTextAreaElement; + new(): HTMLTextAreaElement; }; -interface BarProp { - readonly visible: boolean; +interface HTMLTimeElement extends HTMLElement { + dateTime: string; + addEventListener(type: K, listener: (this: HTMLTimeElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTimeElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTimeElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var BarProp: { - prototype: BarProp; - new(): BarProp; +declare var HTMLTimeElement: { + prototype: HTMLTimeElement; + new(): HTMLTimeElement; }; -interface History { - readonly length: number; - scrollRestoration: ScrollRestoration; - readonly state: any; - go(delta?: number): void; - back(): void; - forward(): void; - pushState(data: any, title: string, url?: string | null): void; - replaceState(data: any, title: string, url?: string | null): void; +interface HTMLTitleElement extends HTMLElement { + /** + * Retrieves or sets the text of the object as a string. + */ + text: string; + addEventListener(type: K, listener: (this: HTMLTitleElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTitleElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTitleElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var History: { - prototype: History; - new(): History; +declare var HTMLTitleElement: { + prototype: HTMLTitleElement; + new(): HTMLTitleElement; }; -interface Location { - href: string; - readonly origin: string; - protocol: string; - host: string; - hostname: string; - port: string; - pathname: string; - search: string; - hash: string; - readonly ancestorOrigins: DOMStringList; - assign(url: string): void; - replace(url: string): void; - reload(): void; +interface HTMLTrackElement extends HTMLElement { + default: boolean; + kind: string; + label: string; + readonly readyState: number; + src: string; + srclang: string; + readonly track: TextTrack; + readonly ERROR: number; + readonly LOADED: number; + readonly LOADING: number; + readonly NONE: number; + addEventListener(type: K, listener: (this: HTMLTrackElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTrackElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLTrackElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var Location: { - prototype: Location; - new(): Location; +declare var HTMLTrackElement: { + prototype: HTMLTrackElement; + new(): HTMLTrackElement; + readonly ERROR: number; + readonly LOADED: number; + readonly LOADING: number; + readonly NONE: number; }; -interface PopStateEvent extends Event { - readonly state: any; +interface HTMLUListElement extends HTMLElement { + compact: boolean; + type: string; + addEventListener(type: K, listener: (this: HTMLUListElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLUListElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLUListElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var PopStateEvent: { - prototype: PopStateEvent; - new(type: string, eventInitDict?: PopStateEventInit): PopStateEvent; +declare var HTMLUListElement: { + prototype: HTMLUListElement; + new(): HTMLUListElement; }; -interface HashChangeEvent extends Event { - readonly oldURL: string; - readonly newURL: string; +interface HTMLUnknownElement extends HTMLElement { + addEventListener(type: K, listener: (this: HTMLUnknownElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLUnknownElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: HTMLUnknownElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HashChangeEvent: { - prototype: HashChangeEvent; - new(type: string, eventInitDict?: HashChangeEventInit): HashChangeEvent; +declare var HTMLUnknownElement: { + prototype: HTMLUnknownElement; + new(): HTMLUnknownElement; }; -interface PageTransitionEvent extends Event { - readonly persisted: boolean; +interface HTMLVideoElement extends HTMLMediaElement { + /** + * Gets or sets the height of the video element. + */ + height: number; + playsInline: boolean; + /** + * Gets or sets a URL of an image to display, for example, like a movie poster. This can be a still frame from the video, or another image if no video data is available. + */ + poster: string; + /** + * Gets the intrinsic height of a video in CSS pixels, or zero if the dimensions are not known. + */ + readonly videoHeight: number; + /** + * Gets the intrinsic width of a video in CSS pixels, or zero if the dimensions are not known. + */ + readonly videoWidth: number; + /** + * Gets or sets the width of the video element. + */ + width: number; + getVideoPlaybackQuality(): VideoPlaybackQuality; + addEventListener(type: K, listener: (this: HTMLVideoElement, ev: HTMLMediaElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var PageTransitionEvent: { - prototype: PageTransitionEvent; - new(type: string, eventInitDict?: PageTransitionEventInit): PageTransitionEvent; +declare var HTMLVideoElement: { + prototype: HTMLVideoElement; + new(): HTMLVideoElement; }; -interface BeforeUnloadEvent extends Event { - returnValue: any; +interface IDBCursor { + readonly direction: IDBCursorDirection; + key: IDBKeyRange | IDBValidKey; + readonly primaryKey: any; + source: IDBObjectStore | IDBIndex; + advance(count: number): void; + continue(key?: IDBKeyRange | IDBValidKey): void; + delete(): IDBRequest; + update(value: any): IDBRequest; } -declare var BeforeUnloadEvent: { - prototype: BeforeUnloadEvent; - new(): BeforeUnloadEvent; +declare var IDBCursor: { + prototype: IDBCursor; + new(): IDBCursor; }; -interface ApplicationCacheEventMap { - "checking": Event; - "error": ErrorEvent; - "noupdate": Event; - "downloading": Event; - "progress": ProgressEvent; - "updateready": Event; - "cached": Event; - "obsolete": Event; +interface IDBCursorWithValue extends IDBCursor { + readonly value: any; } -interface ApplicationCache extends EventTarget { - readonly status: number; - onchecking: (this: ApplicationCache, ev: Event) => any; - onerror: (this: ApplicationCache, ev: ErrorEvent) => any; - onnoupdate: (this: ApplicationCache, ev: Event) => any; - ondownloading: (this: ApplicationCache, ev: Event) => any; - onprogress: (this: ApplicationCache, ev: ProgressEvent) => any; - onupdateready: (this: ApplicationCache, ev: Event) => any; - oncached: (this: ApplicationCache, ev: Event) => any; - onobsolete: (this: ApplicationCache, ev: Event) => any; - update(): void; - abort(): void; - swapCache(): void; - readonly UNCACHED: number; - readonly IDLE: number; - readonly CHECKING: number; - readonly DOWNLOADING: number; - readonly UPDATEREADY: number; - readonly OBSOLETE: number; - addEventListener(type: K, listener: (this: ApplicationCache, ev: ApplicationCacheEventMap[K]) => any, useCapture?: boolean): void; +declare var IDBCursorWithValue: { + prototype: IDBCursorWithValue; + new(): IDBCursorWithValue; +}; + +interface IDBDatabaseEventMap { + "abort": Event; + "error": Event; + "versionchange": IDBVersionChangeEvent; +} + +interface IDBDatabase extends EventTarget { + readonly name: string; + readonly objectStoreNames: DOMStringList; + onabort: (this: IDBDatabase, ev: Event) => any; + onerror: (this: IDBDatabase, ev: Event) => any; + onversionchange: (this: IDBDatabase, ev: IDBVersionChangeEvent) => any; + version: number; + close(): void; + createObjectStore(name: string, optionalParameters?: IDBObjectStoreParameters): IDBObjectStore; + deleteObjectStore(name: string): void; + transaction(storeNames: string | string[], mode?: IDBTransactionMode): IDBTransaction; + addEventListener(type: "versionchange", listener: (ev: IDBVersionChangeEvent) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var ApplicationCache: { - prototype: ApplicationCache; - new(): ApplicationCache; - readonly UNCACHED: number; - readonly IDLE: number; - readonly CHECKING: number; - readonly DOWNLOADING: number; - readonly UPDATEREADY: number; - readonly OBSOLETE: number; +declare var IDBDatabase: { + prototype: IDBDatabase; + new(): IDBDatabase; +}; + +interface IDBFactory { + cmp(first: any, second: any): number; + deleteDatabase(name: string): IDBOpenDBRequest; + open(name: string, version?: number): IDBOpenDBRequest; +} + +declare var IDBFactory: { + prototype: IDBFactory; + new(): IDBFactory; +}; + +interface IDBIndex { + keyPath: string | string[]; + readonly multiEntry: boolean; + readonly name: string; + readonly objectStore: IDBObjectStore; + readonly unique: boolean; + count(key?: IDBKeyRange | IDBValidKey): IDBRequest; + get(key: IDBKeyRange | IDBValidKey): IDBRequest; + getKey(key: IDBKeyRange | IDBValidKey): IDBRequest; + openCursor(range?: IDBKeyRange | IDBValidKey, direction?: IDBCursorDirection): IDBRequest; + openKeyCursor(range?: IDBKeyRange | IDBValidKey, direction?: IDBCursorDirection): IDBRequest; +} + +declare var IDBIndex: { + prototype: IDBIndex; + new(): IDBIndex; }; -interface ErrorEvent extends Event { - readonly message: string; - readonly filename: string; - readonly lineno: number; - readonly colno: number; - readonly error: any; +interface IDBKeyRange { + readonly lower: any; + readonly lowerOpen: boolean; + readonly upper: any; + readonly upperOpen: boolean; } -declare var ErrorEvent: { - prototype: ErrorEvent; - new(type: string, errorEventInitDict?: ErrorEventInit): ErrorEvent; +declare var IDBKeyRange: { + prototype: IDBKeyRange; + new(): IDBKeyRange; + bound(lower: any, upper: any, lowerOpen?: boolean, upperOpen?: boolean): IDBKeyRange; + lowerBound(lower: any, open?: boolean): IDBKeyRange; + only(value: any): IDBKeyRange; + upperBound(upper: any, open?: boolean): IDBKeyRange; }; -interface PromiseRejectionEvent extends Event { - readonly promise: Promise; - readonly reason: any; +interface IDBObjectStore { + readonly autoIncrement: boolean; + readonly indexNames: DOMStringList; + keyPath: string | string[]; + readonly name: string; + readonly transaction: IDBTransaction; + add(value: any, key?: IDBKeyRange | IDBValidKey): IDBRequest; + clear(): IDBRequest; + count(key?: IDBKeyRange | IDBValidKey): IDBRequest; + createIndex(name: string, keyPath: string | string[], optionalParameters?: IDBIndexParameters): IDBIndex; + delete(key: IDBKeyRange | IDBValidKey): IDBRequest; + deleteIndex(indexName: string): void; + get(key: any): IDBRequest; + index(name: string): IDBIndex; + openCursor(range?: IDBKeyRange | IDBValidKey, direction?: IDBCursorDirection): IDBRequest; + put(value: any, key?: IDBKeyRange | IDBValidKey): IDBRequest; } -declare var PromiseRejectionEvent: { - prototype: PromiseRejectionEvent; - new(type: string, eventInitDict: PromiseRejectionEventInit): PromiseRejectionEvent; +declare var IDBObjectStore: { + prototype: IDBObjectStore; + new(): IDBObjectStore; }; -interface Navigator extends Object, NavigatorID, NavigatorLanguage, NavigatorOnLine, NavigatorContentUtils, NavigatorCookies, NavigatorPlugins, NavigatorConcurrentHardware, NavigatorUserMedia { - readonly geolocation: Geolocation; - readonly maxTouchPoints: number; - readonly serviceWorker: ServiceWorkerContainer; - readonly authentication: WebAuthentication; - readonly hardwareConcurrency: number; - readonly languages: string[]; - sendBeacon(url: string, data?: BodyInit): boolean; - requestMediaKeySystemAccess(keySystem: string, supportedConfigurations: MediaKeySystemConfiguration[]): Promise; - getGamepads(): any; - vibrate(pattern: number | number[]): boolean; +interface IDBOpenDBRequestEventMap extends IDBRequestEventMap { + "blocked": Event; + "upgradeneeded": IDBVersionChangeEvent; } -declare var Navigator: { - prototype: Navigator; - new(): Navigator; +interface IDBOpenDBRequest extends IDBRequest { + onblocked: (this: IDBOpenDBRequest, ev: Event) => any; + onupgradeneeded: (this: IDBOpenDBRequest, ev: IDBVersionChangeEvent) => any; + addEventListener(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var IDBOpenDBRequest: { + prototype: IDBOpenDBRequest; + new(): IDBOpenDBRequest; }; -interface PluginArray { - readonly length: number; - refresh(reload?: boolean): void; - item(index: number): Plugin | null; - namedItem(name: string): Plugin | null; - [index: number]: Plugin; +interface IDBRequestEventMap { + "error": Event; + "success": Event; } -declare var PluginArray: { - prototype: PluginArray; - new(): PluginArray; +interface IDBRequest extends EventTarget { + readonly error: DOMException; + onerror: (this: IDBRequest, ev: Event) => any; + onsuccess: (this: IDBRequest, ev: Event) => any; + readonly readyState: IDBRequestReadyState; + readonly result: any; + source: IDBObjectStore | IDBIndex | IDBCursor; + readonly transaction: IDBTransaction; + addEventListener(type: K, listener: (this: IDBRequest, ev: IDBRequestEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var IDBRequest: { + prototype: IDBRequest; + new(): IDBRequest; }; -interface MimeTypeArray { - readonly length: number; - item(index: number): MimeType | null; - namedItem(name: string): MimeType | null; - [index: number]: MimeType; +interface IDBTransactionEventMap { + "abort": Event; + "complete": Event; + "error": Event; } -declare var MimeTypeArray: { - prototype: MimeTypeArray; - new(): MimeTypeArray; +interface IDBTransaction extends EventTarget { + readonly db: IDBDatabase; + readonly error: DOMException; + readonly mode: IDBTransactionMode; + onabort: (this: IDBTransaction, ev: Event) => any; + oncomplete: (this: IDBTransaction, ev: Event) => any; + onerror: (this: IDBTransaction, ev: Event) => any; + abort(): void; + objectStore(name: string): IDBObjectStore; + addEventListener(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var IDBTransaction: { + prototype: IDBTransaction; + new(): IDBTransaction; }; -interface Plugin { - readonly name: string; - readonly description: string; - readonly filename: string; - readonly length: number; - item(index: number): MimeType | null; - namedItem(name: string): MimeType | null; - [index: number]: MimeType; +interface IDBVersionChangeEvent extends Event { + readonly newVersion: number | null; + readonly oldVersion: number; } -declare var Plugin: { - prototype: Plugin; - new(): Plugin; +declare var IDBVersionChangeEvent: { + prototype: IDBVersionChangeEvent; + new(type: string, eventInitDict?: IDBVersionChangeEventInit): IDBVersionChangeEvent; }; -interface MimeType { - readonly type: string; - readonly description: string; - readonly suffixes: string; - readonly enabledPlugin: Plugin; +interface IIRFilterNode extends AudioNode { + getFrequencyResponse(frequencyHz: Float32Array, magResponse: Float32Array, phaseResponse: Float32Array): void; } -declare var MimeType: { - prototype: MimeType; - new(): MimeType; +declare var IIRFilterNode: { + prototype: IIRFilterNode; + new(context: BaseAudioContext, options: IIRFilterOptions): IIRFilterNode; }; interface ImageBitmap { - readonly width: number; readonly height: number; + readonly width: number; close(): void; } @@ -7077,1011 +6643,916 @@ declare var ImageBitmap: { new(): ImageBitmap; }; -interface MessageEvent extends Event { - readonly data: any; - readonly origin: string; - readonly lastEventId: string; - readonly source: MessageEventSource | null; - readonly ports: ReadonlyArray; - initMessageEvent(type: string, bubbles?: boolean, cancelable?: boolean, data?: any, origin?: string, lastEventId?: string, source?: MessageEventSource, ports?: MessagePort[]): void; -} - -declare var MessageEvent: { - prototype: MessageEvent; - new(type: string, eventInitDict?: MessageEventInit): MessageEvent; -}; - -interface EventSourceEventMap { - "open": Event; - "message": MessageEvent; - "error": Event; -} - -interface EventSource extends EventTarget { - readonly url: string; - readonly withCredentials: boolean; - readonly readyState: number; - onopen: (this: EventSource, ev: Event) => any; - onmessage: (this: EventSource, ev: MessageEvent) => any; - onerror: (this: EventSource, ev: Event) => any; - close(): void; - readonly CONNECTING: number; - readonly OPEN: number; - readonly CLOSED: number; - addEventListener(type: K, listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var EventSource: { - prototype: EventSource; - new(url: string, eventSourceInitDict?: EventSourceInit): EventSource; - readonly CONNECTING: number; - readonly OPEN: number; - readonly CLOSED: number; -}; - -interface WebSocketEventMap { - "open": Event; - "error": ErrorEvent; - "close": Event; - "message": MessageEvent; -} - -interface WebSocket extends EventTarget { - readonly url: string; - readonly readyState: number; - readonly bufferedAmount: number; - onopen: (this: WebSocket, ev: Event) => any; - onerror: (this: WebSocket, ev: ErrorEvent) => any; - onclose: (this: WebSocket, ev: Event) => any; - readonly extensions: string; - readonly protocol: string; - onmessage: (this: WebSocket, ev: MessageEvent) => any; - binaryType: BinaryType; - close(code?: number, reason?: string): void; - send(data: string): void; - send(data: Blob): void; - send(data: ArrayBuffer): void; - send(data: ArrayBufferView): void; - readonly CONNECTING: number; - readonly OPEN: number; - readonly CLOSING: number; - readonly CLOSED: number; - addEventListener(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface ImageBitmapRenderingContext { + readonly canvas: HTMLCanvasElement; + transferFromImageBitmap(bitmap: ImageBitmap | null): void; } -declare var WebSocket: { - prototype: WebSocket; - new(url: string, protocols?: string | string[]): WebSocket; - readonly CONNECTING: number; - readonly OPEN: number; - readonly CLOSING: number; - readonly CLOSED: number; +declare var ImageBitmapRenderingContext: { + prototype: ImageBitmapRenderingContext; + new(): ImageBitmapRenderingContext; }; -interface CloseEvent extends Event { - readonly wasClean: boolean; - readonly code: number; - readonly reason: string; +interface ImageData { + data: Uint8ClampedArray; + readonly height: number; + readonly width: number; } -declare var CloseEvent: { - prototype: CloseEvent; - new(type: string, eventInitDict?: CloseEventInit): CloseEvent; +declare var ImageData: { + prototype: ImageData; + new(width: number, height: number): ImageData; + new(array: Uint8ClampedArray, width: number, height: number): ImageData; }; -interface MessageChannel { - readonly port1: MessagePort; - readonly port2: MessagePort; +interface InputDeviceInfo extends MediaDeviceInfo { + getCapabilities(): MediaTrackCapabilities; } -declare var MessageChannel: { - prototype: MessageChannel; - new(): MessageChannel; +declare var InputDeviceInfo: { + prototype: InputDeviceInfo; + new(): InputDeviceInfo; }; -interface MessagePortEventMap { - "message": MessageEvent; -} - -interface MessagePort extends EventTarget { - onmessage: (this: MessagePort, ev: MessageEvent) => any; - postMessage(message: any, transfer?: any[]): void; - start(): void; - close(): void; - addEventListener(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface InputEvent extends UIEvent { + readonly data: string | null; + readonly isComposing: boolean; } -declare var MessagePort: { - prototype: MessagePort; - new(): MessagePort; +declare var InputEvent: { + prototype: InputEvent; + new(type: string, eventInitDict?: InputEventInit): InputEvent; }; -interface BroadcastChannelEventMap { - "message": MessageEvent; -} - -interface BroadcastChannel extends EventTarget { - readonly name: string; - onmessage: (this: BroadcastChannel, ev: MessageEvent) => any; - postMessage(message: any): void; - close(): void; - addEventListener(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface InstallEvent extends ExtendableEvent { + registerForeignFetch(options: ForeignFetchOptions): void; } -declare var BroadcastChannel: { - prototype: BroadcastChannel; - new(name: string): BroadcastChannel; +declare var InstallEvent: { + prototype: InstallEvent; + new(type: string, eventInitDict?: ExtendableEventInit): InstallEvent; }; -interface WorkerGlobalScopeEventMap { - "error": ErrorEvent; -} - -interface WorkerGlobalScope extends EventTarget, WindowOrWorkerGlobalScope, GlobalPerformance, GlobalCrypto { - readonly self: WorkerGlobalScope; - readonly location: WorkerLocation; - readonly navigator: WorkerNavigator; - onerror: OnErrorEventHandler; - onlanguagechange: (this: WorkerGlobalScope, ev: Event) => any; - onoffline: (this: WorkerGlobalScope, ev: Event) => any; - ononline: (this: WorkerGlobalScope, ev: Event) => any; - onrejectionhandled: (this: WorkerGlobalScope, ev: PromiseRejectionEvent) => any; - onunhandledrejection: (this: WorkerGlobalScope, ev: PromiseRejectionEvent) => any; - importScripts(...urls: string[]): void; - createImageBitmap(image: ImageBitmap | ImageData | Blob, options?: ImageBitmapOptions): Promise; - createImageBitmap(image: ImageBitmap | ImageData | Blob, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise; - addEventListener(type: K, listener: (this: WorkerGlobalScope, ev: WorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface IntersectionObserver { + readonly root: Element | null; + readonly rootMargin: string; + readonly thresholds: ReadonlyArray; + disconnect(): void; + observe(target: Element): void; + takeRecords(): IntersectionObserverEntry[]; + unobserve(target: Element): void; } -declare var WorkerGlobalScope: { - prototype: WorkerGlobalScope; - new(): WorkerGlobalScope; +declare var IntersectionObserver: { + prototype: IntersectionObserver; + new(callback: IntersectionObserverCallback, options?: IntersectionObserverInit): IntersectionObserver; }; -interface DedicatedWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap { - "message": MessageEvent; +interface IntersectionObserverEntry { + readonly boundingClientRect: DOMRectReadOnly; + readonly intersectionRatio: number; + readonly intersectionRect: DOMRectReadOnly; + readonly isIntersecting: boolean; + readonly rootBounds: DOMRectReadOnly; + readonly target: Element; + readonly time: number; } -interface DedicatedWorkerGlobalScope extends WorkerGlobalScope { - onmessage: (this: DedicatedWorkerGlobalScope, ev: MessageEvent) => any; - postMessage(message: any, transfer?: any[]): void; - close(): void; - addEventListener(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare var IntersectionObserverEntry: { + prototype: IntersectionObserverEntry; + new(intersectionObserverEntryInit: IntersectionObserverEntryInit): IntersectionObserverEntry; +}; + +interface KeyboardEvent extends UIEvent { + readonly altKey: boolean; + readonly code: string; + readonly ctrlKey: boolean; + readonly isComposing: boolean; + readonly key: string; + readonly location: number; + readonly metaKey: boolean; + readonly repeat: boolean; + readonly shiftKey: boolean; + getModifierState(keyArg: string): boolean; + readonly DOM_KEY_LOCATION_LEFT: number; + readonly DOM_KEY_LOCATION_NUMPAD: number; + readonly DOM_KEY_LOCATION_RIGHT: number; + readonly DOM_KEY_LOCATION_STANDARD: number; } -declare var DedicatedWorkerGlobalScope: { - prototype: DedicatedWorkerGlobalScope; - new(): DedicatedWorkerGlobalScope; +declare var KeyboardEvent: { + prototype: KeyboardEvent; + new(type: string, eventInitDict?: KeyboardEventInit): KeyboardEvent; + readonly DOM_KEY_LOCATION_LEFT: number; + readonly DOM_KEY_LOCATION_NUMPAD: number; + readonly DOM_KEY_LOCATION_RIGHT: number; + readonly DOM_KEY_LOCATION_STANDARD: number; }; -interface SharedWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap { - "connect": MessageEvent; +interface KeyframeEffect extends KeyframeEffectReadOnly { + composite: CompositeOperation; + iterationComposite: IterationCompositeOperation; + spacing: string; + target: Animatable | null; + setKeyframes(keyframes: any): void; } -interface SharedWorkerGlobalScope extends WorkerGlobalScope { - readonly name: string; - onconnect: (this: SharedWorkerGlobalScope, ev: MessageEvent) => any; - close(): void; - addEventListener(type: K, listener: (this: SharedWorkerGlobalScope, ev: SharedWorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare var KeyframeEffect: { + prototype: KeyframeEffect; + new(target: Animatable | null, keyframes: any, options?: number | KeyframeEffectOptions): KeyframeEffect; + new(source: KeyframeEffectReadOnly): KeyframeEffect; +}; + +interface KeyframeEffectReadOnly extends AnimationEffectReadOnly { + readonly composite: CompositeOperation; + readonly iterationComposite: IterationCompositeOperation; + readonly spacing: string; + readonly target: Animatable | null; + getKeyframes(): any[]; } -declare var SharedWorkerGlobalScope: { - prototype: SharedWorkerGlobalScope; - new(): SharedWorkerGlobalScope; +declare var KeyframeEffectReadOnly: { + prototype: KeyframeEffectReadOnly; + new(target: Animatable | null, keyframes: any, options?: number | KeyframeEffectOptions): KeyframeEffectReadOnly; + new(source: KeyframeEffectReadOnly): KeyframeEffectReadOnly; }; -interface WorkerEventMap extends AbstractWorkerEventMap { - "message": MessageEvent; +interface Location { + readonly ancestorOrigins: DOMStringList; + hash: string; + host: string; + hostname: string; + href: string; + readonly origin: string; + pathname: string; + port: string; + protocol: string; + search: string; + assign(url: string): void; + reload(): void; + replace(url: string): void; } -interface Worker extends EventTarget, AbstractWorker { - onmessage: (this: Worker, ev: MessageEvent) => any; - terminate(): void; - postMessage(message: any, transfer?: any[]): void; - addEventListener(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare var Location: { + prototype: Location; + new(): Location; +}; + +interface MediaDeviceInfo { + readonly deviceId: string; + readonly groupId: string; + readonly kind: MediaDeviceKind; + readonly label: string; } -declare var Worker: { - prototype: Worker; - new(scriptURL: string, options?: WorkerOptions): Worker; +declare var MediaDeviceInfo: { + prototype: MediaDeviceInfo; + new(): MediaDeviceInfo; }; -interface SharedWorker extends EventTarget, AbstractWorker { - readonly port: MessagePort; - addEventListener(type: K, listener: (this: SharedWorker, ev: AbstractWorkerEventMap[K]) => any, useCapture?: boolean): void; +interface MediaDevicesEventMap { + "devicechange": Event; +} + +interface MediaDevices extends EventTarget { + ondevicechange: (this: MediaDevices, ev: Event) => any; + enumerateDevices(): Promise; + getSupportedConstraints(): MediaTrackSupportedConstraints; + getUserMedia(constraints: MediaStreamConstraints): Promise; + addEventListener(type: K, listener: (this: MediaDevices, ev: MediaDevicesEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SharedWorker: { - prototype: SharedWorker; - new(scriptURL: string, name?: string, options?: WorkerOptions): SharedWorker; +declare var MediaDevices: { + prototype: MediaDevices; + new(): MediaDevices; }; -interface WorkerNavigator extends Object, NavigatorID, NavigatorLanguage, NavigatorOnLine, NavigatorConcurrentHardware { - readonly serviceWorker: ServiceWorkerContainer; - readonly hardwareConcurrency: number; +interface MediaElementAudioSourceNode extends AudioNode { } -declare var WorkerNavigator: { - prototype: WorkerNavigator; - new(): WorkerNavigator; +declare var MediaElementAudioSourceNode: { + prototype: MediaElementAudioSourceNode; + new(context: BaseAudioContext, options: MediaElementAudioSourceOptions): MediaElementAudioSourceNode; }; -interface WorkerLocation { - readonly href: string; - readonly origin: string; - readonly protocol: string; - readonly host: string; - readonly hostname: string; - readonly port: string; - readonly pathname: string; - readonly search: string; - readonly hash: string; +interface MediaEncryptedEvent extends Event { + readonly initData: ArrayBuffer | null; + readonly initDataType: string; } -declare var WorkerLocation: { - prototype: WorkerLocation; - new(): WorkerLocation; +declare var MediaEncryptedEvent: { + prototype: MediaEncryptedEvent; + new(type: string, eventInitDict?: MediaEncryptedEventInit): MediaEncryptedEvent; }; -interface Storage { - readonly length: number; - key(index: number): string | null; - getItem(key: string): string | null; - setItem(key: string, value: string): void; - removeItem(key: string): void; - clear(): void; +interface MediaError { + readonly code: number; + readonly message: string; + readonly MEDIA_ERR_ABORTED: number; + readonly MEDIA_ERR_DECODE: number; + readonly MEDIA_ERR_NETWORK: number; + readonly MEDIA_ERR_SRC_NOT_SUPPORTED: number; } -declare var Storage: { - prototype: Storage; - new(): Storage; +declare var MediaError: { + prototype: MediaError; + new(): MediaError; + readonly MEDIA_ERR_ABORTED: number; + readonly MEDIA_ERR_DECODE: number; + readonly MEDIA_ERR_NETWORK: number; + readonly MEDIA_ERR_SRC_NOT_SUPPORTED: number; }; -interface StorageEvent extends Event { - readonly url: string; - key?: string; - oldValue?: string; - newValue?: string; - storageArea?: Storage; +interface MediaKeyMessageEvent extends Event { + readonly message: ArrayBuffer; + readonly messageType: MediaKeyMessageType; } -declare var StorageEvent: { - prototype: StorageEvent; - new (type: string, eventInitDict?: StorageEventInit): StorageEvent; +declare var MediaKeyMessageEvent: { + prototype: MediaKeyMessageEvent; + new(type: string, eventInitDict: MediaKeyMessageEventInit): MediaKeyMessageEvent; }; -interface HTMLAppletElement extends HTMLElement { - align: string; - /** - * Sets or retrieves a text alternative to the graphic. - */ - alt: string; - /** - * Sets or retrieves a character string that can be used to implement your own archive functionality for the object. - */ - archive: string; - code: string; - /** - * Sets or retrieves the URL of the component. - */ - codeBase: string; - /** - * Sets or retrieves the height of the object. - */ - height: string; - hspace: number; - /** - * Sets or retrieves the shape of the object. - */ - name: string; - object: string; - vspace: number; - width: string; - addEventListener(type: K, listener: (this: HTMLAppletElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLAppletElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLAppletElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface MediaKeys { + createSession(sessionType?: MediaKeySessionType): MediaKeySession; + setServerCertificate(serverCertificate: BufferSource): Promise; } -declare var HTMLAppletElement: { - prototype: HTMLAppletElement; - new(): HTMLAppletElement; +declare var MediaKeys: { + prototype: MediaKeys; + new(): MediaKeys; }; -interface HTMLMarqueeElementEventMap extends ElementEventMap, GlobalEventHandlersEventMap, DocumentAndElementEventHandlersEventMap { - "bounce": Event; - "finish": Event; - "start": Event; +interface MediaKeySessionEventMap { + "keystatuseschange": Event; + "message": MediaKeyMessageEvent; } -interface HTMLMarqueeElement extends HTMLElement { - behavior: string; - bgColor: string; - direction: string; - height: string; - hspace: number; - loop: number; - scrollAmount: number; - scrollDelay: number; - trueSpeed: boolean; - vspace: number; - width: string; - onbounce: (this: HTMLMarqueeElement, ev: Event) => any; - onfinish: (this: HTMLMarqueeElement, ev: Event) => any; - onstart: (this: HTMLMarqueeElement, ev: Event) => any; - start(): void; - stop(): void; - addEventListener(type: K, listener: (this: HTMLMarqueeElement, ev: HTMLMarqueeElementEventMap[K]) => any, useCapture?: boolean): void; +interface MediaKeySession extends EventTarget { + readonly closed: Promise; + readonly expiration: number; + readonly keyStatuses: MediaKeyStatusMap; + onkeystatuseschange: (this: MediaKeySession, ev: Event) => any; + onmessage: (this: MediaKeySession, ev: MediaKeyMessageEvent) => any; + readonly sessionId: string; + close(): Promise; + generateRequest(initDataType: string, initData: BufferSource): Promise; + load(sessionId: string): Promise; + remove(): Promise; + update(response: BufferSource): Promise; + addEventListener(type: K, listener: (this: MediaKeySession, ev: MediaKeySessionEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLMarqueeElement: { - prototype: HTMLMarqueeElement; - new(): HTMLMarqueeElement; +declare var MediaKeySession: { + prototype: MediaKeySession; + new(): MediaKeySession; }; -interface HTMLFrameSetElement extends HTMLElement, WindowEventHandlers { - /** - * Sets or retrieves the frame widths of the object. - */ - cols: string; - /** - * Sets or retrieves the frame heights of the object. - */ - rows: string; - addEventListener(type: K, listener: (this: HTMLFrameSetElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLFrameSetElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLFrameSetElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLFrameSetElement, ev: WindowEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface MediaKeyStatusMap { + readonly size: number; + get(keyId: BufferSource): any; + has(keyId: BufferSource): boolean; } -declare var HTMLFrameSetElement: { - prototype: HTMLFrameSetElement; - new(): HTMLFrameSetElement; +declare var MediaKeyStatusMap: { + prototype: MediaKeyStatusMap; + new(): MediaKeyStatusMap; }; -interface HTMLFrameElement extends HTMLElement { - /** - * Sets or retrieves the frame name. - */ - name: string; - /** - * Sets or retrieves whether the frame can be scrolled. - */ - scrolling: string; - /** - * Sets or retrieves a URL to be loaded by the object. - */ - src: string; - /** - * Sets or retrieves whether to display a border for the frame. - */ - frameBorder: string; - /** - * Sets or retrieves a URI to a long description of the object. - */ - longDesc: string; - /** - * Sets or retrieves whether the user can resize the frame. - */ - noResize: boolean; - /** - * Retrieves the document object of the page or frame. - */ - readonly contentDocument: Document | null; - /** - * Retrieves the object of the specified. - */ - readonly contentWindow: any; - /** - * Sets or retrieves the top and bottom margin heights before displaying the text in a frame. - */ - marginHeight: string; - /** - * Sets or retrieves the left and right margin widths before displaying the text in a frame. - */ - marginWidth: string; - addEventListener(type: K, listener: (this: HTMLFrameElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLFrameElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLFrameElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface MediaKeySystemAccess { + readonly keySystem: string; + createMediaKeys(): Promise; + getConfiguration(): MediaKeySystemConfiguration; } -declare var HTMLFrameElement: { - prototype: HTMLFrameElement; - new(): HTMLFrameElement; +declare var MediaKeySystemAccess: { + prototype: MediaKeySystemAccess; + new(): MediaKeySystemAccess; }; -interface HTMLDirectoryElement extends HTMLElement { - compact: boolean; - addEventListener(type: K, listener: (this: HTMLDirectoryElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLDirectoryElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLDirectoryElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface MediaList { + readonly length: number; + mediaText: CSSOMString; + appendMedium(medium: CSSOMString): void; + deleteMedium(medium: CSSOMString): void; + item(index: number): CSSOMString | null; + [index: number]: CSSOMString; } -declare var HTMLDirectoryElement: { - prototype: HTMLDirectoryElement; - new(): HTMLDirectoryElement; +declare var MediaList: { + prototype: MediaList; + new(): MediaList; }; -interface HTMLFontElement extends HTMLElement { - color: string; - /** - * Sets or retrieves the current typeface family. - */ - face: string; - size: string; - addEventListener(type: K, listener: (this: HTMLFontElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLFontElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: HTMLFontElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; +interface MediaQueryListEventMap { + "change": Event; +} + +interface MediaQueryList extends EventTarget { + readonly matches: boolean; + readonly media: string; + onchange: (this: MediaQueryList, ev: Event) => any; + addListener(listener: EventListenerOrEventListenerObject | null): void; + removeListener(listener: EventListenerOrEventListenerObject | null): void; + addEventListener(type: K, listener: (this: MediaQueryList, ev: MediaQueryListEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var HTMLFontElement: { - prototype: HTMLFontElement; - new(): HTMLFontElement; +declare var MediaQueryList: { + prototype: MediaQueryList; + new(): MediaQueryList; }; -interface IDBKeyRange { - readonly lower: any; - readonly upper: any; - readonly lowerOpen: boolean; - readonly upperOpen: boolean; +interface MediaQueryListEvent extends Event { + readonly matches: boolean; + readonly media: string; } -declare var IDBKeyRange: { - prototype: IDBKeyRange; - new(): IDBKeyRange; - only(value: any): IDBKeyRange; - lowerBound(lower: any, open?: boolean): IDBKeyRange; - upperBound(upper: any, open?: boolean): IDBKeyRange; - bound(lower: any, upper: any, lowerOpen?: boolean, upperOpen?: boolean): IDBKeyRange; +declare var MediaQueryListEvent: { + prototype: MediaQueryListEvent; + new(type: string, eventInitDict?: MediaQueryListEventInit): MediaQueryListEvent; }; - -interface IDBRequestEventMap { - "success": Event; - "error": ErrorEvent; + +interface MediaSourceEventMap { + "sourceclose": Event; + "sourceended": Event; + "sourceopen": Event; } -interface IDBRequest extends EventTarget { - readonly result: any; - readonly error: DOMException; - source: IDBObjectStore | IDBIndex | IDBCursor; - readonly transaction: IDBTransaction; - readonly readyState: IDBRequestReadyState; - onsuccess: (this: IDBRequest, ev: Event) => any; - onerror: (this: IDBRequest, ev: ErrorEvent) => any; - addEventListener(type: K, listener: (this: IDBRequest, ev: IDBRequestEventMap[K]) => any, useCapture?: boolean): void; +interface MediaSource extends EventTarget { + readonly activeSourceBuffers: SourceBufferList; + duration: number; + onsourceclose: (this: MediaSource, ev: Event) => any; + onsourceended: (this: MediaSource, ev: Event) => any; + onsourceopen: (this: MediaSource, ev: Event) => any; + readonly readyState: string; + readonly sourceBuffers: SourceBufferList; + addSourceBuffer(type: string): SourceBuffer; + clearLiveSeekableRange(): void; + endOfStream(error?: EndOfStreamError): void; + removeSourceBuffer(sourceBuffer: SourceBuffer): void; + setLiveSeekableRange(start: number, end: number): void; + addEventListener(type: K, listener: (this: MediaSource, ev: MediaSourceEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var IDBRequest: { - prototype: IDBRequest; - new(): IDBRequest; +declare var MediaSource: { + prototype: MediaSource; + new(): MediaSource; + isTypeSupported(type: string): boolean; }; -interface IDBOpenDBRequestEventMap extends IDBRequestEventMap { - "blocked": Event; - "upgradeneeded": Event; +interface MediaStreamEventMap { + "addtrack": MediaStreamTrackEvent; + "removetrack": MediaStreamTrackEvent; } -interface IDBOpenDBRequest extends IDBRequest { - onblocked: (this: IDBOpenDBRequest, ev: Event) => any; - onupgradeneeded: (this: IDBOpenDBRequest, ev: Event) => any; - addEventListener(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, useCapture?: boolean): void; +interface MediaStream extends EventTarget { + readonly active: boolean; + readonly id: string; + onaddtrack: (this: MediaStream, ev: MediaStreamTrackEvent) => any; + onremovetrack: (this: MediaStream, ev: MediaStreamTrackEvent) => any; + addTrack(track: MediaStreamTrack): void; + clone(): MediaStream; + getAudioTracks(): MediaStreamTrack[]; + getTrackById(trackId: string): MediaStreamTrack | null; + getTracks(): MediaStreamTrack[]; + getVideoTracks(): MediaStreamTrack[]; + removeTrack(track: MediaStreamTrack): void; + addEventListener(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var IDBOpenDBRequest: { - prototype: IDBOpenDBRequest; - new(): IDBOpenDBRequest; +declare var MediaStream: { + prototype: MediaStream; + new(): MediaStream; + new(stream: MediaStream): MediaStream; + new(tracks: MediaStreamTrack[]): MediaStream; }; -interface IDBVersionChangeEvent extends Event { - readonly oldVersion: number; - readonly newVersion: number | null; +interface MediaStreamAudioDestinationNode extends AudioNode { + readonly stream: MediaStream; } -declare var IDBVersionChangeEvent: { - prototype: IDBVersionChangeEvent; - new(type: string, eventInitDict?: IDBVersionChangeEventInit): IDBVersionChangeEvent; +declare var MediaStreamAudioDestinationNode: { + prototype: MediaStreamAudioDestinationNode; + new(context: BaseAudioContext, options?: AudioNodeOptions): MediaStreamAudioDestinationNode; }; -interface IDBFactory { - open(name: string, version?: number): IDBOpenDBRequest; - deleteDatabase(name: string): IDBOpenDBRequest; - cmp(first: any, second: any): number; +interface MediaStreamAudioSourceNode extends AudioNode { } -declare var IDBFactory: { - prototype: IDBFactory; - new(): IDBFactory; +declare var MediaStreamAudioSourceNode: { + prototype: MediaStreamAudioSourceNode; + new(context: BaseAudioContext, options: MediaStreamAudioSourceOptions): MediaStreamAudioSourceNode; }; -interface IDBDatabaseEventMap { - "abort": Event; - "error": Event; - "versionchange": IDBVersionChangeEvent; +interface MediaStreamTrackEventMap { + "ended": Event; + "isolationchange": Event; + "mute": Event; + "overconstrained": OverconstrainedErrorEvent; + "unmute": Event; } -interface IDBDatabase extends EventTarget { - readonly name: string; - version: number; - readonly objectStoreNames: DOMStringList; - onabort: (this: IDBDatabase, ev: Event) => any; - onerror: (this: IDBDatabase, ev: Event) => any; - onversionchange: (this: IDBDatabase, ev: IDBVersionChangeEvent) => any; - createObjectStore(name: string, optionalParameters?: IDBObjectStoreParameters): IDBObjectStore; - deleteObjectStore(name: string): void; - transaction(storeNames: string | string[], mode?: IDBTransactionMode): IDBTransaction; - close(): void; - addEventListener(type: "versionchange", listener: (ev: IDBVersionChangeEvent) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, useCapture?: boolean): void; +interface MediaStreamTrack extends EventTarget { + enabled: boolean; + readonly id: string; + readonly isolated: boolean; + readonly kind: string; + readonly label: string; + readonly muted: boolean; + onended: (this: MediaStreamTrack, ev: Event) => any; + onisolationchange: (this: MediaStreamTrack, ev: Event) => any; + onmute: (this: MediaStreamTrack, ev: Event) => any; + onoverconstrained: (this: MediaStreamTrack, ev: OverconstrainedErrorEvent) => any; + onunmute: (this: MediaStreamTrack, ev: Event) => any; + readonly readyState: MediaStreamTrackState; + applyConstraints(constraints?: MediaTrackConstraints): Promise; + clone(): MediaStreamTrack; + getCapabilities(): MediaTrackCapabilities; + getConstraints(): MediaTrackConstraints; + getSettings(): MediaTrackSettings; + stop(): void; + addEventListener(type: K, listener: (this: MediaStreamTrack, ev: MediaStreamTrackEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var IDBDatabase: { - prototype: IDBDatabase; - new(): IDBDatabase; +declare var MediaStreamTrack: { + prototype: MediaStreamTrack; + new(): MediaStreamTrack; }; -interface IDBObjectStore { - readonly name: string; - keyPath: string | string[]; - readonly indexNames: DOMStringList; - readonly transaction: IDBTransaction; - readonly autoIncrement: boolean; - put(value: any, key?: IDBKeyRange | IDBValidKey): IDBRequest; - add(value: any, key?: IDBKeyRange | IDBValidKey): IDBRequest; - delete(key: IDBKeyRange | IDBValidKey): IDBRequest; - get(key: any): IDBRequest; - clear(): IDBRequest; - openCursor(range?: IDBKeyRange | IDBValidKey, direction?: IDBCursorDirection): IDBRequest; - createIndex(name: string, keyPath: string | string[], optionalParameters?: IDBIndexParameters): IDBIndex; - index(name: string): IDBIndex; - deleteIndex(indexName: string): void; - count(key?: IDBKeyRange | IDBValidKey): IDBRequest; +interface MediaStreamTrackAudioSourceNode extends AudioNode { } -declare var IDBObjectStore: { - prototype: IDBObjectStore; - new(): IDBObjectStore; +declare var MediaStreamTrackAudioSourceNode: { + prototype: MediaStreamTrackAudioSourceNode; + new(context: AudioContext, options: MediaStreamTrackAudioSourceOptions): MediaStreamTrackAudioSourceNode; }; -interface IDBIndex { - readonly name: string; - readonly objectStore: IDBObjectStore; - keyPath: string | string[]; - readonly multiEntry: boolean; - readonly unique: boolean; - openCursor(range?: IDBKeyRange | IDBValidKey, direction?: IDBCursorDirection): IDBRequest; - openKeyCursor(range?: IDBKeyRange | IDBValidKey, direction?: IDBCursorDirection): IDBRequest; - get(key: IDBKeyRange | IDBValidKey): IDBRequest; - getKey(key: IDBKeyRange | IDBValidKey): IDBRequest; - count(key?: IDBKeyRange | IDBValidKey): IDBRequest; +interface MediaStreamTrackEvent extends Event { + readonly track: MediaStreamTrack; } -declare var IDBIndex: { - prototype: IDBIndex; - new(): IDBIndex; +declare var MediaStreamTrackEvent: { + prototype: MediaStreamTrackEvent; + new(type: string, eventInitDict: MediaStreamTrackEventInit): MediaStreamTrackEvent; }; -interface IDBCursor { - source: IDBObjectStore | IDBIndex; - readonly direction: IDBCursorDirection; - key: IDBKeyRange | IDBValidKey; - readonly primaryKey: any; - update(value: any): IDBRequest; - advance(count: number): void; - continue(key?: IDBKeyRange | IDBValidKey): void; - delete(): IDBRequest; +interface MessageChannel { + readonly port1: MessagePort; + readonly port2: MessagePort; } -declare var IDBCursor: { - prototype: IDBCursor; - new(): IDBCursor; +declare var MessageChannel: { + prototype: MessageChannel; + new(): MessageChannel; }; -interface IDBCursorWithValue extends IDBCursor { - readonly value: any; +interface MessageEvent extends Event { + readonly data: any; + readonly lastEventId: string; + readonly origin: string; + readonly ports: ReadonlyArray; + readonly source: MessageEventSource | null; + initMessageEvent(type: string, bubbles?: boolean, cancelable?: boolean, data?: any, origin?: string, lastEventId?: string, source?: MessageEventSource, ports?: MessagePort[]): void; } -declare var IDBCursorWithValue: { - prototype: IDBCursorWithValue; - new(): IDBCursorWithValue; +declare var MessageEvent: { + prototype: MessageEvent; + new(type: string, eventInitDict?: MessageEventInit): MessageEvent; }; -interface IDBTransactionEventMap { - "abort": Event; - "complete": Event; - "error": ErrorEvent; +interface MessagePortEventMap { + "message": MessageEvent; + "messageerror": MessageEvent; } -interface IDBTransaction extends EventTarget { - readonly mode: IDBTransactionMode; - readonly db: IDBDatabase; - readonly error: DOMException; - onabort: (this: IDBTransaction, ev: Event) => any; - oncomplete: (this: IDBTransaction, ev: Event) => any; - onerror: (this: IDBTransaction, ev: ErrorEvent) => any; - objectStore(name: string): IDBObjectStore; - abort(): void; - addEventListener(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, useCapture?: boolean): void; +interface MessagePort extends EventTarget { + onmessage: (this: MessagePort, ev: MessageEvent) => any; + onmessageerror: (this: MessagePort, ev: MessageEvent) => any; + close(): void; + postMessage(message: any, transfer?: any[]): void; + start(): void; + addEventListener(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var IDBTransaction: { - prototype: IDBTransaction; - new(): IDBTransaction; -}; - -interface IntersectionObserver { - readonly root: Element | null; - readonly rootMargin: string; - readonly thresholds: ReadonlyArray; - observe(target: Element): void; - unobserve(target: Element): void; - disconnect(): void; - takeRecords(): IntersectionObserverEntry[]; -} - -declare var IntersectionObserver: { - prototype: IntersectionObserver; - new(callback: IntersectionObserverCallback, options?: IntersectionObserverInit): IntersectionObserver; -}; - -interface IntersectionObserverEntry { - readonly time: number; - readonly rootBounds: DOMRectReadOnly; - readonly boundingClientRect: DOMRectReadOnly; - readonly intersectionRect: DOMRectReadOnly; - readonly isIntersecting: boolean; - readonly intersectionRatio: number; - readonly target: Element; +declare var MessagePort: { + prototype: MessagePort; + new(): MessagePort; +}; + +interface MimeType { + readonly description: string; + readonly enabledPlugin: Plugin; + readonly suffixes: string; + readonly type: string; } -declare var IntersectionObserverEntry: { - prototype: IntersectionObserverEntry; - new(intersectionObserverEntryInit: IntersectionObserverEntryInit): IntersectionObserverEntry; +declare var MimeType: { + prototype: MimeType; + new(): MimeType; }; -interface MediaStreamEventMap { - "addtrack": TrackEvent; - "removetrack": TrackEvent; +interface MimeTypeArray { + readonly length: number; + item(index: number): MimeType | null; + namedItem(name: string): MimeType | null; + [index: number]: MimeType; } -interface MediaStream extends EventTarget { - readonly id: string; - readonly active: boolean; - onaddtrack: (this: MediaStream, ev: TrackEvent) => any; - onremovetrack: (this: MediaStream, ev: TrackEvent) => any; - getAudioTracks(): MediaStreamTrack[]; - getVideoTracks(): MediaStreamTrack[]; - getTracks(): MediaStreamTrack[]; - getTrackById(trackId: string): MediaStreamTrack | null; - addTrack(track: MediaStreamTrack): void; - removeTrack(track: MediaStreamTrack): void; - clone(): MediaStream; - addEventListener(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare var MimeTypeArray: { + prototype: MimeTypeArray; + new(): MimeTypeArray; +}; + +interface MouseEvent extends UIEvent { + readonly altKey: boolean; + readonly button: number; + readonly buttons: number; + readonly clientX: number; + readonly clientY: number; + readonly ctrlKey: boolean; + readonly metaKey: boolean; + readonly offsetX: number; + readonly offsetY: number; + readonly pageX: number; + readonly pageY: number; + readonly relatedTarget: EventTarget | null; + readonly screenX: number; + readonly screenY: number; + readonly shiftKey: boolean; + readonly x: number; + readonly y: number; + getModifierState(keyArg: string): boolean; } -declare var MediaStream: { - prototype: MediaStream; - new(): MediaStream; - new(stream: MediaStream): MediaStream; - new(tracks: MediaStreamTrack[]): MediaStream; +declare var MouseEvent: { + prototype: MouseEvent; + new(type: string, eventInitDict?: MouseEventInit): MouseEvent; }; -interface MediaStreamTrackEventMap { - "mute": Event; - "unmute": Event; - "ended": Event; - "overconstrained": OverconstrainedErrorEvent; - "isolationchange": Event; +interface MutationObserver { + disconnect(): void; + observe(target: Node, options?: MutationObserverInit): void; + takeRecords(): MutationRecord[]; } -interface MediaStreamTrack extends EventTarget { - readonly kind: string; - readonly id: string; - readonly label: string; - enabled: boolean; - readonly muted: boolean; - onmute: (this: MediaStreamTrack, ev: Event) => any; - onunmute: (this: MediaStreamTrack, ev: Event) => any; - readonly readyState: MediaStreamTrackState; - onended: (this: MediaStreamTrack, ev: Event) => any; - onoverconstrained: (this: MediaStreamTrack, ev: OverconstrainedErrorEvent) => any; - readonly isolated: boolean; - onisolationchange: (this: MediaStreamTrack, ev: Event) => any; - clone(): MediaStreamTrack; - stop(): void; - getCapabilities(): MediaTrackCapabilities; - getConstraints(): MediaTrackConstraints; - getSettings(): MediaTrackSettings; - applyConstraints(constraints?: MediaTrackConstraints): Promise; - addEventListener(type: K, listener: (this: MediaStreamTrack, ev: MediaStreamTrackEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare var MutationObserver: { + prototype: MutationObserver; + new(callback: MutationCallback): MutationObserver; +}; + +interface MutationRecord { + readonly addedNodes: NodeList; + readonly attributeName: string | null; + readonly attributeNamespace: string | null; + readonly nextSibling: Node | null; + readonly oldValue: string | null; + readonly previousSibling: Node | null; + readonly removedNodes: NodeList; + readonly target: Node; + readonly type: string; } -declare var MediaStreamTrack: { - prototype: MediaStreamTrack; - new(): MediaStreamTrack; +declare var MutationRecord: { + prototype: MutationRecord; + new(): MutationRecord; }; -interface MediaStreamTrackEvent extends Event { - readonly track: MediaStreamTrack; +interface NamedNodeMap { + readonly length: number; + getNamedItem(qualifiedName: string): Attr | null; + getNamedItemNS(namespace: string | null, localName: string): Attr | null; + item(index: number): Attr | null; + removeNamedItem(qualifiedName: string): Attr; + removeNamedItemNS(namespace: string | null, localName: string): Attr; + setNamedItem(attr: Attr): Attr | null; + setNamedItemNS(attr: Attr): Attr | null; + [index: number]: Attr; } -declare var MediaStreamTrackEvent: { - prototype: MediaStreamTrackEvent; - new(type: string, eventInitDict: MediaStreamTrackEventInit): MediaStreamTrackEvent; +declare var NamedNodeMap: { + prototype: NamedNodeMap; + new(): NamedNodeMap; }; -interface OverconstrainedErrorEvent extends Event { - readonly error: any; +interface NavigationPreloadManager { + disable(): Promise; + enable(): Promise; + getState(): Promise; + setHeaderValue(value: any): Promise; } -declare var OverconstrainedErrorEvent: { - prototype: OverconstrainedErrorEvent; - new(type: string, eventInitDict: OverconstrainedErrorEventInit): OverconstrainedErrorEvent; +declare var NavigationPreloadManager: { + prototype: NavigationPreloadManager; + new(): NavigationPreloadManager; }; -interface MediaDevicesEventMap { - "devicechange": Event; +interface Navigator extends Object, NavigatorID, NavigatorLanguage, NavigatorOnLine, NavigatorContentUtils, NavigatorCookies, NavigatorPlugins, NavigatorConcurrentHardware, NavigatorUserMedia { + readonly authentication: WebAuthentication; + readonly geolocation: Geolocation; + readonly maxTouchPoints: number; + readonly serviceWorker: ServiceWorkerContainer; + readonly hardwareConcurrency: number; + readonly languages: string[]; + getGamepads(): any; + requestMediaKeySystemAccess(keySystem: string, supportedConfigurations: MediaKeySystemConfiguration[]): Promise; + sendBeacon(url: string, data?: BodyInit): boolean; + vibrate(pattern: number | number[]): boolean; } -interface MediaDevices extends EventTarget { - ondevicechange: (this: MediaDevices, ev: Event) => any; - enumerateDevices(): Promise; - getSupportedConstraints(): MediaTrackSupportedConstraints; - getUserMedia(constraints?: MediaStreamConstraints): Promise; - addEventListener(type: K, listener: (this: MediaDevices, ev: MediaDevicesEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare var Navigator: { + prototype: Navigator; + new(): Navigator; +}; + +interface Node extends EventTarget { + readonly baseURI: string; + readonly childNodes: NodeList; + readonly firstChild: Node | null; + readonly isConnected: boolean; + readonly lastChild: Node | null; + readonly nextSibling: Node | null; + readonly nodeName: string; + readonly nodeType: number; + nodeValue: string | null; + readonly ownerDocument: Document | null; + readonly parentElement: HTMLElement | null; + readonly parentNode: Node | null; + readonly previousSibling: Node | null; + textContent: string | null; + appendChild(newChild: T): T; + cloneNode(deep?: boolean): Node; + compareDocumentPosition(other: Node): number; + contains(other: Node | null): boolean; + getRootNode(options?: GetRootNodeOptions): Node; + hasChildNodes(): boolean; + insertBefore(newChild: T, refChild: Node | null): T; + isDefaultNamespace(namespace: string | null): boolean; + isEqualNode(otherNode: Node | null): boolean; + isSameNode(otherNode: Node | null): boolean; + lookupNamespaceURI(prefix: string | null): string | null; + lookupPrefix(namespace: string | null): string | null; + normalize(): void; + removeChild(oldChild: T): T; + replaceChild(newChild: Node, oldChild: T): T; + readonly ATTRIBUTE_NODE: number; + readonly CDATA_SECTION_NODE: number; + readonly COMMENT_NODE: number; + readonly DOCUMENT_FRAGMENT_NODE: number; + readonly DOCUMENT_NODE: number; + readonly DOCUMENT_POSITION_CONTAINED_BY: number; + readonly DOCUMENT_POSITION_CONTAINS: number; + readonly DOCUMENT_POSITION_DISCONNECTED: number; + readonly DOCUMENT_POSITION_FOLLOWING: number; + readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number; + readonly DOCUMENT_POSITION_PRECEDING: number; + readonly DOCUMENT_TYPE_NODE: number; + readonly ELEMENT_NODE: number; + readonly ENTITY_NODE: number; + readonly ENTITY_REFERENCE_NODE: number; + readonly NOTATION_NODE: number; + readonly PROCESSING_INSTRUCTION_NODE: number; + readonly TEXT_NODE: number; } -declare var MediaDevices: { - prototype: MediaDevices; - new(): MediaDevices; +declare var Node: { + prototype: Node; + new(): Node; + readonly ATTRIBUTE_NODE: number; + readonly CDATA_SECTION_NODE: number; + readonly COMMENT_NODE: number; + readonly DOCUMENT_FRAGMENT_NODE: number; + readonly DOCUMENT_NODE: number; + readonly DOCUMENT_POSITION_CONTAINED_BY: number; + readonly DOCUMENT_POSITION_CONTAINS: number; + readonly DOCUMENT_POSITION_DISCONNECTED: number; + readonly DOCUMENT_POSITION_FOLLOWING: number; + readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number; + readonly DOCUMENT_POSITION_PRECEDING: number; + readonly DOCUMENT_TYPE_NODE: number; + readonly ELEMENT_NODE: number; + readonly ENTITY_NODE: number; + readonly ENTITY_REFERENCE_NODE: number; + readonly NOTATION_NODE: number; + readonly PROCESSING_INSTRUCTION_NODE: number; + readonly TEXT_NODE: number; }; -interface MediaDeviceInfo { - readonly deviceId: string; - readonly kind: MediaDeviceKind; - readonly label: string; - readonly groupId: string; +interface NodeIterator { + readonly filter: NodeFilter | null; + readonly pointerBeforeReferenceNode: boolean; + readonly referenceNode: Node; + readonly root: Node; + readonly whatToShow: number; + detach(): void; + nextNode(): Node | null; + previousNode(): Node | null; } -declare var MediaDeviceInfo: { - prototype: MediaDeviceInfo; - new(): MediaDeviceInfo; +declare var NodeIterator: { + prototype: NodeIterator; + new(): NodeIterator; }; -interface InputDeviceInfo extends MediaDeviceInfo { - getCapabilities(): MediaTrackCapabilities; +interface NodeList { + readonly length: number; + item(index: number): Node | null; + [index: number]: Node; } -declare var InputDeviceInfo: { - prototype: InputDeviceInfo; - new(): InputDeviceInfo; +declare var NodeList: { + prototype: NodeList; + new(): NodeList; }; -interface VideoPlaybackQuality { - readonly creationTime: number; - readonly corruptedVideoFrames: number; - readonly droppedVideoFrames: number; - readonly totalVideoFrames: number; +interface NotificationEventMap { + "click": Event; + "error": Event; } -declare var VideoPlaybackQuality: { - prototype: VideoPlaybackQuality; - new(): VideoPlaybackQuality; +interface Notification extends EventTarget { + readonly actions: ReadonlyArray; + readonly badge: string; + readonly body: string; + readonly data: any; + readonly dir: NotificationDirection; + readonly icon: string; + readonly image: string; + readonly lang: string; + readonly maxActions: number; + onclick: (this: Notification, ev: Event) => any; + onerror: (this: Notification, ev: Event) => any; + readonly permission: NotificationPermission; + readonly renotify: boolean; + readonly requireInteraction: boolean; + readonly silent: boolean; + readonly sound: string; + readonly tag: string; + readonly timestamp: number; + readonly title: string; + readonly vibrate: ReadonlyArray; + close(): void; + addEventListener(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var Notification: { + prototype: Notification; + new(title: string, options?: NotificationOptions): Notification; + requestPermission(deprecatedCallback?: NotificationPermissionCallback): Promise; }; -interface MediaSourceEventMap { - "sourceopen": Event; - "sourceended": Event; - "sourceclose": Event; +interface NotificationEvent extends ExtendableEvent { + readonly action: string; + readonly notification: Notification; } -interface MediaSource extends EventTarget { - readonly sourceBuffers: SourceBufferList; - readonly activeSourceBuffers: SourceBufferList; - readonly readyState: string; - duration: number; - onsourceopen: (this: MediaSource, ev: Event) => any; - onsourceended: (this: MediaSource, ev: Event) => any; - onsourceclose: (this: MediaSource, ev: Event) => any; - addSourceBuffer(type: string): SourceBuffer; - removeSourceBuffer(sourceBuffer: SourceBuffer): void; - endOfStream(error?: EndOfStreamError): void; - setLiveSeekableRange(start: number, end: number): void; - clearLiveSeekableRange(): void; - addEventListener(type: K, listener: (this: MediaSource, ev: MediaSourceEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare var NotificationEvent: { + prototype: NotificationEvent; + new(type: string, eventInitDict: NotificationEventInit): NotificationEvent; +}; + +interface OfflineAudioCompletionEvent extends Event { + readonly renderedBuffer: AudioBuffer; } -declare var MediaSource: { - prototype: MediaSource; - new(): MediaSource; - isTypeSupported(type: string): boolean; +declare var OfflineAudioCompletionEvent: { + prototype: OfflineAudioCompletionEvent; + new(type: string, eventInitDict: OfflineAudioCompletionEventInit): OfflineAudioCompletionEvent; }; -interface SourceBufferEventMap { - "updatestart": Event; - "update": Event; - "updateend": Event; - "error": Event; - "abort": Event; +interface OfflineAudioContextEventMap extends BaseAudioContextEventMap { + "complete": OfflineAudioCompletionEvent; } -interface SourceBuffer extends EventTarget { - mode: AppendMode; - readonly updating: boolean; - readonly buffered: TimeRanges; - timestampOffset: number; - readonly audioTracks: AudioTrackList; - readonly videoTracks: VideoTrackList; - readonly textTracks: TextTrackList; - appendWindowStart: number; - appendWindowEnd: number; - onupdatestart: (this: SourceBuffer, ev: Event) => any; - onupdate: (this: SourceBuffer, ev: Event) => any; - onupdateend: (this: SourceBuffer, ev: Event) => any; - onerror: (this: SourceBuffer, ev: Event) => any; - onabort: (this: SourceBuffer, ev: Event) => any; - appendBuffer(data: BufferSource): void; - abort(): void; - remove(start: number, end: number): void; - addEventListener(type: K, listener: (this: SourceBuffer, ev: SourceBufferEventMap[K]) => any, useCapture?: boolean): void; +interface OfflineAudioContext extends BaseAudioContext { + readonly length: number; + oncomplete: (this: OfflineAudioContext, ev: OfflineAudioCompletionEvent) => any; + startRendering(): Promise; + suspend(suspendTime: number): Promise; + addEventListener(type: K, listener: (this: OfflineAudioContext, ev: OfflineAudioContextEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SourceBuffer: { - prototype: SourceBuffer; - new(): SourceBuffer; +declare var OfflineAudioContext: { + prototype: OfflineAudioContext; + new(numberOfChannels: number, length: number, sampleRate: number): OfflineAudioContext; }; -interface SourceBufferListEventMap { - "addsourcebuffer": Event; - "removesourcebuffer": Event; +interface OffscreenCanvas extends EventTarget { + height: number; + width: number; + convertToBlob(options?: ImageEncodeOptions): Promise; + getContext(contextType: OffscreenRenderingContextType, ...arguments: any[]): OffscreenRenderingContext | null; + transferToImageBitmap(): ImageBitmap; } -interface SourceBufferList extends EventTarget { - readonly length: number; - onaddsourcebuffer: (this: SourceBufferList, ev: Event) => any; - onremovesourcebuffer: (this: SourceBufferList, ev: Event) => any; - addEventListener(type: K, listener: (this: SourceBufferList, ev: SourceBufferListEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; - [index: number]: SourceBuffer; +declare var OffscreenCanvas: { + prototype: OffscreenCanvas; + new(width: number, height: number): OffscreenCanvas; +}; + +interface OffscreenCanvasRenderingContext2D extends Object, CanvasState, CanvasTransform, CanvasCompositing, CanvasImageSmoothing, CanvasFillStrokeStyles, CanvasShadowStyles, CanvasFilters, CanvasRect, CanvasDrawPath, CanvasDrawImage, CanvasImageData, CanvasPathDrawingStyles, CanvasPath { + readonly canvas: OffscreenCanvas; + commit(): void; } -declare var SourceBufferList: { - prototype: SourceBufferList; - new(): SourceBufferList; +declare var OffscreenCanvasRenderingContext2D: { + prototype: OffscreenCanvasRenderingContext2D; + new(): OffscreenCanvasRenderingContext2D; }; -interface PerformanceNavigationTiming extends PerformanceResourceTiming { - readonly unloadEventStart: number; - readonly unloadEventEnd: number; - readonly domInteractive: number; - readonly domContentLoadedEventStart: number; - readonly domContentLoadedEventEnd: number; - readonly domComplete: number; - readonly loadEventStart: number; - readonly loadEventEnd: number; - readonly type: NavigationType; - readonly redirectCount: number; +interface OscillatorNode extends AudioScheduledSourceNode { + readonly detune: AudioParam; + readonly frequency: AudioParam; + type: OscillatorType; + setPeriodicWave(periodicWave: PeriodicWave): void; + addEventListener(type: K, listener: (this: OscillatorNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var PerformanceNavigationTiming: { - prototype: PerformanceNavigationTiming; - new(): PerformanceNavigationTiming; +declare var OscillatorNode: { + prototype: OscillatorNode; + new(context: BaseAudioContext, options?: OscillatorOptions): OscillatorNode; }; -interface PerformanceTiming { - readonly navigationStart: number; - readonly unloadEventStart: number; - readonly unloadEventEnd: number; - readonly redirectStart: number; - readonly redirectEnd: number; - readonly fetchStart: number; - readonly domainLookupStart: number; - readonly domainLookupEnd: number; - readonly connectStart: number; - readonly connectEnd: number; - readonly secureConnectionStart: number; - readonly requestStart: number; - readonly responseStart: number; - readonly responseEnd: number; - readonly domLoading: number; - readonly domInteractive: number; - readonly domContentLoadedEventStart: number; - readonly domContentLoadedEventEnd: number; - readonly domComplete: number; - readonly loadEventStart: number; - readonly loadEventEnd: number; +interface OverconstrainedErrorEvent extends Event { + readonly error: any; } -declare var PerformanceTiming: { - prototype: PerformanceTiming; - new(): PerformanceTiming; +declare var OverconstrainedErrorEvent: { + prototype: OverconstrainedErrorEvent; + new(type: string, eventInitDict: OverconstrainedErrorEventInit): OverconstrainedErrorEvent; }; -interface PerformanceNavigation { - readonly type: number; - readonly redirectCount: number; - readonly TYPE_NAVIGATE: number; - readonly TYPE_RELOAD: number; - readonly TYPE_BACK_FORWARD: number; - readonly TYPE_RESERVED: number; +interface PageTransitionEvent extends Event { + readonly persisted: boolean; } -declare var PerformanceNavigation: { - prototype: PerformanceNavigation; - new(): PerformanceNavigation; - readonly TYPE_NAVIGATE: number; - readonly TYPE_RELOAD: number; - readonly TYPE_BACK_FORWARD: number; - readonly TYPE_RESERVED: number; +declare var PageTransitionEvent: { + prototype: PageTransitionEvent; + new(type: string, eventInitDict?: PageTransitionEventInit): PageTransitionEvent; }; -interface NotificationEventMap { - "click": MouseEvent; - "error": ErrorEvent; +interface PannerNode extends AudioNode { + coneInnerAngle: number; + coneOuterAngle: number; + coneOuterGain: number; + distanceModel: DistanceModelType; + maxDistance: number; + readonly orientationX: AudioParam; + readonly orientationY: AudioParam; + readonly orientationZ: AudioParam; + panningModel: PanningModelType; + readonly positionX: AudioParam; + readonly positionY: AudioParam; + readonly positionZ: AudioParam; + refDistance: number; + rolloffFactor: number; + setOrientation(x: number, y: number, z: number): void; + setPosition(x: number, y: number, z: number): void; } -interface Notification extends EventTarget { - readonly permission: NotificationPermission; - readonly maxActions: number; - onclick: (this: Notification, ev: MouseEvent) => any; - onerror: (this: Notification, ev: ErrorEvent) => any; - readonly title: string; - readonly dir: NotificationDirection; - readonly lang: string; - readonly body: string; - readonly tag: string; - readonly image: string; - readonly icon: string; - readonly badge: string; - readonly sound: string; - readonly vibrate: ReadonlyArray; - readonly timestamp: number; - readonly renotify: boolean; - readonly silent: boolean; - readonly requireInteraction: boolean; - readonly data: any; - readonly actions: ReadonlyArray; - close(): void; - addEventListener(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare var PannerNode: { + prototype: PannerNode; + new(context: BaseAudioContext, options?: PannerOptions): PannerNode; +}; + +interface Path2D extends Object, CanvasPath { + addPath(path: Path2D, transform?: DOMMatrixInit): void; } -declare var Notification: { - prototype: Notification; - new(title: string, options?: NotificationOptions): Notification; - requestPermission(deprecatedCallback?: NotificationPermissionCallback): Promise; +declare var Path2D: { + prototype: Path2D; + new(): Path2D; + new(path: Path2D): Path2D; + new(paths: Path2D[], fillRule?: CanvasFillRule): Path2D; + new(d: string): Path2D; }; -interface NotificationEvent extends ExtendableEvent { - readonly notification: Notification; - readonly action: string; +interface PaymentAddress { + readonly addressLine: ReadonlyArray; + readonly city: string; + readonly country: string; + readonly dependentLocality: string; + readonly languageCode: string; + readonly organization: string; + readonly phone: string; + readonly postalCode: string; + readonly recipient: string; + readonly region: string; + readonly sortingCode: string; } -declare var NotificationEvent: { - prototype: NotificationEvent; - new(type: string, eventInitDict: NotificationEventInit): NotificationEvent; +declare var PaymentAddress: { + prototype: PaymentAddress; + new(): PaymentAddress; }; interface PaymentRequestEventMap { @@ -8091,14 +7562,14 @@ interface PaymentRequestEventMap { interface PaymentRequest extends EventTarget { readonly id: string; + onshippingaddresschange: (this: PaymentRequest, ev: Event) => any; + onshippingoptionchange: (this: PaymentRequest, ev: Event) => any; readonly shippingAddress: PaymentAddress | null; readonly shippingOption: string | null; readonly shippingType: PaymentShippingType | null; - onshippingaddresschange: (this: PaymentRequest, ev: Event) => any; - onshippingoptionchange: (this: PaymentRequest, ev: Event) => any; - show(): Promise; abort(): Promise; canMakePayment(): Promise; + show(): Promise; addEventListener(type: K, listener: (this: PaymentRequest, ev: PaymentRequestEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } @@ -8108,34 +7579,24 @@ declare var PaymentRequest: { new(methodData: PaymentMethodData[], details: PaymentDetailsInit, options?: PaymentOptions): PaymentRequest; }; -interface PaymentAddress { - readonly country: string; - readonly addressLine: ReadonlyArray; - readonly region: string; - readonly city: string; - readonly dependentLocality: string; - readonly postalCode: string; - readonly sortingCode: string; - readonly languageCode: string; - readonly organization: string; - readonly recipient: string; - readonly phone: string; +interface PaymentRequestUpdateEvent extends Event { + updateWith(detailsPromise: Promise): void; } -declare var PaymentAddress: { - prototype: PaymentAddress; - new(): PaymentAddress; +declare var PaymentRequestUpdateEvent: { + prototype: PaymentRequestUpdateEvent; + new(type: string, eventInitDict?: PaymentRequestUpdateEventInit): PaymentRequestUpdateEvent; }; interface PaymentResponse { - readonly requestId: string; - readonly methodName: string; readonly details: any; - readonly shippingAddress: PaymentAddress | null; - readonly shippingOption: string | null; - readonly payerName: string | null; + readonly methodName: string; readonly payerEmail: string | null; + readonly payerName: string | null; readonly payerPhone: string | null; + readonly requestId: string; + readonly shippingAddress: PaymentAddress | null; + readonly shippingOption: string | null; complete(result?: PaymentComplete): Promise; } @@ -8144,20 +7605,38 @@ declare var PaymentResponse: { new(): PaymentResponse; }; -interface PaymentRequestUpdateEvent extends Event { - updateWith(detailsPromise: Promise): void; +interface PerformanceEventMap { + "resourcetimingbufferfull": Event; } -declare var PaymentRequestUpdateEvent: { - prototype: PaymentRequestUpdateEvent; - new(type: string, eventInitDict?: PaymentRequestUpdateEventInit): PaymentRequestUpdateEvent; +interface Performance extends EventTarget { + readonly navigation: PerformanceNavigation; + onresourcetimingbufferfull: (this: Performance, ev: Event) => any; + readonly timing: PerformanceTiming; + clearMarks(markName?: string): void; + clearMeasures(measureName?: string): void; + clearResourceTimings(): void; + getEntries(): PerformanceEntryList; + getEntriesByName(name: string, type?: string): PerformanceEntryList; + getEntriesByType(type: string): PerformanceEntryList; + mark(markName: string): void; + measure(measureName: string, startMark?: string, endMark?: string): void; + now(): number; + setResourceTimingBufferSize(maxSize: number): void; + addEventListener(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var Performance: { + prototype: Performance; + new(): Performance; }; interface PerformanceEntry { - readonly name: string; + readonly duration: number; readonly entryType: string; + readonly name: string; readonly startTime: number; - readonly duration: number; } declare var PerformanceEntry: { @@ -8165,36 +7644,173 @@ declare var PerformanceEntry: { new(): PerformanceEntry; }; -interface PerformanceObserverEntryList { - getEntries(): PerformanceEntryList; - getEntriesByType(type: string): PerformanceEntryList; - getEntriesByName(name: string, type?: string): PerformanceEntryList; +interface PerformanceMark extends PerformanceEntry { +} + +declare var PerformanceMark: { + prototype: PerformanceMark; + new(): PerformanceMark; +}; + +interface PerformanceMeasure extends PerformanceEntry { +} + +declare var PerformanceMeasure: { + prototype: PerformanceMeasure; + new(): PerformanceMeasure; +}; + +interface PerformanceNavigation { + readonly redirectCount: number; + readonly type: number; + readonly TYPE_BACK_FORWARD: number; + readonly TYPE_NAVIGATE: number; + readonly TYPE_RELOAD: number; + readonly TYPE_RESERVED: number; +} + +declare var PerformanceNavigation: { + prototype: PerformanceNavigation; + new(): PerformanceNavigation; + readonly TYPE_BACK_FORWARD: number; + readonly TYPE_NAVIGATE: number; + readonly TYPE_RELOAD: number; + readonly TYPE_RESERVED: number; +}; + +interface PerformanceNavigationTiming extends PerformanceResourceTiming { + readonly domComplete: number; + readonly domContentLoadedEventEnd: number; + readonly domContentLoadedEventStart: number; + readonly domInteractive: number; + readonly loadEventEnd: number; + readonly loadEventStart: number; + readonly redirectCount: number; + readonly type: NavigationType; + readonly unloadEventEnd: number; + readonly unloadEventStart: number; +} + +declare var PerformanceNavigationTiming: { + prototype: PerformanceNavigationTiming; + new(): PerformanceNavigationTiming; +}; + +interface PerformanceObserver { + disconnect(): void; + observe(options: PerformanceObserverInit): void; +} + +declare var PerformanceObserver: { + prototype: PerformanceObserver; + new(callback: PerformanceObserverCallback): PerformanceObserver; +}; + +interface PerformanceObserverEntryList { + getEntries(): PerformanceEntryList; + getEntriesByName(name: string, type?: string): PerformanceEntryList; + getEntriesByType(type: string): PerformanceEntryList; +} + +declare var PerformanceObserverEntryList: { + prototype: PerformanceObserverEntryList; + new(): PerformanceObserverEntryList; +}; + +interface PerformanceResourceTiming extends PerformanceEntry { + readonly connectEnd: number; + readonly connectStart: number; + readonly domainLookupEnd: number; + readonly domainLookupStart: number; + readonly fetchStart: number; + readonly initiatorType: string; + readonly redirectEnd: number; + readonly redirectStart: number; + readonly requestStart: number; + readonly responseEnd: number; + readonly responseStart: number; + readonly secureConnectionStart: number; +} + +declare var PerformanceResourceTiming: { + prototype: PerformanceResourceTiming; + new(): PerformanceResourceTiming; +}; + +interface PerformanceTiming { + readonly connectEnd: number; + readonly connectStart: number; + readonly domainLookupEnd: number; + readonly domainLookupStart: number; + readonly domComplete: number; + readonly domContentLoadedEventEnd: number; + readonly domContentLoadedEventStart: number; + readonly domInteractive: number; + readonly domLoading: number; + readonly fetchStart: number; + readonly loadEventEnd: number; + readonly loadEventStart: number; + readonly navigationStart: number; + readonly redirectEnd: number; + readonly redirectStart: number; + readonly requestStart: number; + readonly responseEnd: number; + readonly responseStart: number; + readonly secureConnectionStart: number; + readonly unloadEventEnd: number; + readonly unloadEventStart: number; +} + +declare var PerformanceTiming: { + prototype: PerformanceTiming; + new(): PerformanceTiming; +}; + +interface PeriodicWave { +} + +declare var PeriodicWave: { + prototype: PeriodicWave; + new(context: BaseAudioContext, options?: PeriodicWaveOptions): PeriodicWave; +}; + +interface Plugin { + readonly description: string; + readonly filename: string; + readonly length: number; + readonly name: string; + item(index: number): MimeType | null; + namedItem(name: string): MimeType | null; + [index: number]: MimeType; } -declare var PerformanceObserverEntryList: { - prototype: PerformanceObserverEntryList; - new(): PerformanceObserverEntryList; +declare var Plugin: { + prototype: Plugin; + new(): Plugin; }; -interface PerformanceObserver { - observe(options: PerformanceObserverInit): void; - disconnect(): void; +interface PluginArray { + readonly length: number; + item(index: number): Plugin | null; + namedItem(name: string): Plugin | null; + refresh(reload?: boolean): void; + [index: number]: Plugin; } -declare var PerformanceObserver: { - prototype: PerformanceObserver; - new(callback: PerformanceObserverCallback): PerformanceObserver; +declare var PluginArray: { + prototype: PluginArray; + new(): PluginArray; }; interface PointerEvent extends MouseEvent { - readonly pointerId: number; - readonly width: number; readonly height: number; + readonly isPrimary: boolean; + readonly pointerId: number; + readonly pointerType: string; readonly pressure: number; readonly tiltX: number; readonly tiltY: number; - readonly pointerType: string; - readonly isPrimary: boolean; + readonly width: number; } declare var PointerEvent: { @@ -8202,37 +7818,64 @@ declare var PointerEvent: { new(type: string, eventInitDict?: PointerEventInit): PointerEvent; }; -interface PushManager { - subscribe(options?: PushSubscriptionOptionsInit): Promise; - getSubscription(): any; - permissionState(options?: PushSubscriptionOptionsInit): Promise; +interface PopStateEvent extends Event { + readonly state: any; } -declare var PushManager: { - prototype: PushManager; - new(): PushManager; +declare var PopStateEvent: { + prototype: PopStateEvent; + new(type: string, eventInitDict?: PopStateEventInit): PopStateEvent; }; -interface PushSubscriptionOptions { - readonly userVisibleOnly: boolean; - readonly applicationServerKey: ArrayBuffer | null; +interface ProcessingInstruction extends CharacterData, LinkStyle { + readonly target: string; } -declare var PushSubscriptionOptions: { - prototype: PushSubscriptionOptions; - new(): PushSubscriptionOptions; +declare var ProcessingInstruction: { + prototype: ProcessingInstruction; + new(): ProcessingInstruction; }; -interface PushSubscription { - readonly endpoint: string; - readonly options: PushSubscriptionOptions; - getKey(name: PushEncryptionKeyName): ArrayBuffer | null; - unsubscribe(): Promise; +interface ProgressEvent extends Event { + readonly lengthComputable: boolean; + readonly loaded: number; + readonly total: number; } -declare var PushSubscription: { - prototype: PushSubscription; - new(): PushSubscription; +declare var ProgressEvent: { + prototype: ProgressEvent; + new(type: string, eventInitDict?: ProgressEventInit): ProgressEvent; +}; + +interface PromiseRejectionEvent extends Event { + readonly promise: Promise; + readonly reason: any; +} + +declare var PromiseRejectionEvent: { + prototype: PromiseRejectionEvent; + new(type: string, eventInitDict: PromiseRejectionEventInit): PromiseRejectionEvent; +}; + +interface PushEvent extends ExtendableEvent { + readonly data: PushMessageData | null; +} + +declare var PushEvent: { + prototype: PushEvent; + new(type: string, eventInitDict?: PushEventInit): PushEvent; +}; + +interface PushManager { + readonly supportedContentEncodings: ReadonlyArray; + getSubscription(): any; + permissionState(options?: PushSubscriptionOptionsInit): Promise; + subscribe(options?: PushSubscriptionOptionsInit): Promise; +} + +declare var PushManager: { + prototype: PushManager; + new(): PushManager; }; interface PushMessageData { @@ -8247,13 +7890,17 @@ declare var PushMessageData: { new(): PushMessageData; }; -interface PushEvent extends ExtendableEvent { - readonly data: PushMessageData | null; +interface PushSubscription { + readonly endpoint: string; + readonly expirationTime: number | null; + readonly options: PushSubscriptionOptions; + getKey(name: PushEncryptionKeyName): ArrayBuffer | null; + unsubscribe(): Promise; } -declare var PushEvent: { - prototype: PushEvent; - new(type: string, eventInitDict?: PushEventInit): PushEvent; +declare var PushSubscription: { + prototype: PushSubscription; + new(): PushSubscription; }; interface PushSubscriptionChangeEvent extends ExtendableEvent { @@ -8266,1312 +7913,1367 @@ declare var PushSubscriptionChangeEvent: { new(type: string, eventInitDict?: PushSubscriptionChangeInit): PushSubscriptionChangeEvent; }; -interface PerformanceResourceTiming extends PerformanceEntry { - readonly initiatorType: string; - readonly redirectStart: number; - readonly redirectEnd: number; - readonly fetchStart: number; - readonly domainLookupStart: number; - readonly domainLookupEnd: number; - readonly connectStart: number; - readonly connectEnd: number; - readonly secureConnectionStart: number; - readonly requestStart: number; - readonly responseStart: number; - readonly responseEnd: number; +interface PushSubscriptionOptions { + readonly applicationServerKey: ArrayBuffer | null; + readonly userVisibleOnly: boolean; } -declare var PerformanceResourceTiming: { - prototype: PerformanceResourceTiming; - new(): PerformanceResourceTiming; +declare var PushSubscriptionOptions: { + prototype: PushSubscriptionOptions; + new(): PushSubscriptionOptions; }; -interface Selection { - readonly anchorNode: Node | null; - readonly anchorOffset: number; - readonly focusNode: Node | null; - readonly focusOffset: number; - readonly isCollapsed: boolean; - readonly rangeCount: number; - readonly type: string; - getRangeAt(index: number): Range; - addRange(range: Range): void; - removeRange(range: Range): void; - removeAllRanges(): void; - empty(): void; - collapse(node: Node | null, offset?: number): void; - setPosition(node: Node | null, offset?: number): void; - collapseToStart(): void; - collapseToEnd(): void; - extend(node: Node, offset?: number): void; - setBaseAndExtent(anchorNode: Node, anchorOffset: number, focusNode: Node, focusOffset: number): void; - selectAllChildren(node: Node): void; - deleteFromDocument(): void; - containsNode(node: Node, allowPartialContainment?: boolean): boolean; +interface RadioNodeList extends NodeList { + value: string; } -declare var Selection: { - prototype: Selection; - new(): Selection; +declare var RadioNodeList: { + prototype: RadioNodeList; + new(): RadioNodeList; }; -interface ServiceWorkerEventMap extends AbstractWorkerEventMap { - "statechange": Event; -} - -interface ServiceWorker extends EventTarget, AbstractWorker { - readonly scriptURL: string; - readonly state: ServiceWorkerState; - onstatechange: (this: ServiceWorker, ev: Event) => any; - postMessage(message: any, transfer?: any[]): void; - addEventListener(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface Range { + readonly collapsed: boolean; + readonly commonAncestorContainer: Node; + readonly endContainer: Node; + readonly endOffset: number; + readonly startContainer: Node; + readonly startOffset: number; + cloneContents(): DocumentFragment; + cloneRange(): Range; + collapse(toStart?: boolean): void; + compareBoundaryPoints(how: number, sourceRange: Range): number; + comparePoint(node: Node, offset: number): number; + createContextualFragment(fragment: string): DocumentFragment; + deleteContents(): void; + detach(): void; + extractContents(): DocumentFragment; + getBoundingClientRect(): DOMRect; + getClientRects(): DOMRect[]; + insertNode(node: Node): void; + intersectsNode(node: Node): boolean; + isPointInRange(node: Node, offset: number): boolean; + selectNode(node: Node): void; + selectNodeContents(node: Node): void; + setEnd(node: Node, offset: number): void; + setEndAfter(node: Node): void; + setEndBefore(node: Node): void; + setStart(node: Node, offset: number): void; + setStartAfter(node: Node): void; + setStartBefore(node: Node): void; + surroundContents(newParent: Node): void; + readonly END_TO_END: number; + readonly END_TO_START: number; + readonly START_TO_END: number; + readonly START_TO_START: number; } -declare var ServiceWorker: { - prototype: ServiceWorker; - new(): ServiceWorker; +declare var Range: { + prototype: Range; + new(): Range; + readonly END_TO_END: number; + readonly END_TO_START: number; + readonly START_TO_END: number; + readonly START_TO_START: number; }; -interface ServiceWorkerRegistrationEventMap { - "updatefound": Event; +interface ReadableStream { + readonly locked: boolean; + cancel(): Promise; + getReader(): ReadableStreamDefaultReader; } -interface ServiceWorkerRegistration extends EventTarget { - readonly installing: ServiceWorker | null; - readonly waiting: ServiceWorker | null; - readonly active: ServiceWorker | null; - readonly navigationPreload: NavigationPreloadManager; - readonly scope: string; - readonly useCache: boolean; - onupdatefound: (this: ServiceWorkerRegistration, ev: Event) => any; - readonly pushManager: PushManager; - readonly sync: SyncManager; - update(): Promise; - unregister(): Promise; - showNotification(title: string, options?: NotificationOptions): Promise; - getNotifications(filter?: GetNotificationOptions): Promise; - addEventListener(type: K, listener: (this: ServiceWorkerRegistration, ev: ServiceWorkerRegistrationEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare var ReadableStream: { + prototype: ReadableStream; + new(): ReadableStream; +}; + +interface ReadableStreamDefaultReader { + readonly closed: boolean; + cancel(): Promise; + read(): Promise; + releaseLock(): void; } -declare var ServiceWorkerRegistration: { - prototype: ServiceWorkerRegistration; - new(): ServiceWorkerRegistration; +declare var ReadableStreamDefaultReader: { + prototype: ReadableStreamDefaultReader; + new(stream: ReadableStream): ReadableStreamDefaultReader; }; -interface ServiceWorkerContainerEventMap { - "controllerchange": Event; - "message": MessageEvent; +interface RelatedEvent extends Event { + readonly relatedTarget: EventTarget | null; } -interface ServiceWorkerContainer extends EventTarget { - readonly controller: ServiceWorker | null; - readonly ready: Promise; - oncontrollerchange: (this: ServiceWorkerContainer, ev: Event) => any; - onmessage: (this: ServiceWorkerContainer, ev: MessageEvent) => any; - register(scriptURL: string, options?: RegistrationOptions): Promise; - getRegistration(): Promise; - getRegistrations(): Promise; - startMessages(): void; - addEventListener(type: K, listener: (this: ServiceWorkerContainer, ev: ServiceWorkerContainerEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare var RelatedEvent: { + prototype: RelatedEvent; + new(type: string, eventInitDict?: RelatedEventInit): RelatedEvent; +}; + +interface Request extends Object, Body { + readonly cache: RequestCache; + readonly credentials: RequestCredentials; + readonly destination: RequestDestination; + readonly headers: Headers; + readonly integrity: string; + readonly keepalive: boolean; + readonly method: any; + readonly mode: RequestMode; + readonly redirect: RequestRedirect; + readonly referrer: string; + readonly referrerPolicy: any; + readonly type: RequestType; + readonly url: string; + clone(): Request; } -declare var ServiceWorkerContainer: { - prototype: ServiceWorkerContainer; - new(): ServiceWorkerContainer; +declare var Request: { + prototype: Request; + new(input: RequestInfo, init?: RequestInit): Request; }; -interface NavigationPreloadManager { - enable(): Promise; - disable(): Promise; - setHeaderValue(value: any): Promise; - getState(): Promise; +interface Response extends Object, Body { + readonly headers: Headers; + readonly ok: boolean; + readonly redirected: boolean; + readonly status: number; + readonly statusText: any; + readonly trailer: Promise; + readonly type: ResponseType; + readonly url: string; + clone(): Response; } -declare var NavigationPreloadManager: { - prototype: NavigationPreloadManager; - new(): NavigationPreloadManager; +declare var Response: { + prototype: Response; + new(body?: any, init?: ResponseInit): Response; + error: () => Response; + redirect: (url: string, status?: number) => Response; + error(): Response; + redirect(url: string, status?: number): Response; }; -interface ServiceWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap { - "activate": ExtendableEvent; - "fetch": FetchEvent; - "install": InstallEvent; - "message": ExtendableMessageEvent; - "notificationclick": NotificationEvent; - "notificationclose": NotificationEvent; - "push": PushEvent; - "pushsubscriptionchange": PushSubscriptionChangeEvent; - "sync": SyncEvent; +interface RTCCertificate { + readonly expires: number; + readonly fingerprints: ReadonlyArray; + getAlgorithm(): AlgorithmIdentifier; } -interface ServiceWorkerGlobalScope extends WorkerGlobalScope { - readonly clients: Clients; - readonly registration: ServiceWorkerRegistration; - oninstall: (this: ServiceWorkerGlobalScope, ev: InstallEvent) => any; - onactivate: (this: ServiceWorkerGlobalScope, ev: ExtendableEvent) => any; - onfetch: (this: ServiceWorkerGlobalScope, ev: FetchEvent) => any; - onforeignfetch: (this: ServiceWorkerGlobalScope, ev: FetchEvent) => any; - onmessage: (this: ServiceWorkerGlobalScope, ev: ExtendableMessageEvent) => any; - onnotificationclick: (this: ServiceWorkerGlobalScope, ev: NotificationEvent) => any; - onnotificationclose: (this: ServiceWorkerGlobalScope, ev: NotificationEvent) => any; - onpush: (this: ServiceWorkerGlobalScope, ev: PushEvent) => any; - onpushsubscriptionchange: (this: ServiceWorkerGlobalScope, ev: PushSubscriptionChangeEvent) => any; - onsync: (this: ServiceWorkerGlobalScope, ev: SyncEvent) => any; - skipWaiting(): Promise; - addEventListener(type: K, listener: (this: ServiceWorkerGlobalScope, ev: ServiceWorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; +declare var RTCCertificate: { + prototype: RTCCertificate; + new(): RTCCertificate; +}; + +interface RTCDataChannelEventMap { + "bufferedamountlow": Event; + "close": Event; + "error": ErrorEvent; + "message": MessageEvent; + "open": Event; +} + +interface RTCDataChannel extends EventTarget { + binaryType: string; + readonly bufferedAmount: number; + bufferedAmountLowThreshold: number; + readonly id: number | null; + readonly label: string; + readonly maxPacketLifeTime: number | null; + readonly maxRetransmits: number | null; + readonly negotiated: boolean; + onbufferedamountlow: (this: RTCDataChannel, ev: Event) => any; + onclose: (this: RTCDataChannel, ev: Event) => any; + onerror: (this: RTCDataChannel, ev: ErrorEvent) => any; + onmessage: (this: RTCDataChannel, ev: MessageEvent) => any; + onopen: (this: RTCDataChannel, ev: Event) => any; + readonly ordered: boolean; + readonly priority: RTCPriorityType; + readonly protocol: string; + readonly readyState: RTCDataChannelState; + close(): void; + send(data: string): void; + send(data: Blob): void; + send(data: ArrayBuffer): void; + send(data: ArrayBufferView): void; + addEventListener(type: K, listener: (this: RTCDataChannel, ev: RTCDataChannelEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var ServiceWorkerGlobalScope: { - prototype: ServiceWorkerGlobalScope; - new(): ServiceWorkerGlobalScope; +declare var RTCDataChannel: { + prototype: RTCDataChannel; + new(): RTCDataChannel; }; -interface Client { - readonly url: string; - readonly id: string; - readonly type: ClientType; - readonly reserved: boolean; - postMessage(message: any, transfer?: any[]): void; +interface RTCDataChannelEvent extends Event { + readonly channel: RTCDataChannel; } -declare var Client: { - prototype: Client; - new(): Client; +declare var RTCDataChannelEvent: { + prototype: RTCDataChannelEvent; + new(type: string, eventInitDict: RTCDataChannelEventInit): RTCDataChannelEvent; }; -interface WindowClient extends Client { - readonly visibilityState: any; - readonly focused: boolean; - readonly ancestorOrigins: ReadonlyArray; - focus(): Promise; - navigate(url: string): Promise; +interface RTCDtlsTransportEventMap { + "statechange": Event; } -declare var WindowClient: { - prototype: WindowClient; - new(): WindowClient; -}; - -interface Clients { - get(id: string): Promise; - matchAll(options?: ClientQueryOptions): Promise; - openWindow(url: string): any; - claim(): Promise; +interface RTCDtlsTransport { + onstatechange: (this: RTCDtlsTransport, ev: Event) => any; + readonly state: RTCDtlsTransportState; + readonly transport: RTCIceTransport; + getRemoteCertificates(): ArrayBuffer[]; + addEventListener(type: K, listener: (this: RTCDtlsTransport, ev: RTCDtlsTransportEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var Clients: { - prototype: Clients; - new(): Clients; +declare var RTCDtlsTransport: { + prototype: RTCDtlsTransport; + new(): RTCDtlsTransport; }; -interface ExtendableEvent extends Event { - waitUntil(f: Promise): void; +interface RTCDTMFSenderEventMap { + "tonechange": RTCDTMFToneChangeEvent; } -declare var ExtendableEvent: { - prototype: ExtendableEvent; - new(type: string, eventInitDict?: ExtendableEventInit): ExtendableEvent; +interface RTCDTMFSender extends EventTarget { + ontonechange: (this: RTCDTMFSender, ev: RTCDTMFToneChangeEvent) => any; + readonly toneBuffer: string; + insertDTMF(tones: string, duration?: number, interToneGap?: number): void; + addEventListener(type: K, listener: (this: RTCDTMFSender, ev: RTCDTMFSenderEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var RTCDTMFSender: { + prototype: RTCDTMFSender; + new(): RTCDTMFSender; }; -interface InstallEvent extends ExtendableEvent { - registerForeignFetch(options: ForeignFetchOptions): void; +interface RTCDTMFToneChangeEvent extends Event { + readonly tone: string; } -declare var InstallEvent: { - prototype: InstallEvent; - new(type: string, eventInitDict?: ExtendableEventInit): InstallEvent; +declare var RTCDTMFToneChangeEvent: { + prototype: RTCDTMFToneChangeEvent; + new(type: string, eventInitDict: RTCDTMFToneChangeEventInit): RTCDTMFToneChangeEvent; }; -interface FetchEvent extends ExtendableEvent { - readonly request: Request; - readonly preloadResponse: Promise; - readonly clientId: string; - readonly reservedClientId: string; - readonly targetClientId: string; - respondWith(r: Promise): void; +interface RTCErrorEvent extends Event { + readonly error: any; } -declare var FetchEvent: { - prototype: FetchEvent; - new(type: string, eventInitDict: FetchEventInit): FetchEvent; +declare var RTCErrorEvent: { + prototype: RTCErrorEvent; + new(type: string, eventInitDict: RTCErrorEventInit): RTCErrorEvent; }; -interface ForeignFetchEvent extends ExtendableEvent { - readonly request: Request; - readonly origin: string; - respondWith(r: Promise): void; +interface RTCIceCandidate { + readonly candidate: string; + readonly foundation: string | null; + readonly ip: string | null; + readonly port: number | null; + readonly priority: number | null; + readonly protocol: RTCIceProtocol | null; + readonly relatedAddress: string | null; + readonly relatedPort: number | null; + readonly sdpMid: string | null; + readonly sdpMLineIndex: number | null; + readonly tcpType: RTCIceTcpCandidateType | null; + readonly type: RTCIceCandidateType | null; + readonly ufrag: string | null; } -declare var ForeignFetchEvent: { - prototype: ForeignFetchEvent; - new(type: string, eventInitDict: ForeignFetchEventInit): ForeignFetchEvent; +declare var RTCIceCandidate: { + prototype: RTCIceCandidate; + new(candidateInitDict: RTCIceCandidateInit): RTCIceCandidate; }; -interface ExtendableMessageEvent extends ExtendableEvent { - readonly data: any; - readonly origin: string; - readonly lastEventId: string; - readonly source: Client | ServiceWorker | MessagePort | null; - readonly ports: ReadonlyArray; +interface RTCIceTransportEventMap { + "gatheringstatechange": Event; + "selectedcandidatepairchange": Event; + "statechange": Event; } -declare var ExtendableMessageEvent: { - prototype: ExtendableMessageEvent; - new(type: string, eventInitDict?: ExtendableMessageEventInit): ExtendableMessageEvent; +interface RTCIceTransport { + readonly component: RTCIceComponent; + readonly gatheringState: RTCIceGathererState; + ongatheringstatechange: (this: RTCIceTransport, ev: Event) => any; + onselectedcandidatepairchange: (this: RTCIceTransport, ev: Event) => any; + onstatechange: (this: RTCIceTransport, ev: Event) => any; + readonly role: RTCIceRole; + readonly state: RTCIceTransportState; + getLocalCandidates(): RTCIceCandidate[]; + getLocalParameters(): RTCIceParameters | null; + getRemoteCandidates(): RTCIceCandidate[]; + getRemoteParameters(): RTCIceParameters | null; + getSelectedCandidatePair(): RTCIceCandidatePair | null; + addEventListener(type: K, listener: (this: RTCIceTransport, ev: RTCIceTransportEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var RTCIceTransport: { + prototype: RTCIceTransport; + new(): RTCIceTransport; }; -interface Cache { - match(request: RequestInfo, options?: CacheQueryOptions): Promise; - matchAll(request?: RequestInfo, options?: CacheQueryOptions): Promise; - add(request: RequestInfo): Promise; - addAll(requests: RequestInfo[]): Promise; - put(request: RequestInfo, response: Response): Promise; - delete(request: RequestInfo, options?: CacheQueryOptions): Promise; - keys(request?: RequestInfo, options?: CacheQueryOptions): Promise; +interface RTCIdentityAssertion { + idp: string; + name: string; } -declare var Cache: { - prototype: Cache; - new(): Cache; +declare var RTCIdentityAssertion: { + prototype: RTCIdentityAssertion; + new(idp: string, name: string): RTCIdentityAssertion; }; -interface CacheStorage { - match(request: RequestInfo, options?: CacheQueryOptions): Promise; - has(cacheName: string): Promise; - open(cacheName: string): Promise; - delete(cacheName: string): Promise; - keys(): Promise; +interface RTCIdentityProviderGlobalScope extends WorkerGlobalScope { + readonly rtcIdentityProvider: RTCIdentityProviderRegistrar; + addEventListener(type: K, listener: (this: RTCIdentityProviderGlobalScope, ev: WorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var CacheStorage: { - prototype: CacheStorage; - new(): CacheStorage; +declare var RTCIdentityProviderGlobalScope: { + prototype: RTCIdentityProviderGlobalScope; + new(): RTCIdentityProviderGlobalScope; }; -interface ReadableStream { - readonly locked: boolean; - cancel(): Promise; - getReader(): ReadableStreamDefaultReader; +interface RTCIdentityProviderRegistrar { + register(idp: RTCIdentityProvider): void; } -declare var ReadableStream: { - prototype: ReadableStream; - new(): ReadableStream; +declare var RTCIdentityProviderRegistrar: { + prototype: RTCIdentityProviderRegistrar; + new(): RTCIdentityProviderRegistrar; }; -interface ReadableStreamDefaultReader { - readonly closed: boolean; - cancel(): Promise; - read(): Promise; - releaseLock(): void; +interface RTCPeerConnectionEventMap { + "connectionstatechange": Event; + "datachannel": RTCDataChannelEvent; + "fingerprintfailure": Event; + "icecandidate": RTCPeerConnectionIceEvent; + "icecandidateerror": RTCPeerConnectionIceErrorEvent; + "iceconnectionstatechange": Event; + "icegatheringstatechange": Event; + "negotiationneeded": Event; + "signalingstatechange": Event; + "track": RTCTrackEvent; } -declare var ReadableStreamDefaultReader: { - prototype: ReadableStreamDefaultReader; - new(stream: ReadableStream): ReadableStreamDefaultReader; +interface RTCPeerConnection extends EventTarget { + readonly canTrickleIceCandidates: boolean | null; + readonly connectionState: RTCPeerConnectionState; + readonly currentLocalDescription: RTCSessionDescription | null; + readonly currentRemoteDescription: RTCSessionDescription | null; + readonly defaultIceServers: ReadonlyArray; + readonly iceConnectionState: RTCIceConnectionState; + readonly iceGatheringState: RTCIceGatheringState; + readonly idpErrorInfo: string | null; + readonly idpLoginUrl: string | null; + readonly localDescription: RTCSessionDescription | null; + onconnectionstatechange: (this: RTCPeerConnection, ev: Event) => any; + ondatachannel: (this: RTCPeerConnection, ev: RTCDataChannelEvent) => any; + onfingerprintfailure: (this: RTCPeerConnection, ev: Event) => any; + onicecandidate: (this: RTCPeerConnection, ev: RTCPeerConnectionIceEvent) => any; + onicecandidateerror: (this: RTCPeerConnection, ev: RTCPeerConnectionIceErrorEvent) => any; + oniceconnectionstatechange: (this: RTCPeerConnection, ev: Event) => any; + onicegatheringstatechange: (this: RTCPeerConnection, ev: Event) => any; + onnegotiationneeded: (this: RTCPeerConnection, ev: Event) => any; + onsignalingstatechange: (this: RTCPeerConnection, ev: Event) => any; + ontrack: (this: RTCPeerConnection, ev: RTCTrackEvent) => any; + readonly peerIdentity: Promise; + readonly pendingLocalDescription: RTCSessionDescription | null; + readonly pendingRemoteDescription: RTCSessionDescription | null; + readonly remoteDescription: RTCSessionDescription | null; + readonly sctp: RTCSctpTransport | null; + readonly signalingState: RTCSignalingState; + addIceCandidate(candidate: RTCIceCandidateInit | RTCIceCandidate, successCallback: VoidFunction, failureCallback: RTCPeerConnectionErrorCallback): Promise; + addIceCandidate(candidate: RTCIceCandidateInit | RTCIceCandidate): Promise; + addTrack(track: MediaStreamTrack, ...streams: MediaStream[]): RTCRtpSender; + addTransceiver(trackOrKind: MediaStreamTrack | string, init?: RTCRtpTransceiverInit): RTCRtpTransceiver; + close(): void; + createAnswer(options?: RTCAnswerOptions): Promise; + createAnswer(successCallback: RTCSessionDescriptionCallback, failureCallback: RTCPeerConnectionErrorCallback): Promise; + createDataChannel(label: string, dataChannelDict?: RTCDataChannelInit): RTCDataChannel; + createOffer(successCallback: RTCSessionDescriptionCallback, failureCallback: RTCPeerConnectionErrorCallback, options?: RTCOfferOptions): Promise; + createOffer(options?: RTCOfferOptions): Promise; + getConfiguration(): RTCConfiguration; + getIdentityAssertion(): Promise; + getReceivers(): RTCRtpReceiver[]; + getSenders(): RTCRtpSender[]; + getStats(selector?: MediaStreamTrack): Promise; + getTransceivers(): RTCRtpTransceiver[]; + removeTrack(sender: RTCRtpSender): void; + setConfiguration(configuration: RTCConfiguration): void; + setIdentityProvider(provider: string, options?: RTCIdentityProviderOptions): void; + setLocalDescription(description: RTCSessionDescriptionInit): Promise; + setLocalDescription(description: RTCSessionDescriptionInit, successCallback: VoidFunction, failureCallback: RTCPeerConnectionErrorCallback): Promise; + setRemoteDescription(description: RTCSessionDescriptionInit): Promise; + setRemoteDescription(description: RTCSessionDescriptionInit, successCallback: VoidFunction, failureCallback: RTCPeerConnectionErrorCallback): Promise; + addEventListener(type: K, listener: (this: RTCPeerConnection, ev: RTCPeerConnectionEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var RTCPeerConnection: { + prototype: RTCPeerConnection; + new(configuration?: RTCConfiguration): RTCPeerConnection; + generateCertificate(keygenAlgorithm: AlgorithmIdentifier): Promise; }; -interface SVGElement extends Element, GlobalEventHandlers, SVGElementInstance, ElementCSSInlineStyle { - className: any; - readonly dataset: DOMStringMap; - readonly ownerSVGElement: SVGSVGElement | null; - readonly viewportElement: SVGElement | null; - tabIndex: number; - focus(): void; - blur(): void; - addEventListener(type: K, listener: (this: SVGElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface RTCPeerConnectionIceErrorEvent extends Event { + readonly errorCode: number; + readonly errorText: string; + readonly hostCandidate: string; + readonly url: string; } -declare var SVGElement: { - prototype: SVGElement; - new(): SVGElement; +declare var RTCPeerConnectionIceErrorEvent: { + prototype: RTCPeerConnectionIceErrorEvent; + new(type: string, eventInitDict: RTCPeerConnectionIceErrorEventInit): RTCPeerConnectionIceErrorEvent; }; -interface SVGGraphicsElement extends SVGElement, SVGTests { - readonly transform: SVGAnimatedTransformList; - getBBox(options?: SVGBoundingBoxOptions): DOMRect; - getCTM(): DOMMatrix | null; - getScreenCTM(): DOMMatrix | null; - addEventListener(type: K, listener: (this: SVGGraphicsElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGGraphicsElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface RTCPeerConnectionIceEvent extends Event { + readonly candidate: RTCIceCandidate | null; + readonly url: string | null; } -declare var SVGGraphicsElement: { - prototype: SVGGraphicsElement; - new(): SVGGraphicsElement; +declare var RTCPeerConnectionIceEvent: { + prototype: RTCPeerConnectionIceEvent; + new(type: string, eventInitDict?: RTCPeerConnectionIceEventInit): RTCPeerConnectionIceEvent; }; -interface SVGGeometryElement extends SVGGraphicsElement { - readonly pathLength: SVGAnimatedNumber; - isPointInFill(point: DOMPoint): boolean; - isPointInStroke(point: DOMPoint): boolean; - getTotalLength(): number; - getPointAtLength(distance: number): DOMPoint; - addEventListener(type: K, listener: (this: SVGGeometryElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGGeometryElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface RTCRtpContributingSource { + readonly audioLevel: number | null; + readonly source: number; + readonly timestamp: number; + readonly voiceActivityFlag: boolean | null; } -declare var SVGGeometryElement: { - prototype: SVGGeometryElement; - new(): SVGGeometryElement; +declare var RTCRtpContributingSource: { + prototype: RTCRtpContributingSource; + new(): RTCRtpContributingSource; }; -interface SVGNumber { - value: number; +interface RTCRtpReceiver { + readonly rtcpTransport: RTCDtlsTransport | null; + readonly track: MediaStreamTrack; + readonly transport: RTCDtlsTransport | null; + getContributingSources(): RTCRtpContributingSource[]; + getParameters(): RTCRtpParameters; } -declare var SVGNumber: { - prototype: SVGNumber; - new(): SVGNumber; +declare var RTCRtpReceiver: { + prototype: RTCRtpReceiver; + new(): RTCRtpReceiver; + getCapabilities(kind: string): RTCRtpCapabilities; }; -interface SVGLength { - readonly unitType: number; - value: number; - valueInSpecifiedUnits: number; - valueAsString: string; - newValueSpecifiedUnits(unitType: number, valueInSpecifiedUnits: number): void; - convertToSpecifiedUnits(unitType: number): void; - readonly SVG_LENGTHTYPE_UNKNOWN: number; - readonly SVG_LENGTHTYPE_NUMBER: number; - readonly SVG_LENGTHTYPE_PERCENTAGE: number; - readonly SVG_LENGTHTYPE_EMS: number; - readonly SVG_LENGTHTYPE_EXS: number; - readonly SVG_LENGTHTYPE_PX: number; - readonly SVG_LENGTHTYPE_CM: number; - readonly SVG_LENGTHTYPE_MM: number; - readonly SVG_LENGTHTYPE_IN: number; - readonly SVG_LENGTHTYPE_PT: number; - readonly SVG_LENGTHTYPE_PC: number; +interface RTCRtpSender { + readonly dtmf: RTCDTMFSender | null; + readonly rtcpTransport: RTCDtlsTransport | null; + readonly track: MediaStreamTrack | null; + readonly transport: RTCDtlsTransport | null; + getParameters(): RTCRtpParameters; + replaceTrack(withTrack: MediaStreamTrack): Promise; + setParameters(parameters?: RTCRtpParameters): Promise; } -declare var SVGLength: { - prototype: SVGLength; - new(): SVGLength; - readonly SVG_LENGTHTYPE_UNKNOWN: number; - readonly SVG_LENGTHTYPE_NUMBER: number; - readonly SVG_LENGTHTYPE_PERCENTAGE: number; - readonly SVG_LENGTHTYPE_EMS: number; - readonly SVG_LENGTHTYPE_EXS: number; - readonly SVG_LENGTHTYPE_PX: number; - readonly SVG_LENGTHTYPE_CM: number; - readonly SVG_LENGTHTYPE_MM: number; - readonly SVG_LENGTHTYPE_IN: number; - readonly SVG_LENGTHTYPE_PT: number; - readonly SVG_LENGTHTYPE_PC: number; +declare var RTCRtpSender: { + prototype: RTCRtpSender; + new(): RTCRtpSender; + getCapabilities(kind: string): RTCRtpCapabilities; }; -interface SVGAngle { - readonly unitType: number; - value: number; - valueInSpecifiedUnits: number; - valueAsString: string; - newValueSpecifiedUnits(unitType: number, valueInSpecifiedUnits: number): void; - convertToSpecifiedUnits(unitType: number): void; - readonly SVG_ANGLETYPE_UNKNOWN: number; - readonly SVG_ANGLETYPE_UNSPECIFIED: number; - readonly SVG_ANGLETYPE_DEG: number; - readonly SVG_ANGLETYPE_RAD: number; - readonly SVG_ANGLETYPE_GRAD: number; +interface RTCRtpTransceiver { + readonly currentDirection: RTCRtpTransceiverDirection | null; + readonly direction: RTCRtpTransceiverDirection; + readonly mid: string | null; + readonly receiver: RTCRtpReceiver; + readonly sender: RTCRtpSender; + readonly stopped: boolean; + setCodecPreferences(codecs: RTCRtpCodecCapability[]): void; + setDirection(direction: RTCRtpTransceiverDirection): void; + stop(): void; } -declare var SVGAngle: { - prototype: SVGAngle; - new(): SVGAngle; - readonly SVG_ANGLETYPE_UNKNOWN: number; - readonly SVG_ANGLETYPE_UNSPECIFIED: number; - readonly SVG_ANGLETYPE_DEG: number; - readonly SVG_ANGLETYPE_RAD: number; - readonly SVG_ANGLETYPE_GRAD: number; +declare var RTCRtpTransceiver: { + prototype: RTCRtpTransceiver; + new(): RTCRtpTransceiver; }; -interface SVGNumberList { - readonly length: number; - readonly numberOfItems: number; - clear(): void; - initialize(newItem: SVGNumber): SVGNumber; - getItem(index: number): SVGNumber; - insertItemBefore(newItem: SVGNumber, index: number): SVGNumber; - replaceItem(newItem: SVGNumber, index: number): SVGNumber; - removeItem(index: number): SVGNumber; - appendItem(newItem: SVGNumber): SVGNumber; - [index: number]: SVGNumber; +interface RTCSctpTransport { + readonly maxMessageSize: number; + readonly transport: RTCDtlsTransport; } -declare var SVGNumberList: { - prototype: SVGNumberList; - new(): SVGNumberList; +declare var RTCSctpTransport: { + prototype: RTCSctpTransport; + new(): RTCSctpTransport; }; -interface SVGLengthList { - readonly length: number; - readonly numberOfItems: number; - clear(): void; - initialize(newItem: SVGLength): SVGLength; - getItem(index: number): SVGLength; - insertItemBefore(newItem: SVGLength, index: number): SVGLength; - replaceItem(newItem: SVGLength, index: number): SVGLength; - removeItem(index: number): SVGLength; - appendItem(newItem: SVGLength): SVGLength; - [index: number]: SVGLength; +interface RTCSessionDescription { + readonly sdp: string; + readonly type: RTCSdpType; } -declare var SVGLengthList: { - prototype: SVGLengthList; - new(): SVGLengthList; +declare var RTCSessionDescription: { + prototype: RTCSessionDescription; + new(descriptionInitDict: RTCSessionDescriptionInit): RTCSessionDescription; }; -interface SVGAnimatedBoolean { - baseVal: boolean; - readonly animVal: boolean; +interface RTCStatsReport { } -declare var SVGAnimatedBoolean: { - prototype: SVGAnimatedBoolean; - new(): SVGAnimatedBoolean; +declare var RTCStatsReport: { + prototype: RTCStatsReport; + new(): RTCStatsReport; }; -interface SVGAnimatedEnumeration { - baseVal: number; - readonly animVal: number; +interface RTCTrackEvent extends Event { + readonly receiver: RTCRtpReceiver; + readonly streams: ReadonlyArray; + readonly track: MediaStreamTrack; + readonly transceiver: RTCRtpTransceiver; } -declare var SVGAnimatedEnumeration: { - prototype: SVGAnimatedEnumeration; - new(): SVGAnimatedEnumeration; +declare var RTCTrackEvent: { + prototype: RTCTrackEvent; + new(type: string, eventInitDict: RTCTrackEventInit): RTCTrackEvent; }; -interface SVGAnimatedInteger { - baseVal: number; - readonly animVal: number; +interface ScopedCredential { + readonly id: ArrayBuffer; + readonly type: ScopedCredentialType; } -declare var SVGAnimatedInteger: { - prototype: SVGAnimatedInteger; - new(): SVGAnimatedInteger; +declare var ScopedCredential: { + prototype: ScopedCredential; + new(): ScopedCredential; }; -interface SVGAnimatedNumber { - baseVal: number; - readonly animVal: number; +interface ScopedCredentialInfo { + readonly attestationObject: ArrayBuffer; + readonly clientDataJSON: ArrayBuffer; } -declare var SVGAnimatedNumber: { - prototype: SVGAnimatedNumber; - new(): SVGAnimatedNumber; +declare var ScopedCredentialInfo: { + prototype: ScopedCredentialInfo; + new(): ScopedCredentialInfo; }; -interface SVGAnimatedLength { - readonly baseVal: SVGLength; - readonly animVal: SVGLength; +interface Screen { + readonly availHeight: number; + readonly availWidth: number; + readonly colorDepth: number; + readonly height: number; + readonly pixelDepth: number; + readonly width: number; } -declare var SVGAnimatedLength: { - prototype: SVGAnimatedLength; - new(): SVGAnimatedLength; +declare var Screen: { + prototype: Screen; + new(): Screen; }; -interface SVGAnimatedAngle { - readonly baseVal: SVGAngle; - readonly animVal: SVGAngle; +interface ScriptProcessorNodeEventMap { + "audioprocess": AudioProcessingEvent; } -declare var SVGAnimatedAngle: { - prototype: SVGAnimatedAngle; - new(): SVGAnimatedAngle; +interface ScriptProcessorNode extends AudioNode { + readonly bufferSize: number; + onaudioprocess: (this: ScriptProcessorNode, ev: AudioProcessingEvent) => any; + addEventListener(type: K, listener: (this: ScriptProcessorNode, ev: ScriptProcessorNodeEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var ScriptProcessorNode: { + prototype: ScriptProcessorNode; + new(): ScriptProcessorNode; }; -interface SVGAnimatedString { - baseVal: string; - readonly animVal: string; +interface Selection { + readonly anchorNode: Node | null; + readonly anchorOffset: number; + readonly focusNode: Node | null; + readonly focusOffset: number; + readonly isCollapsed: boolean; + readonly rangeCount: number; + readonly type: string; + addRange(range: Range): void; + collapse(node: Node | null, offset?: number): void; + collapseToEnd(): void; + collapseToStart(): void; + containsNode(node: Node, allowPartialContainment?: boolean): boolean; + deleteFromDocument(): void; + empty(): void; + extend(node: Node, offset?: number): void; + getRangeAt(index: number): Range; + removeAllRanges(): void; + removeRange(range: Range): void; + selectAllChildren(node: Node): void; + setBaseAndExtent(anchorNode: Node, anchorOffset: number, focusNode: Node, focusOffset: number): void; + setPosition(node: Node | null, offset?: number): void; } -declare var SVGAnimatedString: { - prototype: SVGAnimatedString; - new(): SVGAnimatedString; +declare var Selection: { + prototype: Selection; + new(): Selection; }; -interface SVGAnimatedRect { - readonly baseVal: DOMRect; - readonly animVal: DOMRectReadOnly; +interface SensorEventMap { + "activate": Event; + "change": Event; + "error": SensorErrorEvent; } -declare var SVGAnimatedRect: { - prototype: SVGAnimatedRect; - new(): SVGAnimatedRect; +interface Sensor extends EventTarget { + onactivate: (this: Sensor, ev: Event) => any; + onchange: (this: Sensor, ev: Event) => any; + onerror: (this: Sensor, ev: SensorErrorEvent) => any; + readonly state: SensorState; + readonly timestamp: number | null; + start(): void; + stop(): void; + addEventListener(type: K, listener: (this: Sensor, ev: SensorEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var Sensor: { + prototype: Sensor; + new(): Sensor; }; -interface SVGAnimatedNumberList { - readonly baseVal: SVGNumberList; - readonly animVal: SVGNumberList; +interface SensorErrorEvent extends Event { + readonly error: any; } -declare var SVGAnimatedNumberList: { - prototype: SVGAnimatedNumberList; - new(): SVGAnimatedNumberList; +declare var SensorErrorEvent: { + prototype: SensorErrorEvent; + new(type: string, errorEventInitDict: SensorErrorEventInit): SensorErrorEvent; }; -interface SVGAnimatedLengthList { - readonly baseVal: SVGLengthList; - readonly animVal: SVGLengthList; +interface ServiceWorkerEventMap extends AbstractWorkerEventMap { + "statechange": Event; +} + +interface ServiceWorker extends EventTarget, AbstractWorker { + onstatechange: (this: ServiceWorker, ev: Event) => any; + readonly scriptURL: string; + readonly state: ServiceWorkerState; + postMessage(message: any, transfer?: any[]): void; + addEventListener(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGAnimatedLengthList: { - prototype: SVGAnimatedLengthList; - new(): SVGAnimatedLengthList; +declare var ServiceWorker: { + prototype: ServiceWorker; + new(): ServiceWorker; }; -interface SVGStringList { - readonly length: number; - readonly numberOfItems: number; - clear(): void; - initialize(newItem: string): string; - getItem(index: number): string; - insertItemBefore(newItem: string, index: number): string; - replaceItem(newItem: string, index: number): string; - removeItem(index: number): string; - appendItem(newItem: string): string; - [index: number]: string; +interface ServiceWorkerContainerEventMap { + "controllerchange": Event; + "message": MessageEvent; } -declare var SVGStringList: { - prototype: SVGStringList; - new(): SVGStringList; -}; - -interface SVGUnitTypes { - readonly SVG_UNIT_TYPE_UNKNOWN: number; - readonly SVG_UNIT_TYPE_USERSPACEONUSE: number; - readonly SVG_UNIT_TYPE_OBJECTBOUNDINGBOX: number; +interface ServiceWorkerContainer extends EventTarget { + readonly controller: ServiceWorker | null; + oncontrollerchange: (this: ServiceWorkerContainer, ev: Event) => any; + onmessage: (this: ServiceWorkerContainer, ev: MessageEvent) => any; + readonly ready: Promise; + getRegistration(): Promise; + getRegistrations(): Promise; + register(scriptURL: string, options?: RegistrationOptions): Promise; + startMessages(): void; + addEventListener(type: K, listener: (this: ServiceWorkerContainer, ev: ServiceWorkerContainerEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGUnitTypes: { - prototype: SVGUnitTypes; - new(): SVGUnitTypes; - readonly SVG_UNIT_TYPE_UNKNOWN: number; - readonly SVG_UNIT_TYPE_USERSPACEONUSE: number; - readonly SVG_UNIT_TYPE_OBJECTBOUNDINGBOX: number; +declare var ServiceWorkerContainer: { + prototype: ServiceWorkerContainer; + new(): ServiceWorkerContainer; }; -interface SVGSVGElement extends SVGGraphicsElement, SVGFitToViewBox, SVGZoomAndPan, WindowEventHandlers { - readonly x: SVGAnimatedLength; - readonly y: SVGAnimatedLength; - readonly width: SVGAnimatedLength; - readonly height: SVGAnimatedLength; - currentScale: number; - readonly currentTranslate: DOMPointReadOnly; - getIntersectionList(rect: DOMRectReadOnly, referenceElement: SVGElement): NodeListOf; - getEnclosureList(rect: DOMRectReadOnly, referenceElement: SVGElement): NodeListOf; - checkIntersection(element: SVGElement, rect: DOMRectReadOnly): boolean; - checkEnclosure(element: SVGElement, rect: DOMRectReadOnly): boolean; - deselectAll(): void; - createSVGNumber(): SVGNumber; - createSVGLength(): SVGLength; - createSVGAngle(): SVGAngle; - createSVGPoint(): DOMPoint; - createSVGMatrix(): DOMMatrix; - createSVGRect(): DOMRect; - createSVGTransform(): SVGTransform; - createSVGTransformFromMatrix(matrix: DOMMatrixReadOnly): SVGTransform; - getElementById(elementId: string): Element; - suspendRedraw(maxWaitMilliseconds: number): number; - unsuspendRedraw(suspendHandleID: number): void; - unsuspendRedrawAll(): void; - forceRedraw(): void; - addEventListener(type: K, listener: (this: SVGSVGElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGSVGElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGSVGElement, ev: WindowEventHandlersEventMap[K]) => any, useCapture?: boolean): void; +interface ServiceWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap { + "activate": ExtendableEvent; + "fetch": FetchEvent; + "install": InstallEvent; + "message": ExtendableMessageEvent; + "notificationclick": NotificationEvent; + "notificationclose": NotificationEvent; + "push": PushEvent; + "pushsubscriptionchange": PushSubscriptionChangeEvent; + "sync": SyncEvent; +} + +interface ServiceWorkerGlobalScope extends WorkerGlobalScope { + readonly clients: Clients; + onactivate: (this: ServiceWorkerGlobalScope, ev: ExtendableEvent) => any; + onfetch: (this: ServiceWorkerGlobalScope, ev: FetchEvent) => any; + onforeignfetch: (this: ServiceWorkerGlobalScope, ev: FetchEvent) => any; + oninstall: (this: ServiceWorkerGlobalScope, ev: InstallEvent) => any; + onmessage: (this: ServiceWorkerGlobalScope, ev: ExtendableMessageEvent) => any; + onnotificationclick: (this: ServiceWorkerGlobalScope, ev: NotificationEvent) => any; + onnotificationclose: (this: ServiceWorkerGlobalScope, ev: NotificationEvent) => any; + onpush: (this: ServiceWorkerGlobalScope, ev: PushEvent) => any; + onpushsubscriptionchange: (this: ServiceWorkerGlobalScope, ev: PushSubscriptionChangeEvent) => any; + onsync: (this: ServiceWorkerGlobalScope, ev: SyncEvent) => any; + readonly registration: ServiceWorkerRegistration; + skipWaiting(): Promise; + addEventListener(type: K, listener: (this: ServiceWorkerGlobalScope, ev: ServiceWorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGSVGElement: { - prototype: SVGSVGElement; - new(): SVGSVGElement; +declare var ServiceWorkerGlobalScope: { + prototype: ServiceWorkerGlobalScope; + new(): ServiceWorkerGlobalScope; }; -interface SVGGElement extends SVGGraphicsElement { - addEventListener(type: K, listener: (this: SVGGElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGGElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; +interface ServiceWorkerRegistrationEventMap { + "updatefound": Event; +} + +interface ServiceWorkerRegistration extends EventTarget { + readonly active: ServiceWorker | null; + readonly installing: ServiceWorker | null; + readonly navigationPreload: NavigationPreloadManager; + onupdatefound: (this: ServiceWorkerRegistration, ev: Event) => any; + readonly pushManager: PushManager; + readonly scope: string; + readonly sync: SyncManager; + readonly useCache: boolean; + readonly waiting: ServiceWorker | null; + getNotifications(filter?: GetNotificationOptions): Promise; + showNotification(title: string, options?: NotificationOptions): Promise; + unregister(): Promise; + update(): Promise; + addEventListener(type: K, listener: (this: ServiceWorkerRegistration, ev: ServiceWorkerRegistrationEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGGElement: { - prototype: SVGGElement; - new(): SVGGElement; +declare var ServiceWorkerRegistration: { + prototype: ServiceWorkerRegistration; + new(): ServiceWorkerRegistration; }; -interface SVGUnknownElement extends SVGGraphicsElement { - addEventListener(type: K, listener: (this: SVGUnknownElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGUnknownElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; +interface ShadowAnimation extends Animation { + readonly sourceAnimation: Animation; + addEventListener(type: K, listener: (this: ShadowAnimation, ev: AnimationEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGUnknownElement: { - prototype: SVGUnknownElement; - new(): SVGUnknownElement; +declare var ShadowAnimation: { + prototype: ShadowAnimation; + new(source: Animation, newTarget: Animatable): ShadowAnimation; }; -interface SVGDefsElement extends SVGGraphicsElement { - addEventListener(type: K, listener: (this: SVGDefsElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGDefsElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface ShadowRoot extends DocumentFragment, DocumentOrShadowRoot { + readonly host: Element; + readonly mode: ShadowRootMode; } -declare var SVGDefsElement: { - prototype: SVGDefsElement; - new(): SVGDefsElement; +declare var ShadowRoot: { + prototype: ShadowRoot; + new(): ShadowRoot; }; -interface SVGDescElement extends SVGElement { - addEventListener(type: K, listener: (this: SVGDescElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGDescElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface SharedKeyframeList { } -declare var SVGDescElement: { - prototype: SVGDescElement; - new(): SVGDescElement; +declare var SharedKeyframeList: { + prototype: SharedKeyframeList; + new(keyframes: any): SharedKeyframeList; }; -interface SVGMetadataElement extends SVGElement { - addEventListener(type: K, listener: (this: SVGMetadataElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGMetadataElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; +interface SharedWorker extends EventTarget, AbstractWorker { + readonly port: MessagePort; + addEventListener(type: K, listener: (this: SharedWorker, ev: AbstractWorkerEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGMetadataElement: { - prototype: SVGMetadataElement; - new(): SVGMetadataElement; +declare var SharedWorker: { + prototype: SharedWorker; + new(scriptURL: string, name?: string, options?: WorkerOptions): SharedWorker; }; -interface SVGTitleElement extends SVGElement { - addEventListener(type: K, listener: (this: SVGTitleElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGTitleElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; +interface SharedWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap { + "connect": MessageEvent; +} + +interface SharedWorkerGlobalScope extends WorkerGlobalScope { + readonly name: string; + onconnect: (this: SharedWorkerGlobalScope, ev: MessageEvent) => any; + close(): void; + addEventListener(type: K, listener: (this: SharedWorkerGlobalScope, ev: SharedWorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGTitleElement: { - prototype: SVGTitleElement; - new(): SVGTitleElement; +declare var SharedWorkerGlobalScope: { + prototype: SharedWorkerGlobalScope; + new(): SharedWorkerGlobalScope; }; -interface SVGSymbolElement extends SVGGraphicsElement, SVGFitToViewBox { - addEventListener(type: K, listener: (this: SVGSymbolElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGSymbolElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; +interface SourceBufferEventMap { + "abort": Event; + "error": Event; + "update": Event; + "updateend": Event; + "updatestart": Event; +} + +interface SourceBuffer extends EventTarget { + appendWindowEnd: number; + appendWindowStart: number; + readonly audioTracks: AudioTrackList; + readonly buffered: TimeRanges; + mode: AppendMode; + onabort: (this: SourceBuffer, ev: Event) => any; + onerror: (this: SourceBuffer, ev: Event) => any; + onupdate: (this: SourceBuffer, ev: Event) => any; + onupdateend: (this: SourceBuffer, ev: Event) => any; + onupdatestart: (this: SourceBuffer, ev: Event) => any; + readonly textTracks: TextTrackList; + timestampOffset: number; + readonly updating: boolean; + readonly videoTracks: VideoTrackList; + abort(): void; + appendBuffer(data: BufferSource): void; + remove(start: number, end: number): void; + addEventListener(type: K, listener: (this: SourceBuffer, ev: SourceBufferEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGSymbolElement: { - prototype: SVGSymbolElement; - new(): SVGSymbolElement; +declare var SourceBuffer: { + prototype: SourceBuffer; + new(): SourceBuffer; }; -interface SVGUseElement extends SVGGraphicsElement, SVGURIReference { - readonly x: SVGAnimatedLength; - readonly y: SVGAnimatedLength; - readonly width: SVGAnimatedLength; - readonly height: SVGAnimatedLength; - readonly instanceRoot: SVGElement | null; - readonly animatedInstanceRoot: SVGElement | null; - addEventListener(type: K, listener: (this: SVGUseElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGUseElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; +interface SourceBufferListEventMap { + "addsourcebuffer": Event; + "removesourcebuffer": Event; +} + +interface SourceBufferList extends EventTarget { + readonly length: number; + onaddsourcebuffer: (this: SourceBufferList, ev: Event) => any; + onremovesourcebuffer: (this: SourceBufferList, ev: Event) => any; + addEventListener(type: K, listener: (this: SourceBufferList, ev: SourceBufferListEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + [index: number]: SourceBuffer; } -declare var SVGUseElement: { - prototype: SVGUseElement; - new(): SVGUseElement; +declare var SourceBufferList: { + prototype: SourceBufferList; + new(): SourceBufferList; }; -interface SVGUseElementShadowRoot extends ShadowRoot { +interface SpeechGrammar { + src: string; + weight: number; } -declare var SVGUseElementShadowRoot: { - prototype: SVGUseElementShadowRoot; - new(): SVGUseElementShadowRoot; +declare var SpeechGrammar: { + prototype: SpeechGrammar; + new(): SpeechGrammar; }; -interface ShadowAnimation extends Animation { - readonly sourceAnimation: Animation; - addEventListener(type: K, listener: (this: ShadowAnimation, ev: AnimationEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface SpeechGrammarList { + readonly length: number; + addFromString(string: string, weight?: number): void; + addFromURI(src: string, weight?: number): void; + item(index: number): SpeechGrammar; + [index: number]: SpeechGrammar; } -declare var ShadowAnimation: { - prototype: ShadowAnimation; - new(source: Animation, newTarget: Animatable): ShadowAnimation; +declare var SpeechGrammarList: { + prototype: SpeechGrammarList; + new(): SpeechGrammarList; }; -interface SVGSwitchElement extends SVGGraphicsElement { - addEventListener(type: K, listener: (this: SVGSwitchElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGSwitchElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface SpeechRecognitionEventMap { + "audioend": Event; + "audiostart": Event; + "end": Event; + "error": SpeechRecognitionError; + "nomatch": SpeechRecognitionEvent; + "result": SpeechRecognitionEvent; + "soundend": Event; + "soundstart": Event; + "speechend": Event; + "speechstart": Event; + "start": Event; } -declare var SVGSwitchElement: { - prototype: SVGSwitchElement; - new(): SVGSwitchElement; -}; - -interface SVGStyleElement extends SVGElement, LinkStyle { - type: string; - media: string; - title: string; - addEventListener(type: K, listener: (this: SVGStyleElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGStyleElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; +interface SpeechRecognition extends EventTarget { + continuous: boolean; + grammars: SpeechGrammarList; + interimResults: boolean; + lang: string; + maxAlternatives: number; + onaudioend: (this: SpeechRecognition, ev: Event) => any; + onaudiostart: (this: SpeechRecognition, ev: Event) => any; + onend: (this: SpeechRecognition, ev: Event) => any; + onerror: (this: SpeechRecognition, ev: SpeechRecognitionError) => any; + onnomatch: (this: SpeechRecognition, ev: SpeechRecognitionEvent) => any; + onresult: (this: SpeechRecognition, ev: SpeechRecognitionEvent) => any; + onsoundend: (this: SpeechRecognition, ev: Event) => any; + onsoundstart: (this: SpeechRecognition, ev: Event) => any; + onspeechend: (this: SpeechRecognition, ev: Event) => any; + onspeechstart: (this: SpeechRecognition, ev: Event) => any; + onstart: (this: SpeechRecognition, ev: Event) => any; + serviceURI: string; + abort(): void; + start(): void; + stop(): void; + addEventListener(type: K, listener: (this: SpeechRecognition, ev: SpeechRecognitionEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGStyleElement: { - prototype: SVGStyleElement; - new(): SVGStyleElement; +declare var SpeechRecognition: { + prototype: SpeechRecognition; + new(): SpeechRecognition; }; -interface SVGTransform { - readonly type: number; - readonly matrix: DOMMatrix; - readonly angle: number; - setMatrix(matrix: DOMMatrixReadOnly): void; - setTranslate(tx: number, ty: number): void; - setScale(sx: number, sy: number): void; - setRotate(angle: number, cx: number, cy: number): void; - setSkewX(angle: number): void; - setSkewY(angle: number): void; - readonly SVG_TRANSFORM_UNKNOWN: number; - readonly SVG_TRANSFORM_MATRIX: number; - readonly SVG_TRANSFORM_TRANSLATE: number; - readonly SVG_TRANSFORM_SCALE: number; - readonly SVG_TRANSFORM_ROTATE: number; - readonly SVG_TRANSFORM_SKEWX: number; - readonly SVG_TRANSFORM_SKEWY: number; +interface SpeechRecognitionAlternative { + readonly confidence: number; + readonly transcript: string; } -declare var SVGTransform: { - prototype: SVGTransform; - new(): SVGTransform; - readonly SVG_TRANSFORM_UNKNOWN: number; - readonly SVG_TRANSFORM_MATRIX: number; - readonly SVG_TRANSFORM_TRANSLATE: number; - readonly SVG_TRANSFORM_SCALE: number; - readonly SVG_TRANSFORM_ROTATE: number; - readonly SVG_TRANSFORM_SKEWX: number; - readonly SVG_TRANSFORM_SKEWY: number; +declare var SpeechRecognitionAlternative: { + prototype: SpeechRecognitionAlternative; + new(): SpeechRecognitionAlternative; }; -interface SVGTransformList { - readonly length: number; - readonly numberOfItems: number; - clear(): void; - initialize(newItem: SVGTransform): SVGTransform; - getItem(index: number): SVGTransform; - insertItemBefore(newItem: SVGTransform, index: number): SVGTransform; - replaceItem(newItem: SVGTransform, index: number): SVGTransform; - removeItem(index: number): SVGTransform; - appendItem(newItem: SVGTransform): SVGTransform; - createSVGTransformFromMatrix(matrix: DOMMatrixReadOnly): SVGTransform; - consolidate(): SVGTransform | null; - [index: number]: SVGTransform; +interface SpeechRecognitionError extends Event { + readonly error: SpeechRecognitionErrorCode; + readonly message: string; } -declare var SVGTransformList: { - prototype: SVGTransformList; - new(): SVGTransformList; +declare var SpeechRecognitionError: { + prototype: SpeechRecognitionError; + new(): SpeechRecognitionError; }; -interface SVGAnimatedTransformList { - readonly baseVal: SVGTransformList; - readonly animVal: SVGTransformList; +interface SpeechRecognitionEvent extends Event { + readonly emma: Document; + readonly interpretation: any; + readonly resultIndex: number; + readonly results: SpeechRecognitionResultList; } -declare var SVGAnimatedTransformList: { - prototype: SVGAnimatedTransformList; - new(): SVGAnimatedTransformList; +declare var SpeechRecognitionEvent: { + prototype: SpeechRecognitionEvent; + new(): SpeechRecognitionEvent; }; -interface SVGPreserveAspectRatio { - align: number; - meetOrSlice: number; - readonly SVG_PRESERVEASPECTRATIO_UNKNOWN: number; - readonly SVG_PRESERVEASPECTRATIO_NONE: number; - readonly SVG_PRESERVEASPECTRATIO_XMINYMIN: number; - readonly SVG_PRESERVEASPECTRATIO_XMIDYMIN: number; - readonly SVG_PRESERVEASPECTRATIO_XMAXYMIN: number; - readonly SVG_PRESERVEASPECTRATIO_XMINYMID: number; - readonly SVG_PRESERVEASPECTRATIO_XMIDYMID: number; - readonly SVG_PRESERVEASPECTRATIO_XMAXYMID: number; - readonly SVG_PRESERVEASPECTRATIO_XMINYMAX: number; - readonly SVG_PRESERVEASPECTRATIO_XMIDYMAX: number; - readonly SVG_PRESERVEASPECTRATIO_XMAXYMAX: number; - readonly SVG_MEETORSLICE_UNKNOWN: number; - readonly SVG_MEETORSLICE_MEET: number; - readonly SVG_MEETORSLICE_SLICE: number; +interface SpeechRecognitionResult { + readonly isFinal: boolean; + readonly length: number; + item(index: number): SpeechRecognitionAlternative; + [index: number]: SpeechRecognitionAlternative; } -declare var SVGPreserveAspectRatio: { - prototype: SVGPreserveAspectRatio; - new(): SVGPreserveAspectRatio; - readonly SVG_PRESERVEASPECTRATIO_UNKNOWN: number; - readonly SVG_PRESERVEASPECTRATIO_NONE: number; - readonly SVG_PRESERVEASPECTRATIO_XMINYMIN: number; - readonly SVG_PRESERVEASPECTRATIO_XMIDYMIN: number; - readonly SVG_PRESERVEASPECTRATIO_XMAXYMIN: number; - readonly SVG_PRESERVEASPECTRATIO_XMINYMID: number; - readonly SVG_PRESERVEASPECTRATIO_XMIDYMID: number; - readonly SVG_PRESERVEASPECTRATIO_XMAXYMID: number; - readonly SVG_PRESERVEASPECTRATIO_XMINYMAX: number; - readonly SVG_PRESERVEASPECTRATIO_XMIDYMAX: number; - readonly SVG_PRESERVEASPECTRATIO_XMAXYMAX: number; - readonly SVG_MEETORSLICE_UNKNOWN: number; - readonly SVG_MEETORSLICE_MEET: number; - readonly SVG_MEETORSLICE_SLICE: number; +declare var SpeechRecognitionResult: { + prototype: SpeechRecognitionResult; + new(): SpeechRecognitionResult; }; -interface SVGAnimatedPreserveAspectRatio { - readonly baseVal: SVGPreserveAspectRatio; - readonly animVal: SVGPreserveAspectRatio; +interface SpeechRecognitionResultList { + readonly length: number; + item(index: number): SpeechRecognitionResult; + [index: number]: SpeechRecognitionResult; } -declare var SVGAnimatedPreserveAspectRatio: { - prototype: SVGAnimatedPreserveAspectRatio; - new(): SVGAnimatedPreserveAspectRatio; +declare var SpeechRecognitionResultList: { + prototype: SpeechRecognitionResultList; + new(): SpeechRecognitionResultList; }; -interface SVGPathElement extends SVGGeometryElement { - addEventListener(type: K, listener: (this: SVGPathElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGPathElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; +interface SpeechSynthesisEventMap { + "voiceschanged": Event; +} + +interface SpeechSynthesis extends EventTarget { + onvoiceschanged: (this: SpeechSynthesis, ev: Event) => any; + readonly paused: boolean; + readonly pending: boolean; + readonly speaking: boolean; + cancel(): void; + getVoices(): any[]; + pause(): void; + resume(): void; + speak(utterance: SpeechSynthesisUtterance): void; + addEventListener(type: K, listener: (this: SpeechSynthesis, ev: SpeechSynthesisEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGPathElement: { - prototype: SVGPathElement; - new(): SVGPathElement; +declare var SpeechSynthesis: { + prototype: SpeechSynthesis; + new(): SpeechSynthesis; }; -interface SVGRectElement extends SVGGeometryElement { - readonly x: SVGAnimatedLength; - readonly y: SVGAnimatedLength; - readonly width: SVGAnimatedLength; - readonly height: SVGAnimatedLength; - readonly rx: SVGAnimatedLength; - readonly ry: SVGAnimatedLength; - addEventListener(type: K, listener: (this: SVGRectElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGRectElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface SpeechSynthesisErrorEvent extends SpeechSynthesisEvent { + readonly error: any; } -declare var SVGRectElement: { - prototype: SVGRectElement; - new(): SVGRectElement; +declare var SpeechSynthesisErrorEvent: { + prototype: SpeechSynthesisErrorEvent; + new(): SpeechSynthesisErrorEvent; }; -interface SVGCircleElement extends SVGGeometryElement { - readonly cx: SVGAnimatedLength; - readonly cy: SVGAnimatedLength; - readonly r: SVGAnimatedLength; - addEventListener(type: K, listener: (this: SVGCircleElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGCircleElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface SpeechSynthesisEvent extends Event { + readonly charIndex: number; + readonly elapsedTime: number; + readonly name: string; + readonly utterance: SpeechSynthesisUtterance; } -declare var SVGCircleElement: { - prototype: SVGCircleElement; - new(): SVGCircleElement; +declare var SpeechSynthesisEvent: { + prototype: SpeechSynthesisEvent; + new(): SpeechSynthesisEvent; }; -interface SVGEllipseElement extends SVGGeometryElement { - readonly cx: SVGAnimatedLength; - readonly cy: SVGAnimatedLength; - readonly rx: SVGAnimatedLength; - readonly ry: SVGAnimatedLength; - addEventListener(type: K, listener: (this: SVGEllipseElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGEllipseElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; +interface SpeechSynthesisUtteranceEventMap { + "boundary": Event; + "end": Event; + "error": Event; + "mark": Event; + "pause": Event; + "resume": Event; + "start": Event; +} + +interface SpeechSynthesisUtterance extends EventTarget { + lang: string; + onboundary: (this: SpeechSynthesisUtterance, ev: Event) => any; + onend: (this: SpeechSynthesisUtterance, ev: Event) => any; + onerror: (this: SpeechSynthesisUtterance, ev: Event) => any; + onmark: (this: SpeechSynthesisUtterance, ev: Event) => any; + onpause: (this: SpeechSynthesisUtterance, ev: Event) => any; + onresume: (this: SpeechSynthesisUtterance, ev: Event) => any; + onstart: (this: SpeechSynthesisUtterance, ev: Event) => any; + pitch: number; + rate: number; + text: string; + voice: SpeechSynthesisVoice; + volume: number; + addEventListener(type: K, listener: (this: SpeechSynthesisUtterance, ev: SpeechSynthesisUtteranceEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGEllipseElement: { - prototype: SVGEllipseElement; - new(): SVGEllipseElement; +declare var SpeechSynthesisUtterance: { + prototype: SpeechSynthesisUtterance; + new(): SpeechSynthesisUtterance; + new(text: string): SpeechSynthesisUtterance; }; -interface SVGLineElement extends SVGGeometryElement { - readonly x1: SVGAnimatedLength; - readonly y1: SVGAnimatedLength; - readonly x2: SVGAnimatedLength; - readonly y2: SVGAnimatedLength; - addEventListener(type: K, listener: (this: SVGLineElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGLineElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface SpeechSynthesisVoice { + readonly default: boolean; + readonly lang: string; + readonly localService: boolean; + readonly name: string; + readonly voiceURI: string; } -declare var SVGLineElement: { - prototype: SVGLineElement; - new(): SVGLineElement; +declare var SpeechSynthesisVoice: { + prototype: SpeechSynthesisVoice; + new(): SpeechSynthesisVoice; }; -interface SVGMeshElement extends SVGGeometryElement, SVGURIReference { - addEventListener(type: K, listener: (this: SVGMeshElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGMeshElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface StereoPannerNode extends AudioNode { + readonly pan: AudioParam; } -declare var SVGMeshElement: { - prototype: SVGMeshElement; - new(): SVGMeshElement; +declare var StereoPannerNode: { + prototype: StereoPannerNode; + new(context: BaseAudioContext, options?: StereoPannerOptions): StereoPannerNode; }; -interface SVGPointList { +interface Storage { readonly length: number; - readonly numberOfItems: number; clear(): void; - initialize(newItem: DOMPoint): DOMPoint; - getItem(index: number): DOMPoint; - insertItemBefore(newItem: DOMPoint, index: number): DOMPoint; - replaceItem(newItem: DOMPoint, index: number): DOMPoint; - removeItem(index: number): DOMPoint; - appendItem(newItem: DOMPoint): DOMPoint; - [index: number]: DOMPoint; + getItem(key: string): string | null; + key(index: number): string | null; + removeItem(key: string): void; + setItem(key: string, value: string): void; } -declare var SVGPointList: { - prototype: SVGPointList; - new(): SVGPointList; +declare var Storage: { + prototype: Storage; + new(): Storage; }; -interface SVGPolylineElement extends SVGGeometryElement, SVGAnimatedPoints { - addEventListener(type: K, listener: (this: SVGPolylineElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGPolylineElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface StorageEvent extends Event { + readonly url: string; + key?: string; + oldValue?: string; + newValue?: string; + storageArea?: Storage; } -declare var SVGPolylineElement: { - prototype: SVGPolylineElement; - new(): SVGPolylineElement; +declare var StorageEvent: { + prototype: StorageEvent; + new (type: string, eventInitDict?: StorageEventInit): StorageEvent; }; -interface SVGPolygonElement extends SVGGeometryElement, SVGAnimatedPoints { - addEventListener(type: K, listener: (this: SVGPolygonElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGPolygonElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface StyleSheet { + disabled: boolean; + readonly href: string | null; + readonly media: MediaList; + readonly ownerNode: Element | ProcessingInstruction | null; + readonly parentStyleSheet: StyleSheet | null; + readonly title: string | null; + readonly type: CSSOMString; } -declare var SVGPolygonElement: { - prototype: SVGPolygonElement; - new(): SVGPolygonElement; +declare var StyleSheet: { + prototype: StyleSheet; + new(): StyleSheet; }; -interface SVGTextContentElement extends SVGGraphicsElement { - readonly textLength: SVGAnimatedLength; - readonly lengthAdjust: SVGAnimatedEnumeration; - getNumberOfChars(): number; - getComputedTextLength(): number; - getSubStringLength(charnum: number, nchars: number): number; - getStartPositionOfChar(charnum: number): DOMPoint; - getEndPositionOfChar(charnum: number): DOMPoint; - getExtentOfChar(charnum: number): DOMRect; - getRotationOfChar(charnum: number): number; - getCharNumAtPosition(point: DOMPoint): number; - selectSubString(charnum: number, nchars: number): void; - readonly LENGTHADJUST_UNKNOWN: number; - readonly LENGTHADJUST_SPACING: number; - readonly LENGTHADJUST_SPACINGANDGLYPHS: number; - addEventListener(type: K, listener: (this: SVGTextContentElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGTextContentElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface StyleSheetList { + readonly length: number; + item(index: number): StyleSheet | null; + [index: number]: StyleSheet; } -declare var SVGTextContentElement: { - prototype: SVGTextContentElement; - new(): SVGTextContentElement; - readonly LENGTHADJUST_UNKNOWN: number; - readonly LENGTHADJUST_SPACING: number; - readonly LENGTHADJUST_SPACINGANDGLYPHS: number; +declare var StyleSheetList: { + prototype: StyleSheetList; + new(): StyleSheetList; }; -interface SVGTextPositioningElement extends SVGTextContentElement { - readonly x: SVGAnimatedLengthList; - readonly y: SVGAnimatedLengthList; - readonly dx: SVGAnimatedLengthList; - readonly dy: SVGAnimatedLengthList; - readonly rotate: SVGAnimatedNumberList; - addEventListener(type: K, listener: (this: SVGTextPositioningElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGTextPositioningElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface SubtleCrypto { + decrypt(algorithm: AlgorithmIdentifier, key: CryptoKey, data: BufferSource): Promise; + deriveBits(algorithm: AlgorithmIdentifier, baseKey: CryptoKey, length: number): Promise; + deriveKey(algorithm: AlgorithmIdentifier, baseKey: CryptoKey, derivedKeyType: AlgorithmIdentifier, extractable: boolean, keyUsages: KeyUsage[]): Promise; + digest(algorithm: AlgorithmIdentifier, data: BufferSource): Promise; + encrypt(algorithm: AlgorithmIdentifier, key: CryptoKey, data: BufferSource): Promise; + exportKey(format: KeyFormat, key: CryptoKey): Promise; + generateKey(algorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: KeyUsage[]): Promise; + importKey(format: KeyFormat, keyData: BufferSource | JsonWebKey, algorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: KeyUsage[]): Promise; + sign(algorithm: AlgorithmIdentifier, key: CryptoKey, data: BufferSource): Promise; + unwrapKey(format: KeyFormat, wrappedKey: BufferSource, unwrappingKey: CryptoKey, unwrapAlgorithm: AlgorithmIdentifier, unwrappedKeyAlgorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: KeyUsage[]): Promise; + verify(algorithm: AlgorithmIdentifier, key: CryptoKey, signature: BufferSource, data: BufferSource): Promise; + wrapKey(format: KeyFormat, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: AlgorithmIdentifier): Promise; } -declare var SVGTextPositioningElement: { - prototype: SVGTextPositioningElement; - new(): SVGTextPositioningElement; +declare var SubtleCrypto: { + prototype: SubtleCrypto; + new(): SubtleCrypto; }; -interface SVGTextElement extends SVGTextPositioningElement { - addEventListener(type: K, listener: (this: SVGTextElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGTextElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; +interface SVGAElement extends SVGGraphicsElement, SVGURIReference, HTMLHyperlinkElementUtilsBase { + readonly download: SVGAnimatedString; + readonly hreflang: SVGAnimatedString; + readonly rel: SVGAnimatedString; + readonly relList: SVGAnimatedString; + readonly target: SVGAnimatedString; + readonly type: SVGAnimatedString; + addEventListener(type: K, listener: (this: SVGAElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGAElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGTextElement: { - prototype: SVGTextElement; - new(): SVGTextElement; +declare var SVGAElement: { + prototype: SVGAElement; + new(): SVGAElement; }; -interface SVGTSpanElement extends SVGTextPositioningElement { - addEventListener(type: K, listener: (this: SVGTSpanElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGTSpanElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface SVGAngle { + readonly unitType: number; + value: number; + valueAsString: string; + valueInSpecifiedUnits: number; + convertToSpecifiedUnits(unitType: number): void; + newValueSpecifiedUnits(unitType: number, valueInSpecifiedUnits: number): void; + readonly SVG_ANGLETYPE_DEG: number; + readonly SVG_ANGLETYPE_GRAD: number; + readonly SVG_ANGLETYPE_RAD: number; + readonly SVG_ANGLETYPE_UNKNOWN: number; + readonly SVG_ANGLETYPE_UNSPECIFIED: number; } -declare var SVGTSpanElement: { - prototype: SVGTSpanElement; - new(): SVGTSpanElement; -}; - -interface SVGTextPathElement extends SVGTextContentElement, SVGURIReference { - readonly startOffset: SVGAnimatedLength; - readonly method: SVGAnimatedEnumeration; - readonly spacing: SVGAnimatedEnumeration; - readonly TEXTPATH_METHODTYPE_UNKNOWN: number; - readonly TEXTPATH_METHODTYPE_ALIGN: number; - readonly TEXTPATH_METHODTYPE_STRETCH: number; - readonly TEXTPATH_SPACINGTYPE_UNKNOWN: number; - readonly TEXTPATH_SPACINGTYPE_AUTO: number; - readonly TEXTPATH_SPACINGTYPE_EXACT: number; - addEventListener(type: K, listener: (this: SVGTextPathElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGTextPathElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare var SVGAngle: { + prototype: SVGAngle; + new(): SVGAngle; + readonly SVG_ANGLETYPE_DEG: number; + readonly SVG_ANGLETYPE_GRAD: number; + readonly SVG_ANGLETYPE_RAD: number; + readonly SVG_ANGLETYPE_UNKNOWN: number; + readonly SVG_ANGLETYPE_UNSPECIFIED: number; +}; + +interface SVGAnimatedAngle { + readonly animVal: SVGAngle; + readonly baseVal: SVGAngle; } -declare var SVGTextPathElement: { - prototype: SVGTextPathElement; - new(): SVGTextPathElement; - readonly TEXTPATH_METHODTYPE_UNKNOWN: number; - readonly TEXTPATH_METHODTYPE_ALIGN: number; - readonly TEXTPATH_METHODTYPE_STRETCH: number; - readonly TEXTPATH_SPACINGTYPE_UNKNOWN: number; - readonly TEXTPATH_SPACINGTYPE_AUTO: number; - readonly TEXTPATH_SPACINGTYPE_EXACT: number; +declare var SVGAnimatedAngle: { + prototype: SVGAnimatedAngle; + new(): SVGAnimatedAngle; }; -interface SVGImageElement extends SVGGraphicsElement, SVGURIReference { - readonly x: SVGAnimatedLength; - readonly y: SVGAnimatedLength; - readonly width: SVGAnimatedLength; - readonly height: SVGAnimatedLength; - readonly preserveAspectRatio: SVGAnimatedPreserveAspectRatio; - crossOrigin: string | null; - addEventListener(type: K, listener: (this: SVGImageElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGImageElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface SVGAnimatedBoolean { + readonly animVal: boolean; + baseVal: boolean; } -declare var SVGImageElement: { - prototype: SVGImageElement; - new(): SVGImageElement; +declare var SVGAnimatedBoolean: { + prototype: SVGAnimatedBoolean; + new(): SVGAnimatedBoolean; }; -interface SVGForeignObjectElement extends SVGGraphicsElement { - readonly x: SVGAnimatedLength; - readonly y: SVGAnimatedLength; - readonly width: SVGAnimatedLength; - readonly height: SVGAnimatedLength; - addEventListener(type: K, listener: (this: SVGForeignObjectElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGForeignObjectElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface SVGAnimatedEnumeration { + readonly animVal: number; + baseVal: number; } -declare var SVGForeignObjectElement: { - prototype: SVGForeignObjectElement; - new(): SVGForeignObjectElement; +declare var SVGAnimatedEnumeration: { + prototype: SVGAnimatedEnumeration; + new(): SVGAnimatedEnumeration; }; -interface SVGMarkerElement extends SVGElement, SVGFitToViewBox { - readonly refX: SVGAnimatedLength; - readonly refY: SVGAnimatedLength; - readonly markerUnits: SVGAnimatedEnumeration; - readonly markerWidth: SVGAnimatedLength; - readonly markerHeight: SVGAnimatedLength; - readonly orientType: SVGAnimatedEnumeration; - readonly orientAngle: SVGAnimatedAngle; - orient: string; - setOrientToAuto(): void; - setOrientToAngle(angle: SVGAngle): void; - readonly SVG_MARKERUNITS_UNKNOWN: number; - readonly SVG_MARKERUNITS_USERSPACEONUSE: number; - readonly SVG_MARKERUNITS_STROKEWIDTH: number; - readonly SVG_MARKER_ORIENT_UNKNOWN: number; - readonly SVG_MARKER_ORIENT_AUTO: number; - readonly SVG_MARKER_ORIENT_ANGLE: number; - addEventListener(type: K, listener: (this: SVGMarkerElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGMarkerElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface SVGAnimatedInteger { + readonly animVal: number; + baseVal: number; } -declare var SVGMarkerElement: { - prototype: SVGMarkerElement; - new(): SVGMarkerElement; - readonly SVG_MARKERUNITS_UNKNOWN: number; - readonly SVG_MARKERUNITS_USERSPACEONUSE: number; - readonly SVG_MARKERUNITS_STROKEWIDTH: number; - readonly SVG_MARKER_ORIENT_UNKNOWN: number; - readonly SVG_MARKER_ORIENT_AUTO: number; - readonly SVG_MARKER_ORIENT_ANGLE: number; +declare var SVGAnimatedInteger: { + prototype: SVGAnimatedInteger; + new(): SVGAnimatedInteger; }; -interface SVGSolidcolorElement extends SVGElement { - addEventListener(type: K, listener: (this: SVGSolidcolorElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGSolidcolorElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface SVGAnimatedLength { + readonly animVal: SVGLength; + readonly baseVal: SVGLength; } -declare var SVGSolidcolorElement: { - prototype: SVGSolidcolorElement; - new(): SVGSolidcolorElement; +declare var SVGAnimatedLength: { + prototype: SVGAnimatedLength; + new(): SVGAnimatedLength; }; -interface SVGGradientElement extends SVGElement, SVGURIReference { - readonly gradientUnits: SVGAnimatedEnumeration; - readonly gradientTransform: SVGAnimatedTransformList; - readonly spreadMethod: SVGAnimatedEnumeration; - readonly SVG_SPREADMETHOD_UNKNOWN: number; - readonly SVG_SPREADMETHOD_PAD: number; - readonly SVG_SPREADMETHOD_REFLECT: number; - readonly SVG_SPREADMETHOD_REPEAT: number; - addEventListener(type: K, listener: (this: SVGGradientElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGGradientElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface SVGAnimatedLengthList { + readonly animVal: SVGLengthList; + readonly baseVal: SVGLengthList; } -declare var SVGGradientElement: { - prototype: SVGGradientElement; - new(): SVGGradientElement; - readonly SVG_SPREADMETHOD_UNKNOWN: number; - readonly SVG_SPREADMETHOD_PAD: number; - readonly SVG_SPREADMETHOD_REFLECT: number; - readonly SVG_SPREADMETHOD_REPEAT: number; +declare var SVGAnimatedLengthList: { + prototype: SVGAnimatedLengthList; + new(): SVGAnimatedLengthList; }; -interface SVGLinearGradientElement extends SVGGradientElement { - readonly x1: SVGAnimatedLength; - readonly y1: SVGAnimatedLength; - readonly x2: SVGAnimatedLength; - readonly y2: SVGAnimatedLength; - addEventListener(type: K, listener: (this: SVGLinearGradientElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGLinearGradientElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface SVGAnimatedNumber { + readonly animVal: number; + baseVal: number; } -declare var SVGLinearGradientElement: { - prototype: SVGLinearGradientElement; - new(): SVGLinearGradientElement; +declare var SVGAnimatedNumber: { + prototype: SVGAnimatedNumber; + new(): SVGAnimatedNumber; }; -interface SVGRadialGradientElement extends SVGGradientElement { - readonly cx: SVGAnimatedLength; - readonly cy: SVGAnimatedLength; - readonly r: SVGAnimatedLength; - readonly fx: SVGAnimatedLength; - readonly fy: SVGAnimatedLength; - readonly fr: SVGAnimatedLength; - addEventListener(type: K, listener: (this: SVGRadialGradientElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGRadialGradientElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface SVGAnimatedNumberList { + readonly animVal: SVGNumberList; + readonly baseVal: SVGNumberList; } -declare var SVGRadialGradientElement: { - prototype: SVGRadialGradientElement; - new(): SVGRadialGradientElement; +declare var SVGAnimatedNumberList: { + prototype: SVGAnimatedNumberList; + new(): SVGAnimatedNumberList; }; -interface SVGMeshGradientElement extends SVGGradientElement { - addEventListener(type: K, listener: (this: SVGMeshGradientElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGMeshGradientElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface SVGAnimatedPreserveAspectRatio { + readonly animVal: SVGPreserveAspectRatio; + readonly baseVal: SVGPreserveAspectRatio; } -declare var SVGMeshGradientElement: { - prototype: SVGMeshGradientElement; - new(): SVGMeshGradientElement; +declare var SVGAnimatedPreserveAspectRatio: { + prototype: SVGAnimatedPreserveAspectRatio; + new(): SVGAnimatedPreserveAspectRatio; }; -interface SVGMeshrowElement extends SVGElement { - addEventListener(type: K, listener: (this: SVGMeshrowElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGMeshrowElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface SVGAnimatedRect { + readonly animVal: DOMRectReadOnly; + readonly baseVal: DOMRect; } -declare var SVGMeshrowElement: { - prototype: SVGMeshrowElement; - new(): SVGMeshrowElement; +declare var SVGAnimatedRect: { + prototype: SVGAnimatedRect; + new(): SVGAnimatedRect; }; -interface SVGMeshpatchElement extends SVGElement { - addEventListener(type: K, listener: (this: SVGMeshpatchElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGMeshpatchElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface SVGAnimatedString { + readonly animVal: string; + baseVal: string; } -declare var SVGMeshpatchElement: { - prototype: SVGMeshpatchElement; - new(): SVGMeshpatchElement; +declare var SVGAnimatedString: { + prototype: SVGAnimatedString; + new(): SVGAnimatedString; }; -interface SVGStopElement extends SVGElement { - readonly offset: SVGAnimatedNumber; - addEventListener(type: K, listener: (this: SVGStopElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGStopElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface SVGAnimatedTransformList { + readonly animVal: SVGTransformList; + readonly baseVal: SVGTransformList; } -declare var SVGStopElement: { - prototype: SVGStopElement; - new(): SVGStopElement; +declare var SVGAnimatedTransformList: { + prototype: SVGAnimatedTransformList; + new(): SVGAnimatedTransformList; }; -interface SVGPatternElement extends SVGElement, SVGFitToViewBox, SVGURIReference { - readonly patternUnits: SVGAnimatedEnumeration; - readonly patternContentUnits: SVGAnimatedEnumeration; - readonly patternTransform: SVGAnimatedTransformList; - readonly x: SVGAnimatedLength; - readonly y: SVGAnimatedLength; - readonly width: SVGAnimatedLength; - readonly height: SVGAnimatedLength; - addEventListener(type: K, listener: (this: SVGPatternElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGPatternElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; +interface SVGCircleElement extends SVGGeometryElement { + readonly cx: SVGAnimatedLength; + readonly cy: SVGAnimatedLength; + readonly r: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGCircleElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGCircleElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGPatternElement: { - prototype: SVGPatternElement; - new(): SVGPatternElement; +declare var SVGCircleElement: { + prototype: SVGCircleElement; + new(): SVGCircleElement; }; -interface SVGHatchElement extends SVGElement { - addEventListener(type: K, listener: (this: SVGHatchElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGHatchElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; +interface SVGClipPathElement extends SVGElement, SVGUnitTypes { + readonly clipPathUnits: SVGAnimatedEnumeration; + readonly transform: SVGAnimatedTransformList; + addEventListener(type: K, listener: (this: SVGClipPathElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGClipPathElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var SVGHatchElement: { - prototype: SVGHatchElement; - new(): SVGHatchElement; +} + +declare var SVGClipPathElement: { + prototype: SVGClipPathElement; + new(): SVGClipPathElement; }; -interface SVGHatchpathElement extends SVGElement { - addEventListener(type: K, listener: (this: SVGHatchpathElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGHatchpathElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; +interface SVGComponentTransferFunctionElement extends SVGElement { + readonly amplitude: SVGAnimatedNumber; + readonly exponent: SVGAnimatedNumber; + readonly intercept: SVGAnimatedNumber; + readonly offset: SVGAnimatedNumber; + readonly slope: SVGAnimatedNumber; + readonly tableValues: SVGAnimatedNumberList; + readonly type: SVGAnimatedEnumeration; + readonly SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_GAMMA: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_LINEAR: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_TABLE: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN: number; + addEventListener(type: K, listener: (this: SVGComponentTransferFunctionElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGComponentTransferFunctionElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGHatchpathElement: { - prototype: SVGHatchpathElement; - new(): SVGHatchpathElement; +declare var SVGComponentTransferFunctionElement: { + prototype: SVGComponentTransferFunctionElement; + new(): SVGComponentTransferFunctionElement; + readonly SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_GAMMA: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_LINEAR: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_TABLE: number; + readonly SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN: number; }; interface SVGCursorElement extends SVGElement, SVGURIReference { @@ -9587,1734 +9289,2052 @@ declare var SVGCursorElement: { new(): SVGCursorElement; }; -interface SVGScriptElement extends SVGElement, SVGURIReference { - type: string; - crossOrigin: string | null; - addEventListener(type: K, listener: (this: SVGScriptElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGScriptElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; +interface SVGDefsElement extends SVGGraphicsElement { + addEventListener(type: K, listener: (this: SVGDefsElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGDefsElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGScriptElement: { - prototype: SVGScriptElement; - new(): SVGScriptElement; +declare var SVGDefsElement: { + prototype: SVGDefsElement; + new(): SVGDefsElement; }; -interface SVGAElement extends SVGGraphicsElement, SVGURIReference, HTMLHyperlinkElementUtilsBase { - readonly target: SVGAnimatedString; - readonly download: SVGAnimatedString; - readonly rel: SVGAnimatedString; - readonly relList: SVGAnimatedString; - readonly hreflang: SVGAnimatedString; - readonly type: SVGAnimatedString; - addEventListener(type: K, listener: (this: SVGAElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGAElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; +interface SVGDescElement extends SVGElement { + addEventListener(type: K, listener: (this: SVGDescElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGDescElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGAElement: { - prototype: SVGAElement; - new(): SVGAElement; +declare var SVGDescElement: { + prototype: SVGDescElement; + new(): SVGDescElement; }; -interface SVGViewElement extends SVGElement, SVGFitToViewBox, SVGZoomAndPan { - addEventListener(type: K, listener: (this: SVGViewElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: SVGViewElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; +interface SVGElement extends Element, GlobalEventHandlers, SVGElementInstance, ElementCSSInlineStyle { + className: any; + readonly dataset: DOMStringMap; + readonly ownerSVGElement: SVGSVGElement | null; + tabIndex: number; + readonly viewportElement: SVGElement | null; + blur(): void; + focus(): void; + addEventListener(type: K, listener: (this: SVGElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SVGViewElement: { - prototype: SVGViewElement; - new(): SVGViewElement; -}; - -interface Touch { - readonly identifier: number; - readonly target: EventTarget; - readonly screenX: number; - readonly screenY: number; - readonly clientX: number; - readonly clientY: number; - readonly pageX: number; - readonly pageY: number; - readonly radiusX: number; - readonly radiusY: number; - readonly rotationAngle: number; - readonly force: number; -} - -declare var Touch: { - prototype: Touch; - new(touchInitDict: TouchInit): Touch; -}; - -interface TouchList { - readonly length: number; - item(index: number): Touch | null; - [index: number]: Touch; -} - -declare var TouchList: { - prototype: TouchList; - new(): TouchList; +declare var SVGElement: { + prototype: SVGElement; + new(): SVGElement; }; -interface TouchEvent extends UIEvent { - readonly touches: TouchList; - readonly targetTouches: TouchList; - readonly changedTouches: TouchList; - readonly altKey: boolean; - readonly metaKey: boolean; - readonly ctrlKey: boolean; - readonly shiftKey: boolean; +interface SVGEllipseElement extends SVGGeometryElement { + readonly cx: SVGAnimatedLength; + readonly cy: SVGAnimatedLength; + readonly rx: SVGAnimatedLength; + readonly ry: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGEllipseElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGEllipseElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var TouchEvent: { - prototype: TouchEvent; - new(type: string, touchEventInit?: TouchEventInit): TouchEvent; +declare var SVGEllipseElement: { + prototype: SVGEllipseElement; + new(): SVGEllipseElement; }; -interface UIEvent extends Event { - readonly view: Window | null; - readonly detail: number; +interface SVGFEBlendElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + readonly in2: SVGAnimatedString; + readonly mode: SVGAnimatedEnumeration; + readonly SVG_FEBLEND_MODE_DARKEN: number; + readonly SVG_FEBLEND_MODE_LIGHTEN: number; + readonly SVG_FEBLEND_MODE_MULTIPLY: number; + readonly SVG_FEBLEND_MODE_NORMAL: number; + readonly SVG_FEBLEND_MODE_SCREEN: number; + readonly SVG_FEBLEND_MODE_UNKNOWN: number; + addEventListener(type: K, listener: (this: SVGFEBlendElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEBlendElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var UIEvent: { - prototype: UIEvent; - new(type: string, eventInitDict?: UIEventInit): UIEvent; +declare var SVGFEBlendElement: { + prototype: SVGFEBlendElement; + new(): SVGFEBlendElement; + readonly SVG_FEBLEND_MODE_DARKEN: number; + readonly SVG_FEBLEND_MODE_LIGHTEN: number; + readonly SVG_FEBLEND_MODE_MULTIPLY: number; + readonly SVG_FEBLEND_MODE_NORMAL: number; + readonly SVG_FEBLEND_MODE_SCREEN: number; + readonly SVG_FEBLEND_MODE_UNKNOWN: number; }; -interface FocusEvent extends UIEvent { - readonly relatedTarget: EventTarget | null; +interface SVGFEColorMatrixElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + readonly type: SVGAnimatedEnumeration; + readonly values: SVGAnimatedNumberList; + readonly SVG_FECOLORMATRIX_TYPE_HUEROTATE: number; + readonly SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA: number; + readonly SVG_FECOLORMATRIX_TYPE_MATRIX: number; + readonly SVG_FECOLORMATRIX_TYPE_SATURATE: number; + readonly SVG_FECOLORMATRIX_TYPE_UNKNOWN: number; + addEventListener(type: K, listener: (this: SVGFEColorMatrixElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEColorMatrixElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var FocusEvent: { - prototype: FocusEvent; - new(type: string, eventInitDict?: FocusEventInit): FocusEvent; +declare var SVGFEColorMatrixElement: { + prototype: SVGFEColorMatrixElement; + new(): SVGFEColorMatrixElement; + readonly SVG_FECOLORMATRIX_TYPE_HUEROTATE: number; + readonly SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA: number; + readonly SVG_FECOLORMATRIX_TYPE_MATRIX: number; + readonly SVG_FECOLORMATRIX_TYPE_SATURATE: number; + readonly SVG_FECOLORMATRIX_TYPE_UNKNOWN: number; }; -interface MouseEvent extends UIEvent { - readonly screenX: number; - readonly screenY: number; - readonly clientX: number; - readonly clientY: number; - readonly ctrlKey: boolean; - readonly shiftKey: boolean; - readonly altKey: boolean; - readonly metaKey: boolean; - readonly button: number; - readonly buttons: number; - readonly relatedTarget: EventTarget | null; - readonly pageX: number; - readonly pageY: number; - readonly x: number; - readonly y: number; - readonly offsetX: number; - readonly offsetY: number; - getModifierState(keyArg: string): boolean; +interface SVGFEComponentTransferElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + addEventListener(type: K, listener: (this: SVGFEComponentTransferElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEComponentTransferElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var MouseEvent: { - prototype: MouseEvent; - new(type: string, eventInitDict?: MouseEventInit): MouseEvent; +declare var SVGFEComponentTransferElement: { + prototype: SVGFEComponentTransferElement; + new(): SVGFEComponentTransferElement; }; -interface WheelEvent extends MouseEvent { - readonly deltaX: number; - readonly deltaY: number; - readonly deltaZ: number; - readonly deltaMode: number; - readonly DOM_DELTA_PIXEL: number; - readonly DOM_DELTA_LINE: number; - readonly DOM_DELTA_PAGE: number; +interface SVGFECompositeElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + readonly in2: SVGAnimatedString; + readonly k1: SVGAnimatedNumber; + readonly k2: SVGAnimatedNumber; + readonly k3: SVGAnimatedNumber; + readonly k4: SVGAnimatedNumber; + readonly operator: SVGAnimatedEnumeration; + readonly SVG_FECOMPOSITE_OPERATOR_ARITHMETIC: number; + readonly SVG_FECOMPOSITE_OPERATOR_ATOP: number; + readonly SVG_FECOMPOSITE_OPERATOR_IN: number; + readonly SVG_FECOMPOSITE_OPERATOR_OUT: number; + readonly SVG_FECOMPOSITE_OPERATOR_OVER: number; + readonly SVG_FECOMPOSITE_OPERATOR_UNKNOWN: number; + readonly SVG_FECOMPOSITE_OPERATOR_XOR: number; + addEventListener(type: K, listener: (this: SVGFECompositeElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFECompositeElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var WheelEvent: { - prototype: WheelEvent; - new(type: string, eventInitDict?: WheelEventInit): WheelEvent; - readonly DOM_DELTA_PIXEL: number; - readonly DOM_DELTA_LINE: number; - readonly DOM_DELTA_PAGE: number; +declare var SVGFECompositeElement: { + prototype: SVGFECompositeElement; + new(): SVGFECompositeElement; + readonly SVG_FECOMPOSITE_OPERATOR_ARITHMETIC: number; + readonly SVG_FECOMPOSITE_OPERATOR_ATOP: number; + readonly SVG_FECOMPOSITE_OPERATOR_IN: number; + readonly SVG_FECOMPOSITE_OPERATOR_OUT: number; + readonly SVG_FECOMPOSITE_OPERATOR_OVER: number; + readonly SVG_FECOMPOSITE_OPERATOR_UNKNOWN: number; + readonly SVG_FECOMPOSITE_OPERATOR_XOR: number; }; -interface InputEvent extends UIEvent { - readonly data: string | null; - readonly isComposing: boolean; +interface SVGFEConvolveMatrixElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly bias: SVGAnimatedNumber; + readonly divisor: SVGAnimatedNumber; + readonly edgeMode: SVGAnimatedEnumeration; + readonly in1: SVGAnimatedString; + readonly kernelMatrix: SVGAnimatedNumberList; + readonly kernelUnitLengthX: SVGAnimatedNumber; + readonly kernelUnitLengthY: SVGAnimatedNumber; + readonly orderX: SVGAnimatedInteger; + readonly orderY: SVGAnimatedInteger; + readonly targetX: SVGAnimatedInteger; + readonly targetY: SVGAnimatedInteger; + readonly SVG_EDGEMODE_DUPLICATE: number; + readonly SVG_EDGEMODE_NONE: number; + readonly SVG_EDGEMODE_UNKNOWN: number; + readonly SVG_EDGEMODE_WRAP: number; + addEventListener(type: K, listener: (this: SVGFEConvolveMatrixElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEConvolveMatrixElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var InputEvent: { - prototype: InputEvent; - new(type: string, eventInitDict?: InputEventInit): InputEvent; +declare var SVGFEConvolveMatrixElement: { + prototype: SVGFEConvolveMatrixElement; + new(): SVGFEConvolveMatrixElement; + readonly SVG_EDGEMODE_DUPLICATE: number; + readonly SVG_EDGEMODE_NONE: number; + readonly SVG_EDGEMODE_UNKNOWN: number; + readonly SVG_EDGEMODE_WRAP: number; }; -interface KeyboardEvent extends UIEvent { - readonly key: string; - readonly code: string; - readonly location: number; - readonly ctrlKey: boolean; - readonly shiftKey: boolean; - readonly altKey: boolean; - readonly metaKey: boolean; - readonly repeat: boolean; - readonly isComposing: boolean; - getModifierState(keyArg: string): boolean; - readonly DOM_KEY_LOCATION_STANDARD: number; - readonly DOM_KEY_LOCATION_LEFT: number; - readonly DOM_KEY_LOCATION_RIGHT: number; - readonly DOM_KEY_LOCATION_NUMPAD: number; +interface SVGFEDiffuseLightingElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly diffuseConstant: SVGAnimatedNumber; + readonly in1: SVGAnimatedString; + readonly kernelUnitLengthX: SVGAnimatedNumber; + readonly kernelUnitLengthY: SVGAnimatedNumber; + readonly surfaceScale: SVGAnimatedNumber; + addEventListener(type: K, listener: (this: SVGFEDiffuseLightingElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEDiffuseLightingElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var KeyboardEvent: { - prototype: KeyboardEvent; - new(type: string, eventInitDict?: KeyboardEventInit): KeyboardEvent; - readonly DOM_KEY_LOCATION_STANDARD: number; - readonly DOM_KEY_LOCATION_LEFT: number; - readonly DOM_KEY_LOCATION_RIGHT: number; - readonly DOM_KEY_LOCATION_NUMPAD: number; +declare var SVGFEDiffuseLightingElement: { + prototype: SVGFEDiffuseLightingElement; + new(): SVGFEDiffuseLightingElement; }; -interface CompositionEvent extends UIEvent { - readonly data: string; +interface SVGFEDisplacementMapElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + readonly in2: SVGAnimatedString; + readonly scale: SVGAnimatedNumber; + readonly xChannelSelector: SVGAnimatedEnumeration; + readonly yChannelSelector: SVGAnimatedEnumeration; + readonly SVG_CHANNEL_A: number; + readonly SVG_CHANNEL_B: number; + readonly SVG_CHANNEL_G: number; + readonly SVG_CHANNEL_R: number; + readonly SVG_CHANNEL_UNKNOWN: number; + addEventListener(type: K, listener: (this: SVGFEDisplacementMapElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEDisplacementMapElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var CompositionEvent: { - prototype: CompositionEvent; - new(type: string, eventInitDict?: CompositionEventInit): CompositionEvent; +declare var SVGFEDisplacementMapElement: { + prototype: SVGFEDisplacementMapElement; + new(): SVGFEDisplacementMapElement; + readonly SVG_CHANNEL_A: number; + readonly SVG_CHANNEL_B: number; + readonly SVG_CHANNEL_G: number; + readonly SVG_CHANNEL_R: number; + readonly SVG_CHANNEL_UNKNOWN: number; }; -interface URL { - href: string; - readonly origin: string; - protocol: string; - username: string; - password: string; - host: string; - hostname: string; - port: string; - pathname: string; - search: string; - readonly searchParams: URLSearchParams; - hash: string; - toJSON(): string; +interface SVGFEDistantLightElement extends SVGElement { + readonly azimuth: SVGAnimatedNumber; + readonly elevation: SVGAnimatedNumber; + addEventListener(type: K, listener: (this: SVGFEDistantLightElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEDistantLightElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var URL: { - prototype: URL; - new(url: string, base?: string): URL; - createObjectURL(blob: Blob): string; - createFor(blob: Blob): string; - revokeObjectURL(url: string): void; - createObjectURL(mediaSource: MediaSource): string; +declare var SVGFEDistantLightElement: { + prototype: SVGFEDistantLightElement; + new(): SVGFEDistantLightElement; }; -interface URLSearchParams { - /** - * Appends a specified key/value pair as a new search parameter. - */ - append(name: string, value: string): void; - /** - * Deletes the given search parameter, and its associated value, from the list of all search parameters. - */ - delete(name: string): void; - /** - * Returns the first value associated to the given search parameter. - */ - get(name: string): string | null; - /** - * Returns all the values association with a given search parameter. - */ - getAll(name: string): string[]; - /** - * Returns a Boolean indicating if such a search parameter exists. - */ - has(name: string): boolean; - /** - * Sets the value associated to a given search parameter to the given value. If there were several values, delete the others. - */ - set(name: string, value: string): void; - sort(): void; +interface SVGFEDropShadowElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly dx: SVGAnimatedNumber; + readonly dy: SVGAnimatedNumber; + readonly in1: SVGAnimatedString; + readonly stdDeviationX: SVGAnimatedNumber; + readonly stdDeviationY: SVGAnimatedNumber; + setStdDeviation(stdDeviationX: number, stdDeviationY: number): void; + addEventListener(type: K, listener: (this: SVGFEDropShadowElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEDropShadowElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var URLSearchParams: { - prototype: URLSearchParams; - new(init?: string[][] | any | string): URLSearchParams; +declare var SVGFEDropShadowElement: { + prototype: SVGFEDropShadowElement; + new(): SVGFEDropShadowElement; }; -interface PerformanceMark extends PerformanceEntry { +interface SVGFEFloodElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + addEventListener(type: K, listener: (this: SVGFEFloodElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEFloodElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var PerformanceMark: { - prototype: PerformanceMark; - new(): PerformanceMark; +declare var SVGFEFloodElement: { + prototype: SVGFEFloodElement; + new(): SVGFEFloodElement; }; -interface PerformanceMeasure extends PerformanceEntry { +interface SVGFEFuncAElement extends SVGComponentTransferFunctionElement { + addEventListener(type: K, listener: (this: SVGFEFuncAElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEFuncAElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var PerformanceMeasure: { - prototype: PerformanceMeasure; - new(): PerformanceMeasure; +declare var SVGFEFuncAElement: { + prototype: SVGFEFuncAElement; + new(): SVGFEFuncAElement; }; -interface AnimationTimeline { - readonly currentTime: number | null; +interface SVGFEFuncBElement extends SVGComponentTransferFunctionElement { + addEventListener(type: K, listener: (this: SVGFEFuncBElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEFuncBElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var AnimationTimeline: { - prototype: AnimationTimeline; - new(): AnimationTimeline; +declare var SVGFEFuncBElement: { + prototype: SVGFEFuncBElement; + new(): SVGFEFuncBElement; }; -interface DocumentTimeline extends AnimationTimeline { +interface SVGFEFuncGElement extends SVGComponentTransferFunctionElement { + addEventListener(type: K, listener: (this: SVGFEFuncGElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEFuncGElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var DocumentTimeline: { - prototype: DocumentTimeline; - new(options?: DocumentTimelineOptions): DocumentTimeline; +declare var SVGFEFuncGElement: { + prototype: SVGFEFuncGElement; + new(): SVGFEFuncGElement; }; -interface AnimationEventMap { - "finish": Event; - "cancel": Event; +interface SVGFEFuncRElement extends SVGComponentTransferFunctionElement { + addEventListener(type: K, listener: (this: SVGFEFuncRElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEFuncRElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -interface Animation extends EventTarget { - id: string; - effect: AnimationEffectReadOnly | null; - timeline: AnimationTimeline | null; - startTime: number | null; - currentTime: number | null; - playbackRate: number; - readonly playState: AnimationPlayState; - readonly ready: Promise; - readonly finished: Promise; - onfinish: (this: Animation, ev: Event) => any; - oncancel: (this: Animation, ev: Event) => any; - cancel(): void; - finish(): void; - play(): void; - pause(): void; - reverse(): void; - addEventListener(type: K, listener: (this: Animation, ev: AnimationEventMap[K]) => any, useCapture?: boolean): void; +declare var SVGFEFuncRElement: { + prototype: SVGFEFuncRElement; + new(): SVGFEFuncRElement; +}; + +interface SVGFEGaussianBlurElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly edgeMode: SVGAnimatedEnumeration; + readonly in1: SVGAnimatedString; + readonly stdDeviationX: SVGAnimatedNumber; + readonly stdDeviationY: SVGAnimatedNumber; + setStdDeviation(stdDeviationX: number, stdDeviationY: number): void; + readonly SVG_EDGEMODE_DUPLICATE: number; + readonly SVG_EDGEMODE_NONE: number; + readonly SVG_EDGEMODE_UNKNOWN: number; + readonly SVG_EDGEMODE_WRAP: number; + addEventListener(type: K, listener: (this: SVGFEGaussianBlurElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEGaussianBlurElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var Animation: { - prototype: Animation; - new(effect?: AnimationEffectReadOnly, timeline?: AnimationTimeline): Animation; +declare var SVGFEGaussianBlurElement: { + prototype: SVGFEGaussianBlurElement; + new(): SVGFEGaussianBlurElement; + readonly SVG_EDGEMODE_DUPLICATE: number; + readonly SVG_EDGEMODE_NONE: number; + readonly SVG_EDGEMODE_UNKNOWN: number; + readonly SVG_EDGEMODE_WRAP: number; }; -interface AnimationEffectReadOnly { - readonly timing: AnimationEffectTimingReadOnly; - getComputedTiming(): ComputedTimingProperties; +interface SVGFEImageElement extends SVGElement, SVGFilterPrimitiveStandardAttributes, SVGURIReference { + readonly crossOrigin: SVGAnimatedString; + readonly preserveAspectRatio: SVGAnimatedPreserveAspectRatio; + addEventListener(type: K, listener: (this: SVGFEImageElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEImageElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var AnimationEffectReadOnly: { - prototype: AnimationEffectReadOnly; - new(): AnimationEffectReadOnly; +declare var SVGFEImageElement: { + prototype: SVGFEImageElement; + new(): SVGFEImageElement; }; -interface AnimationEffectTimingReadOnly { - readonly delay: number; - readonly endDelay: number; - readonly fill: FillMode; - readonly iterationStart: number; - readonly iterations: number; - readonly duration: number | string; - readonly direction: PlaybackDirection; - readonly easing: string; +interface SVGFEMergeElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + addEventListener(type: K, listener: (this: SVGFEMergeElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEMergeElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var AnimationEffectTimingReadOnly: { - prototype: AnimationEffectTimingReadOnly; - new(): AnimationEffectTimingReadOnly; +declare var SVGFEMergeElement: { + prototype: SVGFEMergeElement; + new(): SVGFEMergeElement; }; -interface AnimationEffectTiming extends AnimationEffectTimingReadOnly { - delay: number; - endDelay: number; - fill: FillMode; - iterationStart: number; - iterations: number; - duration: number | string; - direction: PlaybackDirection; - easing: string; +interface SVGFEMergeNodeElement extends SVGElement { + readonly in1: SVGAnimatedString; + addEventListener(type: K, listener: (this: SVGFEMergeNodeElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEMergeNodeElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var AnimationEffectTiming: { - prototype: AnimationEffectTiming; - new(): AnimationEffectTiming; +declare var SVGFEMergeNodeElement: { + prototype: SVGFEMergeNodeElement; + new(): SVGFEMergeNodeElement; }; -interface KeyframeEffectReadOnly extends AnimationEffectReadOnly { - readonly target: Animatable | null; - readonly iterationComposite: IterationCompositeOperation; - readonly composite: CompositeOperation; - readonly spacing: string; - getKeyframes(): any[]; +interface SVGFEMorphologyElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + readonly operator: SVGAnimatedEnumeration; + readonly radiusX: SVGAnimatedNumber; + readonly radiusY: SVGAnimatedNumber; + readonly SVG_MORPHOLOGY_OPERATOR_DILATE: number; + readonly SVG_MORPHOLOGY_OPERATOR_ERODE: number; + readonly SVG_MORPHOLOGY_OPERATOR_UNKNOWN: number; + addEventListener(type: K, listener: (this: SVGFEMorphologyElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEMorphologyElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var KeyframeEffectReadOnly: { - prototype: KeyframeEffectReadOnly; - new(target: Animatable | null, keyframes: any, options?: number | KeyframeEffectOptions): KeyframeEffectReadOnly; - new(source: KeyframeEffectReadOnly): KeyframeEffectReadOnly; +declare var SVGFEMorphologyElement: { + prototype: SVGFEMorphologyElement; + new(): SVGFEMorphologyElement; + readonly SVG_MORPHOLOGY_OPERATOR_DILATE: number; + readonly SVG_MORPHOLOGY_OPERATOR_ERODE: number; + readonly SVG_MORPHOLOGY_OPERATOR_UNKNOWN: number; }; -interface KeyframeEffect extends KeyframeEffectReadOnly { - target: Animatable | null; - iterationComposite: IterationCompositeOperation; - composite: CompositeOperation; - spacing: string; - setKeyframes(keyframes: any): void; +interface SVGFEOffsetElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly dx: SVGAnimatedNumber; + readonly dy: SVGAnimatedNumber; + readonly in1: SVGAnimatedString; + addEventListener(type: K, listener: (this: SVGFEOffsetElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEOffsetElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var KeyframeEffect: { - prototype: KeyframeEffect; - new(target: Animatable | null, keyframes: any, options?: number | KeyframeEffectOptions): KeyframeEffect; - new(source: KeyframeEffectReadOnly): KeyframeEffect; +declare var SVGFEOffsetElement: { + prototype: SVGFEOffsetElement; + new(): SVGFEOffsetElement; }; -interface SharedKeyframeList { +interface SVGFEPointLightElement extends SVGElement { + readonly x: SVGAnimatedNumber; + readonly y: SVGAnimatedNumber; + readonly z: SVGAnimatedNumber; + addEventListener(type: K, listener: (this: SVGFEPointLightElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFEPointLightElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SharedKeyframeList: { - prototype: SharedKeyframeList; - new(keyframes: any): SharedKeyframeList; +declare var SVGFEPointLightElement: { + prototype: SVGFEPointLightElement; + new(): SVGFEPointLightElement; }; -interface AnimationPlaybackEvent extends Event { - readonly currentTime: number | null; - readonly timelineTime: number | null; +interface SVGFESpecularLightingElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + readonly kernelUnitLengthX: SVGAnimatedNumber; + readonly kernelUnitLengthY: SVGAnimatedNumber; + readonly specularConstant: SVGAnimatedNumber; + readonly specularExponent: SVGAnimatedNumber; + readonly surfaceScale: SVGAnimatedNumber; + addEventListener(type: K, listener: (this: SVGFESpecularLightingElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFESpecularLightingElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var AnimationPlaybackEvent: { - prototype: AnimationPlaybackEvent; - new(type: string, eventInitDict?: AnimationPlaybackEventInit): AnimationPlaybackEvent; +declare var SVGFESpecularLightingElement: { + prototype: SVGFESpecularLightingElement; + new(): SVGFESpecularLightingElement; }; -interface BaseAudioContextEventMap { - "statechange": Event; -} - -interface BaseAudioContext extends EventTarget { - readonly destination: AudioDestinationNode; - readonly sampleRate: number; - readonly currentTime: number; - readonly listener: AudioListener; - readonly state: AudioContextState; - onstatechange: (this: BaseAudioContext, ev: Event) => any; - resume(): Promise; - createBuffer(numberOfChannels: number, length: number, sampleRate: number): AudioBuffer; - decodeAudioData(audioData: ArrayBuffer, successCallback?: DecodeSuccessCallback, errorCallback?: DecodeErrorCallback): Promise; - createBufferSource(): AudioBufferSourceNode; - createConstantSource(): ConstantSourceNode; - createScriptProcessor(bufferSize?: number, numberOfInputChannels?: number, numberOfOutputChannels?: number): ScriptProcessorNode; - createAnalyser(): AnalyserNode; - createGain(): GainNode; - createDelay(maxDelayTime?: number): DelayNode; - createBiquadFilter(): BiquadFilterNode; - createIIRFilter(feedforward: number[], feedback: number[]): IIRFilterNode; - createWaveShaper(): WaveShaperNode; - createPanner(): PannerNode; - createStereoPanner(): StereoPannerNode; - createConvolver(): ConvolverNode; - createChannelSplitter(numberOfOutputs?: number): ChannelSplitterNode; - createChannelMerger(numberOfInputs?: number): ChannelMergerNode; - createDynamicsCompressor(): DynamicsCompressorNode; - createOscillator(): OscillatorNode; - createPeriodicWave(real: Float32Array, imag: Float32Array, constraints?: PeriodicWaveConstraints): PeriodicWave; - addEventListener(type: K, listener: (this: BaseAudioContext, ev: BaseAudioContextEventMap[K]) => any, useCapture?: boolean): void; +interface SVGFESpotLightElement extends SVGElement { + readonly limitingConeAngle: SVGAnimatedNumber; + readonly pointsAtX: SVGAnimatedNumber; + readonly pointsAtY: SVGAnimatedNumber; + readonly pointsAtZ: SVGAnimatedNumber; + readonly specularExponent: SVGAnimatedNumber; + readonly x: SVGAnimatedNumber; + readonly y: SVGAnimatedNumber; + readonly z: SVGAnimatedNumber; + addEventListener(type: K, listener: (this: SVGFESpotLightElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFESpotLightElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var BaseAudioContext: { - prototype: BaseAudioContext; - new(): BaseAudioContext; +declare var SVGFESpotLightElement: { + prototype: SVGFESpotLightElement; + new(): SVGFESpotLightElement; }; -interface AudioContext extends BaseAudioContext { - readonly baseLatency: number; - readonly outputLatency: number; - getOutputTimestamp(): AudioTimestamp; - suspend(): Promise; - close(): Promise; - createMediaElementSource(mediaElement: HTMLMediaElement): MediaElementAudioSourceNode; - createMediaStreamSource(mediaStream: MediaStream): MediaStreamAudioSourceNode; - createMediaStreamTrackSource(mediaStreamTrack: any): MediaStreamTrackAudioSourceNode; - createMediaStreamDestination(): MediaStreamAudioDestinationNode; - addEventListener(type: K, listener: (this: AudioContext, ev: BaseAudioContextEventMap[K]) => any, useCapture?: boolean): void; +interface SVGFETileElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly in1: SVGAnimatedString; + addEventListener(type: K, listener: (this: SVGFETileElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFETileElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var AudioContext: { - prototype: AudioContext; - new(contextOptions?: AudioContextOptions): AudioContext; - new(): AudioContext; +declare var SVGFETileElement: { + prototype: SVGFETileElement; + new(): SVGFETileElement; }; -interface OfflineAudioContextEventMap extends BaseAudioContextEventMap { - "complete": Event; +interface SVGFETurbulenceElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + readonly baseFrequencyX: SVGAnimatedNumber; + readonly baseFrequencyY: SVGAnimatedNumber; + readonly numOctaves: SVGAnimatedInteger; + readonly seed: SVGAnimatedNumber; + readonly stitchTiles: SVGAnimatedEnumeration; + readonly type: SVGAnimatedEnumeration; + readonly SVG_STITCHTYPE_NOSTITCH: number; + readonly SVG_STITCHTYPE_STITCH: number; + readonly SVG_STITCHTYPE_UNKNOWN: number; + readonly SVG_TURBULENCE_TYPE_FRACTALNOISE: number; + readonly SVG_TURBULENCE_TYPE_TURBULENCE: number; + readonly SVG_TURBULENCE_TYPE_UNKNOWN: number; + addEventListener(type: K, listener: (this: SVGFETurbulenceElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFETurbulenceElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -interface OfflineAudioContext extends BaseAudioContext { - readonly length: number; - oncomplete: (this: OfflineAudioContext, ev: Event) => any; - startRendering(): Promise; - suspend(suspendTime: number): Promise; - addEventListener(type: K, listener: (this: OfflineAudioContext, ev: OfflineAudioContextEventMap[K]) => any, useCapture?: boolean): void; +declare var SVGFETurbulenceElement: { + prototype: SVGFETurbulenceElement; + new(): SVGFETurbulenceElement; + readonly SVG_STITCHTYPE_NOSTITCH: number; + readonly SVG_STITCHTYPE_STITCH: number; + readonly SVG_STITCHTYPE_UNKNOWN: number; + readonly SVG_TURBULENCE_TYPE_FRACTALNOISE: number; + readonly SVG_TURBULENCE_TYPE_TURBULENCE: number; + readonly SVG_TURBULENCE_TYPE_UNKNOWN: number; +}; + +interface SVGFilterElement extends SVGElement, SVGURIReference, SVGUnitTypes { + readonly filterUnits: SVGAnimatedEnumeration; + readonly height: SVGAnimatedLength; + readonly primitiveUnits: SVGAnimatedEnumeration; + readonly width: SVGAnimatedLength; + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGFilterElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGFilterElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var OfflineAudioContext: { - prototype: OfflineAudioContext; - new(numberOfChannels: number, length: number, sampleRate: number): OfflineAudioContext; +declare var SVGFilterElement: { + prototype: SVGFilterElement; + new(): SVGFilterElement; }; -interface OfflineAudioCompletionEvent extends Event { - readonly renderedBuffer: AudioBuffer; +interface SVGForeignObjectElement extends SVGGraphicsElement { + readonly height: SVGAnimatedLength; + readonly width: SVGAnimatedLength; + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGForeignObjectElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGForeignObjectElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var OfflineAudioCompletionEvent: { - prototype: OfflineAudioCompletionEvent; - new(type: string, eventInitDict: OfflineAudioCompletionEventInit): OfflineAudioCompletionEvent; +declare var SVGForeignObjectElement: { + prototype: SVGForeignObjectElement; + new(): SVGForeignObjectElement; }; -interface AudioNode extends EventTarget { - readonly context: BaseAudioContext; - readonly numberOfInputs: number; - readonly numberOfOutputs: number; - channelCount: number; - channelCountMode: ChannelCountMode; - channelInterpretation: ChannelInterpretation; - connect(destination: AudioNode, output?: number, input?: number): AudioNode; - connect(destination: AudioParam, output?: number): void; - connect(destination: AudioNode, output?: number, input?: number): AudioNode; - connect(destination: AudioParam, output?: number): void; - disconnect(output?: number): void; - disconnect(destination: AudioNode, output?: number, input?: number): void; - disconnect(destination: AudioParam, output?: number): void; - disconnect(output?: number): void; - disconnect(destination: AudioNode, output?: number, input?: number): void; - disconnect(destination: AudioParam, output?: number): void; - disconnect(output?: number): void; - disconnect(destination: AudioNode, output?: number, input?: number): void; - disconnect(destination: AudioParam, output?: number): void; - disconnect(output?: number): void; - disconnect(destination: AudioNode, output?: number, input?: number): void; - disconnect(destination: AudioParam, output?: number): void; - disconnect(output?: number): void; - disconnect(destination: AudioNode, output?: number, input?: number): void; - disconnect(destination: AudioParam, output?: number): void; - disconnect(output?: number): void; - disconnect(destination: AudioNode, output?: number, input?: number): void; - disconnect(destination: AudioParam, output?: number): void; - disconnect(output?: number): void; - disconnect(destination: AudioNode, output?: number, input?: number): void; - disconnect(destination: AudioParam, output?: number): void; +interface SVGGElement extends SVGGraphicsElement { + addEventListener(type: K, listener: (this: SVGGElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGGElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var AudioNode: { - prototype: AudioNode; - new(): AudioNode; +declare var SVGGElement: { + prototype: SVGGElement; + new(): SVGGElement; }; -interface AudioDestinationNode extends AudioNode { - readonly maxChannelCount: number; +interface SVGGeometryElement extends SVGGraphicsElement { + readonly pathLength: SVGAnimatedNumber; + getPointAtLength(distance: number): DOMPoint; + getTotalLength(): number; + isPointInFill(point: DOMPoint): boolean; + isPointInStroke(point: DOMPoint): boolean; + addEventListener(type: K, listener: (this: SVGGeometryElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGGeometryElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var AudioDestinationNode: { - prototype: AudioDestinationNode; - new(): AudioDestinationNode; +declare var SVGGeometryElement: { + prototype: SVGGeometryElement; + new(): SVGGeometryElement; }; -interface AudioParam { - value: number; - readonly defaultValue: number; - readonly minValue: number; - readonly maxValue: number; - setValueAtTime(value: number, startTime: number): AudioParam; - linearRampToValueAtTime(value: number, endTime: number): AudioParam; - exponentialRampToValueAtTime(value: number, endTime: number): AudioParam; - setTargetAtTime(target: number, startTime: number, timeConstant: number): AudioParam; - setValueCurveAtTime(values: Float32Array, startTime: number, duration: number): AudioParam; - cancelScheduledValues(cancelTime: number): AudioParam; - cancelAndHoldAtTime(cancelTime: number): AudioParam; +interface SVGGradientElement extends SVGElement, SVGURIReference { + readonly gradientTransform: SVGAnimatedTransformList; + readonly gradientUnits: SVGAnimatedEnumeration; + readonly spreadMethod: SVGAnimatedEnumeration; + readonly SVG_SPREADMETHOD_PAD: number; + readonly SVG_SPREADMETHOD_REFLECT: number; + readonly SVG_SPREADMETHOD_REPEAT: number; + readonly SVG_SPREADMETHOD_UNKNOWN: number; + addEventListener(type: K, listener: (this: SVGGradientElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGGradientElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var AudioParam: { - prototype: AudioParam; - new(): AudioParam; +declare var SVGGradientElement: { + prototype: SVGGradientElement; + new(): SVGGradientElement; + readonly SVG_SPREADMETHOD_PAD: number; + readonly SVG_SPREADMETHOD_REFLECT: number; + readonly SVG_SPREADMETHOD_REPEAT: number; + readonly SVG_SPREADMETHOD_UNKNOWN: number; }; -interface AudioScheduledSourceNodeEventMap { - "ended": Event; +interface SVGGraphicsElement extends SVGElement, SVGTests { + readonly transform: SVGAnimatedTransformList; + getBBox(options?: SVGBoundingBoxOptions): DOMRect; + getCTM(): DOMMatrix | null; + getScreenCTM(): DOMMatrix | null; + addEventListener(type: K, listener: (this: SVGGraphicsElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGGraphicsElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -interface AudioScheduledSourceNode extends AudioNode { - onended: (this: AudioScheduledSourceNode, ev: Event) => any; - start(when?: number): void; - stop(when?: number): void; - addEventListener(type: K, listener: (this: AudioScheduledSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, useCapture?: boolean): void; +declare var SVGGraphicsElement: { + prototype: SVGGraphicsElement; + new(): SVGGraphicsElement; +}; + +interface SVGHatchElement extends SVGElement { + addEventListener(type: K, listener: (this: SVGHatchElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGHatchElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var AudioScheduledSourceNode: { - prototype: AudioScheduledSourceNode; - new(): AudioScheduledSourceNode; +declare var SVGHatchElement: { + prototype: SVGHatchElement; + new(): SVGHatchElement; }; -interface GainNode extends AudioNode { - readonly gain: AudioParam; +interface SVGHatchpathElement extends SVGElement { + addEventListener(type: K, listener: (this: SVGHatchpathElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGHatchpathElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var GainNode: { - prototype: GainNode; - new(context: BaseAudioContext, options?: GainOptions): GainNode; +declare var SVGHatchpathElement: { + prototype: SVGHatchpathElement; + new(): SVGHatchpathElement; }; -interface DelayNode extends AudioNode { - readonly delayTime: AudioParam; +interface SVGImageElement extends SVGGraphicsElement, SVGURIReference { + crossOrigin: string | null; + readonly height: SVGAnimatedLength; + readonly preserveAspectRatio: SVGAnimatedPreserveAspectRatio; + readonly width: SVGAnimatedLength; + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGImageElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGImageElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var DelayNode: { - prototype: DelayNode; - new(context: BaseAudioContext, options?: DelayOptions): DelayNode; +declare var SVGImageElement: { + prototype: SVGImageElement; + new(): SVGImageElement; }; -interface AudioBuffer { - readonly sampleRate: number; - readonly length: number; - readonly duration: number; - readonly numberOfChannels: number; - getChannelData(channel: number): Float32Array; - copyFromChannel(destination: Float32Array, channelNumber: number, startInChannel?: number): void; - copyToChannel(source: Float32Array, channelNumber: number, startInChannel?: number): void; +interface SVGLength { + readonly unitType: number; + value: number; + valueAsString: string; + valueInSpecifiedUnits: number; + convertToSpecifiedUnits(unitType: number): void; + newValueSpecifiedUnits(unitType: number, valueInSpecifiedUnits: number): void; + readonly SVG_LENGTHTYPE_CM: number; + readonly SVG_LENGTHTYPE_EMS: number; + readonly SVG_LENGTHTYPE_EXS: number; + readonly SVG_LENGTHTYPE_IN: number; + readonly SVG_LENGTHTYPE_MM: number; + readonly SVG_LENGTHTYPE_NUMBER: number; + readonly SVG_LENGTHTYPE_PC: number; + readonly SVG_LENGTHTYPE_PERCENTAGE: number; + readonly SVG_LENGTHTYPE_PT: number; + readonly SVG_LENGTHTYPE_PX: number; + readonly SVG_LENGTHTYPE_UNKNOWN: number; } -declare var AudioBuffer: { - prototype: AudioBuffer; - new(options: AudioBufferOptions): AudioBuffer; +declare var SVGLength: { + prototype: SVGLength; + new(): SVGLength; + readonly SVG_LENGTHTYPE_CM: number; + readonly SVG_LENGTHTYPE_EMS: number; + readonly SVG_LENGTHTYPE_EXS: number; + readonly SVG_LENGTHTYPE_IN: number; + readonly SVG_LENGTHTYPE_MM: number; + readonly SVG_LENGTHTYPE_NUMBER: number; + readonly SVG_LENGTHTYPE_PC: number; + readonly SVG_LENGTHTYPE_PERCENTAGE: number; + readonly SVG_LENGTHTYPE_PT: number; + readonly SVG_LENGTHTYPE_PX: number; + readonly SVG_LENGTHTYPE_UNKNOWN: number; }; -interface AudioBufferSourceNode extends AudioScheduledSourceNode { - buffer: AudioBuffer | null; - readonly playbackRate: AudioParam; - readonly detune: AudioParam; - loop: boolean; - loopStart: number; - loopEnd: number; - start(when?: number, offset?: number, duration?: number): void; - addEventListener(type: K, listener: (this: AudioBufferSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface SVGLengthList { + readonly length: number; + readonly numberOfItems: number; + appendItem(newItem: SVGLength): SVGLength; + clear(): void; + getItem(index: number): SVGLength; + initialize(newItem: SVGLength): SVGLength; + insertItemBefore(newItem: SVGLength, index: number): SVGLength; + removeItem(index: number): SVGLength; + replaceItem(newItem: SVGLength, index: number): SVGLength; + [index: number]: SVGLength; } -declare var AudioBufferSourceNode: { - prototype: AudioBufferSourceNode; - new(context: BaseAudioContext, options?: AudioBufferSourceOptions): AudioBufferSourceNode; +declare var SVGLengthList: { + prototype: SVGLengthList; + new(): SVGLengthList; }; -interface ConstantSourceNode extends AudioScheduledSourceNode { - readonly offset: AudioParam; - addEventListener(type: K, listener: (this: ConstantSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, useCapture?: boolean): void; +interface SVGLinearGradientElement extends SVGGradientElement { + readonly x1: SVGAnimatedLength; + readonly x2: SVGAnimatedLength; + readonly y1: SVGAnimatedLength; + readonly y2: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGLinearGradientElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGLinearGradientElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var ConstantSourceNode: { - prototype: ConstantSourceNode; - new(context: BaseAudioContext, options?: ConstantSourceOptions): ConstantSourceNode; +declare var SVGLinearGradientElement: { + prototype: SVGLinearGradientElement; + new(): SVGLinearGradientElement; }; -interface MediaElementAudioSourceNode extends AudioNode { +interface SVGLineElement extends SVGGeometryElement { + readonly x1: SVGAnimatedLength; + readonly x2: SVGAnimatedLength; + readonly y1: SVGAnimatedLength; + readonly y2: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGLineElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGLineElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var MediaElementAudioSourceNode: { - prototype: MediaElementAudioSourceNode; - new(context: BaseAudioContext, options: MediaElementAudioSourceOptions): MediaElementAudioSourceNode; +declare var SVGLineElement: { + prototype: SVGLineElement; + new(): SVGLineElement; }; -interface AudioWorkletGlobalScope extends WorkletGlobalScope { - registerProcessor(name: string, processorCtor: VoidFunction): void; +interface SVGMarkerElement extends SVGElement, SVGFitToViewBox { + readonly markerHeight: SVGAnimatedLength; + readonly markerUnits: SVGAnimatedEnumeration; + readonly markerWidth: SVGAnimatedLength; + orient: string; + readonly orientAngle: SVGAnimatedAngle; + readonly orientType: SVGAnimatedEnumeration; + readonly refX: SVGAnimatedLength; + readonly refY: SVGAnimatedLength; + setOrientToAngle(angle: SVGAngle): void; + setOrientToAuto(): void; + readonly SVG_MARKER_ORIENT_ANGLE: number; + readonly SVG_MARKER_ORIENT_AUTO: number; + readonly SVG_MARKER_ORIENT_UNKNOWN: number; + readonly SVG_MARKERUNITS_STROKEWIDTH: number; + readonly SVG_MARKERUNITS_UNKNOWN: number; + readonly SVG_MARKERUNITS_USERSPACEONUSE: number; + addEventListener(type: K, listener: (this: SVGMarkerElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGMarkerElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var AudioWorkletGlobalScope: { - prototype: AudioWorkletGlobalScope; - new(): AudioWorkletGlobalScope; +declare var SVGMarkerElement: { + prototype: SVGMarkerElement; + new(): SVGMarkerElement; + readonly SVG_MARKER_ORIENT_ANGLE: number; + readonly SVG_MARKER_ORIENT_AUTO: number; + readonly SVG_MARKER_ORIENT_UNKNOWN: number; + readonly SVG_MARKERUNITS_STROKEWIDTH: number; + readonly SVG_MARKERUNITS_UNKNOWN: number; + readonly SVG_MARKERUNITS_USERSPACEONUSE: number; }; -interface AudioParamMap { +interface SVGMaskElement extends SVGElement, SVGUnitTypes { + readonly height: SVGAnimatedLength; + readonly maskContentUnits: SVGAnimatedEnumeration; + readonly maskUnits: SVGAnimatedEnumeration; + readonly width: SVGAnimatedLength; + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGMaskElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGMaskElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var AudioParamMap: { - prototype: AudioParamMap; - new(): AudioParamMap; +declare var SVGMaskElement: { + prototype: SVGMaskElement; + new(): SVGMaskElement; }; -interface AudioWorkletNodeEventMap { - "data": Event; -} - -interface AudioWorkletNode extends AudioNode { - readonly parameters: AudioParamMap; - ondata: (this: AudioWorkletNode, ev: Event) => any; - sendData(data: any): void; - addEventListener(type: K, listener: (this: AudioWorkletNode, ev: AudioWorkletNodeEventMap[K]) => any, useCapture?: boolean): void; +interface SVGMeshElement extends SVGGeometryElement, SVGURIReference { + addEventListener(type: K, listener: (this: SVGMeshElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGMeshElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var AudioWorkletNode: { - prototype: AudioWorkletNode; - new(context: BaseAudioContext, options?: any): AudioWorkletNode; +declare var SVGMeshElement: { + prototype: SVGMeshElement; + new(): SVGMeshElement; }; -interface AudioWorkletProcessorEventMap { - "data": Event; -} - -interface AudioWorkletProcessor extends EventTarget { - readonly contextInfo: AudioContextInfo; - ondata: (this: AudioWorkletProcessor, ev: Event) => any; - sendData(data: any): void; - addEventListener(type: K, listener: (this: AudioWorkletProcessor, ev: AudioWorkletProcessorEventMap[K]) => any, useCapture?: boolean): void; +interface SVGMeshGradientElement extends SVGGradientElement { + addEventListener(type: K, listener: (this: SVGMeshGradientElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGMeshGradientElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var AudioWorkletProcessor: { - prototype: AudioWorkletProcessor; - new(): AudioWorkletProcessor; +declare var SVGMeshGradientElement: { + prototype: SVGMeshGradientElement; + new(): SVGMeshGradientElement; }; -interface ScriptProcessorNodeEventMap { - "audioprocess": Event; -} - -interface ScriptProcessorNode extends AudioNode { - onaudioprocess: (this: ScriptProcessorNode, ev: Event) => any; - readonly bufferSize: number; - addEventListener(type: K, listener: (this: ScriptProcessorNode, ev: ScriptProcessorNodeEventMap[K]) => any, useCapture?: boolean): void; +interface SVGMeshpatchElement extends SVGElement { + addEventListener(type: K, listener: (this: SVGMeshpatchElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGMeshpatchElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var ScriptProcessorNode: { - prototype: ScriptProcessorNode; - new(): ScriptProcessorNode; +declare var SVGMeshpatchElement: { + prototype: SVGMeshpatchElement; + new(): SVGMeshpatchElement; }; -interface AudioProcessingEvent extends Event { - readonly playbackTime: number; - readonly inputBuffer: AudioBuffer; - readonly outputBuffer: AudioBuffer; +interface SVGMeshrowElement extends SVGElement { + addEventListener(type: K, listener: (this: SVGMeshrowElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGMeshrowElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var AudioProcessingEvent: { - prototype: AudioProcessingEvent; - new(type: string, eventInitDict: AudioProcessingEventInit): AudioProcessingEvent; +declare var SVGMeshrowElement: { + prototype: SVGMeshrowElement; + new(): SVGMeshrowElement; }; -interface PannerNode extends AudioNode { - panningModel: PanningModelType; - readonly positionX: AudioParam; - readonly positionY: AudioParam; - readonly positionZ: AudioParam; - readonly orientationX: AudioParam; - readonly orientationY: AudioParam; - readonly orientationZ: AudioParam; - distanceModel: DistanceModelType; - refDistance: number; - maxDistance: number; - rolloffFactor: number; - coneInnerAngle: number; - coneOuterAngle: number; - coneOuterGain: number; - setPosition(x: number, y: number, z: number): void; - setOrientation(x: number, y: number, z: number): void; +interface SVGMetadataElement extends SVGElement { + addEventListener(type: K, listener: (this: SVGMetadataElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGMetadataElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var PannerNode: { - prototype: PannerNode; - new(context: BaseAudioContext, options?: PannerOptions): PannerNode; +declare var SVGMetadataElement: { + prototype: SVGMetadataElement; + new(): SVGMetadataElement; }; -interface AudioListener { - readonly positionX: AudioParam; - readonly positionY: AudioParam; - readonly positionZ: AudioParam; - readonly forwardX: AudioParam; - readonly forwardY: AudioParam; - readonly forwardZ: AudioParam; - readonly upX: AudioParam; - readonly upY: AudioParam; - readonly upZ: AudioParam; - setPosition(x: number, y: number, z: number): void; - setOrientation(x: number, y: number, z: number, xUp: number, yUp: number, zUp: number): void; +interface SVGNumber { + value: number; } -declare var AudioListener: { - prototype: AudioListener; - new(): AudioListener; +declare var SVGNumber: { + prototype: SVGNumber; + new(): SVGNumber; }; -interface StereoPannerNode extends AudioNode { - readonly pan: AudioParam; +interface SVGNumberList { + readonly length: number; + readonly numberOfItems: number; + appendItem(newItem: SVGNumber): SVGNumber; + clear(): void; + getItem(index: number): SVGNumber; + initialize(newItem: SVGNumber): SVGNumber; + insertItemBefore(newItem: SVGNumber, index: number): SVGNumber; + removeItem(index: number): SVGNumber; + replaceItem(newItem: SVGNumber, index: number): SVGNumber; + [index: number]: SVGNumber; } -declare var StereoPannerNode: { - prototype: StereoPannerNode; - new(context: BaseAudioContext, options?: StereoPannerOptions): StereoPannerNode; +declare var SVGNumberList: { + prototype: SVGNumberList; + new(): SVGNumberList; }; -interface ConvolverNode extends AudioNode { - buffer: AudioBuffer | null; - normalize: boolean; +interface SVGPathElement extends SVGGeometryElement { + addEventListener(type: K, listener: (this: SVGPathElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGPathElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var ConvolverNode: { - prototype: ConvolverNode; - new(context: BaseAudioContext, options?: ConvolverOptions): ConvolverNode; +declare var SVGPathElement: { + prototype: SVGPathElement; + new(): SVGPathElement; }; -interface AnalyserNode extends AudioNode { - fftSize: number; - readonly frequencyBinCount: number; - minDecibels: number; - maxDecibels: number; - smoothingTimeConstant: number; - getFloatFrequencyData(array: Float32Array): void; - getByteFrequencyData(array: Uint8Array): void; - getFloatTimeDomainData(array: Float32Array): void; - getByteTimeDomainData(array: Uint8Array): void; +interface SVGPatternElement extends SVGElement, SVGFitToViewBox, SVGURIReference { + readonly height: SVGAnimatedLength; + readonly patternContentUnits: SVGAnimatedEnumeration; + readonly patternTransform: SVGAnimatedTransformList; + readonly patternUnits: SVGAnimatedEnumeration; + readonly width: SVGAnimatedLength; + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGPatternElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGPatternElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var AnalyserNode: { - prototype: AnalyserNode; - new(context: BaseAudioContext, options?: AnalyserOptions): AnalyserNode; +declare var SVGPatternElement: { + prototype: SVGPatternElement; + new(): SVGPatternElement; }; -interface ChannelSplitterNode extends AudioNode { +interface SVGPointList { + readonly length: number; + readonly numberOfItems: number; + appendItem(newItem: DOMPoint): DOMPoint; + clear(): void; + getItem(index: number): DOMPoint; + initialize(newItem: DOMPoint): DOMPoint; + insertItemBefore(newItem: DOMPoint, index: number): DOMPoint; + removeItem(index: number): DOMPoint; + replaceItem(newItem: DOMPoint, index: number): DOMPoint; + [index: number]: DOMPoint; } -declare var ChannelSplitterNode: { - prototype: ChannelSplitterNode; - new(context: BaseAudioContext, options?: ChannelSplitterNode): ChannelSplitterNode; +declare var SVGPointList: { + prototype: SVGPointList; + new(): SVGPointList; }; -interface ChannelMergerNode extends AudioNode { +interface SVGPolygonElement extends SVGGeometryElement, SVGAnimatedPoints { + addEventListener(type: K, listener: (this: SVGPolygonElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGPolygonElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var ChannelMergerNode: { - prototype: ChannelMergerNode; - new(context: BaseAudioContext, options?: ChannelMergerOptions): ChannelMergerNode; +declare var SVGPolygonElement: { + prototype: SVGPolygonElement; + new(): SVGPolygonElement; }; -interface DynamicsCompressorNode extends AudioNode { - readonly threshold: AudioParam; - readonly knee: AudioParam; - readonly ratio: AudioParam; - readonly reduction: number; - readonly attack: AudioParam; - readonly release: AudioParam; +interface SVGPolylineElement extends SVGGeometryElement, SVGAnimatedPoints { + addEventListener(type: K, listener: (this: SVGPolylineElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGPolylineElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var DynamicsCompressorNode: { - prototype: DynamicsCompressorNode; - new(context: BaseAudioContext, options?: DynamicsCompressorOptions): DynamicsCompressorNode; +declare var SVGPolylineElement: { + prototype: SVGPolylineElement; + new(): SVGPolylineElement; }; -interface BiquadFilterNode extends AudioNode { - type: BiquadFilterType; - readonly frequency: AudioParam; - readonly detune: AudioParam; - readonly Q: AudioParam; - readonly gain: AudioParam; - getFrequencyResponse(frequencyHz: Float32Array, magResponse: Float32Array, phaseResponse: Float32Array): void; +interface SVGPreserveAspectRatio { + align: number; + meetOrSlice: number; + readonly SVG_MEETORSLICE_MEET: number; + readonly SVG_MEETORSLICE_SLICE: number; + readonly SVG_MEETORSLICE_UNKNOWN: number; + readonly SVG_PRESERVEASPECTRATIO_NONE: number; + readonly SVG_PRESERVEASPECTRATIO_UNKNOWN: number; + readonly SVG_PRESERVEASPECTRATIO_XMAXYMAX: number; + readonly SVG_PRESERVEASPECTRATIO_XMAXYMID: number; + readonly SVG_PRESERVEASPECTRATIO_XMAXYMIN: number; + readonly SVG_PRESERVEASPECTRATIO_XMIDYMAX: number; + readonly SVG_PRESERVEASPECTRATIO_XMIDYMID: number; + readonly SVG_PRESERVEASPECTRATIO_XMIDYMIN: number; + readonly SVG_PRESERVEASPECTRATIO_XMINYMAX: number; + readonly SVG_PRESERVEASPECTRATIO_XMINYMID: number; + readonly SVG_PRESERVEASPECTRATIO_XMINYMIN: number; } -declare var BiquadFilterNode: { - prototype: BiquadFilterNode; - new(context: BaseAudioContext, options?: BiquadFilterOptions): BiquadFilterNode; +declare var SVGPreserveAspectRatio: { + prototype: SVGPreserveAspectRatio; + new(): SVGPreserveAspectRatio; + readonly SVG_MEETORSLICE_MEET: number; + readonly SVG_MEETORSLICE_SLICE: number; + readonly SVG_MEETORSLICE_UNKNOWN: number; + readonly SVG_PRESERVEASPECTRATIO_NONE: number; + readonly SVG_PRESERVEASPECTRATIO_UNKNOWN: number; + readonly SVG_PRESERVEASPECTRATIO_XMAXYMAX: number; + readonly SVG_PRESERVEASPECTRATIO_XMAXYMID: number; + readonly SVG_PRESERVEASPECTRATIO_XMAXYMIN: number; + readonly SVG_PRESERVEASPECTRATIO_XMIDYMAX: number; + readonly SVG_PRESERVEASPECTRATIO_XMIDYMID: number; + readonly SVG_PRESERVEASPECTRATIO_XMIDYMIN: number; + readonly SVG_PRESERVEASPECTRATIO_XMINYMAX: number; + readonly SVG_PRESERVEASPECTRATIO_XMINYMID: number; + readonly SVG_PRESERVEASPECTRATIO_XMINYMIN: number; }; -interface IIRFilterNode extends AudioNode { - getFrequencyResponse(frequencyHz: Float32Array, magResponse: Float32Array, phaseResponse: Float32Array): void; +interface SVGRadialGradientElement extends SVGGradientElement { + readonly cx: SVGAnimatedLength; + readonly cy: SVGAnimatedLength; + readonly fr: SVGAnimatedLength; + readonly fx: SVGAnimatedLength; + readonly fy: SVGAnimatedLength; + readonly r: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGRadialGradientElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGRadialGradientElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var IIRFilterNode: { - prototype: IIRFilterNode; - new(context: BaseAudioContext, options: IIRFilterOptions): IIRFilterNode; +declare var SVGRadialGradientElement: { + prototype: SVGRadialGradientElement; + new(): SVGRadialGradientElement; }; -interface WaveShaperNode extends AudioNode { - curve: Float32Array | null; - oversample: OverSampleType; +interface SVGRectElement extends SVGGeometryElement { + readonly height: SVGAnimatedLength; + readonly rx: SVGAnimatedLength; + readonly ry: SVGAnimatedLength; + readonly width: SVGAnimatedLength; + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGRectElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGRectElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var WaveShaperNode: { - prototype: WaveShaperNode; - new(context: BaseAudioContext, options?: WaveShaperOptions): WaveShaperNode; +declare var SVGRectElement: { + prototype: SVGRectElement; + new(): SVGRectElement; }; -interface OscillatorNode extends AudioScheduledSourceNode { - type: OscillatorType; - readonly frequency: AudioParam; - readonly detune: AudioParam; - setPeriodicWave(periodicWave: PeriodicWave): void; - addEventListener(type: K, listener: (this: OscillatorNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, useCapture?: boolean): void; +interface SVGScriptElement extends SVGElement, SVGURIReference { + crossOrigin: string | null; + type: string; + addEventListener(type: K, listener: (this: SVGScriptElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGScriptElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var OscillatorNode: { - prototype: OscillatorNode; - new(context: BaseAudioContext, options?: OscillatorOptions): OscillatorNode; +declare var SVGScriptElement: { + prototype: SVGScriptElement; + new(): SVGScriptElement; }; -interface PeriodicWave { +interface SVGSolidcolorElement extends SVGElement { + addEventListener(type: K, listener: (this: SVGSolidcolorElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGSolidcolorElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var PeriodicWave: { - prototype: PeriodicWave; - new(context: BaseAudioContext, options?: PeriodicWaveOptions): PeriodicWave; +declare var SVGSolidcolorElement: { + prototype: SVGSolidcolorElement; + new(): SVGSolidcolorElement; }; -interface MediaStreamAudioSourceNode extends AudioNode { +interface SVGStopElement extends SVGElement { + readonly offset: SVGAnimatedNumber; + addEventListener(type: K, listener: (this: SVGStopElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGStopElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var MediaStreamAudioSourceNode: { - prototype: MediaStreamAudioSourceNode; - new(context: BaseAudioContext, options: MediaStreamAudioSourceOptions): MediaStreamAudioSourceNode; +declare var SVGStopElement: { + prototype: SVGStopElement; + new(): SVGStopElement; }; -interface MediaStreamTrackAudioSourceNode extends AudioNode { +interface SVGStringList { + readonly length: number; + readonly numberOfItems: number; + appendItem(newItem: string): string; + clear(): void; + getItem(index: number): string; + initialize(newItem: string): string; + insertItemBefore(newItem: string, index: number): string; + removeItem(index: number): string; + replaceItem(newItem: string, index: number): string; + [index: number]: string; } -declare var MediaStreamTrackAudioSourceNode: { - prototype: MediaStreamTrackAudioSourceNode; - new(context: AudioContext, options: MediaStreamTrackAudioSourceOptions): MediaStreamTrackAudioSourceNode; +declare var SVGStringList: { + prototype: SVGStringList; + new(): SVGStringList; }; -interface MediaStreamAudioDestinationNode extends AudioNode { - readonly stream: MediaStream; +interface SVGStyleElement extends SVGElement, LinkStyle { + media: string; + title: string; + type: string; + addEventListener(type: K, listener: (this: SVGStyleElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGStyleElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var MediaStreamAudioDestinationNode: { - prototype: MediaStreamAudioDestinationNode; - new(context: BaseAudioContext, options?: AudioNodeOptions): MediaStreamAudioDestinationNode; +declare var SVGStyleElement: { + prototype: SVGStyleElement; + new(): SVGStyleElement; }; -interface WebAuthentication { - makeCredential(accountInformation: Account, cryptoParameters: ScopedCredentialParameters[], attestationChallenge: BufferSource, options?: ScopedCredentialOptions): Promise; - getAssertion(assertionChallenge: BufferSource, options?: AssertionOptions): Promise; +interface SVGSVGElement extends SVGGraphicsElement, SVGFitToViewBox, SVGZoomAndPan, WindowEventHandlers { + currentScale: number; + readonly currentTranslate: DOMPointReadOnly; + readonly height: SVGAnimatedLength; + readonly width: SVGAnimatedLength; + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + checkEnclosure(element: SVGElement, rect: DOMRectReadOnly): boolean; + checkIntersection(element: SVGElement, rect: DOMRectReadOnly): boolean; + createSVGAngle(): SVGAngle; + createSVGLength(): SVGLength; + createSVGMatrix(): DOMMatrix; + createSVGNumber(): SVGNumber; + createSVGPoint(): DOMPoint; + createSVGRect(): DOMRect; + createSVGTransform(): SVGTransform; + createSVGTransformFromMatrix(matrix: DOMMatrixReadOnly): SVGTransform; + deselectAll(): void; + forceRedraw(): void; + getElementById(elementId: string): Element; + getEnclosureList(rect: DOMRectReadOnly, referenceElement: SVGElement): NodeListOf; + getIntersectionList(rect: DOMRectReadOnly, referenceElement: SVGElement): NodeListOf; + suspendRedraw(maxWaitMilliseconds: number): number; + unsuspendRedraw(suspendHandleID: number): void; + unsuspendRedrawAll(): void; + addEventListener(type: K, listener: (this: SVGSVGElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGSVGElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGSVGElement, ev: WindowEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var WebAuthentication: { - prototype: WebAuthentication; - new(): WebAuthentication; +declare var SVGSVGElement: { + prototype: SVGSVGElement; + new(): SVGSVGElement; }; -interface ScopedCredentialInfo { - readonly clientDataJSON: ArrayBuffer; - readonly attestationObject: ArrayBuffer; +interface SVGSwitchElement extends SVGGraphicsElement { + addEventListener(type: K, listener: (this: SVGSwitchElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGSwitchElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var ScopedCredentialInfo: { - prototype: ScopedCredentialInfo; - new(): ScopedCredentialInfo; +declare var SVGSwitchElement: { + prototype: SVGSwitchElement; + new(): SVGSwitchElement; }; -interface AuthenticationAssertion { - readonly credential: ScopedCredential; - readonly clientDataJSON: ArrayBuffer; - readonly authenticatorData: ArrayBuffer; - readonly signature: ArrayBuffer; +interface SVGSymbolElement extends SVGGraphicsElement, SVGFitToViewBox { + addEventListener(type: K, listener: (this: SVGSymbolElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGSymbolElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var AuthenticationAssertion: { - prototype: AuthenticationAssertion; - new(): AuthenticationAssertion; +declare var SVGSymbolElement: { + prototype: SVGSymbolElement; + new(): SVGSymbolElement; }; -interface ScopedCredential { - readonly type: ScopedCredentialType; - readonly id: ArrayBuffer; +interface SVGTextContentElement extends SVGGraphicsElement { + readonly lengthAdjust: SVGAnimatedEnumeration; + readonly textLength: SVGAnimatedLength; + getCharNumAtPosition(point: DOMPoint): number; + getComputedTextLength(): number; + getEndPositionOfChar(charnum: number): DOMPoint; + getExtentOfChar(charnum: number): DOMRect; + getNumberOfChars(): number; + getRotationOfChar(charnum: number): number; + getStartPositionOfChar(charnum: number): DOMPoint; + getSubStringLength(charnum: number, nchars: number): number; + selectSubString(charnum: number, nchars: number): void; + readonly LENGTHADJUST_SPACING: number; + readonly LENGTHADJUST_SPACINGANDGLYPHS: number; + readonly LENGTHADJUST_UNKNOWN: number; + addEventListener(type: K, listener: (this: SVGTextContentElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGTextContentElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var ScopedCredential: { - prototype: ScopedCredential; - new(): ScopedCredential; +declare var SVGTextContentElement: { + prototype: SVGTextContentElement; + new(): SVGTextContentElement; + readonly LENGTHADJUST_SPACING: number; + readonly LENGTHADJUST_SPACINGANDGLYPHS: number; + readonly LENGTHADJUST_UNKNOWN: number; }; -interface SyncManager { - register(tag: string): Promise; - getTags(): Promise; +interface SVGTextElement extends SVGTextPositioningElement { + addEventListener(type: K, listener: (this: SVGTextElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGTextElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SyncManager: { - prototype: SyncManager; - new(): SyncManager; +declare var SVGTextElement: { + prototype: SVGTextElement; + new(): SVGTextElement; }; -interface SyncEvent extends ExtendableEvent { - readonly tag: string; - readonly lastChance: boolean; +interface SVGTextPathElement extends SVGTextContentElement, SVGURIReference { + readonly method: SVGAnimatedEnumeration; + readonly spacing: SVGAnimatedEnumeration; + readonly startOffset: SVGAnimatedLength; + readonly TEXTPATH_METHODTYPE_ALIGN: number; + readonly TEXTPATH_METHODTYPE_STRETCH: number; + readonly TEXTPATH_METHODTYPE_UNKNOWN: number; + readonly TEXTPATH_SPACINGTYPE_AUTO: number; + readonly TEXTPATH_SPACINGTYPE_EXACT: number; + readonly TEXTPATH_SPACINGTYPE_UNKNOWN: number; + addEventListener(type: K, listener: (this: SVGTextPathElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGTextPathElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SyncEvent: { - prototype: SyncEvent; - new(type: string, init: SyncEventInit): SyncEvent; +declare var SVGTextPathElement: { + prototype: SVGTextPathElement; + new(): SVGTextPathElement; + readonly TEXTPATH_METHODTYPE_ALIGN: number; + readonly TEXTPATH_METHODTYPE_STRETCH: number; + readonly TEXTPATH_METHODTYPE_UNKNOWN: number; + readonly TEXTPATH_SPACINGTYPE_AUTO: number; + readonly TEXTPATH_SPACINGTYPE_EXACT: number; + readonly TEXTPATH_SPACINGTYPE_UNKNOWN: number; }; -interface Crypto { - readonly subtle: SubtleCrypto; - getRandomValues(array: ArrayBufferView): ArrayBufferView; +interface SVGTextPositioningElement extends SVGTextContentElement { + readonly dx: SVGAnimatedLengthList; + readonly dy: SVGAnimatedLengthList; + readonly rotate: SVGAnimatedNumberList; + readonly x: SVGAnimatedLengthList; + readonly y: SVGAnimatedLengthList; + addEventListener(type: K, listener: (this: SVGTextPositioningElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGTextPositioningElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var Crypto: { - prototype: Crypto; - new(): Crypto; +declare var SVGTextPositioningElement: { + prototype: SVGTextPositioningElement; + new(): SVGTextPositioningElement; }; -interface CryptoKey { - readonly type: KeyType; - readonly extractable: boolean; - readonly algorithm: any; - readonly usages: any; +interface SVGTitleElement extends SVGElement { + addEventListener(type: K, listener: (this: SVGTitleElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGTitleElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var CryptoKey: { - prototype: CryptoKey; - new(): CryptoKey; +declare var SVGTitleElement: { + prototype: SVGTitleElement; + new(): SVGTitleElement; }; -interface SubtleCrypto { - encrypt(algorithm: AlgorithmIdentifier, key: CryptoKey, data: BufferSource): Promise; - decrypt(algorithm: AlgorithmIdentifier, key: CryptoKey, data: BufferSource): Promise; - sign(algorithm: AlgorithmIdentifier, key: CryptoKey, data: BufferSource): Promise; - verify(algorithm: AlgorithmIdentifier, key: CryptoKey, signature: BufferSource, data: BufferSource): Promise; - digest(algorithm: AlgorithmIdentifier, data: BufferSource): Promise; - generateKey(algorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: KeyUsage[]): Promise; - deriveKey(algorithm: AlgorithmIdentifier, baseKey: CryptoKey, derivedKeyType: AlgorithmIdentifier, extractable: boolean, keyUsages: KeyUsage[]): Promise; - deriveBits(algorithm: AlgorithmIdentifier, baseKey: CryptoKey, length: number): Promise; - importKey(format: KeyFormat, keyData: BufferSource | JsonWebKey, algorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: KeyUsage[]): Promise; - exportKey(format: KeyFormat, key: CryptoKey): Promise; - wrapKey(format: KeyFormat, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: AlgorithmIdentifier): Promise; - unwrapKey(format: KeyFormat, wrappedKey: BufferSource, unwrappingKey: CryptoKey, unwrapAlgorithm: AlgorithmIdentifier, unwrappedKeyAlgorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: KeyUsage[]): Promise; +interface SVGTransform { + readonly angle: number; + readonly matrix: DOMMatrix; + readonly type: number; + setMatrix(matrix: DOMMatrixReadOnly): void; + setRotate(angle: number, cx: number, cy: number): void; + setScale(sx: number, sy: number): void; + setSkewX(angle: number): void; + setSkewY(angle: number): void; + setTranslate(tx: number, ty: number): void; + readonly SVG_TRANSFORM_MATRIX: number; + readonly SVG_TRANSFORM_ROTATE: number; + readonly SVG_TRANSFORM_SCALE: number; + readonly SVG_TRANSFORM_SKEWX: number; + readonly SVG_TRANSFORM_SKEWY: number; + readonly SVG_TRANSFORM_TRANSLATE: number; + readonly SVG_TRANSFORM_UNKNOWN: number; } -declare var SubtleCrypto: { - prototype: SubtleCrypto; - new(): SubtleCrypto; +declare var SVGTransform: { + prototype: SVGTransform; + new(): SVGTransform; + readonly SVG_TRANSFORM_MATRIX: number; + readonly SVG_TRANSFORM_ROTATE: number; + readonly SVG_TRANSFORM_SCALE: number; + readonly SVG_TRANSFORM_SKEWX: number; + readonly SVG_TRANSFORM_SKEWY: number; + readonly SVG_TRANSFORM_TRANSLATE: number; + readonly SVG_TRANSFORM_UNKNOWN: number; }; -interface SpeechRecognitionEventMap { - "audiostart": Event; - "soundstart": Event; - "speechstart": Event; - "speechend": Event; - "soundend": Event; - "audioend": Event; - "result": SpeechRecognitionEvent; - "nomatch": SpeechRecognitionEvent; - "error": SpeechRecognitionError; - "start": Event; - "end": Event; +interface SVGTransformList { + readonly length: number; + readonly numberOfItems: number; + appendItem(newItem: SVGTransform): SVGTransform; + clear(): void; + consolidate(): SVGTransform | null; + createSVGTransformFromMatrix(matrix: DOMMatrixReadOnly): SVGTransform; + getItem(index: number): SVGTransform; + initialize(newItem: SVGTransform): SVGTransform; + insertItemBefore(newItem: SVGTransform, index: number): SVGTransform; + removeItem(index: number): SVGTransform; + replaceItem(newItem: SVGTransform, index: number): SVGTransform; + [index: number]: SVGTransform; } -interface SpeechRecognition extends EventTarget { - grammars: SpeechGrammarList; - lang: string; - continuous: boolean; - interimResults: boolean; - maxAlternatives: number; - serviceURI: string; - onaudiostart: (this: SpeechRecognition, ev: Event) => any; - onsoundstart: (this: SpeechRecognition, ev: Event) => any; - onspeechstart: (this: SpeechRecognition, ev: Event) => any; - onspeechend: (this: SpeechRecognition, ev: Event) => any; - onsoundend: (this: SpeechRecognition, ev: Event) => any; - onaudioend: (this: SpeechRecognition, ev: Event) => any; - onresult: (this: SpeechRecognition, ev: SpeechRecognitionEvent) => any; - onnomatch: (this: SpeechRecognition, ev: SpeechRecognitionEvent) => any; - onerror: (this: SpeechRecognition, ev: SpeechRecognitionError) => any; - onstart: (this: SpeechRecognition, ev: Event) => any; - onend: (this: SpeechRecognition, ev: Event) => any; - start(): void; - stop(): void; - abort(): void; - addEventListener(type: K, listener: (this: SpeechRecognition, ev: SpeechRecognitionEventMap[K]) => any, useCapture?: boolean): void; +declare var SVGTransformList: { + prototype: SVGTransformList; + new(): SVGTransformList; +}; + +interface SVGTSpanElement extends SVGTextPositioningElement { + addEventListener(type: K, listener: (this: SVGTSpanElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGTSpanElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SpeechRecognition: { - prototype: SpeechRecognition; - new(): SpeechRecognition; +declare var SVGTSpanElement: { + prototype: SVGTSpanElement; + new(): SVGTSpanElement; }; -interface SpeechRecognitionError extends Event { - readonly error: SpeechRecognitionErrorCode; - readonly message: string; +interface SVGUnitTypes { + readonly SVG_UNIT_TYPE_OBJECTBOUNDINGBOX: number; + readonly SVG_UNIT_TYPE_UNKNOWN: number; + readonly SVG_UNIT_TYPE_USERSPACEONUSE: number; } -declare var SpeechRecognitionError: { - prototype: SpeechRecognitionError; - new(): SpeechRecognitionError; +declare var SVGUnitTypes: { + prototype: SVGUnitTypes; + new(): SVGUnitTypes; + readonly SVG_UNIT_TYPE_OBJECTBOUNDINGBOX: number; + readonly SVG_UNIT_TYPE_UNKNOWN: number; + readonly SVG_UNIT_TYPE_USERSPACEONUSE: number; }; -interface SpeechRecognitionAlternative { - readonly transcript: string; - readonly confidence: number; +interface SVGUnknownElement extends SVGGraphicsElement { + addEventListener(type: K, listener: (this: SVGUnknownElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGUnknownElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SpeechRecognitionAlternative: { - prototype: SpeechRecognitionAlternative; - new(): SpeechRecognitionAlternative; +declare var SVGUnknownElement: { + prototype: SVGUnknownElement; + new(): SVGUnknownElement; }; -interface SpeechRecognitionResult { - readonly length: number; - readonly isFinal: boolean; - item(index: number): SpeechRecognitionAlternative; - [index: number]: SpeechRecognitionAlternative; +interface SVGUseElement extends SVGGraphicsElement, SVGURIReference { + readonly animatedInstanceRoot: SVGElement | null; + readonly height: SVGAnimatedLength; + readonly instanceRoot: SVGElement | null; + readonly width: SVGAnimatedLength; + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; + addEventListener(type: K, listener: (this: SVGUseElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGUseElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SpeechRecognitionResult: { - prototype: SpeechRecognitionResult; - new(): SpeechRecognitionResult; +declare var SVGUseElement: { + prototype: SVGUseElement; + new(): SVGUseElement; }; -interface SpeechRecognitionResultList { - readonly length: number; - item(index: number): SpeechRecognitionResult; - [index: number]: SpeechRecognitionResult; +interface SVGUseElementShadowRoot extends ShadowRoot { } -declare var SpeechRecognitionResultList: { - prototype: SpeechRecognitionResultList; - new(): SpeechRecognitionResultList; +declare var SVGUseElementShadowRoot: { + prototype: SVGUseElementShadowRoot; + new(): SVGUseElementShadowRoot; }; -interface SpeechRecognitionEvent extends Event { - readonly resultIndex: number; - readonly results: SpeechRecognitionResultList; - readonly interpretation: any; - readonly emma: Document; +interface SVGViewElement extends SVGElement, SVGFitToViewBox, SVGZoomAndPan { + addEventListener(type: K, listener: (this: SVGViewElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: SVGViewElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SpeechRecognitionEvent: { - prototype: SpeechRecognitionEvent; - new(): SpeechRecognitionEvent; +declare var SVGViewElement: { + prototype: SVGViewElement; + new(): SVGViewElement; }; -interface SpeechGrammar { - src: string; - weight: number; +interface SyncEvent extends ExtendableEvent { + readonly lastChance: boolean; + readonly tag: string; } -declare var SpeechGrammar: { - prototype: SpeechGrammar; - new(): SpeechGrammar; +declare var SyncEvent: { + prototype: SyncEvent; + new(type: string, init: SyncEventInit): SyncEvent; }; -interface SpeechGrammarList { - readonly length: number; - item(index: number): SpeechGrammar; - addFromURI(src: string, weight?: number): void; - addFromString(string: string, weight?: number): void; - [index: number]: SpeechGrammar; +interface SyncManager { + getTags(): Promise; + register(tag: string): Promise; } -declare var SpeechGrammarList: { - prototype: SpeechGrammarList; - new(): SpeechGrammarList; +declare var SyncManager: { + prototype: SyncManager; + new(): SyncManager; }; -interface SpeechSynthesisEventMap { - "voiceschanged": Event; +interface Text extends CharacterData, Slotable, GeometryUtils { + readonly wholeText: string; + readonly assignedSlot: HTMLSlotElement | null; + splitText(offset: number): Text; } -interface SpeechSynthesis extends EventTarget { - readonly pending: boolean; - readonly speaking: boolean; - readonly paused: boolean; - onvoiceschanged: (this: SpeechSynthesis, ev: Event) => any; - speak(utterance: SpeechSynthesisUtterance): void; - cancel(): void; - pause(): void; - resume(): void; - getVoices(): any[]; - addEventListener(type: K, listener: (this: SpeechSynthesis, ev: SpeechSynthesisEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare var Text: { + prototype: Text; + new(data?: string): Text; +}; + +interface TextMetrics { + readonly actualBoundingBoxAscent: number; + readonly actualBoundingBoxDescent: number; + readonly actualBoundingBoxLeft: number; + readonly actualBoundingBoxRight: number; + readonly alphabeticBaseline: number; + readonly emHeightAscent: number; + readonly emHeightDescent: number; + readonly fontBoundingBoxAscent: number; + readonly fontBoundingBoxDescent: number; + readonly hangingBaseline: number; + readonly ideographicBaseline: number; + readonly width: number; } -declare var SpeechSynthesis: { - prototype: SpeechSynthesis; - new(): SpeechSynthesis; +declare var TextMetrics: { + prototype: TextMetrics; + new(): TextMetrics; }; -interface SpeechSynthesisUtteranceEventMap { - "start": Event; - "end": Event; - "error": ErrorEvent; - "pause": Event; - "resume": Event; - "mark": Event; - "boundary": Event; +interface TextTrackEventMap { + "cuechange": Event; } -interface SpeechSynthesisUtterance extends EventTarget { - text: string; - lang: string; - voice: SpeechSynthesisVoice; - volume: number; - rate: number; - pitch: number; - onstart: (this: SpeechSynthesisUtterance, ev: Event) => any; - onend: (this: SpeechSynthesisUtterance, ev: Event) => any; - onerror: (this: SpeechSynthesisUtterance, ev: ErrorEvent) => any; - onpause: (this: SpeechSynthesisUtterance, ev: Event) => any; - onresume: (this: SpeechSynthesisUtterance, ev: Event) => any; - onmark: (this: SpeechSynthesisUtterance, ev: Event) => any; - onboundary: (this: SpeechSynthesisUtterance, ev: Event) => any; - addEventListener(type: K, listener: (this: SpeechSynthesisUtterance, ev: SpeechSynthesisUtteranceEventMap[K]) => any, useCapture?: boolean): void; +interface TextTrack extends EventTarget { + readonly activeCues: TextTrackCueList | null; + readonly cues: TextTrackCueList | null; + readonly id: string; + readonly inBandMetadataTrackDispatchType: string; + readonly kind: TextTrackKind; + readonly label: string; + readonly language: string; + mode: TextTrackMode; + oncuechange: (this: TextTrack, ev: Event) => any; + readonly sourceBuffer: SourceBuffer | null; + addCue(cue: TextTrackCue): void; + removeCue(cue: TextTrackCue): void; + addEventListener(type: K, listener: (this: TextTrack, ev: TextTrackEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SpeechSynthesisUtterance: { - prototype: SpeechSynthesisUtterance; - new(): SpeechSynthesisUtterance; - new(text: string): SpeechSynthesisUtterance; +declare var TextTrack: { + prototype: TextTrack; + new(): TextTrack; }; -interface SpeechSynthesisEvent extends Event { - readonly utterance: SpeechSynthesisUtterance; - readonly charIndex: number; - readonly elapsedTime: number; - readonly name: string; +interface TextTrackCueEventMap { + "enter": Event; + "exit": Event; } -declare var SpeechSynthesisEvent: { - prototype: SpeechSynthesisEvent; - new(): SpeechSynthesisEvent; -}; - -interface SpeechSynthesisErrorEvent extends SpeechSynthesisEvent { - readonly error: any; +interface TextTrackCue extends EventTarget { + endTime: number; + id: string; + onenter: (this: TextTrackCue, ev: Event) => any; + onexit: (this: TextTrackCue, ev: Event) => any; + pauseOnExit: boolean; + startTime: number; + readonly track: TextTrack | null; + addEventListener(type: K, listener: (this: TextTrackCue, ev: TextTrackCueEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var SpeechSynthesisErrorEvent: { - prototype: SpeechSynthesisErrorEvent; - new(): SpeechSynthesisErrorEvent; +declare var TextTrackCue: { + prototype: TextTrackCue; + new(): TextTrackCue; }; -interface SpeechSynthesisVoice { - readonly voiceURI: string; - readonly name: string; - readonly lang: string; - readonly localService: boolean; - readonly default: boolean; +interface TextTrackCueList { + readonly length: number; + getCueById(id: string): TextTrackCue | null; + [index: number]: TextTrackCue; } -declare var SpeechSynthesisVoice: { - prototype: SpeechSynthesisVoice; - new(): SpeechSynthesisVoice; +declare var TextTrackCueList: { + prototype: TextTrackCueList; + new(): TextTrackCueList; }; -interface RTCPeerConnectionEventMap { - "negotiationneeded": Event; - "icecandidate": RTCPeerConnectionIceEvent; - "icecandidateerror": RTCPeerConnectionIceErrorEvent; - "signalingstatechange": Event; - "iceconnectionstatechange": Event; - "icegatheringstatechange": Event; - "connectionstatechange": Event; - "fingerprintfailure": Event; - "track": RTCTrackEvent; - "datachannel": RTCDataChannelEvent; -} - -interface RTCPeerConnection extends EventTarget { - readonly localDescription: RTCSessionDescription | null; - readonly currentLocalDescription: RTCSessionDescription | null; - readonly pendingLocalDescription: RTCSessionDescription | null; - readonly remoteDescription: RTCSessionDescription | null; - readonly currentRemoteDescription: RTCSessionDescription | null; - readonly pendingRemoteDescription: RTCSessionDescription | null; - readonly signalingState: RTCSignalingState; - readonly iceGatheringState: RTCIceGatheringState; - readonly iceConnectionState: RTCIceConnectionState; - readonly connectionState: RTCPeerConnectionState; - readonly canTrickleIceCandidates: boolean | null; - readonly defaultIceServers: ReadonlyArray; - onnegotiationneeded: (this: RTCPeerConnection, ev: Event) => any; - onicecandidate: (this: RTCPeerConnection, ev: RTCPeerConnectionIceEvent) => any; - onicecandidateerror: (this: RTCPeerConnection, ev: RTCPeerConnectionIceErrorEvent) => any; - onsignalingstatechange: (this: RTCPeerConnection, ev: Event) => any; - oniceconnectionstatechange: (this: RTCPeerConnection, ev: Event) => any; - onicegatheringstatechange: (this: RTCPeerConnection, ev: Event) => any; - onconnectionstatechange: (this: RTCPeerConnection, ev: Event) => any; - onfingerprintfailure: (this: RTCPeerConnection, ev: Event) => any; - ontrack: (this: RTCPeerConnection, ev: RTCTrackEvent) => any; - readonly sctp: RTCSctpTransport | null; - ondatachannel: (this: RTCPeerConnection, ev: RTCDataChannelEvent) => any; - readonly peerIdentity: Promise; - readonly idpLoginUrl: string | null; - readonly idpErrorInfo: string | null; - createOffer(options?: RTCOfferOptions): Promise; - createAnswer(options?: RTCAnswerOptions): Promise; - setLocalDescription(description: RTCSessionDescriptionInit): Promise; - setRemoteDescription(description: RTCSessionDescriptionInit): Promise; - addIceCandidate(candidate: RTCIceCandidateInit | RTCIceCandidate): Promise; - getConfiguration(): RTCConfiguration; - setConfiguration(configuration: RTCConfiguration): void; - close(): void; - createOffer(successCallback: RTCSessionDescriptionCallback, failureCallback: RTCPeerConnectionErrorCallback, options?: RTCOfferOptions): Promise; - setLocalDescription(description: RTCSessionDescriptionInit, successCallback: VoidFunction, failureCallback: RTCPeerConnectionErrorCallback): Promise; - createAnswer(successCallback: RTCSessionDescriptionCallback, failureCallback: RTCPeerConnectionErrorCallback): Promise; - setRemoteDescription(description: RTCSessionDescriptionInit, successCallback: VoidFunction, failureCallback: RTCPeerConnectionErrorCallback): Promise; - addIceCandidate(candidate: RTCIceCandidateInit | RTCIceCandidate, successCallback: VoidFunction, failureCallback: RTCPeerConnectionErrorCallback): Promise; - getSenders(): RTCRtpSender[]; - getReceivers(): RTCRtpReceiver[]; - getTransceivers(): RTCRtpTransceiver[]; - addTrack(track: MediaStreamTrack, ...streams: MediaStream[]): RTCRtpSender; - removeTrack(sender: RTCRtpSender): void; - addTransceiver(trackOrKind: MediaStreamTrack | string, init?: RTCRtpTransceiverInit): RTCRtpTransceiver; - createDataChannel(label: string, dataChannelDict?: RTCDataChannelInit): RTCDataChannel; - getStats(selector?: MediaStreamTrack): Promise; - setIdentityProvider(provider: string, options?: RTCIdentityProviderOptions): void; - getIdentityAssertion(): Promise; - addEventListener(type: K, listener: (this: RTCPeerConnection, ev: RTCPeerConnectionEventMap[K]) => any, useCapture?: boolean): void; +interface TextTrackListEventMap { + "addtrack": TrackEvent; + "change": Event; + "removetrack": TrackEvent; +} + +interface TextTrackList extends EventTarget { + readonly length: number; + onaddtrack: (this: TextTrackList, ev: TrackEvent) => any; + onchange: (this: TextTrackList, ev: Event) => any; + onremovetrack: (this: TextTrackList, ev: TrackEvent) => any; + getTrackById(id: string): TextTrack | null; + addEventListener(type: K, listener: (this: TextTrackList, ev: TextTrackListEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + [index: number]: TextTrack; } -declare var RTCPeerConnection: { - prototype: RTCPeerConnection; - new(configuration?: RTCConfiguration): RTCPeerConnection; - generateCertificate(keygenAlgorithm: AlgorithmIdentifier): Promise; +declare var TextTrackList: { + prototype: TextTrackList; + new(): TextTrackList; }; -interface RTCSessionDescription { - readonly type: RTCSdpType; - readonly sdp: string; +interface TimeRanges { + readonly length: number; + end(index: number): number; + start(index: number): number; } -declare var RTCSessionDescription: { - prototype: RTCSessionDescription; - new(descriptionInitDict: RTCSessionDescriptionInit): RTCSessionDescription; +declare var TimeRanges: { + prototype: TimeRanges; + new(): TimeRanges; }; -interface RTCIceCandidate { - readonly candidate: string; - readonly sdpMid: string | null; - readonly sdpMLineIndex: number | null; - readonly foundation: string | null; - readonly priority: number | null; - readonly ip: string | null; - readonly protocol: RTCIceProtocol | null; - readonly port: number | null; - readonly type: RTCIceCandidateType | null; - readonly tcpType: RTCIceTcpCandidateType | null; - readonly relatedAddress: string | null; - readonly relatedPort: number | null; - readonly ufrag: string | null; +interface Touch { + readonly altitudeAngle: number; + readonly azimuthAngle: number; + readonly clientX: number; + readonly clientY: number; + readonly force: number; + readonly identifier: number; + readonly pageX: number; + readonly pageY: number; + readonly radiusX: number; + readonly radiusY: number; + readonly rotationAngle: number; + readonly screenX: number; + readonly screenY: number; + readonly target: EventTarget; + readonly touchType: TouchType; } -declare var RTCIceCandidate: { - prototype: RTCIceCandidate; - new(candidateInitDict: RTCIceCandidateInit): RTCIceCandidate; +declare var Touch: { + prototype: Touch; + new(touchInitDict: TouchInit): Touch; }; -interface RTCPeerConnectionIceEvent extends Event { - readonly candidate: RTCIceCandidate | null; - readonly url: string | null; +interface TouchEvent extends UIEvent { + readonly altKey: boolean; + readonly changedTouches: TouchList; + readonly ctrlKey: boolean; + readonly metaKey: boolean; + readonly shiftKey: boolean; + readonly targetTouches: TouchList; + readonly touches: TouchList; } -declare var RTCPeerConnectionIceEvent: { - prototype: RTCPeerConnectionIceEvent; - new(type: string, eventInitDict?: RTCPeerConnectionIceEventInit): RTCPeerConnectionIceEvent; +declare var TouchEvent: { + prototype: TouchEvent; + new(type: string, touchEventInit?: TouchEventInit): TouchEvent; }; -interface RTCPeerConnectionIceErrorEvent extends Event { - readonly hostCandidate: string; - readonly url: string; - readonly errorCode: number; - readonly errorText: string; +interface TouchList { + readonly length: number; + item(index: number): Touch | null; + [index: number]: Touch; } -declare var RTCPeerConnectionIceErrorEvent: { - prototype: RTCPeerConnectionIceErrorEvent; - new(type: string, eventInitDict: RTCPeerConnectionIceErrorEventInit): RTCPeerConnectionIceErrorEvent; +declare var TouchList: { + prototype: TouchList; + new(): TouchList; }; -interface RTCCertificate { - readonly expires: number; - readonly fingerprints: ReadonlyArray; - getAlgorithm(): AlgorithmIdentifier; +interface TrackEvent extends Event { + readonly track: VideoTrack | AudioTrack | TextTrack | null; } -declare var RTCCertificate: { - prototype: RTCCertificate; - new(): RTCCertificate; +declare var TrackEvent: { + prototype: TrackEvent; + new(type: string, eventInitDict?: TrackEventInit): TrackEvent; }; -interface RTCRtpSender { - readonly track: MediaStreamTrack | null; - readonly transport: RTCDtlsTransport | null; - readonly rtcpTransport: RTCDtlsTransport | null; - readonly dtmf: RTCDTMFSender | null; - setParameters(parameters?: RTCRtpParameters): Promise; - getParameters(): RTCRtpParameters; - replaceTrack(withTrack: MediaStreamTrack): Promise; +interface TransitionEvent extends Event { + readonly elapsedTime: number; + readonly propertyName: CSSOMString; + readonly pseudoElement: CSSOMString; } -declare var RTCRtpSender: { - prototype: RTCRtpSender; - new(): RTCRtpSender; - getCapabilities(kind: string): RTCRtpCapabilities; +declare var TransitionEvent: { + prototype: TransitionEvent; + new(type: CSSOMString, transitionEventInitDict?: TransitionEventInit): TransitionEvent; }; -interface RTCRtpReceiver { - readonly track: MediaStreamTrack; - readonly transport: RTCDtlsTransport | null; - readonly rtcpTransport: RTCDtlsTransport | null; - getParameters(): RTCRtpParameters; - getContributingSources(): RTCRtpContributingSource[]; +interface TreeWalker { + currentNode: Node; + readonly filter: NodeFilter | null; + readonly root: Node; + readonly whatToShow: number; + firstChild(): Node | null; + lastChild(): Node | null; + nextNode(): Node | null; + nextSibling(): Node | null; + parentNode(): Node | null; + previousNode(): Node | null; + previousSibling(): Node | null; } -declare var RTCRtpReceiver: { - prototype: RTCRtpReceiver; - new(): RTCRtpReceiver; - getCapabilities(kind: string): RTCRtpCapabilities; +declare var TreeWalker: { + prototype: TreeWalker; + new(): TreeWalker; }; -interface RTCRtpContributingSource { - readonly timestamp: number; - readonly source: number; - readonly audioLevel: number | null; - readonly voiceActivityFlag: boolean | null; +interface UIEvent extends Event { + readonly detail: number; + readonly view: Window | null; } -declare var RTCRtpContributingSource: { - prototype: RTCRtpContributingSource; - new(): RTCRtpContributingSource; +declare var UIEvent: { + prototype: UIEvent; + new(type: string, eventInitDict?: UIEventInit): UIEvent; }; -interface RTCRtpTransceiver { - readonly mid: string | null; - readonly sender: RTCRtpSender; - readonly receiver: RTCRtpReceiver; - readonly stopped: boolean; - readonly direction: RTCRtpTransceiverDirection; - readonly currentDirection: RTCRtpTransceiverDirection | null; - setDirection(direction: RTCRtpTransceiverDirection): void; - stop(): void; - setCodecPreferences(codecs: RTCRtpCodecCapability[]): void; +interface URL { + hash: string; + host: string; + hostname: string; + href: string; + readonly origin: string; + password: string; + pathname: string; + port: string; + protocol: string; + search: string; + readonly searchParams: URLSearchParams; + username: string; + toJSON(): string; } -declare var RTCRtpTransceiver: { - prototype: RTCRtpTransceiver; - new(): RTCRtpTransceiver; +declare var URL: { + prototype: URL; + new(url: string, base?: string): URL; + createFor(blob: Blob): string; + createObjectURL(blob: Blob): string; + createObjectURL(mediaSource: MediaSource): string; + revokeObjectURL(url: string): void; }; -interface RTCDtlsTransportEventMap { - "statechange": Event; +interface URLSearchParams { + /** + * Appends a specified key/value pair as a new search parameter. + */ + append(name: string, value: string): void; + /** + * Deletes the given search parameter, and its associated value, from the list of all search parameters. + */ + delete(name: string): void; + /** + * Returns the first value associated to the given search parameter. + */ + get(name: string): string | null; + /** + * Returns all the values association with a given search parameter. + */ + getAll(name: string): string[]; + /** + * Returns a Boolean indicating if such a search parameter exists. + */ + has(name: string): boolean; + /** + * Sets the value associated to a given search parameter to the given value. If there were several values, delete the others. + */ + set(name: string, value: string): void; + sort(): void; +} + +declare var URLSearchParams: { + prototype: URLSearchParams; + new(init?: string[][] | any | string): URLSearchParams; +}; + +interface ValidityState { + readonly badInput: boolean; + readonly customError: boolean; + readonly patternMismatch: boolean; + readonly rangeOverflow: boolean; + readonly rangeUnderflow: boolean; + readonly stepMismatch: boolean; + readonly tooLong: boolean; + readonly tooShort: boolean; + readonly typeMismatch: boolean; + readonly valid: boolean; + readonly valueMissing: boolean; +} + +declare var ValidityState: { + prototype: ValidityState; + new(): ValidityState; +}; + +interface VideoPlaybackQuality { + readonly corruptedVideoFrames: number; + readonly creationTime: number; + readonly droppedVideoFrames: number; + readonly totalVideoFrames: number; } -interface RTCDtlsTransport { - readonly transport: RTCIceTransport; - readonly state: RTCDtlsTransportState; - onstatechange: (this: RTCDtlsTransport, ev: Event) => any; - getRemoteCertificates(): ArrayBuffer[]; - addEventListener(type: K, listener: (this: RTCDtlsTransport, ev: RTCDtlsTransportEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare var VideoPlaybackQuality: { + prototype: VideoPlaybackQuality; + new(): VideoPlaybackQuality; +}; + +interface VideoTrack { + readonly id: string; + readonly kind: string; + readonly label: string; + readonly language: string; + selected: boolean; + readonly sourceBuffer: SourceBuffer | null; } -declare var RTCDtlsTransport: { - prototype: RTCDtlsTransport; - new(): RTCDtlsTransport; +declare var VideoTrack: { + prototype: VideoTrack; + new(): VideoTrack; }; -interface RTCIceTransportEventMap { - "statechange": Event; - "gatheringstatechange": Event; - "selectedcandidatepairchange": Event; +interface VideoTrackListEventMap { + "addtrack": TrackEvent; + "change": Event; + "removetrack": TrackEvent; } -interface RTCIceTransport { - readonly role: RTCIceRole; - readonly component: RTCIceComponent; - readonly state: RTCIceTransportState; - readonly gatheringState: RTCIceGathererState; - onstatechange: (this: RTCIceTransport, ev: Event) => any; - ongatheringstatechange: (this: RTCIceTransport, ev: Event) => any; - onselectedcandidatepairchange: (this: RTCIceTransport, ev: Event) => any; - getLocalCandidates(): RTCIceCandidate[]; - getRemoteCandidates(): RTCIceCandidate[]; - getSelectedCandidatePair(): RTCIceCandidatePair | null; - getLocalParameters(): RTCIceParameters | null; - getRemoteParameters(): RTCIceParameters | null; - addEventListener(type: K, listener: (this: RTCIceTransport, ev: RTCIceTransportEventMap[K]) => any, useCapture?: boolean): void; +interface VideoTrackList extends EventTarget { + readonly length: number; + onaddtrack: (this: VideoTrackList, ev: TrackEvent) => any; + onchange: (this: VideoTrackList, ev: Event) => any; + onremovetrack: (this: VideoTrackList, ev: TrackEvent) => any; + readonly selectedIndex: number; + getTrackById(id: string): VideoTrack | null; + addEventListener(type: K, listener: (this: VideoTrackList, ev: VideoTrackListEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + [index: number]: VideoTrack; } -declare var RTCIceTransport: { - prototype: RTCIceTransport; - new(): RTCIceTransport; +declare var VideoTrackList: { + prototype: VideoTrackList; + new(): VideoTrackList; }; -interface RTCTrackEvent extends Event { - readonly receiver: RTCRtpReceiver; - readonly track: MediaStreamTrack; - readonly streams: ReadonlyArray; - readonly transceiver: RTCRtpTransceiver; +interface WaveShaperNode extends AudioNode { + curve: Float32Array | null; + oversample: OverSampleType; } -declare var RTCTrackEvent: { - prototype: RTCTrackEvent; - new(type: string, eventInitDict: RTCTrackEventInit): RTCTrackEvent; +declare var WaveShaperNode: { + prototype: WaveShaperNode; + new(context: BaseAudioContext, options?: WaveShaperOptions): WaveShaperNode; }; -interface RTCSctpTransport { - readonly transport: RTCDtlsTransport; - readonly maxMessageSize: number; +interface WebAuthentication { + getAssertion(assertionChallenge: BufferSource, options?: AssertionOptions): Promise; + makeCredential(accountInformation: Account, cryptoParameters: ScopedCredentialParameters[], attestationChallenge: BufferSource, options?: ScopedCredentialOptions): Promise; } -declare var RTCSctpTransport: { - prototype: RTCSctpTransport; - new(): RTCSctpTransport; +declare var WebAuthentication: { + prototype: WebAuthentication; + new(): WebAuthentication; }; -interface RTCDataChannelEventMap { - "open": Event; - "bufferedamountlow": Event; - "error": ErrorEvent; - "close": Event; - "message": MessageEvent; -} - -interface RTCDataChannel extends EventTarget { - readonly label: string; - readonly ordered: boolean; - readonly maxPacketLifeTime: number | null; - readonly maxRetransmits: number | null; - readonly protocol: string; - readonly negotiated: boolean; - readonly id: number | null; - readonly priority: RTCPriorityType; - readonly readyState: RTCDataChannelState; - readonly bufferedAmount: number; - bufferedAmountLowThreshold: number; - onopen: (this: RTCDataChannel, ev: Event) => any; - onbufferedamountlow: (this: RTCDataChannel, ev: Event) => any; - onerror: (this: RTCDataChannel, ev: ErrorEvent) => any; - onclose: (this: RTCDataChannel, ev: Event) => any; - onmessage: (this: RTCDataChannel, ev: MessageEvent) => any; - binaryType: string; - close(): void; - send(data: string): void; - send(data: Blob): void; - send(data: ArrayBuffer): void; - send(data: ArrayBufferView): void; - addEventListener(type: K, listener: (this: RTCDataChannel, ev: RTCDataChannelEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface WebGLActiveInfo { + readonly name: string; + readonly size: GLint; + readonly type: GLenum; } -declare var RTCDataChannel: { - prototype: RTCDataChannel; - new(): RTCDataChannel; +declare var WebGLActiveInfo: { + prototype: WebGLActiveInfo; + new(): WebGLActiveInfo; }; -interface RTCDataChannelEvent extends Event { - readonly channel: RTCDataChannel; +interface WebGLBuffer extends WebGLObject { } -declare var RTCDataChannelEvent: { - prototype: RTCDataChannelEvent; - new(type: string, eventInitDict: RTCDataChannelEventInit): RTCDataChannelEvent; +declare var WebGLBuffer: { + prototype: WebGLBuffer; + new(): WebGLBuffer; }; -interface RTCDTMFSenderEventMap { - "tonechange": RTCDTMFToneChangeEvent; +interface WebGLContextEvent extends Event { + readonly statusMessage: string; } -interface RTCDTMFSender extends EventTarget { - ontonechange: (this: RTCDTMFSender, ev: RTCDTMFToneChangeEvent) => any; - readonly toneBuffer: string; - insertDTMF(tones: string, duration?: number, interToneGap?: number): void; - addEventListener(type: K, listener: (this: RTCDTMFSender, ev: RTCDTMFSenderEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare var WebGLContextEvent: { + prototype: WebGLContextEvent; + new(type: string, eventInit?: WebGLContextEventInit): WebGLContextEvent; +}; + +interface WebGLFramebuffer extends WebGLObject { } -declare var RTCDTMFSender: { - prototype: RTCDTMFSender; - new(): RTCDTMFSender; +declare var WebGLFramebuffer: { + prototype: WebGLFramebuffer; + new(): WebGLFramebuffer; }; -interface RTCDTMFToneChangeEvent extends Event { - readonly tone: string; +interface WebGLObject { } -declare var RTCDTMFToneChangeEvent: { - prototype: RTCDTMFToneChangeEvent; - new(type: string, eventInitDict: RTCDTMFToneChangeEventInit): RTCDTMFToneChangeEvent; +declare var WebGLObject: { + prototype: WebGLObject; + new(): WebGLObject; }; -interface RTCStatsReport { +interface WebGLProgram extends WebGLObject { } -declare var RTCStatsReport: { - prototype: RTCStatsReport; - new(): RTCStatsReport; +declare var WebGLProgram: { + prototype: WebGLProgram; + new(): WebGLProgram; }; -interface RTCIdentityProviderGlobalScope extends WorkerGlobalScope { - readonly rtcIdentityProvider: RTCIdentityProviderRegistrar; - addEventListener(type: K, listener: (this: RTCIdentityProviderGlobalScope, ev: WorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface WebGLRenderbuffer extends WebGLObject { } -declare var RTCIdentityProviderGlobalScope: { - prototype: RTCIdentityProviderGlobalScope; - new(): RTCIdentityProviderGlobalScope; +declare var WebGLRenderbuffer: { + prototype: WebGLRenderbuffer; + new(): WebGLRenderbuffer; }; -interface RTCIdentityProviderRegistrar { - register(idp: RTCIdentityProvider): void; +interface WebGLRenderingContext extends Object, WebGLRenderingContextBase { } -declare var RTCIdentityProviderRegistrar: { - prototype: RTCIdentityProviderRegistrar; - new(): RTCIdentityProviderRegistrar; +declare var WebGLRenderingContext: { + prototype: WebGLRenderingContext; + new(): WebGLRenderingContext; }; -interface RTCIdentityAssertion { - idp: string; - name: string; +interface WebGLShader extends WebGLObject { } -declare var RTCIdentityAssertion: { - prototype: RTCIdentityAssertion; - new(idp: string, name: string): RTCIdentityAssertion; +declare var WebGLShader: { + prototype: WebGLShader; + new(): WebGLShader; }; -interface RTCErrorEvent extends Event { - readonly error: any; +interface WebGLShaderPrecisionFormat { + readonly precision: GLint; + readonly rangeMax: GLint; + readonly rangeMin: GLint; } -declare var RTCErrorEvent: { - prototype: RTCErrorEvent; - new(type: string, eventInitDict: RTCErrorEventInit): RTCErrorEvent; +declare var WebGLShaderPrecisionFormat: { + prototype: WebGLShaderPrecisionFormat; + new(): WebGLShaderPrecisionFormat; }; -interface WebGLObject { +interface WebGLTexture extends WebGLObject { } -declare var WebGLObject: { - prototype: WebGLObject; - new(): WebGLObject; +declare var WebGLTexture: { + prototype: WebGLTexture; + new(): WebGLTexture; }; -interface WebGLBuffer extends WebGLObject { +interface WebGLUniformLocation { } -declare var WebGLBuffer: { - prototype: WebGLBuffer; - new(): WebGLBuffer; +declare var WebGLUniformLocation: { + prototype: WebGLUniformLocation; + new(): WebGLUniformLocation; }; -interface WebGLFramebuffer extends WebGLObject { +interface WebSocketEventMap { + "close": CloseEvent; + "error": Event; + "message": MessageEvent; + "open": Event; +} + +interface WebSocket extends EventTarget { + binaryType: BinaryType; + readonly bufferedAmount: number; + readonly extensions: string; + onclose: (this: WebSocket, ev: CloseEvent) => any; + onerror: (this: WebSocket, ev: Event) => any; + onmessage: (this: WebSocket, ev: MessageEvent) => any; + onopen: (this: WebSocket, ev: Event) => any; + readonly protocol: string; + readonly readyState: number; + readonly url: string; + close(code?: number, reason?: string): void; + send(data: string): void; + send(data: Blob): void; + send(data: ArrayBuffer): void; + send(data: ArrayBufferView): void; + readonly CLOSED: number; + readonly CLOSING: number; + readonly CONNECTING: number; + readonly OPEN: number; + addEventListener(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var WebGLFramebuffer: { - prototype: WebGLFramebuffer; - new(): WebGLFramebuffer; +declare var WebSocket: { + prototype: WebSocket; + new(url: string, protocols?: string | string[]): WebSocket; + readonly CLOSED: number; + readonly CLOSING: number; + readonly CONNECTING: number; + readonly OPEN: number; }; -interface WebGLProgram extends WebGLObject { +interface WheelEvent extends MouseEvent { + readonly deltaMode: number; + readonly deltaX: number; + readonly deltaY: number; + readonly deltaZ: number; + readonly DOM_DELTA_LINE: number; + readonly DOM_DELTA_PAGE: number; + readonly DOM_DELTA_PIXEL: number; } -declare var WebGLProgram: { - prototype: WebGLProgram; - new(): WebGLProgram; +declare var WheelEvent: { + prototype: WheelEvent; + new(type: string, eventInitDict?: WheelEventInit): WheelEvent; + readonly DOM_DELTA_LINE: number; + readonly DOM_DELTA_PAGE: number; + readonly DOM_DELTA_PIXEL: number; }; -interface WebGLRenderbuffer extends WebGLObject { +interface WindowEventMap extends GlobalEventHandlersEventMap, WindowEventHandlersEventMap { + "devicemotion": DeviceMotionEvent; + "deviceorientation": DeviceOrientationEvent; } -declare var WebGLRenderbuffer: { - prototype: WebGLRenderbuffer; - new(): WebGLRenderbuffer; -}; - -interface WebGLShader extends WebGLObject { +interface Window extends EventTarget, GlobalEventHandlers, WindowEventHandlers, WindowOrWorkerGlobalScope, WindowSessionStorage, WindowLocalStorage, GlobalPerformance, IDBEnvironment, GlobalCrypto, SpeechSynthesisGetter { + readonly applicationCache: ApplicationCache; + readonly audioWorklet: Worklet; + readonly closed: boolean; + readonly customElements: CustomElementRegistry; + readonly devicePixelRatio: number; + readonly document: Document; + readonly external: External; + readonly frameElement: Element | null; + readonly frames: any; + readonly history: History; + readonly innerHeight: number; + readonly innerWidth: number; + readonly length: number; + readonly location: Location; + readonly locationbar: BarProp; + readonly menubar: BarProp; + name: string; + readonly navigator: Navigator; + ondevicemotion: (this: Window, ev: DeviceMotionEvent) => any; + ondeviceorientation: (this: Window, ev: DeviceOrientationEvent) => any; + opener: any; + readonly outerHeight: number; + readonly outerWidth: number; + readonly pageXOffset: number; + readonly pageYOffset: number; + readonly parent: any; + readonly personalbar: BarProp; + readonly screen: Screen; + readonly screenX: number; + readonly screenY: number; + readonly scrollbars: BarProp; + readonly scrollX: number; + readonly scrollY: number; + readonly self: any; + status: string; + readonly statusbar: BarProp; + readonly toolbar: BarProp; + readonly top: any; + readonly window: any; + URLSearchParams: typeof URLSearchParams; + Blob: typeof Blob; + alert(message?: any): void; + alert(message?: any): void; + blur(): void; + cancelAnimationFrame(handle: number): void; + captureEvents(): void; + close(): void; + confirm(message?: string): boolean; + focus(): void; + getComputedStyle(elt: Element, pseudoElt?: CSSOMString): CSSStyleDeclaration; + getSelection(): Selection | null; + matchMedia(query: string): MediaQueryList; + moveBy(x: number, y: number): void; + moveTo(x: number, y: number): void; + open(url?: string, target?: string, features?: string, replace?: boolean): Window; + postMessage(message: any, targetOrigin: string, transfer?: any[]): void; + print(): void; + prompt(message?: string, _default?: string): string | null; + releaseEvents(): void; + requestAnimationFrame(callback: FrameRequestCallback): number; + resizeBy(x: number, y: number): void; + resizeTo(x: number, y: number): void; + scroll(options?: ScrollToOptions): void; + scroll(x: number, y: number): void; + scrollBy(options?: ScrollToOptions): void; + scrollBy(x: number, y: number): void; + scrollTo(options?: ScrollToOptions): void; + scrollTo(x: number, y: number): void; + stop(): void; + createImageBitmap(image: HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | ImageData | Blob, options?: ImageBitmapOptions): Promise; + createImageBitmap(image: HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | ImageData | Blob, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise; + addEventListener(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var WebGLShader: { - prototype: WebGLShader; - new(): WebGLShader; +declare var Window: { + prototype: Window; + new(): Window; }; -interface WebGLTexture extends WebGLObject { +interface WindowClient extends Client { + readonly ancestorOrigins: ReadonlyArray; + readonly focused: boolean; + readonly visibilityState: any; + focus(): Promise; + navigate(url: string): Promise; } -declare var WebGLTexture: { - prototype: WebGLTexture; - new(): WebGLTexture; +declare var WindowClient: { + prototype: WindowClient; + new(): WindowClient; }; -interface WebGLUniformLocation { +interface WorkerEventMap extends AbstractWorkerEventMap { + "message": MessageEvent; + "messageerror": MessageEvent; } -declare var WebGLUniformLocation: { - prototype: WebGLUniformLocation; - new(): WebGLUniformLocation; -}; - -interface WebGLActiveInfo { - readonly size: GLint; - readonly type: GLenum; - readonly name: string; +interface Worker extends EventTarget, AbstractWorker { + onmessage: (this: Worker, ev: MessageEvent) => any; + onmessageerror: (this: Worker, ev: MessageEvent) => any; + postMessage(message: any, transfer?: any[]): void; + terminate(): void; + addEventListener(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var WebGLActiveInfo: { - prototype: WebGLActiveInfo; - new(): WebGLActiveInfo; +declare var Worker: { + prototype: Worker; + new(scriptURL: string, options?: WorkerOptions): Worker; }; -interface WebGLShaderPrecisionFormat { - readonly rangeMin: GLint; - readonly rangeMax: GLint; - readonly precision: GLint; +interface WorkerGlobalScopeEventMap { + "error": ErrorEvent; } -declare var WebGLShaderPrecisionFormat: { - prototype: WebGLShaderPrecisionFormat; - new(): WebGLShaderPrecisionFormat; -}; - -interface WebGLRenderingContext extends Object, WebGLRenderingContextBase { +interface WorkerGlobalScope extends EventTarget, WindowOrWorkerGlobalScope, GlobalPerformance, GlobalCrypto { + readonly location: WorkerLocation; + readonly navigator: WorkerNavigator; + onerror: OnErrorEventHandler; + onlanguagechange: (this: WorkerGlobalScope, ev: Event) => any; + onoffline: (this: WorkerGlobalScope, ev: Event) => any; + ononline: (this: WorkerGlobalScope, ev: Event) => any; + onrejectionhandled: (this: WorkerGlobalScope, ev: PromiseRejectionEvent) => any; + onunhandledrejection: (this: WorkerGlobalScope, ev: PromiseRejectionEvent) => any; + readonly self: WorkerGlobalScope; + importScripts(...urls: string[]): void; + createImageBitmap(image: ImageBitmap | ImageData | Blob, options?: ImageBitmapOptions): Promise; + createImageBitmap(image: ImageBitmap | ImageData | Blob, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise; + addEventListener(type: K, listener: (this: WorkerGlobalScope, ev: WorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var WebGLRenderingContext: { - prototype: WebGLRenderingContext; - new(): WebGLRenderingContext; +declare var WorkerGlobalScope: { + prototype: WorkerGlobalScope; + new(): WorkerGlobalScope; }; -interface WebGLContextEvent extends Event { - readonly statusMessage: string; +interface WorkerLocation { + readonly hash: string; + readonly host: string; + readonly hostname: string; + readonly href: string; + readonly origin: string; + readonly pathname: string; + readonly port: string; + readonly protocol: string; + readonly search: string; } -declare var WebGLContextEvent: { - prototype: WebGLContextEvent; - new(type: string, eventInit?: WebGLContextEventInit): WebGLContextEvent; +declare var WorkerLocation: { + prototype: WorkerLocation; + new(): WorkerLocation; }; -interface WorkletGlobalScope { +interface WorkerNavigator extends Object, NavigatorID, NavigatorLanguage, NavigatorOnLine, NavigatorConcurrentHardware { + readonly serviceWorker: ServiceWorkerContainer; + readonly hardwareConcurrency: number; } -declare var WorkletGlobalScope: { - prototype: WorkletGlobalScope; - new(): WorkletGlobalScope; +declare var WorkerNavigator: { + prototype: WorkerNavigator; + new(): WorkerNavigator; }; interface Worklet { - import(moduleURL: string): Promise; + addModule(moduleURL: string, options?: WorkletOptions): Promise; } declare var Worklet: { @@ -11322,41 +11342,22 @@ declare var Worklet: { new(): Worklet; }; -interface XMLHttpRequestEventTargetEventMap { - "loadstart": Event; - "progress": ProgressEvent; - "abort": Event; - "error": ErrorEvent; - "load": Event; - "timeout": Event; - "loadend": Event; -} - -interface XMLHttpRequestEventTarget extends EventTarget { - onloadstart: (this: XMLHttpRequest, ev: Event) => any; - onprogress: (this: XMLHttpRequest, ev: ProgressEvent) => any; - onabort: (this: XMLHttpRequest, ev: Event) => any; - onerror: (this: XMLHttpRequest, ev: ErrorEvent) => any; - onload: (this: XMLHttpRequest, ev: Event) => any; - ontimeout: (this: XMLHttpRequest, ev: ProgressEvent) => any; - onloadend: (this: XMLHttpRequest, ev: ProgressEvent) => any; - addEventListener(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface WorkletGlobalScope { } -declare var XMLHttpRequestEventTarget: { - prototype: XMLHttpRequestEventTarget; - new(): XMLHttpRequestEventTarget; +declare var WorkletGlobalScope: { + prototype: WorkletGlobalScope; + new(): WorkletGlobalScope; }; -interface XMLHttpRequestUpload extends XMLHttpRequestEventTarget { - addEventListener(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, useCapture?: boolean): void; +interface XMLDocument extends Document { + addEventListener(type: K, listener: (this: XMLDocument, ev: DocumentEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var XMLHttpRequestUpload: { - prototype: XMLHttpRequestUpload; - new(): XMLHttpRequestUpload; +declare var XMLDocument: { + prototype: XMLDocument; + new(): XMLDocument; }; interface XMLHttpRequestEventMap extends XMLHttpRequestEventTargetEventMap { @@ -11366,32 +11367,32 @@ interface XMLHttpRequestEventMap extends XMLHttpRequestEventTargetEventMap { interface XMLHttpRequest extends XMLHttpRequestEventTarget { onreadystatechange: (this: XMLHttpRequest, ev: Event) => any; readonly readyState: number; - timeout: number; - withCredentials: boolean; - readonly upload: XMLHttpRequestUpload; - readonly responseURL: string; - readonly status: number; - readonly statusText: any; - responseType: XMLHttpRequestResponseType; readonly response: any; readonly responseText: string; + responseType: XMLHttpRequestResponseType; + readonly responseURL: string; readonly responseXML: Document | null; + readonly status: number; + readonly statusText: any; + timeout: number; + readonly upload: XMLHttpRequestUpload; + withCredentials: boolean; msCaching?: string; + abort(): void; + getAllResponseHeaders(): any; + getResponseHeader(name: any): any; open(method: any, url: string): void; open(method: any, url: string, async: boolean, username?: string, password?: string): void; - setRequestHeader(name: any, value: any): void; + overrideMimeType(mime: string): void; send(data?: Document): void; send(data?: string): void; send(data?: any): void; - abort(): void; - getResponseHeader(name: any): any; - getAllResponseHeaders(): any; - overrideMimeType(mime: string): void; - readonly UNSENT: number; - readonly OPENED: number; + setRequestHeader(name: any, value: any): void; + readonly DONE: number; readonly HEADERS_RECEIVED: number; readonly LOADING: number; - readonly DONE: number; + readonly OPENED: number; + readonly UNSENT: number; addEventListener(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } @@ -11399,99 +11400,79 @@ interface XMLHttpRequest extends XMLHttpRequestEventTarget { declare var XMLHttpRequest: { prototype: XMLHttpRequest; new(): XMLHttpRequest; - readonly UNSENT: number; - readonly OPENED: number; + readonly DONE: number; readonly HEADERS_RECEIVED: number; readonly LOADING: number; - readonly DONE: number; + readonly OPENED: number; + readonly UNSENT: number; }; -interface FormData { - append(name: string, value: string | Blob, fileName?: string): void; - append(name: string, value: string | Blob, fileName?: string): void; - delete(name: string): void; - get(name: string): FormDataEntryValue | null; - getAll(name: string): FormDataEntryValue[]; - has(name: string): boolean; - set(name: string, value: string): void; - set(name: string, blobValue: Blob, filename?: string): void; +interface XMLHttpRequestEventTargetEventMap { + "abort": Event; + "error": ErrorEvent; + "load": Event; + "loadend": Event; + "loadstart": Event; + "progress": ProgressEvent; + "timeout": ProgressEvent; } -declare var FormData: { - prototype: FormData; - new (form?: HTMLFormElement): FormData; -}; - -interface ProgressEvent extends Event { - readonly lengthComputable: boolean; - readonly loaded: number; - readonly total: number; +interface XMLHttpRequestEventTarget extends EventTarget { + onabort: (this: XMLHttpRequest, ev: Event) => any; + onerror: (this: XMLHttpRequest, ev: ErrorEvent) => any; + onload: (this: XMLHttpRequest, ev: Event) => any; + onloadend: (this: XMLHttpRequest, ev: ProgressEvent) => any; + onloadstart: (this: XMLHttpRequest, ev: Event) => any; + onprogress: (this: XMLHttpRequest, ev: ProgressEvent) => any; + ontimeout: (this: XMLHttpRequest, ev: ProgressEvent) => any; + addEventListener(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var ProgressEvent: { - prototype: ProgressEvent; - new(type: string, eventInitDict?: ProgressEventInit): ProgressEvent; +declare var XMLHttpRequestEventTarget: { + prototype: XMLHttpRequestEventTarget; + new(): XMLHttpRequestEventTarget; }; -interface LinkStyle { - readonly sheet: StyleSheet | null; -} - -interface ElementCSSInlineStyle { - readonly style: CSSStyleDeclaration; -} - -interface GeometryUtils { - getBoxQuads(options?: BoxQuadOptions): DOMQuad[]; - convertQuadFromNode(quad: DOMQuadInit, from: GeometryNode, options?: ConvertCoordinateOptions): DOMQuad; - convertRectFromNode(rect: DOMRectReadOnly, from: GeometryNode, options?: ConvertCoordinateOptions): DOMQuad; - convertPointFromNode(point: DOMPointInit, from: GeometryNode, options?: ConvertCoordinateOptions): DOMPoint; -} - -interface DeviceAcceleration { - readonly x: number | null; - readonly y: number | null; - readonly z: number | null; +interface XMLHttpRequestUpload extends XMLHttpRequestEventTarget { + addEventListener(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -interface DeviceRotationRate { - readonly alpha: number | null; - readonly beta: number | null; - readonly gamma: number | null; -} +declare var XMLHttpRequestUpload: { + prototype: XMLHttpRequestUpload; + new(): XMLHttpRequestUpload; +}; -interface NonElementParentNode { - getElementById(elementId: string): Element | null; +interface XMLSerializer { + serializeToString(root: Node): string; } -interface DocumentOrShadowRoot { -} +declare var XMLSerializer: { + prototype: XMLSerializer; + new(): XMLSerializer; +}; -interface ParentNode { - readonly children: HTMLCollection; - readonly firstElementChild: Element | null; - readonly lastElementChild: Element | null; - readonly childElementCount: number; - prepend(...nodes: (Node | string)[]): void; - append(...nodes: (Node | string)[]): void; - querySelectorAll(selectors: K): ElementListTagNameMap[K]; - querySelectorAll(selectors: string): NodeListOf; +interface AbstractWorkerEventMap { + "error": ErrorEvent; } -interface NonDocumentTypeChildNode { - readonly previousElementSibling: Element | null; - readonly nextElementSibling: Element | null; +interface AbstractWorker { + onerror: (this: AbstractWorker, ev: ErrorEvent) => any; + addEventListener(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -interface ChildNode { - before(...nodes: (Node | string)[]): void; - after(...nodes: (Node | string)[]): void; - replaceWith(...nodes: (Node | string)[]): void; - remove(): void; +interface ANGLE_instanced_arrays { + drawArraysInstancedANGLE(mode: GLenum, first: GLint, count: GLsizei, primcount: GLsizei): void; + drawElementsInstancedANGLE(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, primcount: GLsizei): void; + vertexAttribDivisorANGLE(index: GLuint, divisor: GLuint): void; + readonly VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: GLenum; } -interface Slotable { - readonly assignedSlot: HTMLSlotElement | null; +interface Animatable { + animate(keyframes: any, options?: number | KeyframeAnimationOptions): Animation; + getAnimations(): Animation[]; } interface Body { @@ -11505,198 +11486,241 @@ interface Body { formData(): Promise; } -interface SVGFilterPrimitiveStandardAttributes { - readonly x: SVGAnimatedLength; - readonly y: SVGAnimatedLength; - readonly width: SVGAnimatedLength; - readonly height: SVGAnimatedLength; - readonly result: SVGAnimatedString; +interface CanvasCompositing { + globalAlpha: number; + globalCompositeOperation: string; } -interface Geolocation { - getCurrentPosition(successCallback: PositionCallback, errorCallback?: PositionErrorCallback, options?: PositionOptions): void; - watchPosition(successCallback: PositionCallback, errorCallback?: PositionErrorCallback, options?: PositionOptions): number; - clearWatch(watchId: number): void; +interface CanvasDrawImage { + drawImage(image: CanvasImageSource, dx: number, dy: number): void; + drawImage(image: CanvasImageSource, dx: number, dy: number, dw: number, dh: number): void; + drawImage(image: CanvasImageSource, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void; } -interface Position { - readonly coords: Coordinates; - readonly timestamp: number; +interface CanvasDrawPath { + beginPath(): void; + clip(fillRule?: CanvasFillRule): void; + clip(path: Path2D, fillRule?: CanvasFillRule): void; + fill(path: Path2D, fillRule?: CanvasFillRule): void; + fill(fillRule?: CanvasFillRule): void; + isPointInPath(x: number, y: number, fillRule?: CanvasFillRule): boolean; + isPointInPath(path: Path2D, x: number, y: number, fillRule?: CanvasFillRule): boolean; + isPointInStroke(x: number, y: number): boolean; + isPointInStroke(path: Path2D, x: number, y: number): boolean; + resetClip(): void; + stroke(): void; + stroke(path: Path2D): void; } -interface Coordinates { - readonly latitude: number; - readonly longitude: number; - readonly altitude: number | null; - readonly accuracy: number; - readonly altitudeAccuracy: number | null; - readonly heading: number | null; - readonly speed: number | null; +interface CanvasFillStrokeStyles { + fillStyle: string | CanvasGradient | CanvasPattern; + strokeStyle: string | CanvasGradient | CanvasPattern; + createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient; + createPattern(image: CanvasImageSource, repetition: string): CanvasPattern | null; + createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient; } -interface PositionError { - readonly code: number; - readonly message: string; - readonly PERMISSION_DENIED: number; - readonly POSITION_UNAVAILABLE: number; - readonly TIMEOUT: number; +interface CanvasFilters { + filter: string; } -interface GlobalPerformance { - readonly performance: Performance; +interface CanvasImageData { + createImageData(sw: number, sh: number): ImageData; + createImageData(imagedata: ImageData): ImageData; + getImageData(sx: number, sy: number, sw: number, sh: number): ImageData; + putImageData(imagedata: ImageData, dx: number, dy: number): void; + putImageData(imagedata: ImageData, dx: number, dy: number, dirtyX: number, dirtyY: number, dirtyWidth: number, dirtyHeight: number): void; } -interface HTMLHyperlinkElementUtilsBase { - readonly origin: string; - protocol: string; - username: string; - password: string; - host: string; - hostname: string; - port: string; - pathname: string; - search: string; - hash: string; +interface CanvasImageSmoothing { + imageSmoothingEnabled: boolean; + imageSmoothingQuality: ImageSmoothingQuality; +} + +interface CanvasPath { + arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void; + arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void; + arcTo(x1: number, y1: number, x2: number, y2: number, radiusX: number, radiusY: number, rotation: number): void; + bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void; + closePath(): void; + ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void; + lineTo(x: number, y: number): void; + moveTo(x: number, y: number): void; + quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void; + rect(x: number, y: number, w: number, h: number): void; +} + +interface CanvasPathDrawingStyles { + lineCap: CanvasLineCap; + lineDashOffset: number; + lineJoin: CanvasLineJoin; + lineWidth: number; + miterLimit: number; + getLineDash(): number[]; + setLineDash(segments: number[]): void; +} + +interface CanvasRect { + clearRect(x: number, y: number, w: number, h: number): void; + fillRect(x: number, y: number, w: number, h: number): void; + strokeRect(x: number, y: number, w: number, h: number): void; } -interface HTMLHyperlinkElementUtils extends HTMLHyperlinkElementUtilsBase { - href: string; +interface CanvasShadowStyles { + shadowBlur: number; + shadowColor: string; + shadowOffsetX: number; + shadowOffsetY: number; } interface CanvasState { - save(): void; restore(): void; + save(): void; +} + +interface CanvasText { + fillText(text: string, x: number, y: number, maxWidth?: number): void; + measureText(text: string): TextMetrics; + strokeText(text: string, x: number, y: number, maxWidth?: number): void; +} + +interface CanvasTextDrawingStyles { + direction: CanvasDirection; + font: string; + textAlign: CanvasTextAlign; + textBaseline: CanvasTextBaseline; } interface CanvasTransform { - scale(x: number, y: number): void; - rotate(angle: number): void; - translate(x: number, y: number): void; - transform(a: number, b: number, c: number, d: number, e: number, f: number): void; getTransform(): DOMMatrix; + resetTransform(): void; + rotate(angle: number): void; + scale(x: number, y: number): void; setTransform(a: number, b: number, c: number, d: number, e: number, f: number): void; setTransform(transform?: DOMMatrixInit): void; - resetTransform(): void; + transform(a: number, b: number, c: number, d: number, e: number, f: number): void; + translate(x: number, y: number): void; } -interface CanvasCompositing { - globalAlpha: number; - globalCompositeOperation: string; +interface CanvasUserInterface { + drawFocusIfNeeded(element: Element): void; + drawFocusIfNeeded(path: Path2D, element: Element): void; + scrollPathIntoView(): void; + scrollPathIntoView(path: Path2D): void; } -interface CanvasImageSmoothing { - imageSmoothingEnabled: boolean; - imageSmoothingQuality: ImageSmoothingQuality; +interface ChildNode { + after(...nodes: (Node | string)[]): void; + before(...nodes: (Node | string)[]): void; + remove(): void; + replaceWith(...nodes: (Node | string)[]): void; } -interface CanvasFillStrokeStyles { - strokeStyle: string | CanvasGradient | CanvasPattern; - fillStyle: string | CanvasGradient | CanvasPattern; - createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient; - createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient; - createPattern(image: CanvasImageSource, repetition: string): CanvasPattern | null; +interface ConstrainablePatternEventMap { + "overconstrained": OverconstrainedErrorEvent; } -interface CanvasShadowStyles { - shadowOffsetX: number; - shadowOffsetY: number; - shadowBlur: number; - shadowColor: string; +interface ConstrainablePattern { + onoverconstrained: (this: ConstrainablePattern, ev: OverconstrainedErrorEvent) => any; + applyConstraints(constraints?: Constraints): Promise; + getCapabilities(): Capabilities; + getConstraints(): Constraints; + getSettings(): Settings; + addEventListener(type: K, listener: (this: ConstrainablePattern, ev: ConstrainablePatternEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -interface CanvasFilters { - filter: string; +interface Coordinates { + readonly accuracy: number; + readonly altitude: number | null; + readonly altitudeAccuracy: number | null; + readonly heading: number | null; + readonly latitude: number; + readonly longitude: number; + readonly speed: number | null; } -interface CanvasRect { - clearRect(x: number, y: number, w: number, h: number): void; - fillRect(x: number, y: number, w: number, h: number): void; - strokeRect(x: number, y: number, w: number, h: number): void; +interface CSSPseudoElement extends Object, GeometryUtils, Animatable { } -interface CanvasDrawPath { - beginPath(): void; - fill(fillRule?: CanvasFillRule): void; - fill(path: Path2D, fillRule?: CanvasFillRule): void; - stroke(): void; - stroke(path: Path2D): void; - clip(fillRule?: CanvasFillRule): void; - clip(path: Path2D, fillRule?: CanvasFillRule): void; - resetClip(): void; - isPointInPath(x: number, y: number, fillRule?: CanvasFillRule): boolean; - isPointInPath(path: Path2D, x: number, y: number, fillRule?: CanvasFillRule): boolean; - isPointInStroke(x: number, y: number): boolean; - isPointInStroke(path: Path2D, x: number, y: number): boolean; +interface DeviceAcceleration { + readonly x: number | null; + readonly y: number | null; + readonly z: number | null; } -interface CanvasUserInterface { - drawFocusIfNeeded(element: Element): void; - drawFocusIfNeeded(path: Path2D, element: Element): void; - scrollPathIntoView(): void; - scrollPathIntoView(path: Path2D): void; +interface DeviceRotationRate { + readonly alpha: number | null; + readonly beta: number | null; + readonly gamma: number | null; } -interface CanvasText { - fillText(text: string, x: number, y: number, maxWidth?: number): void; - strokeText(text: string, x: number, y: number, maxWidth?: number): void; - measureText(text: string): TextMetrics; +interface DocumentAndElementEventHandlersEventMap { + "copy": Event; + "cut": Event; + "paste": Event; } -interface CanvasDrawImage { - drawImage(image: CanvasImageSource, dx: number, dy: number): void; - drawImage(image: CanvasImageSource, dx: number, dy: number, dw: number, dh: number): void; - drawImage(image: CanvasImageSource, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void; +interface DocumentAndElementEventHandlers { + oncopy: (this: DocumentAndElementEventHandlers, ev: Event) => any; + oncut: (this: DocumentAndElementEventHandlers, ev: Event) => any; + onpaste: (this: DocumentAndElementEventHandlers, ev: Event) => any; + addEventListener(type: K, listener: (this: DocumentAndElementEventHandlers, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -interface CanvasImageData { - createImageData(sw: number, sh: number): ImageData; - createImageData(imagedata: ImageData): ImageData; - getImageData(sx: number, sy: number, sw: number, sh: number): ImageData; - putImageData(imagedata: ImageData, dx: number, dy: number): void; - putImageData(imagedata: ImageData, dx: number, dy: number, dirtyX: number, dirtyY: number, dirtyWidth: number, dirtyHeight: number): void; +interface DocumentOrShadowRoot { } -interface CanvasPathDrawingStyles { - lineWidth: number; - lineCap: CanvasLineCap; - lineJoin: CanvasLineJoin; - miterLimit: number; - lineDashOffset: number; - setLineDash(segments: number[]): void; - getLineDash(): number[]; +interface ElementContentEditable { + contentEditable: string; + readonly isContentEditable: boolean; } -interface CanvasTextDrawingStyles { - font: string; - textAlign: CanvasTextAlign; - textBaseline: CanvasTextBaseline; - direction: CanvasDirection; +interface ElementCSSInlineStyle { + readonly style: CSSStyleDeclaration; } -interface CanvasPath { - closePath(): void; - moveTo(x: number, y: number): void; - lineTo(x: number, y: number): void; - quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void; - bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void; - arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void; - arcTo(x1: number, y1: number, x2: number, y2: number, radiusX: number, radiusY: number, rotation: number): void; - rect(x: number, y: number, w: number, h: number): void; - arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void; - ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void; +interface EXT_frag_depth { } -interface ElementContentEditable { - contentEditable: string; - readonly isContentEditable: boolean; +interface EXT_texture_filter_anisotropic { + readonly MAX_TEXTURE_MAX_ANISOTROPY_EXT: GLenum; + readonly TEXTURE_MAX_ANISOTROPY_EXT: GLenum; } -interface NavigatorOnLine { - readonly onLine: boolean; +interface External { + AddSearchProvider(): void; + IsSearchProviderInstalled(): void; +} + +interface Geolocation { + clearWatch(watchId: number): void; + getCurrentPosition(successCallback: PositionCallback, errorCallback?: PositionErrorCallback, options?: PositionOptions): void; + watchPosition(successCallback: PositionCallback, errorCallback?: PositionErrorCallback, options?: PositionOptions): number; +} + +interface GeometryUtils { + convertPointFromNode(point: DOMPointInit, from: GeometryNode, options?: ConvertCoordinateOptions): DOMPoint; + convertQuadFromNode(quad: DOMQuadInit, from: GeometryNode, options?: ConvertCoordinateOptions): DOMQuad; + convertRectFromNode(rect: DOMRectReadOnly, from: GeometryNode, options?: ConvertCoordinateOptions): DOMQuad; + getBoxQuads(options?: BoxQuadOptions): DOMQuad[]; +} + +interface GetSVGDocument { + getSVGDocument(): Document; +} + +interface GlobalCrypto { + readonly crypto: Crypto; } interface GlobalEventHandlersEventMap { "abort": Event; + "animationcancel": AnimationEvent; + "animationend": AnimationEvent; + "animationiteration": AnimationEvent; + "animationstart": AnimationEvent; "auxclick": MouseEvent; "blur": Event; "cancel": Event; @@ -11737,10 +11761,17 @@ interface GlobalEventHandlersEventMap { "mouseout": MouseEvent; "mouseover": MouseEvent; "mouseup": MouseEvent; - "wheel": WheelEvent; "pause": Event; "play": Event; "playing": Event; + "pointercancel": PointerEvent; + "pointerdown": PointerEvent; + "pointerenter": PointerEvent; + "pointerleave": PointerEvent; + "pointermove": PointerEvent; + "pointerout": PointerEvent; + "pointerover": PointerEvent; + "pointerup": PointerEvent; "progress": Event; "ratechange": Event; "reset": Event; @@ -11749,40 +11780,33 @@ interface GlobalEventHandlersEventMap { "seeked": Event; "seeking": Event; "select": Event; + "selectionchange": Event; + "selectstart": Event; "show": RelatedEvent; "stalled": Event; "submit": Event; "suspend": Event; "timeupdate": Event; "toggle": Event; - "volumechange": Event; - "waiting": Event; - "animationstart": AnimationEvent; - "animationiteration": AnimationEvent; - "animationend": AnimationEvent; - "animationcancel": AnimationEvent; - "transitionrun": TransitionEvent; - "transitionstart": TransitionEvent; - "transitionend": TransitionEvent; - "transitioncancel": TransitionEvent; - "pointerdown": Event; - "pointermove": Event; - "pointerup": Event; - "pointercancel": Event; - "pointerover": Event; - "pointerout": Event; - "pointerenter": Event; - "pointerleave": Event; - "selectstart": Event; - "selectionchange": Event; - "touchstart": TouchEvent; + "touchcancel": TouchEvent; "touchend": TouchEvent; "touchmove": TouchEvent; - "touchcancel": TouchEvent; + "touchstart": TouchEvent; + "transitioncancel": TransitionEvent; + "transitionend": TransitionEvent; + "transitionrun": TransitionEvent; + "transitionstart": TransitionEvent; + "volumechange": Event; + "waiting": Event; + "wheel": WheelEvent; } interface GlobalEventHandlers { onabort: (this: GlobalEventHandlers, ev: Event) => any; + onanimationcancel: (this: GlobalEventHandlers, ev: AnimationEvent) => any; + onanimationend: (this: GlobalEventHandlers, ev: AnimationEvent) => any; + onanimationiteration: (this: GlobalEventHandlers, ev: AnimationEvent) => any; + onanimationstart: (this: GlobalEventHandlers, ev: AnimationEvent) => any; onauxclick: (this: GlobalEventHandlers, ev: MouseEvent) => any; onblur: (this: GlobalEventHandlers, ev: Event) => any; oncancel: (this: GlobalEventHandlers, ev: Event) => any; @@ -11824,10 +11848,17 @@ interface GlobalEventHandlers { onmouseout: (this: GlobalEventHandlers, ev: MouseEvent) => any; onmouseover: (this: GlobalEventHandlers, ev: MouseEvent) => any; onmouseup: (this: GlobalEventHandlers, ev: MouseEvent) => any; - onwheel: (this: GlobalEventHandlers, ev: WheelEvent) => any; onpause: (this: GlobalEventHandlers, ev: Event) => any; onplay: (this: GlobalEventHandlers, ev: Event) => any; onplaying: (this: GlobalEventHandlers, ev: Event) => any; + onpointercancel: (this: GlobalEventHandlers, ev: PointerEvent) => any; + onpointerdown: (this: GlobalEventHandlers, ev: PointerEvent) => any; + onpointerenter: (this: GlobalEventHandlers, ev: PointerEvent) => any; + onpointerleave: (this: GlobalEventHandlers, ev: PointerEvent) => any; + onpointermove: (this: GlobalEventHandlers, ev: PointerEvent) => any; + onpointerout: (this: GlobalEventHandlers, ev: PointerEvent) => any; + onpointerover: (this: GlobalEventHandlers, ev: PointerEvent) => any; + onpointerup: (this: GlobalEventHandlers, ev: PointerEvent) => any; onprogress: (this: GlobalEventHandlers, ev: Event) => any; onratechange: (this: GlobalEventHandlers, ev: Event) => any; onreset: (this: GlobalEventHandlers, ev: Event) => any; @@ -11836,118 +11867,95 @@ interface GlobalEventHandlers { onseeked: (this: GlobalEventHandlers, ev: Event) => any; onseeking: (this: GlobalEventHandlers, ev: Event) => any; onselect: (this: GlobalEventHandlers, ev: Event) => any; + onselectionchange: (this: GlobalEventHandlers, ev: Event) => any; + onselectstart: (this: GlobalEventHandlers, ev: Event) => any; onshow: (this: GlobalEventHandlers, ev: RelatedEvent) => any; onstalled: (this: GlobalEventHandlers, ev: Event) => any; onsubmit: (this: GlobalEventHandlers, ev: Event) => any; onsuspend: (this: GlobalEventHandlers, ev: Event) => any; ontimeupdate: (this: GlobalEventHandlers, ev: Event) => any; ontoggle: (this: GlobalEventHandlers, ev: Event) => any; - onvolumechange: (this: GlobalEventHandlers, ev: Event) => any; - onwaiting: (this: GlobalEventHandlers, ev: Event) => any; - onanimationstart: (this: GlobalEventHandlers, ev: AnimationEvent) => any; - onanimationiteration: (this: GlobalEventHandlers, ev: AnimationEvent) => any; - onanimationend: (this: GlobalEventHandlers, ev: AnimationEvent) => any; - onanimationcancel: (this: GlobalEventHandlers, ev: AnimationEvent) => any; - ontransitionrun: (this: GlobalEventHandlers, ev: TransitionEvent) => any; - ontransitionstart: (this: GlobalEventHandlers, ev: TransitionEvent) => any; - ontransitionend: (this: GlobalEventHandlers, ev: TransitionEvent) => any; - ontransitioncancel: (this: GlobalEventHandlers, ev: TransitionEvent) => any; - onpointerdown: (this: GlobalEventHandlers, ev: Event) => any; - onpointermove: (this: GlobalEventHandlers, ev: Event) => any; - onpointerup: (this: GlobalEventHandlers, ev: Event) => any; - onpointercancel: (this: GlobalEventHandlers, ev: Event) => any; - onpointerover: (this: GlobalEventHandlers, ev: Event) => any; - onpointerout: (this: GlobalEventHandlers, ev: Event) => any; - onpointerenter: (this: GlobalEventHandlers, ev: Event) => any; - onpointerleave: (this: GlobalEventHandlers, ev: Event) => any; - onselectstart: (this: GlobalEventHandlers, ev: Event) => any; - onselectionchange: (this: GlobalEventHandlers, ev: Event) => any; - ontouchstart: (this: GlobalEventHandlers, ev: TouchEvent) => any; + ontouchcancel: (this: GlobalEventHandlers, ev: TouchEvent) => any; ontouchend: (this: GlobalEventHandlers, ev: TouchEvent) => any; ontouchmove: (this: GlobalEventHandlers, ev: TouchEvent) => any; - ontouchcancel: (this: GlobalEventHandlers, ev: TouchEvent) => any; + ontouchstart: (this: GlobalEventHandlers, ev: TouchEvent) => any; + ontransitioncancel: (this: GlobalEventHandlers, ev: TransitionEvent) => any; + ontransitionend: (this: GlobalEventHandlers, ev: TransitionEvent) => any; + ontransitionrun: (this: GlobalEventHandlers, ev: TransitionEvent) => any; + ontransitionstart: (this: GlobalEventHandlers, ev: TransitionEvent) => any; + onvolumechange: (this: GlobalEventHandlers, ev: Event) => any; + onwaiting: (this: GlobalEventHandlers, ev: Event) => any; + onwheel: (this: GlobalEventHandlers, ev: WheelEvent) => any; addEventListener(type: K, listener: (this: GlobalEventHandlers, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -interface WindowEventHandlersEventMap { - "afterprint": Event; - "beforeprint": Event; - "hashchange": HashChangeEvent; - "languagechange": Event; - "message": MessageEvent; - "offline": Event; - "online": Event; - "pagehide": PageTransitionEvent; - "pageshow": PageTransitionEvent; - "popstate": PopStateEvent; - "rejectionhandled": PromiseRejectionEvent; - "storage": StorageEvent; - "unhandledrejection": PromiseRejectionEvent; - "unload": Event; +interface GlobalPerformance { + readonly performance: Performance; } -interface WindowEventHandlers { - onafterprint: (this: WindowEventHandlers, ev: Event) => any; - onbeforeprint: (this: WindowEventHandlers, ev: Event) => any; - onbeforeunload: OnBeforeUnloadEventHandler; - onhashchange: (this: WindowEventHandlers, ev: HashChangeEvent) => any; - onlanguagechange: (this: WindowEventHandlers, ev: Event) => any; - onmessage: (this: WindowEventHandlers, ev: MessageEvent) => any; - onoffline: (this: WindowEventHandlers, ev: Event) => any; - ononline: (this: WindowEventHandlers, ev: Event) => any; - onpagehide: (this: WindowEventHandlers, ev: PageTransitionEvent) => any; - onpageshow: (this: WindowEventHandlers, ev: PageTransitionEvent) => any; - onpopstate: (this: WindowEventHandlers, ev: PopStateEvent) => any; - onrejectionhandled: (this: WindowEventHandlers, ev: PromiseRejectionEvent) => any; - onstorage: (this: WindowEventHandlers, ev: StorageEvent) => any; - onunhandledrejection: (this: WindowEventHandlers, ev: PromiseRejectionEvent) => any; - onunload: (this: WindowEventHandlers, ev: Event) => any; - addEventListener(type: K, listener: (this: WindowEventHandlers, ev: WindowEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface HTMLHyperlinkElementUtilsBase { + hash: string; + host: string; + hostname: string; + readonly origin: string; + password: string; + pathname: string; + port: string; + protocol: string; + search: string; + username: string; } -interface DocumentAndElementEventHandlersEventMap { - "copy": Event; - "cut": Event; - "paste": Event; +interface HTMLHyperlinkElementUtils extends HTMLHyperlinkElementUtilsBase { + href: string; } -interface DocumentAndElementEventHandlers { - oncopy: (this: DocumentAndElementEventHandlers, ev: Event) => any; - oncut: (this: DocumentAndElementEventHandlers, ev: Event) => any; - onpaste: (this: DocumentAndElementEventHandlers, ev: Event) => any; - addEventListener(type: K, listener: (this: DocumentAndElementEventHandlers, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface IDBEnvironment { + readonly indexedDB: IDBFactory; } -interface WindowOrWorkerGlobalScope { - readonly origin: string; - readonly caches: CacheStorage; - btoa(data: string): string; - atob(data: string): string; - setTimeout(handler: (...args: any[]) => void, timeout: number): number; - setTimeout(handler: any, timeout?: any, ...args: any[]): number; - clearTimeout(handle?: number): void; - setInterval(handler: (...args: any[]) => void, timeout: number): number; - setInterval(handler: any, timeout?: any, ...args: any[]): number; - clearInterval(handle?: number): void; - createImageBitmap(image: ImageBitmapSource, options?: ImageBitmapOptions): Promise; - createImageBitmap(image: ImageBitmapSource, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise; - fetch(input: RequestInfo, init?: RequestInit): Promise; +interface LinkStyle { + readonly sheet: StyleSheet | null; +} + +interface MSAppAsyncOperation { +} + +interface MSHTMLWebViewElement { +} + +interface MSWebViewAsyncOperation { +} + +interface NavigatorConcurrentHardware { + readonly hardwareConcurrency: number; +} + +interface NavigatorContentUtils { + isContentHandlerRegistered(mimeType: string, url: string): string; + isProtocolHandlerRegistered(scheme: string, url: string): string; + registerContentHandler(mimeType: string, url: string, title: string): void; + registerProtocolHandler(scheme: string, url: string, title: string): void; + unregisterContentHandler(mimeType: string, url: string): void; + unregisterProtocolHandler(scheme: string, url: string): void; +} + +interface NavigatorCookies { + readonly cookieEnabled: boolean; } interface NavigatorID { readonly appCodeName: string; readonly appName: string; readonly appVersion: string; + readonly oscpu: string; readonly platform: string; readonly product: string; readonly productSub: string; readonly userAgent: string; readonly vendor: string; readonly vendorSub: string; - readonly oscpu: string; taintEnabled(): boolean; } @@ -11956,94 +11964,94 @@ interface NavigatorLanguage { readonly languages: ReadonlyArray; } -interface NavigatorContentUtils { - registerProtocolHandler(scheme: string, url: string, title: string): void; - registerContentHandler(mimeType: string, url: string, title: string): void; - isProtocolHandlerRegistered(scheme: string, url: string): string; - isContentHandlerRegistered(mimeType: string, url: string): string; - unregisterProtocolHandler(scheme: string, url: string): void; - unregisterContentHandler(mimeType: string, url: string): void; -} - -interface NavigatorCookies { - readonly cookieEnabled: boolean; +interface NavigatorOnLine { + readonly onLine: boolean; } interface NavigatorPlugins { - readonly plugins: PluginArray; readonly mimeTypes: MimeTypeArray; + readonly plugins: PluginArray; javaEnabled(): boolean; } -interface AbstractWorkerEventMap { - "error": ErrorEvent; +interface NavigatorUserMedia { + readonly mediaDevices: MediaDevices; + getUserMedia(constraints: MediaStreamConstraints, successCallback: NavigatorUserMediaSuccessCallback, errorCallback: NavigatorUserMediaErrorCallback): void; } -interface AbstractWorker { - onerror: (this: AbstractWorker, ev: ErrorEvent) => any; - addEventListener(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface NonDocumentTypeChildNode { + readonly nextElementSibling: Element | null; + readonly previousElementSibling: Element | null; } -interface NavigatorConcurrentHardware { - readonly hardwareConcurrency: number; +interface NonElementParentNode { + getElementById(elementId: string): Element | null; } -interface WindowSessionStorage { - readonly sessionStorage: Storage; +interface OES_element_index_uint { } -interface WindowLocalStorage { - readonly localStorage: Storage; +interface OES_standard_derivatives { + readonly FRAGMENT_SHADER_DERIVATIVE_HINT_OES: GLenum; } -interface External { - AddSearchProvider(): void; - IsSearchProviderInstalled(): void; +interface OES_texture_float { } -interface IDBEnvironment { - readonly indexedDB: IDBFactory; +interface OES_texture_float_linear { } -interface NavigatorUserMedia { - readonly mediaDevices: MediaDevices; - getUserMedia(constraints: MediaStreamConstraints, successCallback: NavigatorUserMediaSuccessCallback, errorCallback: NavigatorUserMediaErrorCallback): void; +interface OES_texture_half_float { + readonly HALF_FLOAT_OES: GLenum; } -interface ConstrainablePatternEventMap { - "overconstrained": OverconstrainedErrorEvent; +interface OES_texture_half_float_linear { } -interface ConstrainablePattern { - onoverconstrained: (this: ConstrainablePattern, ev: OverconstrainedErrorEvent) => any; - getCapabilities(): Capabilities; - getConstraints(): Constraints; - getSettings(): Settings; - applyConstraints(constraints?: Constraints): Promise; - addEventListener(type: K, listener: (this: ConstrainablePattern, ev: ConstrainablePatternEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface ParentNode { + readonly childElementCount: number; + readonly children: HTMLCollection; + readonly firstElementChild: Element | null; + readonly lastElementChild: Element | null; + append(...nodes: (Node | string)[]): void; + prepend(...nodes: (Node | string)[]): void; + querySelectorAll(selectors: K): ElementListTagNameMap[K]; + querySelectorAll(selectors: string): NodeListOf; } -interface SVGTests { - readonly requiredExtensions: SVGStringList; - readonly systemLanguage: SVGStringList; +interface Position { + readonly coords: Coordinates; + readonly timestamp: number; } -interface SVGFitToViewBox { - readonly viewBox: SVGAnimatedRect; - readonly preserveAspectRatio: SVGAnimatedPreserveAspectRatio; +interface PositionError { + readonly code: number; + readonly message: string; + readonly PERMISSION_DENIED: number; + readonly POSITION_UNAVAILABLE: number; + readonly TIMEOUT: number; } -interface SVGZoomAndPan { - zoomAndPan: number; - readonly SVG_ZOOMANDPAN_UNKNOWN: number; - readonly SVG_ZOOMANDPAN_DISABLE: number; - readonly SVG_ZOOMANDPAN_MAGNIFY: number; +interface RTCDtmfSender { } -interface SVGURIReference { - readonly href: SVGAnimatedString; +interface RTCIceGatherer { +} + +interface RTCSrtpSdesTransport { +} + +interface Slotable { + readonly assignedSlot: HTMLSlotElement | null; +} + +interface SpeechSynthesisGetter { + readonly speechSynthesis: SpeechSynthesis; +} + +interface SVGAnimatedPoints { + readonly animatedPoints: SVGPointList; + readonly points: SVGPointList; } interface SVGElementInstance { @@ -12051,36 +12059,55 @@ interface SVGElementInstance { readonly correspondingUseElement: SVGUseElement | null; } -interface GetSVGDocument { - getSVGDocument(): Document; +interface SVGFilterPrimitiveStandardAttributes { + readonly height: SVGAnimatedLength; + readonly result: SVGAnimatedString; + readonly width: SVGAnimatedLength; + readonly x: SVGAnimatedLength; + readonly y: SVGAnimatedLength; } -interface SVGAnimatedPoints { - readonly points: SVGPointList; - readonly animatedPoints: SVGPointList; +interface SVGFitToViewBox { + readonly preserveAspectRatio: SVGAnimatedPreserveAspectRatio; + readonly viewBox: SVGAnimatedRect; } -interface Animatable { - animate(keyframes: any, options?: number | KeyframeAnimationOptions): Animation; - getAnimations(): Animation[]; +interface SVGTests { + readonly requiredExtensions: SVGStringList; + readonly systemLanguage: SVGStringList; } -interface GlobalCrypto { - readonly crypto: Crypto; +interface SVGURIReference { + readonly href: SVGAnimatedString; } -interface SpeechSynthesisGetter { - readonly speechSynthesis: SpeechSynthesis; +interface SVGZoomAndPan { + zoomAndPan: number; + readonly SVG_ZOOMANDPAN_DISABLE: number; + readonly SVG_ZOOMANDPAN_MAGNIFY: number; + readonly SVG_ZOOMANDPAN_UNKNOWN: number; +} + +interface WEBGL_compressed_texture_s3tc { + readonly COMPRESSED_RGB_S3TC_DXT1_EXT: GLenum; + readonly COMPRESSED_RGBA_S3TC_DXT1_EXT: GLenum; + readonly COMPRESSED_RGBA_S3TC_DXT3_EXT: GLenum; + readonly COMPRESSED_RGBA_S3TC_DXT5_EXT: GLenum; +} + +interface WEBGL_debug_renderer_info { + readonly UNMASKED_RENDERER_WEBGL: GLenum; + readonly UNMASKED_VENDOR_WEBGL: GLenum; +} + +interface WEBGL_depth_texture { + readonly UNSIGNED_INT_24_8_WEBGL: GLenum; } interface WebGLRenderingContextBase { readonly canvas: HTMLCanvasElement; - readonly drawingBufferWidth: GLsizei; readonly drawingBufferHeight: GLsizei; - getContextAttributes(): WebGLContextAttributes | null; - isContextLost(): boolean; - getSupportedExtensions(): string[] | null; - getExtension(name: string): any; + readonly drawingBufferWidth: GLsizei; activeTexture(texture: GLenum): void; attachShader(program: WebGLProgram, shader: WebGLShader): void; bindAttribLocation(program: WebGLProgram, index: GLuint, name: string): void; @@ -12093,9 +12120,9 @@ interface WebGLRenderingContextBase { blendEquationSeparate(modeRGB: GLenum, modeAlpha: GLenum): void; blendFunc(sfactor: GLenum, dfactor: GLenum): void; blendFuncSeparate(srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum): void; - bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum): void; bufferData(target: GLenum, data: ArrayBuffer | null, usage: GLenum): void; bufferData(target: GLenum, data: ArrayBufferView, usage: GLenum): void; + bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum): void; bufferSubData(target: GLenum, offset: GLintptr, data: BufferDataSource): void; checkFramebufferStatus(target: GLenum): GLenum; clear(mask: GLbitfield): void; @@ -12142,16 +12169,19 @@ interface WebGLRenderingContextBase { getAttachedShaders(program: WebGLProgram): WebGLShader[] | null; getAttribLocation(program: WebGLProgram, name: string): GLint; getBufferParameter(target: GLenum, pname: GLenum): any; - getParameter(pname: GLenum): any; + getContextAttributes(): WebGLContextAttributes | null; getError(): GLenum; + getExtension(name: string): any; getFramebufferAttachmentParameter(target: GLenum, attachment: GLenum, pname: GLenum): any; - getProgramParameter(program: WebGLProgram, pname: GLenum): any; + getParameter(pname: GLenum): any; getProgramInfoLog(program: WebGLProgram): string | null; + getProgramParameter(program: WebGLProgram, pname: GLenum): any; getRenderbufferParameter(target: GLenum, pname: GLenum): any; + getShaderInfoLog(shader: WebGLShader): string | null; getShaderParameter(shader: WebGLShader, pname: GLenum): any; getShaderPrecisionFormat(shadertype: GLenum, precisiontype: GLenum): WebGLShaderPrecisionFormat | null; - getShaderInfoLog(shader: WebGLShader): string | null; getShaderSource(shader: WebGLShader): string | null; + getSupportedExtensions(): string[] | null; getTexParameter(target: GLenum, pname: GLenum): any; getUniform(program: WebGLProgram, location: WebGLUniformLocation): any; getUniformLocation(program: WebGLProgram, name: string): WebGLUniformLocation | null; @@ -12159,6 +12189,7 @@ interface WebGLRenderingContextBase { getVertexAttribOffset(index: GLuint, pname: GLenum): GLintptr; hint(target: GLenum, mode: GLenum): void; isBuffer(buffer: WebGLBuffer | null): GLboolean; + isContextLost(): boolean; isEnabled(cap: GLenum): GLboolean; isFramebuffer(framebuffer: WebGLFramebuffer | null): GLboolean; isProgram(program: WebGLProgram | null): GLboolean; @@ -12184,23 +12215,23 @@ interface WebGLRenderingContextBase { texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource): void; texParameterf(target: GLenum, pname: GLenum, param: GLfloat): void; texParameteri(target: GLenum, pname: GLenum, param: GLint): void; - texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void; texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource): void; + texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void; uniform1f(location: WebGLUniformLocation | null, x: GLfloat): void; - uniform2f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat): void; - uniform3f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat, z: GLfloat): void; - uniform4f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void; - uniform1i(location: WebGLUniformLocation | null, x: GLint): void; - uniform2i(location: WebGLUniformLocation | null, x: GLint, y: GLint): void; - uniform3i(location: WebGLUniformLocation | null, x: GLint, y: GLint, z: GLint): void; - uniform4i(location: WebGLUniformLocation | null, x: GLint, y: GLint, z: GLint, w: GLint): void; uniform1fv(location: WebGLUniformLocation | null, v: Float32List): void; - uniform2fv(location: WebGLUniformLocation | null, v: Float32List): void; - uniform3fv(location: WebGLUniformLocation | null, v: Float32List): void; - uniform4fv(location: WebGLUniformLocation | null, v: Float32List): void; + uniform1i(location: WebGLUniformLocation | null, x: GLint): void; uniform1iv(location: WebGLUniformLocation | null, v: Int32List): void; + uniform2f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat): void; + uniform2fv(location: WebGLUniformLocation | null, v: Float32List): void; + uniform2i(location: WebGLUniformLocation | null, x: GLint, y: GLint): void; uniform2iv(location: WebGLUniformLocation | null, v: Int32List): void; + uniform3f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat, z: GLfloat): void; + uniform3fv(location: WebGLUniformLocation | null, v: Float32List): void; + uniform3i(location: WebGLUniformLocation | null, x: GLint, y: GLint, z: GLint): void; uniform3iv(location: WebGLUniformLocation | null, v: Int32List): void; + uniform4f(location: WebGLUniformLocation | null, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void; + uniform4fv(location: WebGLUniformLocation | null, v: Float32List): void; + uniform4i(location: WebGLUniformLocation | null, x: GLint, y: GLint, z: GLint, w: GLint): void; uniform4iv(location: WebGLUniformLocation | null, v: Int32List): void; uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void; uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void; @@ -12208,214 +12239,256 @@ interface WebGLRenderingContextBase { useProgram(program: WebGLProgram | null): void; validateProgram(program: WebGLProgram): void; vertexAttrib1f(index: GLuint, x: GLfloat): void; - vertexAttrib2f(index: GLuint, x: GLfloat, y: GLfloat): void; - vertexAttrib3f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat): void; - vertexAttrib4f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void; vertexAttrib1fv(index: GLuint, values: Float32List): void; + vertexAttrib2f(index: GLuint, x: GLfloat, y: GLfloat): void; vertexAttrib2fv(index: GLuint, values: Float32List): void; + vertexAttrib3f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat): void; vertexAttrib3fv(index: GLuint, values: Float32List): void; + vertexAttrib4f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void; vertexAttrib4fv(index: GLuint, values: Float32List): void; vertexAttribPointer(index: GLuint, size: GLint, type: GLenum, normalized: GLboolean, stride: GLsizei, offset: GLintptr): void; viewport(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; - readonly DEPTH_BUFFER_BIT: GLenum; - readonly STENCIL_BUFFER_BIT: GLenum; - readonly COLOR_BUFFER_BIT: GLenum; - readonly POINTS: GLenum; - readonly LINES: GLenum; - readonly LINE_LOOP: GLenum; - readonly LINE_STRIP: GLenum; - readonly TRIANGLES: GLenum; - readonly TRIANGLE_STRIP: GLenum; - readonly TRIANGLE_FAN: GLenum; - readonly ZERO: GLenum; - readonly ONE: GLenum; - readonly SRC_COLOR: GLenum; - readonly ONE_MINUS_SRC_COLOR: GLenum; - readonly SRC_ALPHA: GLenum; - readonly ONE_MINUS_SRC_ALPHA: GLenum; - readonly DST_ALPHA: GLenum; - readonly ONE_MINUS_DST_ALPHA: GLenum; - readonly DST_COLOR: GLenum; - readonly ONE_MINUS_DST_COLOR: GLenum; - readonly SRC_ALPHA_SATURATE: GLenum; - readonly FUNC_ADD: GLenum; + readonly ACTIVE_ATTRIBUTES: GLenum; + readonly ACTIVE_TEXTURE: GLenum; + readonly ACTIVE_UNIFORMS: GLenum; + readonly ALIASED_LINE_WIDTH_RANGE: GLenum; + readonly ALIASED_POINT_SIZE_RANGE: GLenum; + readonly ALPHA: GLenum; + readonly ALPHA_BITS: GLenum; + readonly ALWAYS: GLenum; + readonly ARRAY_BUFFER: GLenum; + readonly ARRAY_BUFFER_BINDING: GLenum; + readonly ATTACHED_SHADERS: GLenum; + readonly BACK: GLenum; + readonly BLEND: GLenum; + readonly BLEND_COLOR: GLenum; + readonly BLEND_DST_ALPHA: GLenum; + readonly BLEND_DST_RGB: GLenum; readonly BLEND_EQUATION: GLenum; - readonly BLEND_EQUATION_RGB: GLenum; readonly BLEND_EQUATION_ALPHA: GLenum; - readonly FUNC_SUBTRACT: GLenum; - readonly FUNC_REVERSE_SUBTRACT: GLenum; - readonly BLEND_DST_RGB: GLenum; - readonly BLEND_SRC_RGB: GLenum; - readonly BLEND_DST_ALPHA: GLenum; + readonly BLEND_EQUATION_RGB: GLenum; readonly BLEND_SRC_ALPHA: GLenum; - readonly CONSTANT_COLOR: GLenum; - readonly ONE_MINUS_CONSTANT_COLOR: GLenum; - readonly CONSTANT_ALPHA: GLenum; - readonly ONE_MINUS_CONSTANT_ALPHA: GLenum; - readonly BLEND_COLOR: GLenum; - readonly ARRAY_BUFFER: GLenum; - readonly ELEMENT_ARRAY_BUFFER: GLenum; - readonly ARRAY_BUFFER_BINDING: GLenum; - readonly ELEMENT_ARRAY_BUFFER_BINDING: GLenum; - readonly STREAM_DRAW: GLenum; - readonly STATIC_DRAW: GLenum; - readonly DYNAMIC_DRAW: GLenum; + readonly BLEND_SRC_RGB: GLenum; + readonly BLUE_BITS: GLenum; + readonly BOOL: GLenum; + readonly BOOL_VEC2: GLenum; + readonly BOOL_VEC3: GLenum; + readonly BOOL_VEC4: GLenum; + readonly BROWSER_DEFAULT_WEBGL: GLenum; readonly BUFFER_SIZE: GLenum; readonly BUFFER_USAGE: GLenum; + readonly BYTE: GLenum; + readonly CCW: GLenum; + readonly CLAMP_TO_EDGE: GLenum; + readonly COLOR_ATTACHMENT0: GLenum; + readonly COLOR_BUFFER_BIT: GLenum; + readonly COLOR_CLEAR_VALUE: GLenum; + readonly COLOR_WRITEMASK: GLenum; + readonly COMPILE_STATUS: GLenum; + readonly COMPRESSED_TEXTURE_FORMATS: GLenum; + readonly CONSTANT_ALPHA: GLenum; + readonly CONSTANT_COLOR: GLenum; + readonly CONTEXT_LOST_WEBGL: GLenum; + readonly CULL_FACE: GLenum; + readonly CULL_FACE_MODE: GLenum; + readonly CURRENT_PROGRAM: GLenum; readonly CURRENT_VERTEX_ATTRIB: GLenum; + readonly CW: GLenum; + readonly DECR: GLenum; + readonly DECR_WRAP: GLenum; + readonly DELETE_STATUS: GLenum; + readonly DEPTH_ATTACHMENT: GLenum; + readonly DEPTH_BITS: GLenum; + readonly DEPTH_BUFFER_BIT: GLenum; + readonly DEPTH_CLEAR_VALUE: GLenum; + readonly DEPTH_COMPONENT: GLenum; + readonly DEPTH_COMPONENT16: GLenum; + readonly DEPTH_FUNC: GLenum; + readonly DEPTH_RANGE: GLenum; + readonly DEPTH_STENCIL: GLenum; + readonly DEPTH_STENCIL_ATTACHMENT: GLenum; + readonly DEPTH_TEST: GLenum; + readonly DEPTH_WRITEMASK: GLenum; + readonly DITHER: GLenum; + readonly DONT_CARE: GLenum; + readonly DST_ALPHA: GLenum; + readonly DST_COLOR: GLenum; + readonly DYNAMIC_DRAW: GLenum; + readonly ELEMENT_ARRAY_BUFFER: GLenum; + readonly ELEMENT_ARRAY_BUFFER_BINDING: GLenum; + readonly EQUAL: GLenum; + readonly FASTEST: GLenum; + readonly FLOAT: GLenum; + readonly FLOAT_MAT2: GLenum; + readonly FLOAT_MAT3: GLenum; + readonly FLOAT_MAT4: GLenum; + readonly FLOAT_VEC2: GLenum; + readonly FLOAT_VEC3: GLenum; + readonly FLOAT_VEC4: GLenum; + readonly FRAGMENT_SHADER: GLenum; + readonly FRAMEBUFFER: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: GLenum; + readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: GLenum; + readonly FRAMEBUFFER_BINDING: GLenum; + readonly FRAMEBUFFER_COMPLETE: GLenum; + readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: GLenum; + readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: GLenum; + readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: GLenum; + readonly FRAMEBUFFER_UNSUPPORTED: GLenum; readonly FRONT: GLenum; - readonly BACK: GLenum; readonly FRONT_AND_BACK: GLenum; - readonly CULL_FACE: GLenum; - readonly BLEND: GLenum; - readonly DITHER: GLenum; - readonly STENCIL_TEST: GLenum; - readonly DEPTH_TEST: GLenum; - readonly SCISSOR_TEST: GLenum; + readonly FRONT_FACE: GLenum; + readonly FUNC_ADD: GLenum; + readonly FUNC_REVERSE_SUBTRACT: GLenum; + readonly FUNC_SUBTRACT: GLenum; + readonly GENERATE_MIPMAP_HINT: GLenum; + readonly GEQUAL: GLenum; + readonly GREATER: GLenum; + readonly GREEN_BITS: GLenum; + readonly HIGH_FLOAT: GLenum; + readonly HIGH_INT: GLenum; + readonly IMPLEMENTATION_COLOR_READ_FORMAT: GLenum; + readonly IMPLEMENTATION_COLOR_READ_TYPE: GLenum; + readonly INCR: GLenum; + readonly INCR_WRAP: GLenum; + readonly INT: GLenum; + readonly INT_VEC2: GLenum; + readonly INT_VEC3: GLenum; + readonly INT_VEC4: GLenum; + readonly INVALID_ENUM: GLenum; + readonly INVALID_FRAMEBUFFER_OPERATION: GLenum; + readonly INVALID_OPERATION: GLenum; + readonly INVALID_VALUE: GLenum; + readonly INVERT: GLenum; + readonly KEEP: GLenum; + readonly LEQUAL: GLenum; + readonly LESS: GLenum; + readonly LINE_LOOP: GLenum; + readonly LINE_STRIP: GLenum; + readonly LINE_WIDTH: GLenum; + readonly LINEAR: GLenum; + readonly LINEAR_MIPMAP_LINEAR: GLenum; + readonly LINEAR_MIPMAP_NEAREST: GLenum; + readonly LINES: GLenum; + readonly LINK_STATUS: GLenum; + readonly LOW_FLOAT: GLenum; + readonly LOW_INT: GLenum; + readonly LUMINANCE: GLenum; + readonly LUMINANCE_ALPHA: GLenum; + readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: GLenum; + readonly MAX_CUBE_MAP_TEXTURE_SIZE: GLenum; + readonly MAX_FRAGMENT_UNIFORM_VECTORS: GLenum; + readonly MAX_RENDERBUFFER_SIZE: GLenum; + readonly MAX_TEXTURE_IMAGE_UNITS: GLenum; + readonly MAX_TEXTURE_SIZE: GLenum; + readonly MAX_VARYING_VECTORS: GLenum; + readonly MAX_VERTEX_ATTRIBS: GLenum; + readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: GLenum; + readonly MAX_VERTEX_UNIFORM_VECTORS: GLenum; + readonly MAX_VIEWPORT_DIMS: GLenum; + readonly MEDIUM_FLOAT: GLenum; + readonly MEDIUM_INT: GLenum; + readonly MIRRORED_REPEAT: GLenum; + readonly NEAREST: GLenum; + readonly NEAREST_MIPMAP_LINEAR: GLenum; + readonly NEAREST_MIPMAP_NEAREST: GLenum; + readonly NEVER: GLenum; + readonly NICEST: GLenum; + readonly NO_ERROR: GLenum; + readonly NONE: GLenum; + readonly NOTEQUAL: GLenum; + readonly ONE: GLenum; + readonly ONE_MINUS_CONSTANT_ALPHA: GLenum; + readonly ONE_MINUS_CONSTANT_COLOR: GLenum; + readonly ONE_MINUS_DST_ALPHA: GLenum; + readonly ONE_MINUS_DST_COLOR: GLenum; + readonly ONE_MINUS_SRC_ALPHA: GLenum; + readonly ONE_MINUS_SRC_COLOR: GLenum; + readonly OUT_OF_MEMORY: GLenum; + readonly PACK_ALIGNMENT: GLenum; + readonly POINTS: GLenum; + readonly POLYGON_OFFSET_FACTOR: GLenum; readonly POLYGON_OFFSET_FILL: GLenum; + readonly POLYGON_OFFSET_UNITS: GLenum; + readonly RED_BITS: GLenum; + readonly RENDERBUFFER: GLenum; + readonly RENDERBUFFER_ALPHA_SIZE: GLenum; + readonly RENDERBUFFER_BINDING: GLenum; + readonly RENDERBUFFER_BLUE_SIZE: GLenum; + readonly RENDERBUFFER_DEPTH_SIZE: GLenum; + readonly RENDERBUFFER_GREEN_SIZE: GLenum; + readonly RENDERBUFFER_HEIGHT: GLenum; + readonly RENDERBUFFER_INTERNAL_FORMAT: GLenum; + readonly RENDERBUFFER_RED_SIZE: GLenum; + readonly RENDERBUFFER_STENCIL_SIZE: GLenum; + readonly RENDERBUFFER_WIDTH: GLenum; + readonly RENDERER: GLenum; + readonly REPEAT: GLenum; + readonly REPLACE: GLenum; + readonly RGB: GLenum; + readonly RGB5_A1: GLenum; + readonly RGB565: GLenum; + readonly RGBA: GLenum; + readonly RGBA4: GLenum; readonly SAMPLE_ALPHA_TO_COVERAGE: GLenum; + readonly SAMPLE_BUFFERS: GLenum; readonly SAMPLE_COVERAGE: GLenum; - readonly NO_ERROR: GLenum; - readonly INVALID_ENUM: GLenum; - readonly INVALID_VALUE: GLenum; - readonly INVALID_OPERATION: GLenum; - readonly OUT_OF_MEMORY: GLenum; - readonly CW: GLenum; - readonly CCW: GLenum; - readonly LINE_WIDTH: GLenum; - readonly ALIASED_POINT_SIZE_RANGE: GLenum; - readonly ALIASED_LINE_WIDTH_RANGE: GLenum; - readonly CULL_FACE_MODE: GLenum; - readonly FRONT_FACE: GLenum; - readonly DEPTH_RANGE: GLenum; - readonly DEPTH_WRITEMASK: GLenum; - readonly DEPTH_CLEAR_VALUE: GLenum; - readonly DEPTH_FUNC: GLenum; + readonly SAMPLE_COVERAGE_INVERT: GLenum; + readonly SAMPLE_COVERAGE_VALUE: GLenum; + readonly SAMPLER_2D: GLenum; + readonly SAMPLER_CUBE: GLenum; + readonly SAMPLES: GLenum; + readonly SCISSOR_BOX: GLenum; + readonly SCISSOR_TEST: GLenum; + readonly SHADER_TYPE: GLenum; + readonly SHADING_LANGUAGE_VERSION: GLenum; + readonly SHORT: GLenum; + readonly SRC_ALPHA: GLenum; + readonly SRC_ALPHA_SATURATE: GLenum; + readonly SRC_COLOR: GLenum; + readonly STATIC_DRAW: GLenum; + readonly STENCIL_ATTACHMENT: GLenum; + readonly STENCIL_BACK_FAIL: GLenum; + readonly STENCIL_BACK_FUNC: GLenum; + readonly STENCIL_BACK_PASS_DEPTH_FAIL: GLenum; + readonly STENCIL_BACK_PASS_DEPTH_PASS: GLenum; + readonly STENCIL_BACK_REF: GLenum; + readonly STENCIL_BACK_VALUE_MASK: GLenum; + readonly STENCIL_BACK_WRITEMASK: GLenum; + readonly STENCIL_BITS: GLenum; + readonly STENCIL_BUFFER_BIT: GLenum; readonly STENCIL_CLEAR_VALUE: GLenum; - readonly STENCIL_FUNC: GLenum; readonly STENCIL_FAIL: GLenum; + readonly STENCIL_FUNC: GLenum; + readonly STENCIL_INDEX: GLenum; + readonly STENCIL_INDEX8: GLenum; readonly STENCIL_PASS_DEPTH_FAIL: GLenum; readonly STENCIL_PASS_DEPTH_PASS: GLenum; readonly STENCIL_REF: GLenum; + readonly STENCIL_TEST: GLenum; readonly STENCIL_VALUE_MASK: GLenum; readonly STENCIL_WRITEMASK: GLenum; - readonly STENCIL_BACK_FUNC: GLenum; - readonly STENCIL_BACK_FAIL: GLenum; - readonly STENCIL_BACK_PASS_DEPTH_FAIL: GLenum; - readonly STENCIL_BACK_PASS_DEPTH_PASS: GLenum; - readonly STENCIL_BACK_REF: GLenum; - readonly STENCIL_BACK_VALUE_MASK: GLenum; - readonly STENCIL_BACK_WRITEMASK: GLenum; - readonly VIEWPORT: GLenum; - readonly SCISSOR_BOX: GLenum; - readonly COLOR_CLEAR_VALUE: GLenum; - readonly COLOR_WRITEMASK: GLenum; - readonly UNPACK_ALIGNMENT: GLenum; - readonly PACK_ALIGNMENT: GLenum; - readonly MAX_TEXTURE_SIZE: GLenum; - readonly MAX_VIEWPORT_DIMS: GLenum; + readonly STREAM_DRAW: GLenum; readonly SUBPIXEL_BITS: GLenum; - readonly RED_BITS: GLenum; - readonly GREEN_BITS: GLenum; - readonly BLUE_BITS: GLenum; - readonly ALPHA_BITS: GLenum; - readonly DEPTH_BITS: GLenum; - readonly STENCIL_BITS: GLenum; - readonly POLYGON_OFFSET_UNITS: GLenum; - readonly POLYGON_OFFSET_FACTOR: GLenum; - readonly TEXTURE_BINDING_2D: GLenum; - readonly SAMPLE_BUFFERS: GLenum; - readonly SAMPLES: GLenum; - readonly SAMPLE_COVERAGE_VALUE: GLenum; - readonly SAMPLE_COVERAGE_INVERT: GLenum; - readonly COMPRESSED_TEXTURE_FORMATS: GLenum; - readonly DONT_CARE: GLenum; - readonly FASTEST: GLenum; - readonly NICEST: GLenum; - readonly GENERATE_MIPMAP_HINT: GLenum; - readonly BYTE: GLenum; - readonly UNSIGNED_BYTE: GLenum; - readonly SHORT: GLenum; - readonly UNSIGNED_SHORT: GLenum; - readonly INT: GLenum; - readonly UNSIGNED_INT: GLenum; - readonly FLOAT: GLenum; - readonly DEPTH_COMPONENT: GLenum; - readonly ALPHA: GLenum; - readonly RGB: GLenum; - readonly RGBA: GLenum; - readonly LUMINANCE: GLenum; - readonly LUMINANCE_ALPHA: GLenum; - readonly UNSIGNED_SHORT_4_4_4_4: GLenum; - readonly UNSIGNED_SHORT_5_5_5_1: GLenum; - readonly UNSIGNED_SHORT_5_6_5: GLenum; - readonly FRAGMENT_SHADER: GLenum; - readonly VERTEX_SHADER: GLenum; - readonly MAX_VERTEX_ATTRIBS: GLenum; - readonly MAX_VERTEX_UNIFORM_VECTORS: GLenum; - readonly MAX_VARYING_VECTORS: GLenum; - readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: GLenum; - readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: GLenum; - readonly MAX_TEXTURE_IMAGE_UNITS: GLenum; - readonly MAX_FRAGMENT_UNIFORM_VECTORS: GLenum; - readonly SHADER_TYPE: GLenum; - readonly DELETE_STATUS: GLenum; - readonly LINK_STATUS: GLenum; - readonly VALIDATE_STATUS: GLenum; - readonly ATTACHED_SHADERS: GLenum; - readonly ACTIVE_UNIFORMS: GLenum; - readonly ACTIVE_ATTRIBUTES: GLenum; - readonly SHADING_LANGUAGE_VERSION: GLenum; - readonly CURRENT_PROGRAM: GLenum; - readonly NEVER: GLenum; - readonly LESS: GLenum; - readonly EQUAL: GLenum; - readonly LEQUAL: GLenum; - readonly GREATER: GLenum; - readonly NOTEQUAL: GLenum; - readonly GEQUAL: GLenum; - readonly ALWAYS: GLenum; - readonly KEEP: GLenum; - readonly REPLACE: GLenum; - readonly INCR: GLenum; - readonly DECR: GLenum; - readonly INVERT: GLenum; - readonly INCR_WRAP: GLenum; - readonly DECR_WRAP: GLenum; - readonly VENDOR: GLenum; - readonly RENDERER: GLenum; - readonly VERSION: GLenum; - readonly NEAREST: GLenum; - readonly LINEAR: GLenum; - readonly NEAREST_MIPMAP_NEAREST: GLenum; - readonly LINEAR_MIPMAP_NEAREST: GLenum; - readonly NEAREST_MIPMAP_LINEAR: GLenum; - readonly LINEAR_MIPMAP_LINEAR: GLenum; - readonly TEXTURE_MAG_FILTER: GLenum; - readonly TEXTURE_MIN_FILTER: GLenum; - readonly TEXTURE_WRAP_S: GLenum; - readonly TEXTURE_WRAP_T: GLenum; - readonly TEXTURE_2D: GLenum; readonly TEXTURE: GLenum; - readonly TEXTURE_CUBE_MAP: GLenum; + readonly TEXTURE_2D: GLenum; + readonly TEXTURE_BINDING_2D: GLenum; readonly TEXTURE_BINDING_CUBE_MAP: GLenum; - readonly TEXTURE_CUBE_MAP_POSITIVE_X: GLenum; + readonly TEXTURE_CUBE_MAP: GLenum; readonly TEXTURE_CUBE_MAP_NEGATIVE_X: GLenum; - readonly TEXTURE_CUBE_MAP_POSITIVE_Y: GLenum; readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: GLenum; - readonly TEXTURE_CUBE_MAP_POSITIVE_Z: GLenum; readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: GLenum; - readonly MAX_CUBE_MAP_TEXTURE_SIZE: GLenum; + readonly TEXTURE_CUBE_MAP_POSITIVE_X: GLenum; + readonly TEXTURE_CUBE_MAP_POSITIVE_Y: GLenum; + readonly TEXTURE_CUBE_MAP_POSITIVE_Z: GLenum; + readonly TEXTURE_MAG_FILTER: GLenum; + readonly TEXTURE_MIN_FILTER: GLenum; + readonly TEXTURE_WRAP_S: GLenum; + readonly TEXTURE_WRAP_T: GLenum; readonly TEXTURE0: GLenum; readonly TEXTURE1: GLenum; - readonly TEXTURE2: GLenum; - readonly TEXTURE3: GLenum; - readonly TEXTURE4: GLenum; - readonly TEXTURE5: GLenum; - readonly TEXTURE6: GLenum; - readonly TEXTURE7: GLenum; - readonly TEXTURE8: GLenum; - readonly TEXTURE9: GLenum; readonly TEXTURE10: GLenum; readonly TEXTURE11: GLenum; readonly TEXTURE12: GLenum; @@ -12426,6 +12499,7 @@ interface WebGLRenderingContextBase { readonly TEXTURE17: GLenum; readonly TEXTURE18: GLenum; readonly TEXTURE19: GLenum; + readonly TEXTURE2: GLenum; readonly TEXTURE20: GLenum; readonly TEXTURE21: GLenum; readonly TEXTURE22: GLenum; @@ -12433,141 +12507,107 @@ interface WebGLRenderingContextBase { readonly TEXTURE24: GLenum; readonly TEXTURE25: GLenum; readonly TEXTURE26: GLenum; - readonly TEXTURE27: GLenum; - readonly TEXTURE28: GLenum; - readonly TEXTURE29: GLenum; - readonly TEXTURE30: GLenum; - readonly TEXTURE31: GLenum; - readonly ACTIVE_TEXTURE: GLenum; - readonly REPEAT: GLenum; - readonly CLAMP_TO_EDGE: GLenum; - readonly MIRRORED_REPEAT: GLenum; - readonly FLOAT_VEC2: GLenum; - readonly FLOAT_VEC3: GLenum; - readonly FLOAT_VEC4: GLenum; - readonly INT_VEC2: GLenum; - readonly INT_VEC3: GLenum; - readonly INT_VEC4: GLenum; - readonly BOOL: GLenum; - readonly BOOL_VEC2: GLenum; - readonly BOOL_VEC3: GLenum; - readonly BOOL_VEC4: GLenum; - readonly FLOAT_MAT2: GLenum; - readonly FLOAT_MAT3: GLenum; - readonly FLOAT_MAT4: GLenum; - readonly SAMPLER_2D: GLenum; - readonly SAMPLER_CUBE: GLenum; - readonly VERTEX_ATTRIB_ARRAY_ENABLED: GLenum; - readonly VERTEX_ATTRIB_ARRAY_SIZE: GLenum; - readonly VERTEX_ATTRIB_ARRAY_STRIDE: GLenum; - readonly VERTEX_ATTRIB_ARRAY_TYPE: GLenum; - readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: GLenum; - readonly VERTEX_ATTRIB_ARRAY_POINTER: GLenum; - readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: GLenum; - readonly IMPLEMENTATION_COLOR_READ_TYPE: GLenum; - readonly IMPLEMENTATION_COLOR_READ_FORMAT: GLenum; - readonly COMPILE_STATUS: GLenum; - readonly LOW_FLOAT: GLenum; - readonly MEDIUM_FLOAT: GLenum; - readonly HIGH_FLOAT: GLenum; - readonly LOW_INT: GLenum; - readonly MEDIUM_INT: GLenum; - readonly HIGH_INT: GLenum; - readonly FRAMEBUFFER: GLenum; - readonly RENDERBUFFER: GLenum; - readonly RGBA4: GLenum; - readonly RGB5_A1: GLenum; - readonly RGB565: GLenum; - readonly DEPTH_COMPONENT16: GLenum; - readonly STENCIL_INDEX: GLenum; - readonly STENCIL_INDEX8: GLenum; - readonly DEPTH_STENCIL: GLenum; - readonly RENDERBUFFER_WIDTH: GLenum; - readonly RENDERBUFFER_HEIGHT: GLenum; - readonly RENDERBUFFER_INTERNAL_FORMAT: GLenum; - readonly RENDERBUFFER_RED_SIZE: GLenum; - readonly RENDERBUFFER_GREEN_SIZE: GLenum; - readonly RENDERBUFFER_BLUE_SIZE: GLenum; - readonly RENDERBUFFER_ALPHA_SIZE: GLenum; - readonly RENDERBUFFER_DEPTH_SIZE: GLenum; - readonly RENDERBUFFER_STENCIL_SIZE: GLenum; - readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: GLenum; - readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: GLenum; - readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: GLenum; - readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: GLenum; - readonly COLOR_ATTACHMENT0: GLenum; - readonly DEPTH_ATTACHMENT: GLenum; - readonly STENCIL_ATTACHMENT: GLenum; - readonly DEPTH_STENCIL_ATTACHMENT: GLenum; - readonly NONE: GLenum; - readonly FRAMEBUFFER_COMPLETE: GLenum; - readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: GLenum; - readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: GLenum; - readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: GLenum; - readonly FRAMEBUFFER_UNSUPPORTED: GLenum; - readonly FRAMEBUFFER_BINDING: GLenum; - readonly RENDERBUFFER_BINDING: GLenum; - readonly MAX_RENDERBUFFER_SIZE: GLenum; - readonly INVALID_FRAMEBUFFER_OPERATION: GLenum; + readonly TEXTURE27: GLenum; + readonly TEXTURE28: GLenum; + readonly TEXTURE29: GLenum; + readonly TEXTURE3: GLenum; + readonly TEXTURE30: GLenum; + readonly TEXTURE31: GLenum; + readonly TEXTURE4: GLenum; + readonly TEXTURE5: GLenum; + readonly TEXTURE6: GLenum; + readonly TEXTURE7: GLenum; + readonly TEXTURE8: GLenum; + readonly TEXTURE9: GLenum; + readonly TRIANGLE_FAN: GLenum; + readonly TRIANGLE_STRIP: GLenum; + readonly TRIANGLES: GLenum; + readonly UNPACK_ALIGNMENT: GLenum; + readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: GLenum; readonly UNPACK_FLIP_Y_WEBGL: GLenum; readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: GLenum; - readonly CONTEXT_LOST_WEBGL: GLenum; - readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: GLenum; - readonly BROWSER_DEFAULT_WEBGL: GLenum; -} - -interface ANGLE_instanced_arrays { - drawArraysInstancedANGLE(mode: GLenum, first: GLint, count: GLsizei, primcount: GLsizei): void; - drawElementsInstancedANGLE(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, primcount: GLsizei): void; - vertexAttribDivisorANGLE(index: GLuint, divisor: GLuint): void; - readonly VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: GLenum; -} - -interface EXT_frag_depth { -} - -interface EXT_texture_filter_anisotropic { - readonly TEXTURE_MAX_ANISOTROPY_EXT: GLenum; - readonly MAX_TEXTURE_MAX_ANISOTROPY_EXT: GLenum; -} - -interface OES_element_index_uint { -} - -interface OES_standard_derivatives { - readonly FRAGMENT_SHADER_DERIVATIVE_HINT_OES: GLenum; -} - -interface OES_texture_float { -} - -interface OES_texture_float_linear { -} - -interface OES_texture_half_float { - readonly HALF_FLOAT_OES: GLenum; + readonly UNSIGNED_BYTE: GLenum; + readonly UNSIGNED_INT: GLenum; + readonly UNSIGNED_SHORT: GLenum; + readonly UNSIGNED_SHORT_4_4_4_4: GLenum; + readonly UNSIGNED_SHORT_5_5_5_1: GLenum; + readonly UNSIGNED_SHORT_5_6_5: GLenum; + readonly VALIDATE_STATUS: GLenum; + readonly VENDOR: GLenum; + readonly VERSION: GLenum; + readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: GLenum; + readonly VERTEX_ATTRIB_ARRAY_ENABLED: GLenum; + readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: GLenum; + readonly VERTEX_ATTRIB_ARRAY_POINTER: GLenum; + readonly VERTEX_ATTRIB_ARRAY_SIZE: GLenum; + readonly VERTEX_ATTRIB_ARRAY_STRIDE: GLenum; + readonly VERTEX_ATTRIB_ARRAY_TYPE: GLenum; + readonly VERTEX_SHADER: GLenum; + readonly VIEWPORT: GLenum; + readonly ZERO: GLenum; } -interface OES_texture_half_float_linear { +interface WindowEventHandlersEventMap { + "afterprint": Event; + "beforeprint": Event; + "hashchange": HashChangeEvent; + "languagechange": Event; + "message": MessageEvent; + "messageerror": MessageEvent; + "offline": Event; + "online": Event; + "pagehide": PageTransitionEvent; + "pageshow": PageTransitionEvent; + "popstate": PopStateEvent; + "rejectionhandled": PromiseRejectionEvent; + "storage": StorageEvent; + "unhandledrejection": PromiseRejectionEvent; + "unload": Event; } -interface WEBGL_compressed_texture_s3tc { - readonly COMPRESSED_RGB_S3TC_DXT1_EXT: GLenum; - readonly COMPRESSED_RGBA_S3TC_DXT1_EXT: GLenum; - readonly COMPRESSED_RGBA_S3TC_DXT3_EXT: GLenum; - readonly COMPRESSED_RGBA_S3TC_DXT5_EXT: GLenum; +interface WindowEventHandlers { + onafterprint: (this: WindowEventHandlers, ev: Event) => any; + onbeforeprint: (this: WindowEventHandlers, ev: Event) => any; + onbeforeunload: OnBeforeUnloadEventHandler; + onhashchange: (this: WindowEventHandlers, ev: HashChangeEvent) => any; + onlanguagechange: (this: WindowEventHandlers, ev: Event) => any; + onmessage: (this: WindowEventHandlers, ev: MessageEvent) => any; + onmessageerror: (this: WindowEventHandlers, ev: MessageEvent) => any; + onoffline: (this: WindowEventHandlers, ev: Event) => any; + ononline: (this: WindowEventHandlers, ev: Event) => any; + onpagehide: (this: WindowEventHandlers, ev: PageTransitionEvent) => any; + onpageshow: (this: WindowEventHandlers, ev: PageTransitionEvent) => any; + onpopstate: (this: WindowEventHandlers, ev: PopStateEvent) => any; + onrejectionhandled: (this: WindowEventHandlers, ev: PromiseRejectionEvent) => any; + onstorage: (this: WindowEventHandlers, ev: StorageEvent) => any; + onunhandledrejection: (this: WindowEventHandlers, ev: PromiseRejectionEvent) => any; + onunload: (this: WindowEventHandlers, ev: Event) => any; + addEventListener(type: K, listener: (this: WindowEventHandlers, ev: WindowEventHandlersEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -interface WEBGL_debug_renderer_info { - readonly UNMASKED_VENDOR_WEBGL: GLenum; - readonly UNMASKED_RENDERER_WEBGL: GLenum; +interface WindowLocalStorage { + readonly localStorage: Storage; } -interface WEBGL_depth_texture { - readonly UNSIGNED_INT_24_8_WEBGL: GLenum; +interface WindowOrWorkerGlobalScope { + readonly caches: CacheStorage; + readonly origin: string; + atob(data: string): string; + btoa(data: string): string; + clearInterval(handle?: number): void; + clearTimeout(handle?: number): void; + createImageBitmap(image: ImageBitmapSource, options?: ImageBitmapOptions): Promise; + createImageBitmap(image: ImageBitmapSource, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise; + fetch(input: RequestInfo, init?: RequestInit): Promise; + setInterval(handler: (...args: any[]) => void, timeout: number): number; + setInterval(handler: any, timeout?: any, ...args: any[]): number; + setTimeout(handler: (...args: any[]) => void, timeout: number): number; + setTimeout(handler: any, timeout?: any, ...args: any[]): number; } -interface CSSPseudoElement extends Object, GeometryUtils, Animatable { +interface WindowSessionStorage { + readonly sessionStorage: Storage; } interface WorkerUtils extends Object, IDBEnvironment { @@ -12578,19 +12618,19 @@ declare namespace console { function clear(): void; function count(label?: string): void; function debug(...data: any[]): void; - function error(...data: any[]): void; - function info(...data: any[]): void; - function log(...data: any[]): void; - function table(tabularData: any, properties?: string[]): void; - function trace(...data: any[]): void; - function warn(...data: any[]): void; function dir(item: any, options?: any): void; function dirxml(...data: any[]): void; + function error(...data: any[]): void; function group(...data: any[]): void; function groupCollapsed(...data: any[]): void; function groupEnd(): void; + function info(...data: any[]): void; + function log(...data: any[]): void; + function table(tabularData: any, properties?: string[]): void; function time(label?: string): void; function timeEnd(label?: string): void; + function trace(...data: any[]): void; + function warn(...data: any[]): void; } interface BroadcastChannel extends EventTarget { @@ -12713,53 +12753,59 @@ interface AssignedNodesOptions { declare type EventListenerOrEventListenerObject = EventListener | EventListenerObject; -interface MutationCallback { - (mutations: MutationRecord[], observer: MutationObserver): void; -} -interface PositionCallback { - (position: Position): void; -} -interface PositionErrorCallback { - (positionError: PositionError): void; -} interface BlobCallback { (blob: Blob | null): void; } -interface FunctionStringCallback { - (data: string): void; +interface DecodeErrorCallback { + (error: Error): void; } -interface FrameRequestCallback { - (time: number): void; +interface DecodeSuccessCallback { + (decodedData: AudioBuffer): void; } interface EventHandlerNonNull { (event: Event): any; } -interface OnErrorEventHandlerNonNull { - (event: Event | string, source?: string, lineno?: number, colno?: number, error?: any): any; +interface FrameRequestCallback { + (time: number): void; } -interface OnBeforeUnloadEventHandlerNonNull { - (event: Event): string; +interface Function { + (...arguments: any[]): any; +} +interface FunctionStringCallback { + (data: string): void; +} +interface GenerateAssertionCallback { + (contents: string, origin: string, options: RTCIdentityProviderOptions): Promise; } interface IntersectionObserverCallback { (entries: IntersectionObserverEntry[], observer: IntersectionObserver): void; } -interface NavigatorUserMediaSuccessCallback { - (stream: MediaStream): void; +interface MutationCallback { + (mutations: MutationRecord[], observer: MutationObserver): void; } interface NavigatorUserMediaErrorCallback { (error: MediaStreamError): void; } +interface NavigatorUserMediaSuccessCallback { + (stream: MediaStream): void; +} interface NotificationPermissionCallback { (permission: NotificationPermission): void; } +interface OnBeforeUnloadEventHandlerNonNull { + (event: Event): string; +} +interface OnErrorEventHandlerNonNull { + (event: Event | string, source?: string, lineno?: number, colno?: number, error?: any): any; +} interface PerformanceObserverCallback { (entries: PerformanceObserverEntryList, observer: PerformanceObserver): void; } -interface DecodeErrorCallback { - (error: Error): void; +interface PositionCallback { + (position: Position): void; } -interface DecodeSuccessCallback { - (decodedData: AudioBuffer): void; +interface PositionErrorCallback { + (positionError: PositionError): void; } interface RTCPeerConnectionErrorCallback { (error: Error): void; @@ -12770,15 +12816,9 @@ interface RTCSessionDescriptionCallback { interface RTCStatsCallback { (report: RTCStatsReport): void; } -interface GenerateAssertionCallback { - (contents: string, origin: string, options: RTCIdentityProviderOptions): Promise; -} interface ValidateAssertionCallback { (assertion: string, origin: string): Promise; } -interface Function { - (...arguments: any[]): any; -} interface VoidFunction { (): void; } @@ -12792,82 +12832,86 @@ type ElementListTagNameMap = { [key in keyof ElementTagNameMap]: NodeListOf }; -declare var Image: { new(width?: number, height?: number): HTMLImageElement; }; declare var Audio: { new(src?: string): HTMLAudioElement; }; +declare var Image: { new(width?: number, height?: number): HTMLImageElement; }; declare var Option: { new(text?: string, value?: string, defaultSelected?: boolean, selected?: boolean): HTMLOptionElement; }; -declare var window: any; -declare var self: any; +declare var applicationCache: ApplicationCache; +declare var audioWorklet: Worklet; +declare var closed: boolean; +declare var customElements: CustomElementRegistry; +declare var devicePixelRatio: number; declare var document: Document; -declare const name: never; -declare var location: Location; +declare var external: External; +declare var frameElement: Element | null; +declare var frames: any; declare var history: History; -declare var customElements: CustomElementRegistry; +declare var innerHeight: number; +declare var innerWidth: number; +declare var length: number; +declare var location: Location; declare var locationbar: BarProp; declare var menubar: BarProp; -declare var personalbar: BarProp; -declare var scrollbars: BarProp; -declare var statusbar: BarProp; -declare var toolbar: BarProp; -declare var status: string; -declare var closed: boolean; -declare var frames: any; -declare var length: number; -declare var top: any; -declare var opener: any; -declare var parent: any; -declare var frameElement: Element | null; +declare const name: never; declare var navigator: Navigator; -declare var applicationCache: ApplicationCache; -declare var external: External; -declare var screen: Screen; -declare var innerWidth: number; -declare var innerHeight: number; -declare var scrollX: number; -declare var pageXOffset: number; -declare var scrollY: number; -declare var pageYOffset: number; -declare var screenX: number; -declare var screenY: number; -declare var outerWidth: number; +declare var ondevicemotion: (this: Window, ev: DeviceMotionEvent) => any; +declare var ondeviceorientation: (this: Window, ev: DeviceOrientationEvent) => any; +declare var opener: any; declare var outerHeight: number; -declare var devicePixelRatio: number; -declare var ondeviceorientation: (this: Window, ev: Event) => any; -declare var ondevicemotion: (this: Window, ev: Event) => any; -declare var audioWorklet: Worklet; -declare function close(): void; -declare function stop(): void; -declare function focus(): void; -declare function blur(): void; -declare function open(url?: string, target?: string, features?: string, replace?: boolean): Window; +declare var outerWidth: number; +declare var pageXOffset: number; +declare var pageYOffset: number; +declare var parent: any; +declare var personalbar: BarProp; +declare var screen: Screen; +declare var screenX: number; +declare var screenY: number; +declare var scrollbars: BarProp; +declare var scrollX: number; +declare var scrollY: number; +declare var self: any; +declare var status: string; +declare var statusbar: BarProp; +declare var toolbar: BarProp; +declare var top: any; +declare var window: any; declare function alert(message?: any): void; declare function alert(message?: any): void; -declare function confirm(message?: string): boolean; -declare function prompt(message?: string, _default?: string): string | null; -declare function print(): void; -declare function requestAnimationFrame(callback: FrameRequestCallback): number; +declare function blur(): void; declare function cancelAnimationFrame(handle: number): void; -declare function postMessage(message: any, targetOrigin: string, transfer?: any[]): void; declare function captureEvents(): void; -declare function releaseEvents(): void; -declare function getComputedStyle(elt: Element, pseudoElt?: string): CSSStyleDeclaration; +declare function close(): void; +declare function confirm(message?: string): boolean; +declare function focus(): void; +declare function getComputedStyle(elt: Element, pseudoElt?: CSSOMString): CSSStyleDeclaration; +declare function getSelection(): Selection | null; declare function matchMedia(query: string): MediaQueryList; -declare function moveTo(x: number, y: number): void; declare function moveBy(x: number, y: number): void; -declare function resizeTo(x: number, y: number): void; +declare function moveTo(x: number, y: number): void; +declare function open(url?: string, target?: string, features?: string, replace?: boolean): Window; +declare function postMessage(message: any, targetOrigin: string, transfer?: any[]): void; +declare function print(): void; +declare function prompt(message?: string, _default?: string): string | null; +declare function releaseEvents(): void; +declare function requestAnimationFrame(callback: FrameRequestCallback): number; declare function resizeBy(x: number, y: number): void; +declare function resizeTo(x: number, y: number): void; declare function scroll(options?: ScrollToOptions): void; declare function scroll(x: number, y: number): void; -declare function scrollTo(options?: ScrollToOptions): void; -declare function scrollTo(x: number, y: number): void; declare function scrollBy(options?: ScrollToOptions): void; declare function scrollBy(x: number, y: number): void; -declare function getSelection(): Selection | null; +declare function scrollTo(options?: ScrollToOptions): void; +declare function scrollTo(x: number, y: number): void; +declare function stop(): void; declare function createImageBitmap(image: HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | ImageData | Blob, options?: ImageBitmapOptions): Promise; declare function createImageBitmap(image: HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | ImageData | Blob, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise; declare function toString(): string; -declare function removeEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; declare function dispatchEvent(event: Event): boolean; +declare function removeEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; declare var onabort: (this: Window, ev: Event) => any; +declare var onanimationcancel: (this: Window, ev: AnimationEvent) => any; +declare var onanimationend: (this: Window, ev: AnimationEvent) => any; +declare var onanimationiteration: (this: Window, ev: AnimationEvent) => any; +declare var onanimationstart: (this: Window, ev: AnimationEvent) => any; declare var onauxclick: (this: Window, ev: MouseEvent) => any; declare var onblur: (this: Window, ev: Event) => any; declare var oncancel: (this: Window, ev: Event) => any; @@ -12909,10 +12953,17 @@ declare var onmousemove: (this: Window, ev: MouseEvent) => any; declare var onmouseout: (this: Window, ev: MouseEvent) => any; declare var onmouseover: (this: Window, ev: MouseEvent) => any; declare var onmouseup: (this: Window, ev: MouseEvent) => any; -declare var onwheel: (this: Window, ev: WheelEvent) => any; declare var onpause: (this: Window, ev: Event) => any; declare var onplay: (this: Window, ev: Event) => any; declare var onplaying: (this: Window, ev: Event) => any; +declare var onpointercancel: (this: Window, ev: PointerEvent) => any; +declare var onpointerdown: (this: Window, ev: PointerEvent) => any; +declare var onpointerenter: (this: Window, ev: PointerEvent) => any; +declare var onpointerleave: (this: Window, ev: PointerEvent) => any; +declare var onpointermove: (this: Window, ev: PointerEvent) => any; +declare var onpointerout: (this: Window, ev: PointerEvent) => any; +declare var onpointerover: (this: Window, ev: PointerEvent) => any; +declare var onpointerup: (this: Window, ev: PointerEvent) => any; declare var onprogress: (this: Window, ev: Event) => any; declare var onratechange: (this: Window, ev: Event) => any; declare var onreset: (this: Window, ev: Event) => any; @@ -12921,42 +12972,32 @@ declare var onscroll: (this: Window, ev: Event) => any; declare var onseeked: (this: Window, ev: Event) => any; declare var onseeking: (this: Window, ev: Event) => any; declare var onselect: (this: Window, ev: Event) => any; +declare var onselectionchange: (this: Window, ev: Event) => any; +declare var onselectstart: (this: Window, ev: Event) => any; declare var onshow: (this: Window, ev: RelatedEvent) => any; declare var onstalled: (this: Window, ev: Event) => any; declare var onsubmit: (this: Window, ev: Event) => any; declare var onsuspend: (this: Window, ev: Event) => any; declare var ontimeupdate: (this: Window, ev: Event) => any; declare var ontoggle: (this: Window, ev: Event) => any; -declare var onvolumechange: (this: Window, ev: Event) => any; -declare var onwaiting: (this: Window, ev: Event) => any; -declare var onanimationstart: (this: Window, ev: AnimationEvent) => any; -declare var onanimationiteration: (this: Window, ev: AnimationEvent) => any; -declare var onanimationend: (this: Window, ev: AnimationEvent) => any; -declare var onanimationcancel: (this: Window, ev: AnimationEvent) => any; -declare var ontransitionrun: (this: Window, ev: TransitionEvent) => any; -declare var ontransitionstart: (this: Window, ev: TransitionEvent) => any; -declare var ontransitionend: (this: Window, ev: TransitionEvent) => any; -declare var ontransitioncancel: (this: Window, ev: TransitionEvent) => any; -declare var onpointerdown: (this: Window, ev: Event) => any; -declare var onpointermove: (this: Window, ev: Event) => any; -declare var onpointerup: (this: Window, ev: Event) => any; -declare var onpointercancel: (this: Window, ev: Event) => any; -declare var onpointerover: (this: Window, ev: Event) => any; -declare var onpointerout: (this: Window, ev: Event) => any; -declare var onpointerenter: (this: Window, ev: Event) => any; -declare var onpointerleave: (this: Window, ev: Event) => any; -declare var onselectstart: (this: Window, ev: Event) => any; -declare var onselectionchange: (this: Window, ev: Event) => any; -declare var ontouchstart: (this: Window, ev: TouchEvent) => any; +declare var ontouchcancel: (this: Window, ev: TouchEvent) => any; declare var ontouchend: (this: Window, ev: TouchEvent) => any; declare var ontouchmove: (this: Window, ev: TouchEvent) => any; -declare var ontouchcancel: (this: Window, ev: TouchEvent) => any; +declare var ontouchstart: (this: Window, ev: TouchEvent) => any; +declare var ontransitioncancel: (this: Window, ev: TransitionEvent) => any; +declare var ontransitionend: (this: Window, ev: TransitionEvent) => any; +declare var ontransitionrun: (this: Window, ev: TransitionEvent) => any; +declare var ontransitionstart: (this: Window, ev: TransitionEvent) => any; +declare var onvolumechange: (this: Window, ev: Event) => any; +declare var onwaiting: (this: Window, ev: Event) => any; +declare var onwheel: (this: Window, ev: WheelEvent) => any; declare var onafterprint: (this: Window, ev: Event) => any; declare var onbeforeprint: (this: Window, ev: Event) => any; declare var onbeforeunload: OnBeforeUnloadEventHandler; declare var onhashchange: (this: Window, ev: HashChangeEvent) => any; declare var onlanguagechange: (this: Window, ev: Event) => any; declare var onmessage: (this: Window, ev: MessageEvent) => any; +declare var onmessageerror: (this: Window, ev: MessageEvent) => any; declare var onoffline: (this: Window, ev: Event) => any; declare var ononline: (this: Window, ev: Event) => any; declare var onpagehide: (this: Window, ev: PageTransitionEvent) => any; @@ -12966,19 +13007,19 @@ declare var onrejectionhandled: (this: Window, ev: PromiseRejectionEvent) => any declare var onstorage: (this: Window, ev: StorageEvent) => any; declare var onunhandledrejection: (this: Window, ev: PromiseRejectionEvent) => any; declare var onunload: (this: Window, ev: Event) => any; -declare var origin: string; declare var caches: CacheStorage; -declare function btoa(data: string): string; +declare var origin: string; declare function atob(data: string): string; -declare function setTimeout(handler: (...args: any[]) => void, timeout: number): number; -declare function setTimeout(handler: any, timeout?: any, ...args: any[]): number; -declare function clearTimeout(handle?: number): void; -declare function setInterval(handler: (...args: any[]) => void, timeout: number): number; -declare function setInterval(handler: any, timeout?: any, ...args: any[]): number; +declare function btoa(data: string): string; declare function clearInterval(handle?: number): void; +declare function clearTimeout(handle?: number): void; declare function createImageBitmap(image: ImageBitmapSource, options?: ImageBitmapOptions): Promise; declare function createImageBitmap(image: ImageBitmapSource, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise; declare function fetch(input: RequestInfo, init?: RequestInit): Promise; +declare function setInterval(handler: (...args: any[]) => void, timeout: number): number; +declare function setInterval(handler: any, timeout?: any, ...args: any[]): number; +declare function setTimeout(handler: (...args: any[]) => void, timeout: number): number; +declare function setTimeout(handler: any, timeout?: any, ...args: any[]): number; declare var sessionStorage: Storage; declare var localStorage: Storage; declare var performance: Performance; @@ -12987,7 +13028,8 @@ declare var crypto: Crypto; declare var speechSynthesis: SpeechSynthesis; declare function addEventListener(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, useCapture?: boolean): void; declare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -type GeometryNode = Text | Element | CSSPseudoElement | Document; +type AAGUID = BufferSource; +type CSSOMString = string; type HeadersInit = any[][] | any; type BodyInit = Blob | BufferSource | FormData | URLSearchParams | ReadableStream | string; type RequestInfo = Request | string; @@ -13012,7 +13054,7 @@ type ConstrainDOMString = string | string[] | ConstrainDOMStringParameters; type PerformanceEntryList = PerformanceEntry[]; type PushMessageDataInit = BufferSource | string; type AuthenticatorSelectionList = AAGUID[]; -type AAGUID = BufferSource; +type GeometryNode = Text | Element | CSSPseudoElement | Document; type AlgorithmIdentifier = any; type HashAlgorithmIdentifier = AlgorithmIdentifier; type BigInteger = Uint8Array; @@ -13040,106 +13082,107 @@ type DOMTimeStamp = number; type FormDataEntryValue = File | string; type IDBValidKey = number | string | Date | IDBArrayKey; type MouseWheelEvent = WheelEvent; -type ScrollBehavior = "auto" | "instant" | "smooth"; -type ScrollLogicalPosition = "start" | "center" | "end" | "nearest"; -type CSSBoxType = "margin" | "border" | "padding" | "content"; -type ShadowRootMode = "open" | "closed"; -type MediaKeysRequirement = "required" | "optional" | "not-allowed"; -type MediaKeySessionType = "temporary" | "persistent-license"; -type MediaKeyStatus = "usable" | "expired" | "released" | "output-restricted" | "output-downscaled" | "status-pending" | "internal-error"; -type MediaKeyMessageType = "license-request" | "license-renewal" | "license-release" | "individualization-request"; -type RequestType = "" | "audio" | "font" | "image" | "script" | "style" | "track" | "video"; -type RequestDestination = "" | "audio" | "document" | "embed" | "font" | "image" | "manifest" | "object" | "report" | "script" | "serviceworker" | "sharedworker" | "style" | "track" | "video" | "worker" | "xslt"; -type RequestMode = "navigate" | "same-origin" | "no-cors" | "cors"; -type RequestCredentials = "omit" | "same-origin" | "include"; -type RequestCache = "default" | "no-store" | "reload" | "no-cache" | "force-cache" | "only-if-cached"; -type RequestRedirect = "follow" | "error" | "manual"; -type ResponseType = "basic" | "cors" | "default" | "error" | "opaque" | "opaqueredirect"; -type GamepadMappingType = "" | "standard"; -type SensorState = "unconnected" | "activating" | "activated" | "idle" | "errored"; -type DocumentReadyState = "loading" | "interactive" | "complete"; +type AnimationPlayState = "idle" | "pending" | "running" | "paused" | "finished"; +type AppendMode = "segments" | "sequence"; +type Attachment = "platform" | "cross-platform"; +type AudioContextLatencyCategory = "balanced" | "interactive" | "playback"; +type AudioContextState = "suspended" | "running" | "closed"; +type BinaryType = "blob" | "arraybuffer"; +type BiquadFilterType = "lowpass" | "highpass" | "bandpass" | "lowshelf" | "highshelf" | "peaking" | "notch" | "allpass"; type CanPlayTypeResult = "" | "maybe" | "probably"; -type TextTrackMode = "disabled" | "hidden" | "showing"; -type TextTrackKind = "subtitles" | "captions" | "descriptions" | "chapters" | "metadata"; -type SelectionMode = "select" | "start" | "end" | "preserve"; +type CanvasDirection = "ltr" | "rtl" | "inherit"; type CanvasFillRule = "nonzero" | "evenodd"; -type ImageSmoothingQuality = "low" | "medium" | "high"; type CanvasLineCap = "butt" | "round" | "square"; type CanvasLineJoin = "round" | "bevel" | "miter"; type CanvasTextAlign = "start" | "end" | "left" | "right" | "center"; type CanvasTextBaseline = "top" | "hanging" | "middle" | "alphabetic" | "ideographic" | "bottom"; -type CanvasDirection = "ltr" | "rtl" | "inherit"; -type OffscreenRenderingContextType = "2d" | "webgl"; -type ScrollRestoration = "auto" | "manual"; -type ImageOrientation = "none" | "flipY"; -type PremultiplyAlpha = "none" | "premultiply" | "default"; +type ChannelCountMode = "max" | "clamped-max" | "explicit"; +type ChannelInterpretation = "speakers" | "discrete"; +type ClientType = "window" | "worker" | "sharedworker" | "all"; type ColorSpaceConversion = "none" | "default"; -type ResizeQuality = "pixelated" | "low" | "medium" | "high"; -type BinaryType = "blob" | "arraybuffer"; -type WorkerType = "classic" | "module"; -type RTCStatsType = "codec" | "inbound-rtp" | "outbound-rtp" | "peer-connection" | "data-channel" | "track" | "transport" | "candidate-pair" | "local-candidate" | "remote-candidate" | "certificate"; -type RTCStatsIceCandidatePairState = "frozen" | "waiting" | "inprogress" | "failed" | "succeeded" | "cancelled"; -type IDBTransactionMode = "readonly" | "readwrite" | "versionchange"; -type IDBRequestReadyState = "pending" | "done"; +type CompositeOperation = "replace" | "add" | "accumulate"; +type CSSBoxType = "margin" | "border" | "padding" | "content"; +type DistanceModelType = "linear" | "inverse" | "exponential"; +type DocumentReadyState = "loading" | "interactive" | "complete"; +type EndOfStreamError = "network" | "decode"; +type FillMode = "none" | "forwards" | "backwards" | "both" | "auto"; +type GamepadMappingType = "" | "standard"; type IDBCursorDirection = "next" | "nextunique" | "prev" | "prevunique"; -type MediaStreamTrackState = "live" | "ended"; -type VideoFacingModeEnum = "user" | "environment" | "left" | "right"; +type IDBRequestReadyState = "pending" | "done"; +type IDBTransactionMode = "readonly" | "readwrite" | "versionchange"; +type ImageOrientation = "none" | "flipY"; +type ImageSmoothingQuality = "low" | "medium" | "high"; +type IterationCompositeOperation = "replace" | "accumulate"; +type KeyFormat = "raw" | "spki" | "pkcs8" | "jwk"; +type KeyType = "public" | "private" | "secret"; +type KeyUsage = "encrypt" | "decrypt" | "sign" | "verify" | "deriveKey" | "deriveBits" | "wrapKey" | "unwrapKey"; type MediaDeviceKind = "audioinput" | "audiooutput" | "videoinput"; -type ReadyState = "closed" | "open" | "ended"; -type EndOfStreamError = "network" | "decode"; -type AppendMode = "segments" | "sequence"; +type MediaKeyMessageType = "license-request" | "license-renewal" | "license-release" | "individualization-request"; +type MediaKeySessionType = "temporary" | "persistent-license"; +type MediaKeysRequirement = "required" | "optional" | "not-allowed"; +type MediaKeyStatus = "usable" | "expired" | "released" | "output-restricted" | "output-downscaled" | "status-pending" | "internal-error"; +type MediaStreamTrackState = "live" | "ended"; type NavigationType = "navigate" | "reload" | "back_forward" | "prerender"; -type NotificationPermission = "default" | "denied" | "granted"; type NotificationDirection = "auto" | "ltr" | "rtl"; -type PaymentShippingType = "shipping" | "delivery" | "pickup"; +type NotificationPermission = "default" | "denied" | "granted"; +type OffscreenRenderingContextType = "2d" | "webgl"; +type OscillatorType = "sine" | "square" | "sawtooth" | "triangle" | "custom"; +type OverSampleType = "none" | "2x" | "4x"; +type PanningModelType = "equalpower" | "HRTF"; type PaymentComplete = "fail" | "success" | "unknown"; +type PaymentShippingType = "shipping" | "delivery" | "pickup"; +type PlaybackDirection = "normal" | "reverse" | "alternate" | "alternate-reverse"; +type PremultiplyAlpha = "none" | "premultiply" | "default"; type PushEncryptionKeyName = "p256dh" | "auth"; type PushPermissionState = "denied" | "granted" | "prompt"; -type ServiceWorkerState = "installing" | "installed" | "activating" | "activated" | "redundant"; -type ClientType = "window" | "worker" | "sharedworker" | "all"; -type AnimationPlayState = "idle" | "pending" | "running" | "paused" | "finished"; -type FillMode = "none" | "forwards" | "backwards" | "both" | "auto"; -type PlaybackDirection = "normal" | "reverse" | "alternate" | "alternate-reverse"; -type IterationCompositeOperation = "replace" | "accumulate"; -type CompositeOperation = "replace" | "add" | "accumulate"; -type AudioContextState = "suspended" | "running" | "closed"; -type AudioContextLatencyCategory = "balanced" | "interactive" | "playback"; -type ChannelCountMode = "max" | "clamped-max" | "explicit"; -type ChannelInterpretation = "speakers" | "discrete"; -type PanningModelType = "equalpower" | "HRTF"; -type DistanceModelType = "linear" | "inverse" | "exponential"; -type BiquadFilterType = "lowpass" | "highpass" | "bandpass" | "lowshelf" | "highshelf" | "peaking" | "notch" | "allpass"; -type OverSampleType = "none" | "2x" | "4x"; -type OscillatorType = "sine" | "square" | "sawtooth" | "triangle" | "custom"; -type Attachment = "platform" | "cross-platform"; -type ScopedCredentialType = "ScopedCred"; -type Transport = "usb" | "nfc" | "ble"; -type KeyType = "public" | "private" | "secret"; -type KeyUsage = "encrypt" | "decrypt" | "sign" | "verify" | "deriveKey" | "deriveBits" | "wrapKey" | "unwrapKey"; -type KeyFormat = "raw" | "spki" | "pkcs8" | "jwk"; -type SpeechRecognitionErrorCode = "no-speech" | "aborted" | "audio-capture" | "network" | "not-allowed" | "service-not-allowed" | "bad-grammar" | "language-not-supported"; -type SpeechSynthesisErrorCode = "canceled" | "interrupted" | "audio-busy" | "audio-hardware" | "network" | "synthesis-unavailable" | "synthesis-failed" | "language-unavailable" | "voice-unavailable" | "text-too-long" | "invalid-argument"; -type RTCIceCredentialType = "password" | "token"; -type RTCIceTransportPolicy = "relay" | "all"; +type ReadyState = "closed" | "open" | "ended"; +type RequestCache = "default" | "no-store" | "reload" | "no-cache" | "force-cache" | "only-if-cached"; +type RequestCredentials = "omit" | "same-origin" | "include"; +type RequestDestination = "" | "audio" | "document" | "embed" | "font" | "image" | "manifest" | "object" | "report" | "script" | "serviceworker" | "sharedworker" | "style" | "track" | "video" | "worker" | "xslt"; +type RequestMode = "navigate" | "same-origin" | "no-cors" | "cors"; +type RequestRedirect = "follow" | "error" | "manual"; +type RequestType = "" | "audio" | "font" | "image" | "script" | "style" | "track" | "video"; +type ResizeQuality = "pixelated" | "low" | "medium" | "high"; +type ResponseType = "basic" | "cors" | "default" | "error" | "opaque" | "opaqueredirect"; type RTCBundlePolicy = "balanced" | "max-compat" | "max-bundle"; -type RTCRtcpMuxPolicy = "negotiate" | "require"; -type RTCSignalingState = "stable" | "have-local-offer" | "have-remote-offer" | "have-local-pranswer" | "have-remote-pranswer"; -type RTCIceGatheringState = "new" | "gathering" | "complete"; -type RTCPeerConnectionState = "new" | "connecting" | "connected" | "disconnected" | "failed" | "closed"; +type RTCDataChannelState = "connecting" | "open" | "closing" | "closed"; +type RTCDegradationPreference = "maintain-framerate" | "maintain-resolution" | "balanced"; +type RTCDtlsTransportState = "new" | "connecting" | "connected" | "closed" | "failed"; +type RTCDtxStatus = "disabled" | "enabled"; +type RTCIceCandidateType = "host" | "srflx" | "prflx" | "relay"; +type RTCIceComponent = "rtp" | "rtcp"; type RTCIceConnectionState = "new" | "checking" | "connected" | "completed" | "failed" | "disconnected" | "closed"; -type RTCSdpType = "offer" | "pranswer" | "answer" | "rollback"; +type RTCIceCredentialType = "password" | "token"; +type RTCIceGathererState = "new" | "gathering" | "complete"; +type RTCIceGatheringState = "new" | "gathering" | "complete"; type RTCIceProtocol = "udp" | "tcp"; +type RTCIceRole = "controlling" | "controlled"; type RTCIceTcpCandidateType = "active" | "passive" | "so"; -type RTCIceCandidateType = "host" | "srflx" | "prflx" | "relay"; +type RTCIceTransportPolicy = "relay" | "all"; +type RTCIceTransportState = "new" | "checking" | "connected" | "completed" | "failed" | "disconnected" | "closed"; +type RTCPeerConnectionState = "new" | "connecting" | "connected" | "disconnected" | "failed" | "closed"; type RTCPriorityType = "very-low" | "low" | "medium" | "high"; +type RTCRtcpMuxPolicy = "negotiate" | "require"; type RTCRtpTransceiverDirection = "sendrecv" | "sendonly" | "recvonly" | "inactive"; -type RTCDtxStatus = "disabled" | "enabled"; -type RTCDegradationPreference = "maintain-framerate" | "maintain-resolution" | "balanced"; -type RTCDtlsTransportState = "new" | "connecting" | "connected" | "closed" | "failed"; -type RTCIceGathererState = "new" | "gathering" | "complete"; -type RTCIceTransportState = "new" | "checking" | "connected" | "completed" | "failed" | "disconnected" | "closed"; -type RTCIceRole = "controlling" | "controlled"; -type RTCIceComponent = "rtp" | "rtcp"; -type RTCDataChannelState = "connecting" | "open" | "closing" | "closed"; +type RTCSdpType = "offer" | "pranswer" | "answer" | "rollback"; +type RTCSignalingState = "stable" | "have-local-offer" | "have-remote-offer" | "have-local-pranswer" | "have-remote-pranswer"; +type RTCStatsIceCandidatePairState = "frozen" | "waiting" | "inprogress" | "failed" | "succeeded" | "cancelled"; +type RTCStatsType = "codec" | "inbound-rtp" | "outbound-rtp" | "peer-connection" | "data-channel" | "track" | "transport" | "candidate-pair" | "local-candidate" | "remote-candidate" | "certificate"; +type ScopedCredentialType = "ScopedCred"; +type ScrollBehavior = "auto" | "instant" | "smooth"; +type ScrollLogicalPosition = "start" | "center" | "end" | "nearest"; +type ScrollRestoration = "auto" | "manual"; +type SelectionMode = "select" | "start" | "end" | "preserve"; +type SensorState = "unconnected" | "activating" | "activated" | "idle" | "errored"; +type ServiceWorkerState = "installing" | "installed" | "activating" | "activated" | "redundant"; +type ShadowRootMode = "open" | "closed"; +type SpeechRecognitionErrorCode = "no-speech" | "aborted" | "audio-capture" | "network" | "not-allowed" | "service-not-allowed" | "bad-grammar" | "language-not-supported"; +type SpeechSynthesisErrorCode = "canceled" | "interrupted" | "audio-busy" | "audio-hardware" | "network" | "synthesis-unavailable" | "synthesis-failed" | "language-unavailable" | "voice-unavailable" | "text-too-long" | "invalid-argument"; +type TextTrackKind = "subtitles" | "captions" | "descriptions" | "chapters" | "metadata"; +type TextTrackMode = "disabled" | "hidden" | "showing"; +type TouchType = "direct" | "stylus"; +type Transport = "usb" | "nfc" | "ble"; +type VideoFacingModeEnum = "user" | "environment" | "left" | "right"; type WebGLPowerPreference = "default" | "low-power" | "high-performance"; +type WorkerType = "classic" | "module"; type XMLHttpRequestResponseType = "" | "arraybuffer" | "blob" | "document" | "json" | "text"; \ No newline at end of file diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index 63b3fd341..b9b6f5416 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -3,6 +3,29 @@ /// Worker APIs ///////////////////////////// +interface Algorithm { + name: string; +} + +interface CacheQueryOptions { + cacheName?: string; + ignoreMethod?: boolean; + ignoreSearch?: boolean; + ignoreVary?: boolean; +} + +interface ClientQueryOptions { + includeReserved?: boolean; + includeUncontrolled?: boolean; + type?: ClientType; +} + +interface CloseEventInit extends EventInit { + code?: number; + reason?: string; + wasClean?: boolean; +} + interface EventInit { scoped?: boolean; bubbles?: boolean; @@ -10,131 +33,108 @@ interface EventInit { composed?: boolean; } -interface RequestInit { - method?: any; - headers?: HeadersInit; - body?: BodyInit | null; - referrer?: string; - referrerPolicy?: any; - mode?: RequestMode; - credentials?: RequestCredentials; - cache?: RequestCache; - redirect?: RequestRedirect; - integrity?: string; - keepalive?: boolean; - window?: any; -} - -interface ResponseInit { - status?: number; - statusText?: any; - headers?: HeadersInit; +interface ExtendableEventInit extends EventInit { } -interface MessageEventInit extends EventInit { - channel?: string; +interface ExtendableMessageEventInit extends ExtendableEventInit { data?: any; - origin?: string; lastEventId?: string; - source?: MessageEventSource | null; + origin?: string; ports?: MessagePort[]; + source?: Client | ServiceWorker | MessagePort | null; } -interface CloseEventInit extends EventInit { - wasClean?: boolean; - code?: number; - reason?: string; +interface FetchEventInit extends ExtendableEventInit { + clientId?: string; + preloadResponse: Promise; + request: Request; + reservedClientId?: string; + targetClientId?: string; } -interface IDBObjectStoreParameters { - keyPath?: string | string[] | null; - autoIncrement?: boolean; +interface GetNotificationOptions { + tag?: string; } interface IDBIndexParameters { - unique?: boolean; multiEntry?: boolean; + unique?: boolean; } -interface NotificationOptions { - dir?: NotificationDirection; - lang?: string; - body?: string; - tag?: string; - image?: string; - icon?: string; - badge?: string; - sound?: string; - vibrate?: any; - timestamp?: number; - renotify?: boolean; - silent?: boolean; - requireInteraction?: boolean; - data?: any; - actions?: NotificationAction[]; +interface IDBObjectStoreParameters { + autoIncrement?: boolean; + keyPath?: string | string[] | null; } -interface GetNotificationOptions { - tag?: string; +interface KeyAlgorithm { + name: string; +} + +interface MessageEventInit extends EventInit { + channel?: string; + data?: any; + lastEventId?: string; + origin?: string; + ports?: MessagePort[]; + source?: MessageEventSource | null; } interface NotificationEventInit extends ExtendableEventInit { - notification: Notification; action?: string; + notification: Notification; } -interface PushSubscriptionOptionsInit { - userVisibleOnly?: boolean; - applicationServerKey?: BufferSource | string | null; +interface NotificationOptions { + actions?: NotificationAction[]; + badge?: string; + body?: string; + data?: any; + dir?: NotificationDirection; + icon?: string; + image?: string; + lang?: string; + renotify?: boolean; + requireInteraction?: boolean; + silent?: boolean; + sound?: string; + tag?: string; + timestamp?: number; + vibrate?: any; } interface PushEventInit extends ExtendableEventInit { data?: PushMessageDataInit; } -interface ClientQueryOptions { - includeUncontrolled?: boolean; - includeReserved?: boolean; - type?: ClientType; -} - -interface ExtendableEventInit extends EventInit { -} - -interface FetchEventInit extends ExtendableEventInit { - request: Request; - preloadResponse: Promise; - clientId?: string; - reservedClientId?: string; - targetClientId?: string; +interface PushSubscriptionOptionsInit { + applicationServerKey?: BufferSource | string | null; + userVisibleOnly?: boolean; } -interface ExtendableMessageEventInit extends ExtendableEventInit { - data?: any; - origin?: string; - lastEventId?: string; - source?: Client | ServiceWorker | MessagePort | null; - ports?: MessagePort[]; +interface RequestInit { + body?: BodyInit | null; + cache?: RequestCache; + credentials?: RequestCredentials; + headers?: HeadersInit; + integrity?: string; + keepalive?: boolean; + method?: any; + mode?: RequestMode; + redirect?: RequestRedirect; + referrer?: string; + referrerPolicy?: any; + window?: any; } -interface CacheQueryOptions { - ignoreSearch?: boolean; - ignoreMethod?: boolean; - ignoreVary?: boolean; - cacheName?: string; +interface ResponseInit { + headers?: HeadersInit; + status?: number; + statusText?: any; } interface SyncEventInit extends ExtendableEventInit { - tag: string; lastChance?: boolean; -} - -interface Algorithm { - name: string; -} - -interface KeyAlgorithm { - name: string; + tag: string; } interface ClientQueryOptions { @@ -181,123 +181,158 @@ interface NodeFilter { (evt: Event): void; } -interface Event { - readonly type: string; - readonly target: EventTarget | null; - readonly currentTarget: EventTarget | null; - readonly eventPhase: number; - cancelBubble: boolean; - readonly bubbles: boolean; - readonly cancelable: boolean; - readonly defaultPrevented: boolean; - readonly composed: boolean; - readonly isTrusted: boolean; - readonly timeStamp: number; - readonly scoped: boolean; - composedPath(): EventTarget[]; - stopPropagation(): void; - stopImmediatePropagation(): void; - preventDefault(): void; - initEvent(type: string, bubbles?: boolean, cancelable?: boolean): void; - deepPath(): EventTarget[]; - readonly NONE: number; - readonly CAPTURING_PHASE: number; - readonly AT_TARGET: number; - readonly BUBBLING_PHASE: number; +interface AudioBuffer { + readonly duration: number; + readonly length: number; + readonly numberOfChannels: number; + readonly sampleRate: number; + copyFromChannel(destination: Float32Array, channelNumber: number, startInChannel?: number): void; + copyToChannel(source: Float32Array, channelNumber: number, startInChannel?: number): void; + getChannelData(channel: number): Float32Array; } -declare var Event: { - prototype: Event; - new(type: string, eventInitDict?: EventInit): Event; - readonly NONE: number; - readonly CAPTURING_PHASE: number; - readonly AT_TARGET: number; - readonly BUBBLING_PHASE: number; +declare var AudioBuffer: { + prototype: AudioBuffer; + new(options: AudioBufferOptions): AudioBuffer; }; -interface EventTarget { - addEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; - removeEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; - dispatchEvent(event: Event): boolean; +interface Blob { + readonly isClosed: boolean; + readonly size: number; + readonly type: string; + close(): void; + slice(start?: number, end?: number, contentType?: string): Blob; } -declare var EventTarget: { - prototype: EventTarget; - new(): EventTarget; +declare var Blob: { + prototype: Blob; + new (blobParts?: any[], options?: BlobPropertyBag): Blob; }; -interface Headers { - append(name: any, value: any): void; - delete(name: any): void; - get(name: any): any; - has(name: any): boolean; - set(name: any, value: any): void; +interface Cache { + add(request: RequestInfo): Promise; + addAll(requests: RequestInfo[]): Promise; + delete(request: RequestInfo, options?: CacheQueryOptions): Promise; + keys(request?: RequestInfo, options?: CacheQueryOptions): Promise; + match(request: RequestInfo, options?: CacheQueryOptions): Promise; + matchAll(request?: RequestInfo, options?: CacheQueryOptions): Promise; + put(request: RequestInfo, response: Response): Promise; } -declare var Headers: { - prototype: Headers; - new(init?: Headers | string[][] | object): Headers; +declare var Cache: { + prototype: Cache; + new(): Cache; }; -interface Request extends Object, Body { - readonly method: any; - readonly url: string; - readonly headers: Headers; - readonly type: RequestType; - readonly destination: RequestDestination; - readonly referrer: string; - readonly referrerPolicy: any; - readonly mode: RequestMode; - readonly credentials: RequestCredentials; - readonly cache: RequestCache; - readonly redirect: RequestRedirect; - readonly integrity: string; - readonly keepalive: boolean; - clone(): Request; +interface CacheStorage { + delete(cacheName: string): Promise; + has(cacheName: string): Promise; + keys(): Promise; + match(request: RequestInfo, options?: CacheQueryOptions): Promise; + open(cacheName: string): Promise; } -declare var Request: { - prototype: Request; - new(input: RequestInfo, init?: RequestInit): Request; +declare var CacheStorage: { + prototype: CacheStorage; + new(): CacheStorage; }; -interface Response extends Object, Body { - readonly type: ResponseType; - readonly url: string; - readonly redirected: boolean; - readonly status: number; - readonly ok: boolean; - readonly statusText: any; - readonly headers: Headers; - readonly trailer: Promise; - clone(): Response; +interface CloseEvent extends Event { + readonly code: number; + readonly reason: string; + readonly wasClean: boolean; } -declare var Response: { - prototype: Response; - new(body?: any, init?: ResponseInit): Response; - error: () => Response; - redirect: (url: string, status?: number) => Response; - error(): Response; - redirect(url: string, status?: number): Response; +declare var CloseEvent: { + prototype: CloseEvent; + new(type: string, eventInitDict?: CloseEventInit): CloseEvent; }; -interface Blob { - readonly size: number; +interface CryptoKey { + readonly algorithm: any; + readonly extractable: boolean; + readonly type: KeyType; + readonly usages: any; +} + +declare var CryptoKey: { + prototype: CryptoKey; + new(): CryptoKey; +}; + +interface DOMStringList { + readonly length: number; + contains(string: string): boolean; + item(index: number): string | null; + [index: number]: string; +} + +declare var DOMStringList: { + prototype: DOMStringList; + new(): DOMStringList; +}; + +interface ErrorEvent extends Event { + readonly colno: number; + readonly error: any; + readonly filename: string; + readonly lineno: number; + readonly message: string; +} + +declare var ErrorEvent: { + prototype: ErrorEvent; + new(type: string, errorEventInitDict?: ErrorEventInit): ErrorEvent; +}; + +interface Event { + readonly bubbles: boolean; + readonly cancelable: boolean; + cancelBubble: boolean; + readonly composed: boolean; + readonly currentTarget: EventTarget | null; + readonly defaultPrevented: boolean; + readonly eventPhase: number; + readonly isTrusted: boolean; + readonly target: EventTarget | null; + readonly timeStamp: number; readonly type: string; - readonly isClosed: boolean; - slice(start?: number, end?: number, contentType?: string): Blob; - close(): void; + readonly scoped: boolean; + composedPath(): EventTarget[]; + initEvent(type: string, bubbles?: boolean, cancelable?: boolean): void; + preventDefault(): void; + stopImmediatePropagation(): void; + stopPropagation(): void; + deepPath(): EventTarget[]; + readonly AT_TARGET: number; + readonly BUBBLING_PHASE: number; + readonly CAPTURING_PHASE: number; + readonly NONE: number; } -declare var Blob: { - prototype: Blob; - new (blobParts?: any[], options?: BlobPropertyBag): Blob; +declare var Event: { + prototype: Event; + new(type: string, eventInitDict?: EventInit): Event; + readonly AT_TARGET: number; + readonly BUBBLING_PHASE: number; + readonly CAPTURING_PHASE: number; + readonly NONE: number; +}; + +interface EventTarget { + addEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + dispatchEvent(event: Event): boolean; + removeEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var EventTarget: { + prototype: EventTarget; + new(): EventTarget; }; interface File extends Blob { - readonly name: string; readonly lastModified: number; + readonly name: string; } declare var File: { @@ -317,31 +352,31 @@ declare var FileList: { }; interface FileReaderEventMap { - "loadstart": ProgressEvent; - "progress": ProgressEvent; - "load": ProgressEvent; "abort": ProgressEvent; "error": ProgressEvent; + "load": ProgressEvent; "loadend": ProgressEvent; + "loadstart": ProgressEvent; + "progress": ProgressEvent; } interface FileReader extends EventTarget { - readonly readyState: number; - readonly result: string | ArrayBuffer | null; readonly error: any; - onloadstart: (this: FileReader, ev: ProgressEvent) => any; - onprogress: (this: FileReader, ev: ProgressEvent) => any; - onload: (this: FileReader, ev: ProgressEvent) => any; onabort: (this: FileReader, ev: ProgressEvent) => any; onerror: (this: FileReader, ev: ProgressEvent) => any; + onload: (this: FileReader, ev: ProgressEvent) => any; onloadend: (this: FileReader, ev: ProgressEvent) => any; + onloadstart: (this: FileReader, ev: ProgressEvent) => any; + onprogress: (this: FileReader, ev: ProgressEvent) => any; + readonly readyState: number; + readonly result: string | ArrayBuffer | null; + abort(): void; readAsArrayBuffer(blob: Blob): void; - readAsText(blob: Blob, label?: string): void; readAsDataURL(blob: Blob): void; - abort(): void; + readAsText(blob: Blob, label?: string): void; + readonly DONE: number; readonly EMPTY: number; readonly LOADING: number; - readonly DONE: number; addEventListener(type: K, listener: (this: FileReader, ev: FileReaderEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } @@ -349,231 +384,168 @@ interface FileReader extends EventTarget { declare var FileReader: { prototype: FileReader; new(): FileReader; + readonly DONE: number; readonly EMPTY: number; readonly LOADING: number; - readonly DONE: number; }; -interface PerformanceEventMap { - "resourcetimingbufferfull": Event; -} - -interface Performance extends EventTarget { - readonly timing: PerformanceTiming; - readonly navigation: PerformanceNavigation; - onresourcetimingbufferfull: (this: Performance, ev: Event) => any; - now(): number; - getEntries(): PerformanceEntryList; - getEntriesByType(type: string): PerformanceEntryList; - getEntriesByName(name: string, type?: string): PerformanceEntryList; - clearResourceTimings(): void; - setResourceTimingBufferSize(maxSize: number): void; - mark(markName: string): void; - clearMarks(markName?: string): void; - measure(measureName: string, startMark?: string, endMark?: string): void; - clearMeasures(measureName?: string): void; - addEventListener(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface FormData { + append(name: string, value: string | Blob, fileName?: string): void; + append(name: string, value: string | Blob, fileName?: string): void; + delete(name: string): void; + get(name: string): FormDataEntryValue | null; + getAll(name: string): FormDataEntryValue[]; + has(name: string): boolean; + set(name: string, value: string): void; + set(name: string, blobValue: Blob, filename?: string): void; } -declare var Performance: { - prototype: Performance; - new(): Performance; +declare var FormData: { + prototype: FormData; + new(form?: HTMLFormElement): FormData; }; -interface DOMStringList { - readonly length: number; - item(index: number): string | null; - contains(string: string): boolean; - [index: number]: string; +interface Headers { + append(name: any, value: any): void; + delete(name: any): void; + get(name: any): any; + has(name: any): boolean; + set(name: any, value: any): void; } -declare var DOMStringList: { - prototype: DOMStringList; - new(): DOMStringList; +declare var Headers: { + prototype: Headers; + new(init?: Headers | string[][] | object): Headers; }; -interface ImageData { - readonly width: number; - readonly height: number; - data: Uint8ClampedArray; +interface IDBCursor { + readonly direction: IDBCursorDirection; + key: IDBKeyRange | IDBValidKey; + readonly primaryKey: any; + source: IDBObjectStore | IDBIndex; + advance(count: number): void; + continue(key?: IDBKeyRange | IDBValidKey): void; + delete(): IDBRequest; + update(value: any): IDBRequest; } -declare var ImageData: { - prototype: ImageData; - new(width: number, height: number): ImageData; - new(array: Uint8ClampedArray, width: number, height: number): ImageData; +declare var IDBCursor: { + prototype: IDBCursor; + new(): IDBCursor; }; -interface ErrorEvent extends Event { - readonly message: string; - readonly filename: string; - readonly lineno: number; - readonly colno: number; - readonly error: any; +interface IDBCursorWithValue extends IDBCursor { + readonly value: any; } -declare var ErrorEvent: { - prototype: ErrorEvent; - new(type: string, errorEventInitDict?: ErrorEventInit): ErrorEvent; +declare var IDBCursorWithValue: { + prototype: IDBCursorWithValue; + new(): IDBCursorWithValue; }; -interface MessageEvent extends Event { - readonly data: any; - readonly origin: string; - readonly lastEventId: string; - readonly source: MessageEventSource | null; - readonly ports: ReadonlyArray; - initMessageEvent(type: string, bubbles?: boolean, cancelable?: boolean, data?: any, origin?: string, lastEventId?: string, source?: MessageEventSource, ports?: MessagePort[]): void; +interface IDBDatabaseEventMap { + "abort": Event; + "error": Event; + "versionchange": IDBVersionChangeEvent; } -declare var MessageEvent: { - prototype: MessageEvent; - new(type: string, eventInitDict?: MessageEventInit): MessageEvent; -}; - -interface WebSocketEventMap { - "open": Event; - "error": ErrorEvent; - "close": Event; - "message": MessageEvent; -} - -interface WebSocket extends EventTarget { - readonly url: string; - readonly readyState: number; - readonly bufferedAmount: number; - onopen: (this: WebSocket, ev: Event) => any; - onerror: (this: WebSocket, ev: ErrorEvent) => any; - onclose: (this: WebSocket, ev: Event) => any; - readonly extensions: string; - readonly protocol: string; - onmessage: (this: WebSocket, ev: MessageEvent) => any; - binaryType: BinaryType; - close(code?: number, reason?: string): void; - send(data: string): void; - send(data: Blob): void; - send(data: ArrayBuffer): void; - send(data: ArrayBufferView): void; - readonly CONNECTING: number; - readonly OPEN: number; - readonly CLOSING: number; - readonly CLOSED: number; - addEventListener(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, useCapture?: boolean): void; +interface IDBDatabase extends EventTarget { + readonly name: string; + readonly objectStoreNames: DOMStringList; + onabort: (this: IDBDatabase, ev: Event) => any; + onerror: (this: IDBDatabase, ev: Event) => any; + onversionchange: (this: IDBDatabase, ev: IDBVersionChangeEvent) => any; + version: number; + close(): void; + createObjectStore(name: string, optionalParameters?: IDBObjectStoreParameters): IDBObjectStore; + deleteObjectStore(name: string): void; + transaction(storeNames: string | string[], mode?: IDBTransactionMode): IDBTransaction; + addEventListener(type: "versionchange", listener: (ev: IDBVersionChangeEvent) => any, useCapture?: boolean): void; + addEventListener(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var WebSocket: { - prototype: WebSocket; - new(url: string, protocols?: string | string[]): WebSocket; - readonly CONNECTING: number; - readonly OPEN: number; - readonly CLOSING: number; - readonly CLOSED: number; -}; - -interface CloseEvent extends Event { - readonly wasClean: boolean; - readonly code: number; - readonly reason: string; -} - -declare var CloseEvent: { - prototype: CloseEvent; - new(type: string, eventInitDict?: CloseEventInit): CloseEvent; -}; - -interface MessageChannel { - readonly port1: MessagePort; - readonly port2: MessagePort; -} - -declare var MessageChannel: { - prototype: MessageChannel; - new(): MessageChannel; +declare var IDBDatabase: { + prototype: IDBDatabase; + new(): IDBDatabase; }; -interface MessagePortEventMap { - "message": MessageEvent; -} - -interface MessagePort extends EventTarget { - onmessage: (this: MessagePort, ev: MessageEvent) => any; - postMessage(message: any, transfer?: any[]): void; - start(): void; - close(): void; - addEventListener(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface IDBFactory { + cmp(first: any, second: any): number; + deleteDatabase(name: string): IDBOpenDBRequest; + open(name: string, version?: number): IDBOpenDBRequest; } -declare var MessagePort: { - prototype: MessagePort; - new(): MessagePort; +declare var IDBFactory: { + prototype: IDBFactory; + new(): IDBFactory; }; -interface WorkerEventMap extends AbstractWorkerEventMap { - "message": MessageEvent; -} - -interface Worker extends EventTarget, AbstractWorker { - onmessage: (this: Worker, ev: MessageEvent) => any; - terminate(): void; - postMessage(message: any, transfer?: any[]): void; - addEventListener(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface IDBIndex { + keyPath: string | string[]; + readonly multiEntry: boolean; + readonly name: string; + readonly objectStore: IDBObjectStore; + readonly unique: boolean; + count(key?: IDBKeyRange | IDBValidKey): IDBRequest; + get(key: IDBKeyRange | IDBValidKey): IDBRequest; + getKey(key: IDBKeyRange | IDBValidKey): IDBRequest; + openCursor(range?: IDBKeyRange | IDBValidKey, direction?: IDBCursorDirection): IDBRequest; + openKeyCursor(range?: IDBKeyRange | IDBValidKey, direction?: IDBCursorDirection): IDBRequest; } -declare var Worker: { - prototype: Worker; - new(scriptURL: string, options?: WorkerOptions): Worker; +declare var IDBIndex: { + prototype: IDBIndex; + new(): IDBIndex; }; interface IDBKeyRange { readonly lower: any; - readonly upper: any; readonly lowerOpen: boolean; + readonly upper: any; readonly upperOpen: boolean; } declare var IDBKeyRange: { prototype: IDBKeyRange; new(): IDBKeyRange; - only(value: any): IDBKeyRange; + bound(lower: any, upper: any, lowerOpen?: boolean, upperOpen?: boolean): IDBKeyRange; lowerBound(lower: any, open?: boolean): IDBKeyRange; + only(value: any): IDBKeyRange; upperBound(upper: any, open?: boolean): IDBKeyRange; - bound(lower: any, upper: any, lowerOpen?: boolean, upperOpen?: boolean): IDBKeyRange; }; -interface IDBRequestEventMap { - "success": Event; - "error": ErrorEvent; -} - -interface IDBRequest extends EventTarget { - readonly result: any; - readonly error: DOMException; - source: IDBObjectStore | IDBIndex | IDBCursor; +interface IDBObjectStore { + readonly autoIncrement: boolean; + readonly indexNames: DOMStringList; + keyPath: string | string[]; + readonly name: string; readonly transaction: IDBTransaction; - readonly readyState: IDBRequestReadyState; - onsuccess: (this: IDBRequest, ev: Event) => any; - onerror: (this: IDBRequest, ev: ErrorEvent) => any; - addEventListener(type: K, listener: (this: IDBRequest, ev: IDBRequestEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + add(value: any, key?: IDBKeyRange | IDBValidKey): IDBRequest; + clear(): IDBRequest; + count(key?: IDBKeyRange | IDBValidKey): IDBRequest; + createIndex(name: string, keyPath: string | string[], optionalParameters?: IDBIndexParameters): IDBIndex; + delete(key: IDBKeyRange | IDBValidKey): IDBRequest; + deleteIndex(indexName: string): void; + get(key: any): IDBRequest; + index(name: string): IDBIndex; + openCursor(range?: IDBKeyRange | IDBValidKey, direction?: IDBCursorDirection): IDBRequest; + put(value: any, key?: IDBKeyRange | IDBValidKey): IDBRequest; } -declare var IDBRequest: { - prototype: IDBRequest; - new(): IDBRequest; +declare var IDBObjectStore: { + prototype: IDBObjectStore; + new(): IDBObjectStore; }; interface IDBOpenDBRequestEventMap extends IDBRequestEventMap { "blocked": Event; - "upgradeneeded": Event; + "upgradeneeded": IDBVersionChangeEvent; } interface IDBOpenDBRequest extends IDBRequest { onblocked: (this: IDBOpenDBRequest, ev: Event) => any; - onupgradeneeded: (this: IDBOpenDBRequest, ev: Event) => any; + onupgradeneeded: (this: IDBOpenDBRequest, ev: IDBVersionChangeEvent) => any; addEventListener(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } @@ -583,232 +555,245 @@ declare var IDBOpenDBRequest: { new(): IDBOpenDBRequest; }; -interface IDBVersionChangeEvent extends Event { - readonly oldVersion: number; - readonly newVersion: number | null; +interface IDBRequestEventMap { + "error": Event; + "success": Event; } -declare var IDBVersionChangeEvent: { - prototype: IDBVersionChangeEvent; - new(type: string, eventInitDict?: IDBVersionChangeEventInit): IDBVersionChangeEvent; -}; - -interface IDBFactory { - open(name: string, version?: number): IDBOpenDBRequest; - deleteDatabase(name: string): IDBOpenDBRequest; - cmp(first: any, second: any): number; +interface IDBRequest extends EventTarget { + readonly error: DOMException; + onerror: (this: IDBRequest, ev: Event) => any; + onsuccess: (this: IDBRequest, ev: Event) => any; + readonly readyState: IDBRequestReadyState; + readonly result: any; + source: IDBObjectStore | IDBIndex | IDBCursor; + readonly transaction: IDBTransaction; + addEventListener(type: K, listener: (this: IDBRequest, ev: IDBRequestEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var IDBFactory: { - prototype: IDBFactory; - new(): IDBFactory; +declare var IDBRequest: { + prototype: IDBRequest; + new(): IDBRequest; }; -interface IDBDatabaseEventMap { +interface IDBTransactionEventMap { "abort": Event; + "complete": Event; "error": Event; - "versionchange": IDBVersionChangeEvent; } -interface IDBDatabase extends EventTarget { - readonly name: string; - version: number; - readonly objectStoreNames: DOMStringList; - onabort: (this: IDBDatabase, ev: Event) => any; - onerror: (this: IDBDatabase, ev: Event) => any; - onversionchange: (this: IDBDatabase, ev: IDBVersionChangeEvent) => any; - createObjectStore(name: string, optionalParameters?: IDBObjectStoreParameters): IDBObjectStore; - deleteObjectStore(name: string): void; - transaction(storeNames: string | string[], mode?: IDBTransactionMode): IDBTransaction; - close(): void; - addEventListener(type: "versionchange", listener: (ev: IDBVersionChangeEvent) => any, useCapture?: boolean): void; - addEventListener(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, useCapture?: boolean): void; +interface IDBTransaction extends EventTarget { + readonly db: IDBDatabase; + readonly error: DOMException; + readonly mode: IDBTransactionMode; + onabort: (this: IDBTransaction, ev: Event) => any; + oncomplete: (this: IDBTransaction, ev: Event) => any; + onerror: (this: IDBTransaction, ev: Event) => any; + abort(): void; + objectStore(name: string): IDBObjectStore; + addEventListener(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var IDBDatabase: { - prototype: IDBDatabase; - new(): IDBDatabase; +declare var IDBTransaction: { + prototype: IDBTransaction; + new(): IDBTransaction; }; -interface IDBObjectStore { - readonly name: string; - keyPath: string | string[]; - readonly indexNames: DOMStringList; - readonly transaction: IDBTransaction; - readonly autoIncrement: boolean; - put(value: any, key?: IDBKeyRange | IDBValidKey): IDBRequest; - add(value: any, key?: IDBKeyRange | IDBValidKey): IDBRequest; - delete(key: IDBKeyRange | IDBValidKey): IDBRequest; - get(key: any): IDBRequest; - clear(): IDBRequest; - openCursor(range?: IDBKeyRange | IDBValidKey, direction?: IDBCursorDirection): IDBRequest; - createIndex(name: string, keyPath: string | string[], optionalParameters?: IDBIndexParameters): IDBIndex; - index(name: string): IDBIndex; - deleteIndex(indexName: string): void; - count(key?: IDBKeyRange | IDBValidKey): IDBRequest; +interface IDBVersionChangeEvent extends Event { + readonly newVersion: number | null; + readonly oldVersion: number; } -declare var IDBObjectStore: { - prototype: IDBObjectStore; - new(): IDBObjectStore; +declare var IDBVersionChangeEvent: { + prototype: IDBVersionChangeEvent; + new(type: string, eventInitDict?: IDBVersionChangeEventInit): IDBVersionChangeEvent; }; -interface IDBIndex { - readonly name: string; - readonly objectStore: IDBObjectStore; - keyPath: string | string[]; - readonly multiEntry: boolean; - readonly unique: boolean; - openCursor(range?: IDBKeyRange | IDBValidKey, direction?: IDBCursorDirection): IDBRequest; - openKeyCursor(range?: IDBKeyRange | IDBValidKey, direction?: IDBCursorDirection): IDBRequest; - get(key: IDBKeyRange | IDBValidKey): IDBRequest; - getKey(key: IDBKeyRange | IDBValidKey): IDBRequest; - count(key?: IDBKeyRange | IDBValidKey): IDBRequest; +interface ImageData { + data: Uint8ClampedArray; + readonly height: number; + readonly width: number; } -declare var IDBIndex: { - prototype: IDBIndex; - new(): IDBIndex; +declare var ImageData: { + prototype: ImageData; + new(width: number, height: number): ImageData; + new(array: Uint8ClampedArray, width: number, height: number): ImageData; }; -interface IDBCursor { - source: IDBObjectStore | IDBIndex; - readonly direction: IDBCursorDirection; - key: IDBKeyRange | IDBValidKey; - readonly primaryKey: any; - update(value: any): IDBRequest; - advance(count: number): void; - continue(key?: IDBKeyRange | IDBValidKey): void; - delete(): IDBRequest; +interface MessageChannel { + readonly port1: MessagePort; + readonly port2: MessagePort; } -declare var IDBCursor: { - prototype: IDBCursor; - new(): IDBCursor; +declare var MessageChannel: { + prototype: MessageChannel; + new(): MessageChannel; }; -interface IDBCursorWithValue extends IDBCursor { - readonly value: any; +interface MessageEvent extends Event { + readonly data: any; + readonly lastEventId: string; + readonly origin: string; + readonly ports: ReadonlyArray; + readonly source: MessageEventSource | null; + initMessageEvent(type: string, bubbles?: boolean, cancelable?: boolean, data?: any, origin?: string, lastEventId?: string, source?: MessageEventSource, ports?: MessagePort[]): void; } -declare var IDBCursorWithValue: { - prototype: IDBCursorWithValue; - new(): IDBCursorWithValue; +declare var MessageEvent: { + prototype: MessageEvent; + new(type: string, eventInitDict?: MessageEventInit): MessageEvent; }; -interface IDBTransactionEventMap { - "abort": Event; - "complete": Event; - "error": ErrorEvent; +interface MessagePortEventMap { + "message": MessageEvent; + "messageerror": MessageEvent; } -interface IDBTransaction extends EventTarget { - readonly mode: IDBTransactionMode; - readonly db: IDBDatabase; - readonly error: DOMException; - onabort: (this: IDBTransaction, ev: Event) => any; - oncomplete: (this: IDBTransaction, ev: Event) => any; - onerror: (this: IDBTransaction, ev: ErrorEvent) => any; - objectStore(name: string): IDBObjectStore; - abort(): void; - addEventListener(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, useCapture?: boolean): void; +interface MessagePort extends EventTarget { + onmessage: (this: MessagePort, ev: MessageEvent) => any; + onmessageerror: (this: MessagePort, ev: MessageEvent) => any; + close(): void; + postMessage(message: any, transfer?: any[]): void; + start(): void; + addEventListener(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var IDBTransaction: { - prototype: IDBTransaction; - new(): IDBTransaction; +declare var MessagePort: { + prototype: MessagePort; + new(): MessagePort; }; -interface PerformanceTiming { - readonly navigationStart: number; - readonly unloadEventStart: number; - readonly unloadEventEnd: number; - readonly redirectStart: number; - readonly redirectEnd: number; - readonly fetchStart: number; - readonly domainLookupStart: number; - readonly domainLookupEnd: number; - readonly connectStart: number; - readonly connectEnd: number; - readonly secureConnectionStart: number; - readonly requestStart: number; - readonly responseStart: number; - readonly responseEnd: number; - readonly domLoading: number; - readonly domInteractive: number; - readonly domContentLoadedEventStart: number; - readonly domContentLoadedEventEnd: number; - readonly domComplete: number; - readonly loadEventStart: number; - readonly loadEventEnd: number; +interface NotificationEventMap { + "click": Event; + "error": Event; } -declare var PerformanceTiming: { - prototype: PerformanceTiming; - new(): PerformanceTiming; +interface Notification extends EventTarget { + readonly actions: ReadonlyArray; + readonly badge: string; + readonly body: string; + readonly data: any; + readonly dir: NotificationDirection; + readonly icon: string; + readonly image: string; + readonly lang: string; + readonly maxActions: number; + onclick: (this: Notification, ev: Event) => any; + onerror: (this: Notification, ev: Event) => any; + readonly permission: NotificationPermission; + readonly renotify: boolean; + readonly requireInteraction: boolean; + readonly silent: boolean; + readonly sound: string; + readonly tag: string; + readonly timestamp: number; + readonly title: string; + readonly vibrate: ReadonlyArray; + close(): void; + addEventListener(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var Notification: { + prototype: Notification; + new(title: string, options?: NotificationOptions): Notification; + requestPermission(deprecatedCallback?: NotificationPermissionCallback): Promise; +}; + +interface PerformanceEventMap { + "resourcetimingbufferfull": Event; +} + +interface Performance extends EventTarget { + readonly navigation: PerformanceNavigation; + onresourcetimingbufferfull: (this: Performance, ev: Event) => any; + readonly timing: PerformanceTiming; + clearMarks(markName?: string): void; + clearMeasures(measureName?: string): void; + clearResourceTimings(): void; + getEntries(): PerformanceEntryList; + getEntriesByName(name: string, type?: string): PerformanceEntryList; + getEntriesByType(type: string): PerformanceEntryList; + mark(markName: string): void; + measure(measureName: string, startMark?: string, endMark?: string): void; + now(): number; + setResourceTimingBufferSize(maxSize: number): void; + addEventListener(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var Performance: { + prototype: Performance; + new(): Performance; }; interface PerformanceNavigation { - readonly type: number; readonly redirectCount: number; + readonly type: number; + readonly TYPE_BACK_FORWARD: number; readonly TYPE_NAVIGATE: number; readonly TYPE_RELOAD: number; - readonly TYPE_BACK_FORWARD: number; readonly TYPE_RESERVED: number; } declare var PerformanceNavigation: { prototype: PerformanceNavigation; new(): PerformanceNavigation; + readonly TYPE_BACK_FORWARD: number; readonly TYPE_NAVIGATE: number; readonly TYPE_RELOAD: number; - readonly TYPE_BACK_FORWARD: number; readonly TYPE_RESERVED: number; }; -interface NotificationEventMap { - "click": MouseEvent; - "error": ErrorEvent; +interface PerformanceTiming { + readonly connectEnd: number; + readonly connectStart: number; + readonly domainLookupEnd: number; + readonly domainLookupStart: number; + readonly domComplete: number; + readonly domContentLoadedEventEnd: number; + readonly domContentLoadedEventStart: number; + readonly domInteractive: number; + readonly domLoading: number; + readonly fetchStart: number; + readonly loadEventEnd: number; + readonly loadEventStart: number; + readonly navigationStart: number; + readonly redirectEnd: number; + readonly redirectStart: number; + readonly requestStart: number; + readonly responseEnd: number; + readonly responseStart: number; + readonly secureConnectionStart: number; + readonly unloadEventEnd: number; + readonly unloadEventStart: number; } -interface Notification extends EventTarget { - readonly permission: NotificationPermission; - readonly maxActions: number; - onclick: (this: Notification, ev: MouseEvent) => any; - onerror: (this: Notification, ev: ErrorEvent) => any; - readonly title: string; - readonly dir: NotificationDirection; - readonly lang: string; - readonly body: string; - readonly tag: string; - readonly image: string; - readonly icon: string; - readonly badge: string; - readonly sound: string; - readonly vibrate: ReadonlyArray; - readonly timestamp: number; - readonly renotify: boolean; - readonly silent: boolean; - readonly requireInteraction: boolean; - readonly data: any; - readonly actions: ReadonlyArray; - close(): void; - addEventListener(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare var PerformanceTiming: { + prototype: PerformanceTiming; + new(): PerformanceTiming; +}; + +interface ProgressEvent extends Event { + readonly lengthComputable: boolean; + readonly loaded: number; + readonly total: number; } -declare var Notification: { - prototype: Notification; - new(title: string, options?: NotificationOptions): Notification; - requestPermission(deprecatedCallback?: NotificationPermissionCallback): Promise; +declare var ProgressEvent: { + prototype: ProgressEvent; + new(type: string, eventInitDict?: ProgressEventInit): ProgressEvent; }; interface PushManager { - subscribe(options?: PushSubscriptionOptionsInit): Promise; + readonly supportedContentEncodings: ReadonlyArray; getSubscription(): any; permissionState(options?: PushSubscriptionOptionsInit): Promise; + subscribe(options?: PushSubscriptionOptionsInit): Promise; } declare var PushManager: { @@ -816,9 +801,22 @@ declare var PushManager: { new(): PushManager; }; +interface PushSubscription { + readonly endpoint: string; + readonly expirationTime: number | null; + readonly options: PushSubscriptionOptions; + getKey(name: PushEncryptionKeyName): ArrayBuffer | null; + unsubscribe(): Promise; +} + +declare var PushSubscription: { + prototype: PushSubscription; + new(): PushSubscription; +}; + interface PushSubscriptionOptions { - readonly userVisibleOnly: boolean; readonly applicationServerKey: ArrayBuffer | null; + readonly userVisibleOnly: boolean; } declare var PushSubscriptionOptions: { @@ -826,16 +824,58 @@ declare var PushSubscriptionOptions: { new(): PushSubscriptionOptions; }; -interface PushSubscription { - readonly endpoint: string; - readonly options: PushSubscriptionOptions; - getKey(name: PushEncryptionKeyName): ArrayBuffer | null; - unsubscribe(): Promise; +interface ReadableStream { + readonly locked: boolean; + cancel(): Promise; + getReader(): ReadableStreamDefaultReader; } -declare var PushSubscription: { - prototype: PushSubscription; - new(): PushSubscription; +declare var ReadableStream: { + prototype: ReadableStream; + new(): ReadableStream; +}; + +interface Request extends Object, Body { + readonly cache: RequestCache; + readonly credentials: RequestCredentials; + readonly destination: RequestDestination; + readonly headers: Headers; + readonly integrity: string; + readonly keepalive: boolean; + readonly method: any; + readonly mode: RequestMode; + readonly redirect: RequestRedirect; + readonly referrer: string; + readonly referrerPolicy: any; + readonly type: RequestType; + readonly url: string; + clone(): Request; +} + +declare var Request: { + prototype: Request; + new(input: RequestInfo, init?: RequestInit): Request; +}; + +interface Response extends Object, Body { + readonly headers: Headers; + readonly ok: boolean; + readonly redirected: boolean; + readonly status: number; + readonly statusText: any; + readonly trailer: Promise; + readonly type: ResponseType; + readonly url: string; + clone(): Response; +} + +declare var Response: { + prototype: Response; + new(body?: any, init?: ResponseInit): Response; + error: () => Response; + redirect: (url: string, status?: number) => Response; + error(): Response; + redirect(url: string, status?: number): Response; }; interface ServiceWorkerEventMap extends AbstractWorkerEventMap { @@ -843,9 +883,9 @@ interface ServiceWorkerEventMap extends AbstractWorkerEventMap { } interface ServiceWorker extends EventTarget, AbstractWorker { + onstatechange: (this: ServiceWorker, ev: Event) => any; readonly scriptURL: string; readonly state: ServiceWorkerState; - onstatechange: (this: ServiceWorker, ev: Event) => any; postMessage(message: any, transfer?: any[]): void; addEventListener(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; @@ -861,19 +901,19 @@ interface ServiceWorkerRegistrationEventMap { } interface ServiceWorkerRegistration extends EventTarget { - readonly installing: ServiceWorker | null; - readonly waiting: ServiceWorker | null; readonly active: ServiceWorker | null; + readonly installing: ServiceWorker | null; readonly navigationPreload: NavigationPreloadManager; - readonly scope: string; - readonly useCache: boolean; onupdatefound: (this: ServiceWorkerRegistration, ev: Event) => any; readonly pushManager: PushManager; + readonly scope: string; readonly sync: SyncManager; - update(): Promise; - unregister(): Promise; - showNotification(title: string, options?: NotificationOptions): Promise; + readonly useCache: boolean; + readonly waiting: ServiceWorker | null; getNotifications(filter?: GetNotificationOptions): Promise; + showNotification(title: string, options?: NotificationOptions): Promise; + unregister(): Promise; + update(): Promise; addEventListener(type: K, listener: (this: ServiceWorkerRegistration, ev: ServiceWorkerRegistrationEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } @@ -883,68 +923,39 @@ declare var ServiceWorkerRegistration: { new(): ServiceWorkerRegistration; }; -interface Cache { - match(request: RequestInfo, options?: CacheQueryOptions): Promise; - matchAll(request?: RequestInfo, options?: CacheQueryOptions): Promise; - add(request: RequestInfo): Promise; - addAll(requests: RequestInfo[]): Promise; - put(request: RequestInfo, response: Response): Promise; - delete(request: RequestInfo, options?: CacheQueryOptions): Promise; - keys(request?: RequestInfo, options?: CacheQueryOptions): Promise; -} - -declare var Cache: { - prototype: Cache; - new(): Cache; -}; - -interface CacheStorage { - match(request: RequestInfo, options?: CacheQueryOptions): Promise; - has(cacheName: string): Promise; - open(cacheName: string): Promise; - delete(cacheName: string): Promise; - keys(): Promise; -} - -declare var CacheStorage: { - prototype: CacheStorage; - new(): CacheStorage; -}; - -interface ReadableStream { - readonly locked: boolean; - cancel(): Promise; - getReader(): ReadableStreamDefaultReader; +interface SyncManager { + getTags(): Promise; + register(tag: string): Promise; } -declare var ReadableStream: { - prototype: ReadableStream; - new(): ReadableStream; +declare var SyncManager: { + prototype: SyncManager; + new(): SyncManager; }; interface URL { + hash: string; + host: string; + hostname: string; href: string; readonly origin: string; - protocol: string; - username: string; password: string; - host: string; - hostname: string; - port: string; pathname: string; + port: string; + protocol: string; search: string; readonly searchParams: URLSearchParams; - hash: string; + username: string; toJSON(): string; } declare var URL: { prototype: URL; new(url: string, base?: string): URL; - createObjectURL(blob: Blob): string; createFor(blob: Blob): string; - revokeObjectURL(url: string): void; + createObjectURL(blob: Blob): string; createObjectURL(mediaSource: MediaSource): string; + revokeObjectURL(url: string): void; }; interface URLSearchParams { @@ -966,92 +977,77 @@ interface URLSearchParams { getAll(name: string): string[]; /** * Returns a Boolean indicating if such a search parameter exists. - */ - has(name: string): boolean; - /** - * Sets the value associated to a given search parameter to the given value. If there were several values, delete the others. - */ - set(name: string, value: string): void; - sort(): void; -} - -declare var URLSearchParams: { - prototype: URLSearchParams; - new(init?: string[][] | any | string): URLSearchParams; -}; - -interface AudioBuffer { - readonly sampleRate: number; - readonly length: number; - readonly duration: number; - readonly numberOfChannels: number; - getChannelData(channel: number): Float32Array; - copyFromChannel(destination: Float32Array, channelNumber: number, startInChannel?: number): void; - copyToChannel(source: Float32Array, channelNumber: number, startInChannel?: number): void; -} - -declare var AudioBuffer: { - prototype: AudioBuffer; - new(options: AudioBufferOptions): AudioBuffer; -}; - -interface SyncManager { - register(tag: string): Promise; - getTags(): Promise; -} - -declare var SyncManager: { - prototype: SyncManager; - new(): SyncManager; -}; - -interface CryptoKey { - readonly type: KeyType; - readonly extractable: boolean; - readonly algorithm: any; - readonly usages: any; + */ + has(name: string): boolean; + /** + * Sets the value associated to a given search parameter to the given value. If there were several values, delete the others. + */ + set(name: string, value: string): void; + sort(): void; } -declare var CryptoKey: { - prototype: CryptoKey; - new(): CryptoKey; +declare var URLSearchParams: { + prototype: URLSearchParams; + new(init?: string[][] | any | string): URLSearchParams; }; -interface XMLHttpRequestEventTargetEventMap { - "loadstart": Event; - "progress": ProgressEvent; - "abort": Event; - "error": ErrorEvent; - "load": Event; - "timeout": Event; - "loadend": Event; +interface WebSocketEventMap { + "close": CloseEvent; + "error": Event; + "message": MessageEvent; + "open": Event; } -interface XMLHttpRequestEventTarget extends EventTarget { - onloadstart: (this: XMLHttpRequest, ev: Event) => any; - onprogress: (this: XMLHttpRequest, ev: ProgressEvent) => any; - onabort: (this: XMLHttpRequest, ev: Event) => any; - onerror: (this: XMLHttpRequest, ev: ErrorEvent) => any; - onload: (this: XMLHttpRequest, ev: Event) => any; - ontimeout: (this: XMLHttpRequest, ev: ProgressEvent) => any; - onloadend: (this: XMLHttpRequest, ev: ProgressEvent) => any; - addEventListener(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, useCapture?: boolean): void; +interface WebSocket extends EventTarget { + binaryType: BinaryType; + readonly bufferedAmount: number; + readonly extensions: string; + onclose: (this: WebSocket, ev: CloseEvent) => any; + onerror: (this: WebSocket, ev: Event) => any; + onmessage: (this: WebSocket, ev: MessageEvent) => any; + onopen: (this: WebSocket, ev: Event) => any; + readonly protocol: string; + readonly readyState: number; + readonly url: string; + close(code?: number, reason?: string): void; + send(data: string): void; + send(data: Blob): void; + send(data: ArrayBuffer): void; + send(data: ArrayBufferView): void; + readonly CLOSED: number; + readonly CLOSING: number; + readonly CONNECTING: number; + readonly OPEN: number; + addEventListener(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var XMLHttpRequestEventTarget: { - prototype: XMLHttpRequestEventTarget; - new(): XMLHttpRequestEventTarget; +declare var WebSocket: { + prototype: WebSocket; + new(url: string, protocols?: string | string[]): WebSocket; + readonly CLOSED: number; + readonly CLOSING: number; + readonly CONNECTING: number; + readonly OPEN: number; }; -interface XMLHttpRequestUpload extends XMLHttpRequestEventTarget { - addEventListener(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, useCapture?: boolean): void; +interface WorkerEventMap extends AbstractWorkerEventMap { + "message": MessageEvent; + "messageerror": MessageEvent; +} + +interface Worker extends EventTarget, AbstractWorker { + onmessage: (this: Worker, ev: MessageEvent) => any; + onmessageerror: (this: Worker, ev: MessageEvent) => any; + postMessage(message: any, transfer?: any[]): void; + terminate(): void; + addEventListener(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var XMLHttpRequestUpload: { - prototype: XMLHttpRequestUpload; - new(): XMLHttpRequestUpload; +declare var Worker: { + prototype: Worker; + new(scriptURL: string, options?: WorkerOptions): Worker; }; interface XMLHttpRequestEventMap extends XMLHttpRequestEventTargetEventMap { @@ -1061,31 +1057,31 @@ interface XMLHttpRequestEventMap extends XMLHttpRequestEventTargetEventMap { interface XMLHttpRequest extends XMLHttpRequestEventTarget { onreadystatechange: (this: XMLHttpRequest, ev: Event) => any; readonly readyState: number; - timeout: number; - withCredentials: boolean; - readonly upload: XMLHttpRequestUpload; - readonly responseURL: string; - readonly status: number; - readonly statusText: any; - responseType: XMLHttpRequestResponseType; readonly response: any; readonly responseText: string; + responseType: XMLHttpRequestResponseType; + readonly responseURL: string; readonly responseXML: any; + readonly status: number; + readonly statusText: any; + timeout: number; + readonly upload: XMLHttpRequestUpload; + withCredentials: boolean; msCaching?: string; + abort(): void; + getAllResponseHeaders(): any; + getResponseHeader(name: any): any; open(method: any, url: string): void; open(method: any, url: string, async: boolean, username?: string, password?: string): void; - setRequestHeader(name: any, value: any): void; + overrideMimeType(mime: string): void; send(data?: string): void; send(data?: any): void; - abort(): void; - getResponseHeader(name: any): any; - getAllResponseHeaders(): any; - overrideMimeType(mime: string): void; - readonly UNSENT: number; - readonly OPENED: number; + setRequestHeader(name: any, value: any): void; + readonly DONE: number; readonly HEADERS_RECEIVED: number; readonly LOADING: number; - readonly DONE: number; + readonly OPENED: number; + readonly UNSENT: number; addEventListener(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } @@ -1093,40 +1089,60 @@ interface XMLHttpRequest extends XMLHttpRequestEventTarget { declare var XMLHttpRequest: { prototype: XMLHttpRequest; new(): XMLHttpRequest; - readonly UNSENT: number; - readonly OPENED: number; + readonly DONE: number; readonly HEADERS_RECEIVED: number; readonly LOADING: number; - readonly DONE: number; + readonly OPENED: number; + readonly UNSENT: number; }; -interface FormData { - append(name: string, value: string | Blob, fileName?: string): void; - append(name: string, value: string | Blob, fileName?: string): void; - delete(name: string): void; - get(name: string): FormDataEntryValue | null; - getAll(name: string): FormDataEntryValue[]; - has(name: string): boolean; - set(name: string, value: string): void; - set(name: string, blobValue: Blob, filename?: string): void; +interface XMLHttpRequestEventTargetEventMap { + "abort": Event; + "error": ErrorEvent; + "load": Event; + "loadend": Event; + "loadstart": Event; + "progress": ProgressEvent; + "timeout": ProgressEvent; } -declare var FormData: { - prototype: FormData; - new(form?: HTMLFormElement): FormData; +interface XMLHttpRequestEventTarget extends EventTarget { + onabort: (this: XMLHttpRequest, ev: Event) => any; + onerror: (this: XMLHttpRequest, ev: ErrorEvent) => any; + onload: (this: XMLHttpRequest, ev: Event) => any; + onloadend: (this: XMLHttpRequest, ev: ProgressEvent) => any; + onloadstart: (this: XMLHttpRequest, ev: Event) => any; + onprogress: (this: XMLHttpRequest, ev: ProgressEvent) => any; + ontimeout: (this: XMLHttpRequest, ev: ProgressEvent) => any; + addEventListener(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var XMLHttpRequestEventTarget: { + prototype: XMLHttpRequestEventTarget; + new(): XMLHttpRequestEventTarget; }; -interface ProgressEvent extends Event { - readonly lengthComputable: boolean; - readonly loaded: number; - readonly total: number; +interface XMLHttpRequestUpload extends XMLHttpRequestEventTarget { + addEventListener(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } -declare var ProgressEvent: { - prototype: ProgressEvent; - new(type: string, eventInitDict?: ProgressEventInit): ProgressEvent; +declare var XMLHttpRequestUpload: { + prototype: XMLHttpRequestUpload; + new(): XMLHttpRequestUpload; }; +interface AbstractWorkerEventMap { + "error": ErrorEvent; +} + +interface AbstractWorker { + onerror: (this: AbstractWorker, ev: ErrorEvent) => any; + addEventListener(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + interface Body { readonly body: ReadableStream | null; readonly bodyUsed: boolean; @@ -1137,59 +1153,49 @@ interface Body { text(): Promise; } -interface Position { - readonly coords: Coordinates; - readonly timestamp: number; -} - interface Coordinates { - readonly latitude: number; - readonly longitude: number; - readonly altitude: number | null; readonly accuracy: number; + readonly altitude: number | null; readonly altitudeAccuracy: number | null; readonly heading: number | null; + readonly latitude: number; + readonly longitude: number; readonly speed: number | null; } -interface PositionError { - readonly code: number; - readonly message: string; - readonly PERMISSION_DENIED: number; - readonly POSITION_UNAVAILABLE: number; - readonly TIMEOUT: number; -} - -interface NavigatorOnLine { - readonly onLine: boolean; +interface NavigatorConcurrentHardware { + readonly hardwareConcurrency: number; } interface NavigatorID { readonly appCodeName: string; readonly appName: string; readonly appVersion: string; + readonly oscpu: string; readonly platform: string; readonly product: string; readonly productSub: string; readonly userAgent: string; readonly vendor: string; readonly vendorSub: string; - readonly oscpu: string; taintEnabled(): boolean; } -interface AbstractWorkerEventMap { - "error": ErrorEvent; +interface NavigatorOnLine { + readonly onLine: boolean; } -interface AbstractWorker { - onerror: (this: AbstractWorker, ev: ErrorEvent) => any; - addEventListener(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface Position { + readonly coords: Coordinates; + readonly timestamp: number; } -interface NavigatorConcurrentHardware { - readonly hardwareConcurrency: number; +interface PositionError { + readonly code: number; + readonly message: string; + readonly PERMISSION_DENIED: number; + readonly POSITION_UNAVAILABLE: number; + readonly TIMEOUT: number; } interface Client { @@ -1499,11 +1505,11 @@ interface IDBArrayKey extends Array { declare type EventListenerOrEventListenerObject = EventListener | EventListenerObject; -interface PositionCallback { - (position: Position): void; +interface DecodeErrorCallback { + (error: Error): void; } -interface PositionErrorCallback { - (positionError: PositionError): void; +interface DecodeSuccessCallback { + (decodedData: AudioBuffer): void; } interface FunctionStringCallback { (data: string): void; @@ -1511,11 +1517,11 @@ interface FunctionStringCallback { interface NotificationPermissionCallback { (permission: NotificationPermission): void; } -interface DecodeErrorCallback { - (error: Error): void; +interface PositionCallback { + (position: Position): void; } -interface DecodeSuccessCallback { - (decodedData: AudioBuffer): void; +interface PositionErrorCallback { + (positionError: PositionError): void; } declare var onmessage: (this: DedicatedWorkerGlobalScope, ev: MessageEvent) => any; declare function close(): void; @@ -1529,8 +1535,8 @@ declare var self: WorkerGlobalScope; declare function msWriteProfilerMark(profilerMarkName: string): void; declare function createImageBitmap(image: ImageBitmap | ImageData | Blob, options?: ImageBitmapOptions): Promise; declare function createImageBitmap(image: ImageBitmap | ImageData | Blob, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise; -declare function removeEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; declare function dispatchEvent(event: Event): boolean; +declare function removeEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; declare var indexedDB: IDBFactory; declare var msIndexedDB: IDBFactory; declare var navigator: WorkerNavigator; @@ -1544,29 +1550,29 @@ declare function setInterval(handler: (...args: any[]) => void, timeout: number) declare function setInterval(handler: any, timeout?: any, ...args: any[]): number; declare function setTimeout(handler: (...args: any[]) => void, timeout: number): number; declare function setTimeout(handler: any, timeout?: any, ...args: any[]): number; -declare function removeEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; declare function dispatchEvent(event: Event): boolean; +declare function removeEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; declare function addEventListener(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; declare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; type BodyInit = Blob | BufferSource | FormData | URLSearchParams | ReadableStream | string; type RequestInfo = Request | string; type AlgorithmIdentifier = any; type IDBValidKey = number | string | Date | IDBArrayKey; +type IDBCursorDirection = "next" | "nextunique" | "prev" | "prevunique"; +type IDBRequestReadyState = "pending" | "done"; +type IDBTransactionMode = "readonly" | "readwrite" | "versionchange"; type MediaKeyStatus = "usable" | "expired" | "released" | "output-restricted" | "output-downscaled" | "status-pending" | "internal-error"; -type RequestType = "" | "audio" | "font" | "image" | "script" | "style" | "track" | "video"; +type NotificationDirection = "auto" | "ltr" | "rtl"; +type NotificationPermission = "default" | "denied" | "granted"; +type PushEncryptionKeyName = "p256dh" | "auth"; +type PushPermissionState = "denied" | "granted" | "prompt"; +type RequestCache = "default" | "no-store" | "reload" | "no-cache" | "force-cache" | "only-if-cached"; +type RequestCredentials = "omit" | "same-origin" | "include"; type RequestDestination = "" | "audio" | "document" | "embed" | "font" | "image" | "manifest" | "object" | "report" | "script" | "serviceworker" | "sharedworker" | "style" | "track" | "video" | "worker" | "xslt"; type RequestMode = "navigate" | "same-origin" | "no-cors" | "cors"; -type RequestCredentials = "omit" | "same-origin" | "include"; -type RequestCache = "default" | "no-store" | "reload" | "no-cache" | "force-cache" | "only-if-cached"; type RequestRedirect = "follow" | "error" | "manual"; +type RequestType = "" | "audio" | "font" | "image" | "script" | "style" | "track" | "video"; type ResponseType = "basic" | "cors" | "default" | "error" | "opaque" | "opaqueredirect"; -type IDBTransactionMode = "readonly" | "readwrite" | "versionchange"; -type IDBRequestReadyState = "pending" | "done"; -type IDBCursorDirection = "next" | "nextunique" | "prev" | "prevunique"; -type NotificationPermission = "default" | "denied" | "granted"; -type NotificationDirection = "auto" | "ltr" | "rtl"; -type PushEncryptionKeyName = "p256dh" | "auth"; -type PushPermissionState = "denied" | "granted" | "prompt"; type ServiceWorkerState = "installing" | "installed" | "activating" | "activated" | "redundant"; type XMLHttpRequestResponseType = "" | "arraybuffer" | "blob" | "document" | "json" | "text"; type ClientType = "window" | "worker" | "sharedworker" | "all"; diff --git a/inputfiles/browser.webidl.xml b/inputfiles/browser.webidl.xml index 701fa593b..5a0ca2e3a 100644 --- a/inputfiles/browser.webidl.xml +++ b/inputfiles/browser.webidl.xml @@ -1,59 +1,67 @@ - - - - - - - - - - - - + + - - + + - - - - - - + + - - + + + + + + + + + + - - + + + + + + + + + + + + + + + + - - + + - - + + @@ -64,18 +72,10 @@ - - - - - - - - @@ -113,197 +113,199 @@ - + - + + + + + - + - - - + + - + - - - + - + - + + - + - - + - + - - + + + - + - - + - + - - - - + - + - - + - + - - + + + + - + - - - - + + + + + + + + - + - - - + + + - + - - - + + - + - - - - + + + + - + - - - + - + - + + + - + - + + + + + + - + - - + + - + - - - - - - - + + - + - + + + - + - + + + + - + - + + + - + - - - - - - - + + - + - - + + - + + + + - - + + + + - + - - + + + - + - - - - - - - - - - - - + + - + - - - + + + + + @@ -311,1365 +313,1271 @@ - + - - + + - + - + + + + - + - + + + + - + - + - - - - - - + + - + - - - - + - + - - - - + - + - - - - + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - + + + - + - + - + - + + + - + - + - + - + + + + + - + - + - + - - + + - + - + + - + - + + - + - + + - + - - + - + + + + - + + - + - - - - - + + - + - - + + - + - - - - - - + - + - - - - - + + - + - + + + - + - - - + + + + - + - - + + + + - + - - - - - + + + - + - - - + - + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - + + + + - + - - - - - - - - - - - - - - - - + + + + - + - - - - - + + + + - + - - + + - + - - + - + - - - - - - - - - - - - - - - - - - + + + + + - + - - - - - - - - + - + - - - - - - - + - + - - - - - - - - - + - + - - - - - - - - - - - - - - - - - - - - - - - - + - + - - - - + - + - - + - + - - + - + - - + + + + + - + - - - - - - - + + + - + - - - + - + - - - - - - - - - - - - - + + + + + + + + + + + + + + - + - - - - - - - - - - - - - + - - - - + + - + - - - - - - - - - - - - - + + + + + - + - - - - - - - - - - - - - + + + + + - + - + + - + - + - + - - + + - + - - + + - + - - + + + - + - - + - + - - + - + - - + - + - - + - - - - - - - - - - + - + + - + - - - - - - - - - - - - - - - + + + - + - - - + + - + - + + - + - - + + - + - - + + - + - - - + + - + - - - + + - + - - + + - + - - + + + + + + - + - - - - + - + - - - - - + + - + - - - + + - + - - - - + + + + + + + - - - - + - + + + - + - - - - - - - - + + + + + + + + + + + + + + + + + + - + - - + - + - + + + + + - + - - + - + - - - + + + - + - - + + - + - - - + - - - - + - - + + - + - - - - - + + - + - - + + + + + + + - + - - - + + - + - - - - - + + - + - - - - + - + - - - - + + - + - - - - + - + - - - - - - - - - - - - + - + - - - + - + - - + + + + + + + + + + + + + - + - + - + - - - - - - - + + + + + + + + + + + + + - + - - - - - - - - - - - - - - + + + + + + + + + + + + + - + - - - - + + + + + + + + + + + + + - + - - + + + + + - + - - - - - + + + + + + + - + - + + + + - + - + + + + + + + - + - - - - - - - - + + - + - - - - - + + + - + - - - - + + - + - - + + + + + + + + + + + + + + + - + - - - + - + - - - + + + + - + - + - + - - + - + - - + + + + + + + + + + + + + + - + - - + + + - + - + + + - + - - - + + - + - + + + + - + - - + + - + - - - + + + - + - - - - - - + + - + - + + + + + - + + + + - + + + + - + - - + + + - + - - - - + - + - - + - + - - - + + - + - - - - - - - - - - - - - - + + + + + + + + - + - + - + - - + + + - + - - - - + + + - + - + + - + - + - + - - - - - + + - + - - - - - + + - + - - + + + - + - - + - + - - - - + + + + + + + + + + + + - + - + + + - + - - + - + - + - + - + - + - - - - - + + - + - - + + - + - - - - - + - + - - - - + + + - + + + + + + - + - - - - - + - + - - - + + + + - + - - + + + + + + - + - + + + + + + + - + - + - + - - - + + + + + + + - + - - - - - - - - - - - - - - - - - - + + + + + + + + - + - - + + - + - - + - + - + - + - - + + + + - + - + + - + - + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + + + + + + + - + - + + - + - + + + + - + - + + - + - + + - + - + + - + - + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - - - + + + + + + + + + + + + + + + + - + - - - - - - - + + - + - - - - + + + + + + + + + + + + + + + + + + @@ -1682,27 +1590,27 @@ - - - - + - - + + + + + - + - - - - + + + + @@ -1711,52 +1619,52 @@ - + - - - - + + - + - + + - + - - - + + - + - - - - - - + + + + + + + + + + + + + - - - - - + + + + - - - - @@ -1765,152 +1673,240 @@ - + - - + - - + + - + - - - - - + + + + + + - + - - + - + - - - - + + + + + + + + + + + + - + - + + + - + - - + + - + - - + + + - + - - + + + - + - + - - - - - - - + + + + + + + - + - + + + - + - + + + + + - + - - - + + - + - - + + - + - - + - + - - + + - + - - + - + - - - + - + + + + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + - - + @@ -1918,169 +1914,80 @@ - + - - - + + + + + + + + + + + + + + + - - auto - instant - smooth + + idle + pending + running + paused + finished - - start - center - end - nearest + + segments + sequence - - margin - border - padding - content + + platform + cross-platform - - open + + balanced + interactive + playback + + + suspended + running closed - - required - optional - not-allowed + + blob + arraybuffer - - temporary - persistent-license + + lowpass + highpass + bandpass + lowshelf + highshelf + peaking + notch + allpass - - usable - expired - released - output-restricted - output-downscaled - status-pending - internal-error + + + maybe + probably - - license-request - license-renewal - license-release - individualization-request - - - - audio - font - image - script - style - track - video - - - - audio - document - embed - font - image - manifest - object - report - script - serviceworker - sharedworker - style - track - video - worker - xslt - - - navigate - same-origin - no-cors - cors - - - omit - same-origin - include - - - default - no-store - reload - no-cache - force-cache - only-if-cached - - - follow - error - manual - - - basic - cors - default - error - opaque - opaqueredirect - - - - standard - - - unconnected - activating - activated - idle - errored - - - loading - interactive - complete - - - - maybe - probably - - - disabled - hidden - showing - - - subtitles - captions - descriptions - chapters - metadata - - - select - start - end - preserve + + ltr + rtl + inherit nonzero evenodd - - low - medium - high - butt round @@ -2106,75 +2013,60 @@ ideographic bottom - - ltr - rtl - inherit - - - 2d - webgl - - - auto - manual + + max + clamped-max + explicit - - none - flipY + + speakers + discrete - - none - premultiply - default + + window + worker + sharedworker + all none default - - pixelated - low - medium - high + + replace + add + accumulate - - blob - arraybuffer + + margin + border + padding + content - - classic - module + + linear + inverse + exponential - - codec - inbound-rtp - outbound-rtp - peer-connection - data-channel - track - transport - candidate-pair - local-candidate - remote-candidate - certificate + + loading + interactive + complete - - frozen - waiting - inprogress - failed - succeeded - cancelled + + network + decode - - readonly - readwrite - versionchange + + none + forwards + backwards + both + auto - - pending - done + + + standard next @@ -2182,33 +2074,81 @@ prev prevunique - - live - ended + + pending + done - - user - environment - left - right + + readonly + readwrite + versionchange + + + none + flipY + + + low + medium + high + + + replace + accumulate + + + raw + spki + pkcs8 + jwk + + + public + private + secret + + + encrypt + decrypt + sign + verify + deriveKey + deriveBits + wrapKey + unwrapKey audioinput audiooutput videoinput - - closed - open - ended + + license-request + license-renewal + license-release + individualization-request - - network - decode + + temporary + persistent-license - - segments - sequence + + required + optional + not-allowed + + + usable + expired + released + output-restricted + output-downscaled + status-pending + internal-error + + + live + ended navigate @@ -2216,26 +2156,57 @@ back_forward prerender + + auto + ltr + rtl + default denied granted - - auto - ltr - rtl + + 2d + webgl - - shipping - delivery - pickup + + sine + square + sawtooth + triangle + custom + + + none + 2x + 4x + + + equalpower + HRTF fail success unknown + + shipping + delivery + pickup + + + normal + reverse + alternate + alternate-reverse + + + none + premultiply + default + p256dh auth @@ -2245,2334 +2216,1781 @@ granted prompt - - installing - installed - activating - activated - redundant + + closed + open + ended - - window - worker + + default + no-store + reload + no-cache + force-cache + only-if-cached + + + omit + same-origin + include + + + + audio + document + embed + font + image + manifest + object + report + script + serviceworker sharedworker - all + style + track + video + worker + xslt - - idle - pending - running - paused - finished + + navigate + same-origin + no-cors + cors - - none - forwards - backwards - both - auto + + follow + error + manual - - normal - reverse - alternate - alternate-reverse + + + audio + font + image + script + style + track + video - - replace - accumulate + + pixelated + low + medium + high - - replace - add - accumulate + + basic + cors + default + error + opaque + opaqueredirect - - suspended - running + + balanced + max-compat + max-bundle + + + connecting + open + closing closed - + + maintain-framerate + maintain-resolution balanced - interactive - playback - - max - clamped-max - explicit + + new + connecting + connected + closed + failed - - speakers - discrete + + disabled + enabled - - equalpower - HRTF + + host + srflx + prflx + relay - - linear - inverse - exponential + + rtp + rtcp - - lowpass - highpass - bandpass - lowshelf - highshelf - peaking - notch - allpass + + new + checking + connected + completed + failed + disconnected + closed - - none - 2x - 4x + + password + token - - sine - square - sawtooth - triangle - custom + + new + gathering + complete - - platform - cross-platform - - - ScopedCred - - - usb - nfc - ble - - - public - private - secret - - - encrypt - decrypt - sign - verify - deriveKey - deriveBits - wrapKey - unwrapKey - - - raw - spki - pkcs8 - jwk + + new + gathering + complete - - no-speech - aborted - audio-capture - network - not-allowed - service-not-allowed - bad-grammar - language-not-supported + + udp + tcp - - canceled - interrupted - audio-busy - audio-hardware - network - synthesis-unavailable - synthesis-failed - language-unavailable - voice-unavailable - text-too-long - invalid-argument + + controlling + controlled - - password - token + + active + passive + so relay all - - balanced - max-compat - max-bundle - - - negotiate - require - - - stable - have-local-offer - have-remote-offer - have-local-pranswer - have-remote-pranswer - - - new - gathering - complete - - + new - connecting + checking connected - disconnected + completed failed + disconnected closed - + new - checking + connecting connected - completed - failed disconnected + failed closed - - offer - pranswer - answer - rollback - - - udp - tcp - - - active - passive - so - - - host - srflx - prflx - relay - very-low low medium high + + negotiate + require + sendrecv sendonly recvonly inactive - - disabled - enabled + + offer + pranswer + answer + rollback - - maintain-framerate - maintain-resolution - balanced + + stable + have-local-offer + have-remote-offer + have-local-pranswer + have-remote-pranswer - - new - connecting - connected - closed + + frozen + waiting + inprogress failed + succeeded + cancelled - - new - gathering - complete + + + codec + inbound-rtp + outbound-rtp + peer-connection + data-channel + track + transport + candidate-pair + local-candidate + remote-candidate + certificate - - new - checking - connected - completed - failed - disconnected - closed + + ScopedCred - - controlling - controlled + + auto + instant + smooth - - rtp - rtcp + + start + center + end + nearest - - connecting + + auto + manual + + + select + start + end + preserve + + + unconnected + activating + activated + idle + errored + + + installing + installed + activating + activated + redundant + + open - closing closed - - - default - low-power - high-performance - - - - arraybuffer - blob - document - json - text + + no-speech + aborted + audio-capture + network + not-allowed + service-not-allowed + bad-grammar + language-not-supported - - - - - - - - - - - + + canceled + interrupted + audio-busy + audio-hardware + network + synthesis-unavailable + synthesis-failed + language-unavailable + voice-unavailable + text-too-long + invalid-argument + + + subtitles + captions + descriptions + chapters + metadata + + + disabled + hidden + showing + + + direct + stylus + + + usb + nfc + ble + + + user + environment + left + right + + + default + low-power + high-performance + + + classic + module + + + + arraybuffer + blob + document + json + text + + + + - - + - + - + - - + + - - - - - - - - - - - - - - - + + - - + + - - + + + + + - - + + + + + - + + + + + - - - - - - - + + + + + - + + + + + + + + + + + + + + + - + + + + - + - + - + + + + + + + + - - + - - + + + + + + + + - SVGUnitTypes - + + + + + - - - - - - + + + - SVGUnitTypes - - - - - - - - - - - - + + + + + - - + + - + - - - - - - - + - + + + + + + + + + - - - - - - - + + + - - + + + + + + + + + + + + + + + + + + + - - - - - - + - + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + - - - + + + + + + + + + - + + + + + - - - + + + - - + + + + + + + + - - - - - - - - - - - - + + - + - - + - + + + + + + + + + + + + + + + + - - + + + + + + + + + - + - - + + + + - - + + + - - + + + - - - - + + - - - + + + - - - + + + + - - + + + + + + - - - - - - - + + + + + + - + - - + + - - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + - + - - - + + + - + - - + + - - + + - - - + - + - - - - - + - - + + + + + + - - - - - - - - - - - + + + + + + - + + + - - - - - - - - - - - - - - + + + + + + + + + - - - - - - - - - - - + + + + + + + - + - - + + - - - - - - - - - - - - - - + + - - - - - - - - - - - + + + + + - - - - - + - - - - - + + - + + + + + - + + + + + + + + + + + + + + - - - - + + + + + + - - - - + + + - - + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + - - - + + + - + + + + + + + + + + - - - - - + + + + - + + + + + - + + - + + - - - + + + + + - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - + + + - - - - + + + + + + + + + + + + + + + - - + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + + + + - - - + + - - + + + + - - - + + - - + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + + CanvasState + CanvasTransform + CanvasCompositing + CanvasImageSmoothing + CanvasFillStrokeStyles + CanvasShadowStyles + CanvasFilters + CanvasRect + CanvasDrawPath + CanvasUserInterface + CanvasText + CanvasDrawImage + CanvasImageData + CanvasPathDrawingStyles + CanvasTextDrawingStyles + CanvasPath + + + + + + + + - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + - - + + + - + + - - + + + - - - - - - + + + - - + + + + + + NonDocumentTypeChildNode + ChildNode + + + + + + + - - - + + + + + + + + + + + + + - - + + - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + - - + + + - - + + - - - - - - - - - - - - + + + + + + + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - NonElementParentNode - DocumentOrShadowRoot - ParentNode - GeometryUtils - - - - - - GlobalEventHandlers - DocumentAndElementEventHandlers - - + - - - - - - - - - + + - - + + + - - - - - - + - ChildNode - - - NonElementParentNode - ParentNode + + + + + + - + - - + + - DocumentOrShadowRoot - + - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - + + - ParentNode - NonDocumentTypeChildNode - ChildNode - Slotable - GeometryUtils - Animatable - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + + + + + + + + - - - + + - - + + - - + + - - + + + + - - - + + + + + + + + + + + - + - - - - - - - + + - + - - - - - - - - - - - - - - + + - - - - + + + - - + + - NonDocumentTypeChildNode - ChildNode - - - - + + - - + + + + + + + + + + - - - - Slotable - GeometryUtils - - - - - - - LinkStyle - + - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - - - - - - + - + + - - - + + + + + + + + + + + + + + + - - - - - + + + + + - + - - - - - - - + + + + - - - - + + - - - + + + - - + + + + + - - + + + - - - - - - - - - - - - + - - - - - - - - - - - - - - - + - - + + + + + + + + + + + + - - - - - + + + + + - + - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - - + + + + - - - - + + - - - + + - - + + + + - - + + + + - - + + + - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Body - - - - - - - - - - - + + - - - - - - - - - - - - - Body - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - + + - - - + + + + - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - SVGURIReference - SVGUnitTypes - - - - - - - - - - - - - - - - SVGFilterPrimitiveStandardAttributes - - - - - - - - - - - - - - - SVGFilterPrimitiveStandardAttributes - - - - - - SVGFilterPrimitiveStandardAttributes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SVGFilterPrimitiveStandardAttributes - - - - - - - - - - - - - - - - - - - - - - SVGFilterPrimitiveStandardAttributes - - - - - - - - - - SVGFilterPrimitiveStandardAttributes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SVGFilterPrimitiveStandardAttributes - - - - - - - - - - - - - - - - SVGFilterPrimitiveStandardAttributes - - - SVGFilterPrimitiveStandardAttributes - - - - - - - - - - - - - - - - - - - - - SVGFilterPrimitiveStandardAttributes - - - - - - - SVGFilterPrimitiveStandardAttributes - SVGURIReference - - - SVGFilterPrimitiveStandardAttributes - - - - - - - - - - - - - - - - - - - SVGFilterPrimitiveStandardAttributes - - - - - - - - SVGFilterPrimitiveStandardAttributes - - - - - - - - - - - SVGFilterPrimitiveStandardAttributes - - - - - - SVGFilterPrimitiveStandardAttributes - - - - - - - - - - - - - - - - - - - SVGFilterPrimitiveStandardAttributes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NonElementParentNode + DocumentOrShadowRoot + ParentNode + GeometryUtils + + + + + + GlobalEventHandlers + DocumentAndElementEventHandlers + + + + + + + + + + + - + + + NonElementParentNode + ParentNode + + - - - - + - - - - - - - - - + + - - - - + + + + ChildNode - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - + + + + - - - - - + + - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - + + + + - - - - + + + + + - - - - - - - + + + + + + + + @@ -4580,20 +3998,16 @@ - - - - - - - - + + + + + + + - - - - - + + @@ -4601,9 +4015,10 @@ - - - + + + + @@ -4631,837 +4046,1183 @@ - + + + + + + + - - - - + + + + - - - + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - - - + + + + - - + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + - - - - - + + + - - - - + + + + + + + - - + + - - - + + + + - - - - - - - + + + + + + + - - - + + - - + + - - + + + + - + + + + + + + - - + + - - + + + - + + + + - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - GlobalEventHandlers - DocumentAndElementEventHandlers - ElementContentEditable - ElementCSSInlineStyle - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - LinkStyle - - - - - - - - - - - - - - - - LinkStyle - - - WindowEventHandlers + - - - - - - + + + + - + + + + + + + + + + + + - + + + + + + + + - + + + + + + + + + - + - - - - - - - - + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + - + + + + + - + - + + + + + - - - - + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + ParentNode + NonDocumentTypeChildNode + ChildNode + Slotable + GeometryUtils + Animatable + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + - - + + + + + - + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + - + + + + + + + + + + + + + - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - HTMLHyperlinkElementUtils + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + - + + + + + - + + + + + - - + + + + + + + + + + - + + + + + - + + + + + + - - + + - - + + + + + + - - - - - + - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - + + - + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + - + + + + + - + + + - - - - - - + + - + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + - + - - - - + + + + + + + - + - - - - - - + + + - - - - - - - + + + + + + + - - - - - - - + + + + + - - - - - - - + + - - - - - - - - - - - - + + + + - - - + + + - - + + - - - - - - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - + - + - - + + + + + - - - - + - - - - - - + + + + + + + + + + + + + + + HTMLHyperlinkElementUtils - - - - - - - - - - - + - - - - - + + + + + + + + + + + - + - - - - - - + + + + + + + + + + + HTMLHyperlinkElementUtils - - - - - - - - - - - + + + + + + - - - - + + + + + + WindowEventHandlers + + + + + + + - - - + + - - - - - - - - - + - - - - - - - - - - + - - - - - - + - - + + + + - + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - + - + - - + + - - - - - + - + - + - - + - + - - - - - - - - - - + - HTMLHyperlinkElementUtils - + - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - + + - + - + - + - - - - - - + + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + GlobalEventHandlers + DocumentAndElementEventHandlers + ElementContentEditable + ElementCSSInlineStyle + + + + - - - - + + + + + - + - - - - - + + + + - - - - - - - - + + + + + + + + - + - - - - - - - - - - - - - - - + + + + + + + + + + @@ -5472,46 +5233,144 @@ - - + + - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + WindowEventHandlers + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + - @@ -5526,18 +5385,26 @@ + + + + + + + - + + - + @@ -5546,6 +5413,7 @@ + @@ -5557,104 +5425,290 @@ + + + - + + + - - - - - - + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LinkStyle + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + - - - - - - - - - - - - - - - + + - - - - - - - + - - - - - - - - - - - - - - + - - - + + + + + + + + + + - + + - - - - - - - - - - + + + + - + + + + + + + + - + - + + + + @@ -5671,66 +5725,35 @@ + + - - - + - - - - - - - - - - + + + + + - - - - - + + + + + - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -5742,142 +5765,122 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - + + + - + - - - - - - - - - - - - - - - - - - - - - - + + - - + + - + + - - - - - - - + - - - - - + - + + + + - - - - - - - - + - - + - - - - - + - - - + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + @@ -5889,1502 +5892,1512 @@ - - - - - - - - - - - - - - - - - + - - + + + + + - + + - + + + - CanvasState - CanvasTransform - CanvasCompositing - CanvasImageSmoothing - CanvasFillStrokeStyles - CanvasShadowStyles - CanvasFilters - CanvasRect - CanvasDrawPath - CanvasUserInterface - CanvasText - CanvasDrawImage - CanvasImageData - CanvasPathDrawingStyles - CanvasTextDrawingStyles - CanvasPath - - - - - - - - + LinkStyle + + + + + - - - - - - + + + + - + - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - + - - - + + + + + + - - - - - - - - - - - - + - - - + + + + + + + + + + + + - CanvasPath + + + + + + + + + + + + + + + + - + - - + + + + + - + + + + + + + + - - - - - + - - - + + - - - + + - - + + + + + - - - - + - + - CanvasState - CanvasTransform - CanvasCompositing - CanvasImageSmoothing - CanvasFillStrokeStyles - CanvasShadowStyles - CanvasFilters - CanvasRect - CanvasDrawPath - CanvasDrawImage - CanvasImageData - CanvasPathDrawingStyles - CanvasPath - - - - - - - - - - - - - - - - - + - - - - + + + + + - - + + - - - + + + + + - - + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + - - + + - - + + + - - + + + + - - - - - - - + - - + - - - - - + + + + + + + + + + + + + + + - + + + + + + - - - - + + + + + + + + + + + + + + + - - - - - - - - - - + + + - - - + + + + + + - - + + - - - + + - - - + + + - - + + + - - - - + + + + + + + + + + + + + + + + - - - - - + + + - - + + - - - + + + - - - + + + + + + + + + + + + + - - - + + + - - - + + + + - - + + - - - + + - - + + - - - + + - - + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - GlobalEventHandlers - WindowEventHandlers - WindowOrWorkerGlobalScope - WindowSessionStorage - WindowLocalStorage - GlobalPerformance - IDBEnvironment - GlobalCrypto - SpeechSynthesisGetter - - - - + + + + + - - - - - - - - - - - - - - - - - - + - - - + + + + + + - - - - - - - - - - + - - - - - - - - - - + + + + + + + + + + + - - - - - + + + + + + + - + + + + + + + + + + + - + - + - - + + - + - - + + - - - + + + + + + + - + + + + - + + - - - - - - - - - + - - - + + + - - - - - - - - - + - + - - + + + + + + + - - - - - + + + - + + + + + + - + - - + + - - NavigatorID - NavigatorLanguage - NavigatorOnLine - NavigatorContentUtils - NavigatorCookies - NavigatorPlugins - NavigatorConcurrentHardware - NavigatorUserMedia + + + + + - - - - - - - + + - - - - - - - - + + + + + - - - - - + + + - - + + + - + + + - - - - - - - - - + + + + - + + + + + + + - + + + + + + + + + + + - - - - - + + - - - - + + + + + + + + + - + + + + + + + + + + + + + + - - - - + + + + - + + + + + + + + + - + - - + + + + - - - - - + - - - - - - - - - + + + + + + - + + + + + - - - + + + + - - - - - - - - - - + + + + + + + + + - + + + + + - - - - - - + - - - + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + + + + + + + + + + + + - + - - + + + + + - - + + - + - - - + + + + + - - - - - - - - - + - - + + + + + + + + + + + - - + + + + + - + + + + - + - - + + + + + - - - - - - - - - + - WindowOrWorkerGlobalScope - - - - - - - - GlobalPerformance - GlobalCrypto + + + - + - - - + + + + + + + + + + + + + + + + + - - + + - - - - + - + + + + + + - - + + + - + - + - - + + + + + + + + + - - - - + + + + + + + + + + + + + + + + - + + + + + + + - AbstractWorker + + + + + + + + - + + - - - + + + + - - - - AbstractWorker - - - NavigatorID - NavigatorLanguage - NavigatorOnLine - NavigatorConcurrentHardware - - - - - - - - - - - - - - - - - - - - - - - + + - - - + + + + - - + + + + - - + + + + + + + + + + - + - - + + - - - - - + - - - - - - - - - - - - - - + + + + + - + - + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + - WindowEventHandlers + + + + + - - - - - - - - - - - - - + + + + + - + + + + + - + - + + - - - + + - + + + + + - - - - - - - - - - + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + - - - - + + + + + + - + - - - - - - - + + + + - + + + + + + + + + - - + - + - + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - + + + + - - - - - - - - - - + + + + - + + + - - - - - - + + + + + + + + + - - - - - - + - - - + + - - - + + + - - + + - - + + - - - - + + + - - - - + + - - + + - - + + + + + + + + + + + + - - + + + + NavigatorID + NavigatorLanguage + NavigatorOnLine + NavigatorContentUtils + NavigatorCookies + NavigatorPlugins + NavigatorConcurrentHardware + NavigatorUserMedia + + + + + + + + + - - - - - + + + + - + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + - - - + + - - + + + + - - + + - - + + - - - - - - - - - - - - - + + - - + + - - + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + + + + + - + - - - - + + + - - - - - - + + + + + - - - - - + - - - - - + + - - - - - - - - - - - - - - - - - - - + + + + - - - - - + - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + - + - + - + + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + + + + + - - - - - - - - - - - - - - - - + + + - - - - - - - + + - - - + - + + + + + - - + + - - - - + + + + - - - - - - - - - - - - - - + + - - - - - - - - - - - - - + + + + - - - + - - - - + CanvasState + CanvasTransform + CanvasCompositing + CanvasImageSmoothing + CanvasFillStrokeStyles + CanvasShadowStyles + CanvasFilters + CanvasRect + CanvasDrawPath + CanvasDrawImage + CanvasImageData + CanvasPathDrawingStyles + CanvasPath - + + + + + + + + + + - - - - - - - - - - + + + + + + - + + + + + - - - - - - - - - - - - - - - - - - - - - + - - - - - - - + + + + + - - + - + - - + + - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + + - - + + + + + + + + + + + + + + + CanvasPath + + - - + + + + + + + + + + + @@ -7394,33 +7407,33 @@ - + + + - - + + + + - - - - - - - - - - - - - - + + + + + + + + + + @@ -7429,101 +7442,267 @@ - - - - - + + + + + - - - - - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LinkStyle + + + + + + + + + + + + - + - + + - - - - - - + + + + - + - + - - - - - - - - + - - - - - - - - - - - - - - - + + - - - + @@ -7534,13 +7713,17 @@ - - - - - + + + + + + + - + + + @@ -7553,3011 +7736,3169 @@ - + - - - - - - - - - - - - + + - + + + + + + + + + + + + + - - - - - - - - - - - + + - - + - - - + + + - - - + - - - - - - - + - - + + - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - AbstractWorker - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + - + - - - - + + - - - + - - - - - - - - - - - - - - - + - - + - - - + + + + + + - + - + - - - - - + + + - + - - + + - - - + - - - - - + + + + + + + + + + + + + + Body - + - - + + - - + + + + + - - + + + + + + + + + Body - - - - - + + + + - - - - - + + - + - - - - - - - - - - - - - + + + - - - + + - - - + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + - + - - + + + + + - + + + + + - + - + + - - - - - - + - - - - - + + + + + - - - - - + - GlobalEventHandlers - SVGElementInstance - ElementCSSInlineStyle - - - - - - - - + + + + - + + + + + + + + + + + + + - SVGTests - + - - - - - - - - - - + + + + + - + + + + + + + + + + + + + - + + + + + - + + - - - - - - - - - - - - - - - - - - - - - - - + - - - - + - - - - - - - - + - - - - - - + + - - - - - - - - - - - - - + + + + - - - + + + + - - + + - - - + + + - - - + + + - - + + + - - + + + - - - - - - - - - - - + + + - - - - - + + + + - - + + + + + + + + + + + + + + + + + + + + + + + - - - + + - - - + + + + - - + + - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + - - + + + + - + + + + + - - + + - + - - + + + + - + + + + + + + + - - + + + + + + - - - - - - - + - - - - - - - - - - - - - - + + - - + + + - - + + - - + + + + + + + + - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + - - - - - - + + + + + + + + + + + + - SVGFitToViewBox - SVGZoomAndPan - WindowEventHandlers - - - - - - - - - SVGFitToViewBox - + + + + - - - - - - + + - SVGURIReference - - + + - - + + - + + + + - - + - - - + + - LinkStyle - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - + + - + + + + + + + + + + + + + + + + + + + + + + + - - - - + - - - + + - - + + + - - - + + + + + - - - + + + + + - + - - + + + - - + + + + + + + + + + + + - - - + + + + + + + - + + + + + - - + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + - - + - + + + + + + + + + + + + + AbstractWorker + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + - + + + + + - - - + - + - - - - + + + DocumentOrShadowRoot - + + + + + + + + + + + - - - - + + AbstractWorker - - SVGURIReference - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - + - - + + + + + - - SVGAnimatedPoints - - - SVGAnimatedPoints - - - - - - - + - - - - - - - - - - - - - - - - - - - - + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - SVGURIReference + + + + + + + + + + + + - + + + + + + - - - - - - + + + - SVGURIReference + + + + + + - + + - - - - + + - - - - - - - - - + + - - - + + + + + + + + + + - - - - - - - - - - SVGFitToViewBox - - - - - - - - - - - - - + - SVGURIReference - + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - + + - - - - + - + + - + - - - - - - - + + + + - SVGFitToViewBox - SVGURIReference - - - + + + + + + - - + + - SVGURIReference - + + + + + + - - + - SVGURIReference - + + + + + + + + + + - - - - - - + + + + - SVGURIReference - HTMLHyperlinkElementUtils - - - SVGFitToViewBox - SVGZoomAndPan + + + - - - - + - - - - - - - - - - - - + - - - - - - + - + + + + - + + - - + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - + - - + + + + + - + - - + + - + - - - - - + - - + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + - + - + - - - - - - - - - + + + + + - - - - - + - - + + + + + + + - - - - - - - - - - - + - - + + - - - - - - - - - - - - - - - - - - + - - - - - + - - - + + + + - - + + + + - - + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + SVGURIReference + HTMLHyperlinkElementUtils - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - + + - - - + + + - - - - + + + + + + - - - + - + + - - - - + + + + + - - - - - - - - - - - - + - - - - - - - - - - - + + - - - - - - - - + - + + - + - - - - - - - - + + - + - - - - - - - - + + - - - - - - - - - - - - + - - - - + + - - - - - - - - - - - - - - + - - - - + + - - - - + + + + + - - - - - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + SVGUnitTypes + + + + + + + + + + + + + + + + + + + + + - - + + + SVGURIReference - - - - - - + + + - - - - + + - - + + + + + + GlobalEventHandlers + SVGElementInstance + ElementCSSInlineStyle + + + - - - - - + - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + - - - - - - + + + + SVGFilterPrimitiveStandardAttributes - + + + + + + + + - + + + + SVGFilterPrimitiveStandardAttributes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - + + SVGFilterPrimitiveStandardAttributes - - - - - - - - - + + + + + + + + + + - + + + + + + + - - - + SVGFilterPrimitiveStandardAttributes - - - - - + + + + + + + - + + + + + + + + + + + + SVGFilterPrimitiveStandardAttributes - - - - - + - + + + + + + SVGFilterPrimitiveStandardAttributes - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + SVGFilterPrimitiveStandardAttributes + + + + + + + + + + + + - - - - + + + + + + SVGFilterPrimitiveStandardAttributes - - - - - + + SVGFilterPrimitiveStandardAttributes + + + + + + + + + + + + - - - - + + + - - - - - - + + + + + SVGFilterPrimitiveStandardAttributes - - - - - + - + + + SVGFilterPrimitiveStandardAttributes + SVGURIReference - - - - - + + SVGFilterPrimitiveStandardAttributes - - - - - - - + + + + - - - - - - - - - - - + + + + + + - - + + + + - - - + SVGFilterPrimitiveStandardAttributes - - - - - - + - - + + + - - - + SVGFilterPrimitiveStandardAttributes - + - - + + + - - - - - + - - - + + + + + + + SVGFilterPrimitiveStandardAttributes - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - + - - - - - - - - - + + SVGFilterPrimitiveStandardAttributes - - - - - + + + + + + + + + - + + + + + + + SVGFilterPrimitiveStandardAttributes - - - - - + + + + + + + + + + SVGURIReference + SVGUnitTypes + + - - + + + + - - - - - + + - - - - - + + - - + + + - - + + - - - - - + - - - - - - - - - - - - - - - - - + + + + + + + - - - - - - + + + + SVGURIReference - - - - - + - - - - + + + + - - - - - + + SVGTests - - - - - - - - - - - - - - - - - - + + + - - + + + + + + + SVGURIReference + + + + + - - - - - + + + + + + + + + + + + + + - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - + + + + + + + - - - - - + + - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + - + - - + + + + - - - - - - - - - - - - - + - - + + + + - + + + + + + + + + - - + + + - + + + + + + + + + SVGFitToViewBox - + - - - - + + + + + + + SVGUnitTypes - + + SVGURIReference + + + + + + + + + + + + + + + + + - - - - + + - - - - + + + - - - - + + - - - - - + + + - - - + + - - - - + + + - - - - - - + + + + + + + + + + + + + + + + + + SVGFitToViewBox + SVGURIReference + + + + + + - - - - + + + + - - - - - - + + + - - - + + - - - - - + + + - - - - - - - - + + + + + + + + + + - - - - - - - + + SVGAnimatedPoints + + + SVGAnimatedPoints + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - + + + + + + + + + + + - - + + + + + + - + - - + + + SVGURIReference - - - - - - + + - - + - + + + + + + + - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + - - + + + + LinkStyle - - + - - + + + - - - + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + SVGFitToViewBox + SVGZoomAndPan + WindowEventHandlers + + + + - + + + SVGFitToViewBox + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + + + + + + + + + + - + + + + SVGURIReference - + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + + - - - - - + + + - - - - + + - - - + + - - - - + + + - - - - + + + + + + + + + + + + - - + + + + - - - - - - + + + + - - + + - - - + + - - - + + + - - + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - + + + + + + + + + + - - + + + + + + + SVGURIReference - + + + SVGFitToViewBox + SVGZoomAndPan + + - + + - - - - - - - - - - - - - + + - + + + + + + + + + - - + + + + + + - - + + Slotable + GeometryUtils + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + - + + + + + + - + + + - - + - - - - - - - + + + + - - - + + + + - - - - + + + + + + + + + + + - + - - + + + + + - - - - - + - + + + + - - - - + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + - - - - - - + + - - - - - - + - - - - + + + + + - - - + - - - - + + + + + + + + + + + + - - - - - + + + + + + + - - - - - - - + + + + - - - - - - + - + - - - - + + - + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + - + + + + + + + - - - + + + - - + + - - + + + + + + + + - - + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - + - + + + + - + + + + + + + + + + + + + + + + - - - - + + - - + + + + + - + + + - + - - + + - - - - - - - + + - + - - + + + + + + + + + - - - - - + - - + + + - + + - + - + - - + - - - - - - - - - + + WebGLRenderingContextBase + - - + + - - WebGLRenderingContextBase - - + + + - - + + - - - - - - + + + + + + - - + + + + + + + + + + + + + + + - - - - - + + + + - - - + + + + + + + + + + + - - - + + + + + - - - - - + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + - - - - - - + + + - - - + + + - - + + + - - - + + + + - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - + + + - - + + + - - + + + - - + + - - + + + - - - + + - - - - + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GlobalEventHandlers + WindowEventHandlers + WindowOrWorkerGlobalScope + WindowSessionStorage + WindowLocalStorage + GlobalPerformance + IDBEnvironment + GlobalCrypto + SpeechSynthesisGetter + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + - + + + - + + + + + + + + + + + + - + + + AbstractWorker + + + + + - + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + WindowOrWorkerGlobalScope + + + + + + + + GlobalPerformance + GlobalCrypto - + - - - + + + + + + + + + - + + NavigatorID + NavigatorLanguage + NavigatorOnLine + NavigatorConcurrentHardware - - - + - + - - + + + - - + + + + + + + + + + + - - + + + + - - + + + - - + + + + + + - - + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + - + - - + + + + + + + - + + + + + + + + + + + + + + - - - - - - - - + + - - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10571,134 +10912,83 @@ - + - - - - - + + - + - - - - + + + + - - - - + + + + + + - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + + + + + + + + + + + + + + + + + - - - - + + + - - - - - - - + + + - - - - - - - - + + + + - - + + + + - - - - - - - - - - - - - @@ -10707,6 +10997,10 @@ + + + + @@ -10715,27 +11009,134 @@ - - - - - + - + - - - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10760,45 +11161,78 @@ - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - + - - + + + + + - + + + + + + + + + + + + + + + + + + - + - - + + + + + + + + + + + + + + + + + + + + @@ -10819,187 +11253,158 @@ - + - - - - - + + - - - - - + + - - + + + - + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + - - - - - - - + + GeometryUtils + Animatable + + - - - - - + + + - + - - - - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - - - - - + + + + - - - - - - - - + + + + - - - - - + + + + + + + + - - - - - - - + + + + - - - - - - - - - + + + + + + + - - - - - + + + + - + - + + + + + @@ -11041,10 +11446,17 @@ - + + + + + + + + @@ -11053,36 +11465,25 @@ + + - - - - - - - - - - - - - - - - - - - - - + - + + + + + + + + @@ -11126,7 +11527,6 @@ - @@ -11146,211 +11546,159 @@ - - - + + + + + + - - - - + + - + - + - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - + - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + - + - - - - - - - - - - + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - - - - - - + - - + + - + + - - - - - - - - - - - - - - - + + + + + - + - + - + - + + + + + + + + + + + + + - + - + + - + - + - + - - + - - - + + @@ -11365,47 +11713,102 @@ - + + + + + + + - - - - - + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + - + - - + + - + - - - + + + - + + - + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + @@ -11414,237 +11817,304 @@ - - - - + + + + + + + + - + - - + + - - - - - - - - + + + + + - + - + - + + + + + + - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - - - - - - - - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + - + - - - + + + + + + + - - - - - - - - @@ -11655,6 +12125,7 @@ + @@ -11665,92 +12136,43 @@ + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - @@ -11804,17 +12226,17 @@ - + - + - + @@ -11994,26 +12416,33 @@ - - - + + + + - - + + + + + + + + @@ -12022,12 +12451,10 @@ - - - + @@ -12055,6 +12482,7 @@ + @@ -12179,92 +12607,92 @@ - - - + + + - + - - - - - - - - - - - - + - - - - + - + - - + - + - - - + + + + + + - + - - - + - + - + - + + + - + - + + + - + - + - + + + + - + - + + + + + + + + @@ -12295,17 +12723,29 @@ + + + + + + + + + + + + @@ -12313,18 +12753,6 @@ - - - - - - - - - - - - @@ -12346,84 +12774,110 @@ - + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + - - - - - - + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - GeometryUtils - Animatable + + + + IDBEnvironment - + + @@ -12448,7 +12902,7 @@ - + @@ -12490,25 +12944,6 @@ - - - - - - - - - - - - - - - - - - - @@ -12516,6 +12951,9 @@ + + + @@ -12523,12 +12961,28 @@ + + + + + + + + + + + + + + + + From 9a316365f6031d9f171091580fd25a1a8cfbfe4e Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Fri, 28 Apr 2017 16:38:27 +0900 Subject: [PATCH 31/50] convert ByteString to string --- TS.fsx | 2 +- baselines/dom.generated.d.ts | 36 +++++++++++++++--------------- baselines/webworker.generated.d.ts | 30 ++++++++++++------------- 3 files changed, 34 insertions(+), 34 deletions(-) diff --git a/TS.fsx b/TS.fsx index 7471f85b9..86e6c4ed5 100644 --- a/TS.fsx +++ b/TS.fsx @@ -709,7 +709,7 @@ module Emit = | "Date" -> "Date" | "DOMException" -> "Error" | "DOMHighResTimeStamp" -> "number" - | "DOMString" | "USVString" -> "string" + | "DOMString" | "USVString" | "ByteString" -> "string" | "DOMTimeStamp" -> "number" | "EventListener" -> "EventListenerOrEventListenerObject" | "double" | "float" | "unrestricted double" | "unrestricted float" -> "number" diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 6665da3ad..ed1fadde9 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -500,7 +500,7 @@ interface ForeignFetchOptions { } interface ForeignFetchResponse { - headers?: any[]; + headers?: string[]; origin?: string; response: Response; } @@ -815,7 +815,7 @@ interface MutationObserverInit { interface NavigationPreloadState { enabled?: boolean; - headerValue?: any; + headerValue?: string; } interface NotificationAction { @@ -1023,7 +1023,7 @@ interface RequestInit { headers?: HeadersInit; integrity?: string; keepalive?: boolean; - method?: any; + method?: string; mode?: RequestMode; redirect?: RequestRedirect; referrer?: string; @@ -1034,7 +1034,7 @@ interface RequestInit { interface ResponseInit { headers?: HeadersInit; status?: number; - statusText?: any; + statusText?: string; } interface RsaHashedImportParams extends Algorithm { @@ -3787,11 +3787,11 @@ declare var HashChangeEvent: { }; interface Headers { - append(name: any, value: any): void; - delete(name: any): void; - get(name: any): any; - has(name: any): boolean; - set(name: any, value: any): void; + append(name: string, value: string): void; + delete(name: string): void; + get(name: string): string | null; + has(name: string): boolean; + set(name: string, value: string): void; } declare var Headers: { @@ -7245,7 +7245,7 @@ interface NavigationPreloadManager { disable(): Promise; enable(): Promise; getState(): Promise; - setHeaderValue(value: any): Promise; + setHeaderValue(value: string): Promise; } declare var NavigationPreloadManager: { @@ -8016,7 +8016,7 @@ interface Request extends Object, Body { readonly headers: Headers; readonly integrity: string; readonly keepalive: boolean; - readonly method: any; + readonly method: string; readonly mode: RequestMode; readonly redirect: RequestRedirect; readonly referrer: string; @@ -8036,7 +8036,7 @@ interface Response extends Object, Body { readonly ok: boolean; readonly redirected: boolean; readonly status: number; - readonly statusText: any; + readonly statusText: string; readonly trailer: Promise; readonly type: ResponseType; readonly url: string; @@ -11373,21 +11373,21 @@ interface XMLHttpRequest extends XMLHttpRequestEventTarget { readonly responseURL: string; readonly responseXML: Document | null; readonly status: number; - readonly statusText: any; + readonly statusText: string; timeout: number; readonly upload: XMLHttpRequestUpload; withCredentials: boolean; msCaching?: string; abort(): void; - getAllResponseHeaders(): any; - getResponseHeader(name: any): any; - open(method: any, url: string): void; - open(method: any, url: string, async: boolean, username?: string, password?: string): void; + getAllResponseHeaders(): string; + getResponseHeader(name: string): string | null; + open(method: string, url: string): void; + open(method: string, url: string, async: boolean, username?: string, password?: string): void; overrideMimeType(mime: string): void; send(data?: Document): void; send(data?: string): void; send(data?: any): void; - setRequestHeader(name: any, value: any): void; + setRequestHeader(name: string, value: string): void; readonly DONE: number; readonly HEADERS_RECEIVED: number; readonly LOADING: number; diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index b9b6f5416..1bbb2b18f 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -118,7 +118,7 @@ interface RequestInit { headers?: HeadersInit; integrity?: string; keepalive?: boolean; - method?: any; + method?: string; mode?: RequestMode; redirect?: RequestRedirect; referrer?: string; @@ -129,7 +129,7 @@ interface RequestInit { interface ResponseInit { headers?: HeadersInit; status?: number; - statusText?: any; + statusText?: string; } interface SyncEventInit extends ExtendableEventInit { @@ -406,11 +406,11 @@ declare var FormData: { }; interface Headers { - append(name: any, value: any): void; - delete(name: any): void; - get(name: any): any; - has(name: any): boolean; - set(name: any, value: any): void; + append(name: string, value: string): void; + delete(name: string): void; + get(name: string): string | null; + has(name: string): boolean; + set(name: string, value: string): void; } declare var Headers: { @@ -842,7 +842,7 @@ interface Request extends Object, Body { readonly headers: Headers; readonly integrity: string; readonly keepalive: boolean; - readonly method: any; + readonly method: string; readonly mode: RequestMode; readonly redirect: RequestRedirect; readonly referrer: string; @@ -862,7 +862,7 @@ interface Response extends Object, Body { readonly ok: boolean; readonly redirected: boolean; readonly status: number; - readonly statusText: any; + readonly statusText: string; readonly trailer: Promise; readonly type: ResponseType; readonly url: string; @@ -1063,20 +1063,20 @@ interface XMLHttpRequest extends XMLHttpRequestEventTarget { readonly responseURL: string; readonly responseXML: any; readonly status: number; - readonly statusText: any; + readonly statusText: string; timeout: number; readonly upload: XMLHttpRequestUpload; withCredentials: boolean; msCaching?: string; abort(): void; - getAllResponseHeaders(): any; - getResponseHeader(name: any): any; - open(method: any, url: string): void; - open(method: any, url: string, async: boolean, username?: string, password?: string): void; + getAllResponseHeaders(): string; + getResponseHeader(name: string): string | null; + open(method: string, url: string): void; + open(method: string, url: string, async: boolean, username?: string, password?: string): void; overrideMimeType(mime: string): void; send(data?: string): void; send(data?: any): void; - setRequestHeader(name: any, value: any): void; + setRequestHeader(name: string, value: string): void; readonly DONE: number; readonly HEADERS_RECEIVED: number; readonly LOADING: number; From 7ce792c727b22c3ac196204032a3aa5f313aff04 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Fri, 28 Apr 2017 19:37:40 +0900 Subject: [PATCH 32/50] add DOMException (not provided by IDL) --- TS.fsx | 12 ++- baselines/dom.generated.d.ts | 70 ++++++++++++++-- baselines/webworker.generated.d.ts | 62 ++++++++++++++- inputfiles/addedTypes.json | 123 +++++++++++++++++++++++++++++ inputfiles/sample.json | 26 ++++++ 5 files changed, 283 insertions(+), 10 deletions(-) diff --git a/TS.fsx b/TS.fsx index 86e6c4ed5..d5e30d0cf 100644 --- a/TS.fsx +++ b/TS.fsx @@ -707,7 +707,8 @@ module Emit = | "any" -> "any" | "bool" | "boolean" | "Boolean" -> "boolean" | "Date" -> "Date" - | "DOMException" -> "Error" + | "Error" -> "Error" + | "DOMException" -> "DOMException" | "DOMHighResTimeStamp" -> "number" | "DOMString" | "USVString" | "ByteString" -> "string" | "DOMTimeStamp" -> "number" @@ -777,7 +778,7 @@ module Emit = | Some c' -> emitConstantFromJson c' | None -> Pt.Printl "readonly %s: %s;" c.Name (DomTypeToTsType c.Type) - let addedConstants = getAddedItems ItemKind.Constant Flavor.All + let addedConstants = getAddedItemsByInterfaceName ItemKind.Constant Flavor.All i.Name Array.iter emitConstantFromJson addedConstants if i.Constants.IsSome then @@ -1134,8 +1135,7 @@ module Emit = else Pt.Printl "new(): %s;" i.Name - getAddedItems ItemKind.Constructor flavor - |> Array.filter (matchInterface i.Name) + getAddedItemsByInterfaceName ItemKind.Constructor flavor i.Name |> Array.iter emitConstructorSigFromJson let EmitConstructor flavor (i:Browser.Interface) = @@ -1465,10 +1465,13 @@ module Emit = | _ -> () m.Signatures |> Array.iter (Pt.PrintWithAddedIndent "%s;") + let emitConstant (c: InputJsonType.Constant) = + Pt.PrintWithAddedIndent "readonly %s: %s;" c.Name c.Type ai.Properties |> Array.iter emitProperty ai.Methods |> Array.iter emitMethod ai.Indexer |> Array.collect (fun i -> i.Signatures) |> Array.iter (Pt.PrintWithAddedIndent "%s;") + ai.Constants |> Array.iter emitConstant Pt.Printl "}" Pt.Printl "" @@ -1479,6 +1482,7 @@ module Emit = | Some comment -> Pt.PrintWithAddedIndent "%s" comment | _ -> () ai.ConstructorSignatures |> Array.iter (Pt.PrintWithAddedIndent "%s;") + ai.Constants |> Array.iter emitConstant Pt.Printl "};" Pt.Printl "" diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index ed1fadde9..352bc7d34 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -1470,7 +1470,7 @@ interface ScrollToOptions extends ScrollOptions { } interface SensorErrorEventInit extends EventInit { - error: any; + error: Error; } interface SensorOptions { @@ -8541,7 +8541,7 @@ declare var Sensor: { }; interface SensorErrorEvent extends Event { - readonly error: any; + readonly error: Error; } declare var SensorErrorEvent: { @@ -12751,13 +12751,73 @@ interface AssignedNodesOptions { flatten?: boolean; } +interface DOMException extends Error { + readonly name: string; + readonly code: number; + readonly INDEX_SIZE_ERR: number; + readonly DOMSTRING_SIZE_ERR: number; + readonly HIERARCHY_REQUEST_ERR: number; + readonly WRONG_DOCUMENT_ERR: number; + readonly INVALID_CHARACTER_ERR: number; + readonly NO_DATA_ALLOWED_ERR: number; + readonly NO_MODIFICATION_ALLOWED_ERR: number; + readonly NOT_FOUND_ERR: number; + readonly NOT_SUPPORTED_ERR: number; + readonly INUSE_ATTRIBUTE_ERR: number; + readonly INVALID_STATE_ERR: number; + readonly SYNTAX_ERR: number; + readonly INVALID_MODIFICATION_ERR: number; + readonly NAMESPACE_ERR: number; + readonly INVALID_ACCESS_ERR: number; + readonly VALIDATION_ERR: number; + readonly TYPE_MISMATCH_ERR: number; + readonly SECURITY_ERR: number; + readonly NETWORK_ERR: number; + readonly ABORT_ERR: number; + readonly URL_MISMATCH_ERR: number; + readonly QUOTA_EXCEEDED_ERR: number; + readonly TIMEOUT_ERR: number; + readonly INVALID_NODE_TYPE_ERR: number; + readonly DATA_CLONE_ERR: number; +} + +declare var DOMException: { + prototype: DOMException; + new (message?: string, name?: string): DOMException; + readonly INDEX_SIZE_ERR: number; + readonly DOMSTRING_SIZE_ERR: number; + readonly HIERARCHY_REQUEST_ERR: number; + readonly WRONG_DOCUMENT_ERR: number; + readonly INVALID_CHARACTER_ERR: number; + readonly NO_DATA_ALLOWED_ERR: number; + readonly NO_MODIFICATION_ALLOWED_ERR: number; + readonly NOT_FOUND_ERR: number; + readonly NOT_SUPPORTED_ERR: number; + readonly INUSE_ATTRIBUTE_ERR: number; + readonly INVALID_STATE_ERR: number; + readonly SYNTAX_ERR: number; + readonly INVALID_MODIFICATION_ERR: number; + readonly NAMESPACE_ERR: number; + readonly INVALID_ACCESS_ERR: number; + readonly VALIDATION_ERR: number; + readonly TYPE_MISMATCH_ERR: number; + readonly SECURITY_ERR: number; + readonly NETWORK_ERR: number; + readonly ABORT_ERR: number; + readonly URL_MISMATCH_ERR: number; + readonly QUOTA_EXCEEDED_ERR: number; + readonly TIMEOUT_ERR: number; + readonly INVALID_NODE_TYPE_ERR: number; + readonly DATA_CLONE_ERR: number; +}; + declare type EventListenerOrEventListenerObject = EventListener | EventListenerObject; interface BlobCallback { (blob: Blob | null): void; } interface DecodeErrorCallback { - (error: Error): void; + (error: DOMException): void; } interface DecodeSuccessCallback { (decodedData: AudioBuffer): void; @@ -12808,7 +12868,7 @@ interface PositionErrorCallback { (positionError: PositionError): void; } interface RTCPeerConnectionErrorCallback { - (error: Error): void; + (error: DOMException): void; } interface RTCSessionDescriptionCallback { (description: RTCSessionDescriptionInit): void; @@ -13030,7 +13090,7 @@ declare function addEventListener(type: K, liste declare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; type AAGUID = BufferSource; type CSSOMString = string; -type HeadersInit = any[][] | any; +type HeadersInit = string[][] | any; type BodyInit = Blob | BufferSource | FormData | URLSearchParams | ReadableStream | string; type RequestInfo = Request | string; type DOMHighResTimeStamp = number; diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index 1bbb2b18f..055d957bb 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -1503,10 +1503,70 @@ interface ProgressEventInit extends EventInit { interface IDBArrayKey extends Array { } +interface DOMException extends Error { + readonly name: string; + readonly code: number; + readonly INDEX_SIZE_ERR: number; + readonly DOMSTRING_SIZE_ERR: number; + readonly HIERARCHY_REQUEST_ERR: number; + readonly WRONG_DOCUMENT_ERR: number; + readonly INVALID_CHARACTER_ERR: number; + readonly NO_DATA_ALLOWED_ERR: number; + readonly NO_MODIFICATION_ALLOWED_ERR: number; + readonly NOT_FOUND_ERR: number; + readonly NOT_SUPPORTED_ERR: number; + readonly INUSE_ATTRIBUTE_ERR: number; + readonly INVALID_STATE_ERR: number; + readonly SYNTAX_ERR: number; + readonly INVALID_MODIFICATION_ERR: number; + readonly NAMESPACE_ERR: number; + readonly INVALID_ACCESS_ERR: number; + readonly VALIDATION_ERR: number; + readonly TYPE_MISMATCH_ERR: number; + readonly SECURITY_ERR: number; + readonly NETWORK_ERR: number; + readonly ABORT_ERR: number; + readonly URL_MISMATCH_ERR: number; + readonly QUOTA_EXCEEDED_ERR: number; + readonly TIMEOUT_ERR: number; + readonly INVALID_NODE_TYPE_ERR: number; + readonly DATA_CLONE_ERR: number; +} + +declare var DOMException: { + prototype: DOMException; + new (message?: string, name?: string): DOMException; + readonly INDEX_SIZE_ERR: number; + readonly DOMSTRING_SIZE_ERR: number; + readonly HIERARCHY_REQUEST_ERR: number; + readonly WRONG_DOCUMENT_ERR: number; + readonly INVALID_CHARACTER_ERR: number; + readonly NO_DATA_ALLOWED_ERR: number; + readonly NO_MODIFICATION_ALLOWED_ERR: number; + readonly NOT_FOUND_ERR: number; + readonly NOT_SUPPORTED_ERR: number; + readonly INUSE_ATTRIBUTE_ERR: number; + readonly INVALID_STATE_ERR: number; + readonly SYNTAX_ERR: number; + readonly INVALID_MODIFICATION_ERR: number; + readonly NAMESPACE_ERR: number; + readonly INVALID_ACCESS_ERR: number; + readonly VALIDATION_ERR: number; + readonly TYPE_MISMATCH_ERR: number; + readonly SECURITY_ERR: number; + readonly NETWORK_ERR: number; + readonly ABORT_ERR: number; + readonly URL_MISMATCH_ERR: number; + readonly QUOTA_EXCEEDED_ERR: number; + readonly TIMEOUT_ERR: number; + readonly INVALID_NODE_TYPE_ERR: number; + readonly DATA_CLONE_ERR: number; +}; + declare type EventListenerOrEventListenerObject = EventListener | EventListenerObject; interface DecodeErrorCallback { - (error: Error): void; + (error: DOMException): void; } interface DecodeSuccessCallback { (decodedData: AudioBuffer): void; diff --git a/inputfiles/addedTypes.json b/inputfiles/addedTypes.json index 43e4dd708..37853d334 100644 --- a/inputfiles/addedTypes.json +++ b/inputfiles/addedTypes.json @@ -695,5 +695,128 @@ "name": "formData", "flavor": "Web", "signatures": ["formData(): Promise"] + }, + + { + "kind": "interface", + "name": "DOMException", + "extends": "Error", + "properties": [ + { + "name": "name", + "type": "string", + "readonly": true + }, + { + "name": "code", + "type": "number", + "readonly": true + } + ], + "constructorSignatures": [ + "new (message?: string, name?: string): DOMException" + ], + "constants": [ + { + "name": "INDEX_SIZE_ERR", + "type": "number" + }, + { + "name": "DOMSTRING_SIZE_ERR", + "type": "number" + }, + { + "name": "HIERARCHY_REQUEST_ERR", + "type": "number" + }, + { + "name": "WRONG_DOCUMENT_ERR", + "type": "number" + }, + { + "name": "INVALID_CHARACTER_ERR", + "type": "number" + }, + { + "name": "NO_DATA_ALLOWED_ERR", + "type": "number" + }, + { + "name": "NO_MODIFICATION_ALLOWED_ERR", + "type": "number" + }, + { + "name": "NOT_FOUND_ERR", + "type": "number" + }, + { + "name": "NOT_SUPPORTED_ERR", + "type": "number" + }, + { + "name": "INUSE_ATTRIBUTE_ERR", + "type": "number" + }, + { + "name": "INVALID_STATE_ERR", + "type": "number" + }, + { + "name": "SYNTAX_ERR", + "type": "number" + }, + { + "name": "INVALID_MODIFICATION_ERR", + "type": "number" + }, + { + "name": "NAMESPACE_ERR", + "type": "number" + }, + { + "name": "INVALID_ACCESS_ERR", + "type": "number" + }, + { + "name": "VALIDATION_ERR", + "type": "number" + }, + { + "name": "TYPE_MISMATCH_ERR", + "type": "number" + }, + { + "name": "SECURITY_ERR", + "type": "number" + }, + { + "name": "NETWORK_ERR", + "type": "number" + }, + { + "name": "ABORT_ERR", + "type": "number" + }, + { + "name": "URL_MISMATCH_ERR", + "type": "number" + }, + { + "name": "QUOTA_EXCEEDED_ERR", + "type": "number" + }, + { + "name": "TIMEOUT_ERR", + "type": "number" + }, + { + "name": "INVALID_NODE_TYPE_ERR", + "type": "number" + }, + { + "name": "DATA_CLONE_ERR", + "type": "number" + } + ] } ] diff --git a/inputfiles/sample.json b/inputfiles/sample.json index d516ad12f..beebf60ad 100644 --- a/inputfiles/sample.json +++ b/inputfiles/sample.json @@ -348,5 +348,31 @@ "type": "HTMLCollection" } ] + }, + { + "kind": "interface", + "name": "DOMException", + "extends": "Error", + "properties": [ + { + "name": "name", + "type": "string", + "readonly": true + }, + { + "name": "code", + "type": "number", + "readonly": true + } + ], + "constructorSignatures": [ + "new (message?: string, name?: string): DOMException" + ], + "constants": [ + { + "name": "INDEX_SIZE_ERR", + "type": "number" + } + ] } ] From 20f82a73ae7cc561d683ab2d66c9fd3ebbd4e666 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sat, 29 Apr 2017 21:27:33 +0900 Subject: [PATCH 33/50] adding element map and css properties --- baselines/dom.generated.d.ts | 476 +++++++++++++++++++++++++++- inputfiles/browser.webidl.xml | 566 ++++++++++++++++++++++++++++++---- 2 files changed, 960 insertions(+), 82 deletions(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 352bc7d34..6c0f7de49 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -2535,11 +2535,352 @@ declare var CSSRuleList: { }; interface CSSStyleDeclaration { + alignContent: string | null; + alignItems: string | null; + alignmentBaseline: string | null; + alignSelf: string | null; + animation: string | null; + animationDelay: string | null; + animationDirection: string | null; + animationDuration: string | null; + animationFillMode: string | null; + animationIterationCount: string | null; + animationName: string | null; + animationPlayState: string | null; + animationTimingFunction: string | null; + backfaceVisibility: string | null; + background: string | null; + backgroundAttachment: string | null; + backgroundClip: string | null; + backgroundColor: string | null; + backgroundImage: string | null; + backgroundOrigin: string | null; + backgroundPosition: string | null; + backgroundPositionX: string | null; + backgroundPositionY: string | null; + backgroundRepeat: string | null; + backgroundSize: string | null; + baselineShift: string | null; + border: string | null; + borderBottom: string | null; + borderBottomColor: string | null; + borderBottomLeftRadius: string | null; + borderBottomRightRadius: string | null; + borderBottomStyle: string | null; + borderBottomWidth: string | null; + borderCollapse: string | null; + borderColor: string | null; + borderImage: string | null; + borderImageOutset: string | null; + borderImageRepeat: string | null; + borderImageSlice: string | null; + borderImageSource: string | null; + borderImageWidth: string | null; + borderLeft: string | null; + borderLeftColor: string | null; + borderLeftStyle: string | null; + borderLeftWidth: string | null; + borderRadius: string | null; + borderRight: string | null; + borderRightColor: string | null; + borderRightStyle: string | null; + borderRightWidth: string | null; + borderSpacing: string | null; + borderStyle: string | null; + borderTop: string | null; + borderTopColor: string | null; + borderTopLeftRadius: string | null; + borderTopRightRadius: string | null; + borderTopStyle: string | null; + borderTopWidth: string | null; + borderWidth: string | null; + bottom: string | null; + boxShadow: string | null; + boxSizing: string | null; + breakAfter: string | null; + breakBefore: string | null; + breakInside: string | null; + captionSide: string | null; + clear: string | null; + clip: string | null; + clipPath: string | null; + clipRule: string | null; + color: string | null; + colorInterpolationFilters: string | null; + columnCount: any; + columnFill: string | null; + columnGap: any; + columnRule: string | null; + columnRuleColor: any; + columnRuleStyle: string | null; + columnRuleWidth: any; + columns: string | null; + columnSpan: string | null; + columnWidth: any; + content: string | null; + counterIncrement: string | null; + counterReset: string | null; cssFloat: CSSOMString; cssText: CSSOMString; + cursor: string | null; dashed_attribute: CSSOMString; + direction: string | null; + display: string | null; + dominantBaseline: string | null; + emptyCells: string | null; + enableBackground: string | null; + fill: string | null; + fillOpacity: string | null; + fillRule: string | null; + filter: string | null; + flex: string | null; + flexBasis: string | null; + flexDirection: string | null; + flexFlow: string | null; + flexGrow: string | null; + flexShrink: string | null; + flexWrap: string | null; + floodColor: string | null; + floodOpacity: string | null; + font: string | null; + fontFamily: string | null; + fontFeatureSettings: string | null; + fontSize: string | null; + fontSizeAdjust: string | null; + fontStretch: string | null; + fontStyle: string | null; + fontVariant: string | null; + fontWeight: string | null; + glyphOrientationHorizontal: string | null; + glyphOrientationVertical: string | null; + height: string | null; + imeMode: string | null; + justifyContent: string | null; + kerning: string | null; + layoutGrid: string | null; + layoutGridChar: string | null; + layoutGridLine: string | null; + layoutGridMode: string | null; + layoutGridType: string | null; + left: string | null; readonly length: number; + letterSpacing: string | null; + lightingColor: string | null; + lineBreak: string | null; + lineHeight: string | null; + listStyle: string | null; + listStyleImage: string | null; + listStylePosition: string | null; + listStyleType: string | null; + margin: string | null; + marginBottom: string | null; + marginLeft: string | null; + marginRight: string | null; + marginTop: string | null; + marker: string | null; + markerEnd: string | null; + markerMid: string | null; + markerStart: string | null; + mask: string | null; + maxHeight: string | null; + maxWidth: string | null; + minHeight: string | null; + minWidth: string | null; + msContentZoomChaining: string | null; + msContentZooming: string | null; + msContentZoomLimit: string | null; + msContentZoomLimitMax: any; + msContentZoomLimitMin: any; + msContentZoomSnap: string | null; + msContentZoomSnapPoints: string | null; + msContentZoomSnapType: string | null; + msFlowFrom: string | null; + msFlowInto: string | null; + msFontFeatureSettings: string | null; + msGridColumn: any; + msGridColumnAlign: string | null; + msGridColumns: string | null; + msGridColumnSpan: any; + msGridRow: any; + msGridRowAlign: string | null; + msGridRows: string | null; + msGridRowSpan: any; + msHighContrastAdjust: string | null; + msHyphenateLimitChars: string | null; + msHyphenateLimitLines: any; + msHyphenateLimitZone: any; + msHyphens: string | null; + msImeAlign: string | null; + msOverflowStyle: string | null; + msScrollChaining: string | null; + msScrollLimit: string | null; + msScrollLimitXMax: any; + msScrollLimitXMin: any; + msScrollLimitYMax: any; + msScrollLimitYMin: any; + msScrollRails: string | null; + msScrollSnapPointsX: string | null; + msScrollSnapPointsY: string | null; + msScrollSnapType: string | null; + msScrollSnapX: string | null; + msScrollSnapY: string | null; + msScrollTranslation: string | null; + msTextCombineHorizontal: string | null; + msTextSizeAdjust: any; + msTouchAction: string | null; + msTouchSelect: string | null; + msUserSelect: string | null; + msWrapFlow: string; + msWrapMargin: any; + msWrapThrough: string; + opacity: string | null; + order: string | null; + orphans: string | null; + outline: string | null; + outlineColor: string | null; + outlineOffset: string | null; + outlineStyle: string | null; + outlineWidth: string | null; + overflow: string | null; + overflowX: string | null; + overflowY: string | null; + padding: string | null; + paddingBottom: string | null; + paddingLeft: string | null; + paddingRight: string | null; + paddingTop: string | null; + pageBreakAfter: string | null; + pageBreakBefore: string | null; + pageBreakInside: string | null; readonly parentRule: CSSRule | null; + perspective: string | null; + perspectiveOrigin: string | null; + pointerEvents: string | null; + position: string | null; + quotes: string | null; + right: string | null; + rotate: string | null; + rubyAlign: string | null; + rubyOverhang: string | null; + rubyPosition: string | null; + scale: string | null; + stopColor: string | null; + stopOpacity: string | null; + stroke: string | null; + strokeDasharray: string | null; + strokeDashoffset: string | null; + strokeLinecap: string | null; + strokeLinejoin: string | null; + strokeMiterlimit: string | null; + strokeOpacity: string | null; + strokeWidth: string | null; + tableLayout: string | null; + textAlign: string | null; + textAlignLast: string | null; + textAnchor: string | null; + textDecoration: string | null; + textIndent: string | null; + textJustify: string | null; + textKashida: string | null; + textKashidaSpace: string | null; + textOverflow: string | null; + textShadow: string | null; + textTransform: string | null; + textUnderlinePosition: string | null; + top: string | null; + touchAction: string | null; + transform: string | null; + transformOrigin: string | null; + transformStyle: string | null; + transition: string | null; + transitionDelay: string | null; + transitionDuration: string | null; + transitionProperty: string | null; + transitionTimingFunction: string | null; + translate: string | null; + unicodeBidi: string | null; + verticalAlign: string | null; + visibility: string | null; + webkitAlignContent: string | null; + webkitAlignItems: string | null; + webkitAlignSelf: string | null; + webkitAnimation: string | null; + webkitAnimationDelay: string | null; + webkitAnimationDirection: string | null; + webkitAnimationDuration: string | null; + webkitAnimationFillMode: string | null; + webkitAnimationIterationCount: string | null; + webkitAnimationName: string | null; + webkitAnimationPlayState: string | null; + webkitAnimationTimingFunction: string | null; + webkitAppearance: string | null; + webkitBackfaceVisibility: string | null; + webkitBackgroundClip: string | null; + webkitBackgroundOrigin: string | null; + webkitBackgroundSize: string | null; + webkitBorderBottomLeftRadius: string | null; + webkitBorderBottomRightRadius: string | null; + webkitBorderImage: string | null; + webkitBorderRadius: string | null; + webkitBorderTopLeftRadius: string | null; + webkitBorderTopRightRadius: string | null; + webkitBoxAlign: string | null; + webkitBoxDirection: string | null; + webkitBoxFlex: string | null; + webkitBoxOrdinalGroup: string | null; + webkitBoxOrient: string | null; + webkitBoxPack: string | null; + webkitBoxSizing: string | null; + webkitColumnBreakAfter: string | null; + webkitColumnBreakBefore: string | null; + webkitColumnBreakInside: string | null; + webkitColumnCount: any; + webkitColumnGap: any; + webkitColumnRule: string | null; + webkitColumnRuleColor: any; + webkitColumnRuleStyle: string | null; + webkitColumnRuleWidth: any; + webkitColumns: string | null; + webkitColumnSpan: string | null; + webkitColumnWidth: any; + webkitFilter: string | null; + webkitFlex: string | null; + webkitFlexBasis: string | null; + webkitFlexDirection: string | null; + webkitFlexFlow: string | null; + webkitFlexGrow: string | null; + webkitFlexShrink: string | null; + webkitFlexWrap: string | null; + webkitJustifyContent: string | null; + webkitOrder: string | null; + webkitPerspective: string | null; + webkitPerspectiveOrigin: string | null; + webkitTapHighlightColor: string | null; + webkitTextFillColor: string | null; + webkitTextSizeAdjust: any; + webkitTextStroke: string | null; + webkitTextStrokeColor: string | null; + webkitTextStrokeWidth: string | null; + webkitTransform: string | null; + webkitTransformOrigin: string | null; + webkitTransformStyle: string | null; + webkitTransition: string | null; + webkitTransitionDelay: string | null; + webkitTransitionDuration: string | null; + webkitTransitionProperty: string | null; + webkitTransitionTimingFunction: string | null; + webkitUserModify: string | null; + webkitUserSelect: string | null; + webkitWritingMode: string | null; + whiteSpace: string | null; + widows: string | null; + width: string | null; + wordBreak: string | null; + wordSpacing: string | null; + wordWrap: string | null; + writingMode: string | null; + zIndex: string | null; + zoom: string | null; resize: string | null; userSelect: string | null; getPropertyPriority(property: CSSOMString): CSSOMString; @@ -2966,7 +3307,6 @@ interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, Par createEvent(eventInterface: "IDBVersionChangeEvent"): IDBVersionChangeEvent; createEvent(eventInterface: "InstallEvent"): InstallEvent; createEvent(eventInterface: "KeyboardEvent"): KeyboardEvent; - createEvent(eventInterface: "LongRunningScriptDetectedEvent"): LongRunningScriptDetectedEvent; createEvent(eventInterface: "MediaEncryptedEvent"): MediaEncryptedEvent; createEvent(eventInterface: "MediaKeyMessageEvent"): MediaKeyMessageEvent; createEvent(eventInterface: "MediaQueryListEvent"): MediaQueryListEvent; @@ -2974,9 +3314,6 @@ interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, Par createEvent(eventInterface: "MessageEvent"): MessageEvent; createEvent(eventInterface: "MouseEvent"): MouseEvent; createEvent(eventInterface: "MouseEvents"): MouseEvent; - createEvent(eventInterface: "NavigationCompletedEvent"): NavigationCompletedEvent; - createEvent(eventInterface: "NavigationEvent"): NavigationEvent; - createEvent(eventInterface: "NavigationEventWithReferrer"): NavigationEventWithReferrer; createEvent(eventInterface: "NotificationEvent"): NotificationEvent; createEvent(eventInterface: "OfflineAudioCompletionEvent"): OfflineAudioCompletionEvent; createEvent(eventInterface: "OverconstrainedErrorEvent"): OverconstrainedErrorEvent; @@ -3000,7 +3337,6 @@ interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, Par createEvent(eventInterface: "RelatedEvent"): RelatedEvent; createEvent(eventInterface: "SVGZoomEvent"): SVGZoomEvent; createEvent(eventInterface: "SVGZoomEvents"): SVGZoomEvent; - createEvent(eventInterface: "ScriptNotifyEvent"): ScriptNotifyEvent; createEvent(eventInterface: "SensorErrorEvent"): SensorErrorEvent; createEvent(eventInterface: "SpeechRecognitionError"): SpeechRecognitionError; createEvent(eventInterface: "SpeechRecognitionEvent"): SpeechRecognitionEvent; @@ -3012,7 +3348,6 @@ interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, Par createEvent(eventInterface: "TransitionEvent"): TransitionEvent; createEvent(eventInterface: "UIEvent"): UIEvent; createEvent(eventInterface: "UIEvents"): UIEvent; - createEvent(eventInterface: "UnviewableContentIdentifiedEvent"): UnviewableContentIdentifiedEvent; createEvent(eventInterface: "WebGLContextEvent"): WebGLContextEvent; createEvent(eventInterface: "WheelEvent"): WheelEvent; createEvent(eventInterface: string): Event; @@ -11919,15 +12254,6 @@ interface LinkStyle { readonly sheet: StyleSheet | null; } -interface MSAppAsyncOperation { -} - -interface MSHTMLWebViewElement { -} - -interface MSWebViewAsyncOperation { -} - interface NavigatorConcurrentHardware { readonly hardwareConcurrency: number; } @@ -12883,9 +13209,129 @@ interface VoidFunction { (): void; } interface HTMLElementTagNameMap { + "a": HTMLAnchorElement; + "applet": HTMLAppletElement; + "area": HTMLAreaElement; + "audio": HTMLAudioElement; + "base": HTMLBaseElement; + "body": HTMLBodyElement; + "br": HTMLBRElement; + "button": HTMLButtonElement; + "canvas": HTMLCanvasElement; + "caption": HTMLTableCaptionElement; + "col": HTMLTableColElement; + "data": HTMLDataElement; + "datalist": HTMLDataListElement; + "dir": HTMLDirectoryElement; + "div": HTMLDivElement; + "dl": HTMLDListElement; + "embed": HTMLEmbedElement; + "fieldset": HTMLFieldSetElement; + "font": HTMLFontElement; + "form": HTMLFormElement; + "frame": HTMLFrameElement; + "frameset": HTMLFrameSetElement; + "h1": HTMLHeadingElement; + "head": HTMLHeadElement; + "hr": HTMLHRElement; + "html": HTMLHtmlElement; + "iframe": HTMLIFrameElement; + "img": HTMLImageElement; + "input": HTMLInputElement; + "ins": HTMLModElement; + "isindex": HTMLUnknownElement; + "label": HTMLLabelElement; + "legend": HTMLLegendElement; + "li": HTMLLIElement; + "link": HTMLLinkElement; + "map": HTMLMapElement; + "marquee": HTMLMarqueeElement; + "menu": HTMLMenuElement; + "meta": HTMLMetaElement; + "meter": HTMLMeterElement; + "object": HTMLObjectElement; + "ol": HTMLOListElement; + "optgroup": HTMLOptGroupElement; + "option": HTMLOptionElement; + "output": HTMLOutputElement; + "p": HTMLParagraphElement; + "param": HTMLParamElement; + "picture": HTMLPictureElement; + "pre": HTMLPreElement; + "progress": HTMLProgressElement; + "q": HTMLQuoteElement; + "script": HTMLScriptElement; + "select": HTMLSelectElement; + "source": HTMLSourceElement; + "span": HTMLSpanElement; + "style": HTMLStyleElement; + "table": HTMLTableElement; + "template": HTMLTemplateElement; + "textarea": HTMLTextAreaElement; + "thead": HTMLTableSectionElement; + "time": HTMLTimeElement; + "title": HTMLTitleElement; + "tr": HTMLTableRowElement; + "track": HTMLTrackElement; + "ul": HTMLUListElement; + "video": HTMLVideoElement; } interface ElementTagNameMap extends HTMLElementTagNameMap { + "circle": SVGCircleElement; + "clippath": SVGClipPathElement; + "defs": SVGDefsElement; + "desc": SVGDescElement; + "ellipse": SVGEllipseElement; + "feblend": SVGFEBlendElement; + "fecolormatrix": SVGFEColorMatrixElement; + "fecomponenttransfer": SVGFEComponentTransferElement; + "fecomposite": SVGFECompositeElement; + "feconvolvematrix": SVGFEConvolveMatrixElement; + "fediffuselighting": SVGFEDiffuseLightingElement; + "fedisplacementmap": SVGFEDisplacementMapElement; + "fedistantlight": SVGFEDistantLightElement; + "feflood": SVGFEFloodElement; + "fefunca": SVGFEFuncAElement; + "fefuncb": SVGFEFuncBElement; + "fefuncg": SVGFEFuncGElement; + "fefuncr": SVGFEFuncRElement; + "fegaussianblur": SVGFEGaussianBlurElement; + "feimage": SVGFEImageElement; + "femerge": SVGFEMergeElement; + "femergenode": SVGFEMergeNodeElement; + "femorphology": SVGFEMorphologyElement; + "feoffset": SVGFEOffsetElement; + "fepointlight": SVGFEPointLightElement; + "fespecularlighting": SVGFESpecularLightingElement; + "fespotlight": SVGFESpotLightElement; + "fetile": SVGFETileElement; + "feturbulence": SVGFETurbulenceElement; + "filter": SVGFilterElement; + "foreignobject": SVGForeignObjectElement; + "g": SVGGElement; + "image": SVGImageElement; + "line": SVGLineElement; + "lineargradient": SVGLinearGradientElement; + "marker": SVGMarkerElement; + "mask": SVGMaskElement; + "metadata": SVGMetadataElement; + "noframes": HTMLElement; + "path": SVGPathElement; + "pattern": SVGPatternElement; + "polygon": SVGPolygonElement; + "polyline": SVGPolylineElement; + "radialgradient": SVGRadialGradientElement; + "rect": SVGRectElement; + "stop": SVGStopElement; + "svg": SVGSVGElement; + "switch": SVGSwitchElement; + "symbol": SVGSymbolElement; + "text": SVGTextElement; + "textpath": SVGTextPathElement; + "tspan": SVGTSpanElement; + "use": SVGUseElement; + "view": SVGViewElement; } type ElementListTagNameMap = { diff --git a/inputfiles/browser.webidl.xml b/inputfiles/browser.webidl.xml index 5a0ca2e3a..a6a6db44d 100644 --- a/inputfiles/browser.webidl.xml +++ b/inputfiles/browser.webidl.xml @@ -3278,7 +3278,6 @@ NonDocumentTypeChildNode ChildNode - @@ -3544,11 +3543,352 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3913,11 +4253,9 @@ - - @@ -4499,7 +4837,6 @@ - @@ -4519,10 +4856,6 @@ - - - - @@ -4550,10 +4883,7 @@ - - - @@ -4974,6 +5304,7 @@ HTMLHyperlinkElementUtils + @@ -4989,6 +5320,7 @@ + @@ -5004,17 +5336,20 @@ HTMLHyperlinkElementUtils + + + WindowEventHandlers @@ -5030,11 +5365,13 @@ + + @@ -5061,6 +5398,7 @@ + @@ -5088,6 +5426,7 @@ + @@ -5106,11 +5445,13 @@ + + @@ -5134,16 +5475,19 @@ + + + @@ -5176,6 +5520,7 @@ DocumentAndElementEventHandlers ElementContentEditable ElementCSSInlineStyle + @@ -5189,6 +5534,7 @@ + @@ -5208,6 +5554,7 @@ + @@ -5215,6 +5562,7 @@ + @@ -5255,6 +5603,7 @@ + @@ -5272,6 +5621,7 @@ + @@ -5279,12 +5629,16 @@ WindowEventHandlers + + + + - + @@ -5294,11 +5648,13 @@ + + @@ -5328,6 +5684,7 @@ + @@ -5362,6 +5719,7 @@ + @@ -5447,6 +5805,7 @@ + @@ -5454,18 +5813,21 @@ + + + @@ -5494,12 +5856,14 @@ + + @@ -5527,6 +5891,7 @@ + @@ -5627,6 +5992,7 @@ + @@ -5646,6 +6012,7 @@ + @@ -5657,12 +6024,14 @@ + + @@ -5702,6 +6071,7 @@ + @@ -5710,12 +6080,14 @@ + + @@ -5734,6 +6106,7 @@ + @@ -5776,11 +6149,13 @@ + + @@ -5789,12 +6164,16 @@ + + + + - + @@ -5803,11 +6182,13 @@ + + @@ -5828,6 +6209,7 @@ + @@ -5881,6 +6263,7 @@ + @@ -5900,8 +6283,11 @@ + + + + - @@ -5914,11 +6300,13 @@ + + @@ -5948,6 +6336,7 @@ + @@ -5981,6 +6370,7 @@ + @@ -6001,6 +6391,7 @@ + @@ -6018,11 +6409,13 @@ + + @@ -6080,16 +6473,19 @@ + + + @@ -6110,14 +6506,18 @@ + + + + + - @@ -6131,11 +6531,9 @@ - - - + @@ -7659,7 +8057,6 @@ LinkStyle - @@ -8349,9 +8746,6 @@ - - - @@ -8971,6 +9365,7 @@ SVGURIReference HTMLHyperlinkElementUtils + @@ -9074,6 +9469,7 @@ + @@ -9081,6 +9477,7 @@ SVGUnitTypes + @@ -9108,8 +9505,12 @@ SVGURIReference - - + + + + + + @@ -9136,6 +9537,7 @@ + @@ -9152,6 +9554,7 @@ SVGFilterPrimitiveStandardAttributes + @@ -9167,12 +9570,14 @@ SVGFilterPrimitiveStandardAttributes + SVGFilterPrimitiveStandardAttributes + @@ -9194,6 +9599,7 @@ SVGFilterPrimitiveStandardAttributes + @@ -9216,6 +9622,7 @@ SVGFilterPrimitiveStandardAttributes + @@ -9226,6 +9633,7 @@ SVGFilterPrimitiveStandardAttributes + @@ -9243,12 +9651,14 @@ SVGFilterPrimitiveStandardAttributes + + @@ -9268,11 +9678,20 @@ SVGFilterPrimitiveStandardAttributes + + + + + + + + + + + + + - - - - @@ -9293,6 +9712,7 @@ SVGFilterPrimitiveStandardAttributes + @@ -9301,14 +9721,17 @@ SVGFilterPrimitiveStandardAttributes SVGURIReference + SVGFilterPrimitiveStandardAttributes + + @@ -9323,6 +9746,7 @@ SVGFilterPrimitiveStandardAttributes + @@ -9331,6 +9755,7 @@ SVGFilterPrimitiveStandardAttributes + @@ -9338,6 +9763,7 @@ + @@ -9349,6 +9775,7 @@ SVGFilterPrimitiveStandardAttributes + @@ -9361,12 +9788,14 @@ + SVGFilterPrimitiveStandardAttributes + @@ -9386,6 +9815,7 @@ SVGFilterPrimitiveStandardAttributes + @@ -9398,6 +9828,7 @@ SVGURIReference SVGUnitTypes + @@ -9406,8 +9837,11 @@ + + + + - @@ -9469,6 +9903,7 @@ + @@ -9542,6 +9977,7 @@ + @@ -9550,6 +9986,7 @@ + @@ -9577,6 +10014,7 @@ SVGFitToViewBox + @@ -9588,6 +10026,7 @@ SVGUnitTypes + SVGURIReference @@ -9595,7 +10034,9 @@ - + + + @@ -9636,7 +10077,9 @@ - + + + @@ -9649,6 +10092,7 @@ SVGFitToViewBox SVGURIReference + @@ -9687,9 +10131,11 @@ SVGAnimatedPoints + SVGAnimatedPoints + @@ -9722,6 +10168,7 @@ + @@ -9732,6 +10179,7 @@ + @@ -9739,12 +10187,14 @@ SVGURIReference + + @@ -9788,6 +10238,7 @@ LinkStyle + @@ -9845,10 +10296,14 @@ + + + + - SVGFitToViewBox + @@ -9888,7 +10343,9 @@ - + + + @@ -9904,6 +10361,7 @@ SVGURIReference + @@ -9914,7 +10372,9 @@ - + + + @@ -9994,7 +10454,9 @@ - + + + @@ -10013,11 +10475,13 @@ SVGURIReference + SVGFitToViewBox SVGZoomAndPan + @@ -10051,7 +10515,6 @@ Slotable GeometryUtils - @@ -11593,37 +12056,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 224ecfd5ae421862bc37f2c9680cc0f51a1d7d24 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Tue, 2 May 2017 01:27:40 +0900 Subject: [PATCH 34/50] update input xml --- baselines/dom.generated.d.ts | 364 +++++++------------------------ inputfiles/browser.webidl.xml | 388 +++++++--------------------------- 2 files changed, 158 insertions(+), 594 deletions(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 6c0f7de49..ed9631046 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -54,28 +54,12 @@ interface AnalyserOptions extends AudioNodeOptions { smoothingTimeConstant?: number; } -interface AnimationEffectTimingProperties { - delay?: number; - direction?: PlaybackDirection; - duration?: number | string; - easing?: string; - endDelay?: number; - fill?: FillMode; - iterations?: number; - iterationStart?: number; -} - interface AnimationEventInit extends EventInit { animationName?: CSSOMString; elapsedTime?: number; pseudoElement?: CSSOMString; } -interface AnimationPlaybackEventInit extends EventInit { - currentTime?: number | null; - timelineTime?: number | null; -} - interface AssertionOptions { allowList?: ScopedCredentialDescriptor[]; extensions?: AuthenticationExtensions; @@ -144,24 +128,6 @@ interface AudioWorkletNodeOptions extends AudioNodeOptions { interface AuthenticationExtensions { } -interface BaseComputedKeyframe { - composite?: CompositeOperation; - computedOffset?: number; - easing?: string; - offset?: number | null; -} - -interface BaseKeyframe { - composite?: CompositeOperation; - easing?: string; - offset?: number | null; -} - -interface BasePropertyIndexedKeyframe { - composite?: CompositeOperation; - easing?: string; -} - interface BiquadFilterOptions extends AudioNodeOptions { detune?: number; frequency?: number; @@ -236,14 +202,6 @@ interface CompositionEventInit extends UIEventInit { data?: string; } -interface ComputedTimingProperties extends AnimationEffectTimingProperties { - activeDuration?: number; - currentIteration?: number | null; - endTime?: number; - localTime?: number | null; - progress?: number | null; -} - interface ConstantSourceOptions { offset?: number; } @@ -325,10 +283,6 @@ interface DeviceRotationRateInit { gamma?: number | null; } -interface DocumentTimelineOptions { - originTime?: number; -} - interface DOMMatrixInit { a?: number; b?: number; @@ -639,16 +593,6 @@ interface KeyboardEventInit extends EventModifierInit { repeat?: boolean; } -interface KeyframeAnimationOptions extends KeyframeEffectOptions { - id?: string; -} - -interface KeyframeEffectOptions extends AnimationEffectTimingProperties { - composite?: CompositeOperation; - iterationComposite?: IterationCompositeOperation; - spacing?: string; -} - interface LongRange { max?: number; min?: number; @@ -694,11 +638,8 @@ interface MediaStreamAudioSourceOptions { interface MediaStreamConstraints { audio?: boolean | MediaTrackConstraints; - video?: boolean | MediaTrackConstraints; -} - -interface MediaStreamConstraints { peerIdentity?: string; + video?: boolean | MediaTrackConstraints; } interface MediaStreamTrackAudioSourceOptions { @@ -796,13 +737,6 @@ interface MouseEventInit extends EventModifierInit { screenY?: number; } -interface MouseEventInit { - clientX?: number; - clientY?: number; - screenX?: number; - screenY?: number; -} - interface MutationObserverInit { attributeFilter?: string[]; attributeOldValue?: boolean; @@ -1284,9 +1218,6 @@ interface RTCOfferAnswerOptions { interface RTCOfferOptions extends RTCOfferAnswerOptions { iceRestart?: boolean; -} - -interface RTCOfferOptions { offerToReceiveAudio?: boolean; offerToReceiveVideo?: boolean; } @@ -1469,14 +1400,6 @@ interface ScrollToOptions extends ScrollOptions { top?: number; } -interface SensorErrorEventInit extends EventInit { - error: Error; -} - -interface SensorOptions { - frequency?: number | null; -} - interface Settings { } @@ -1591,17 +1514,6 @@ interface NodeFilter { (evt: Event): void; } -interface AmbientLightSensor extends Sensor { - readonly illuminance: number; - addEventListener(type: K, listener: (this: AmbientLightSensor, ev: SensorEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var AmbientLightSensor: { - prototype: AmbientLightSensor; - new(sensorOptions?: SensorOptions): AmbientLightSensor; -}; - interface AnalyserNode extends AudioNode { fftSize: number; readonly frequencyBinCount: number; @@ -1619,79 +1531,6 @@ declare var AnalyserNode: { new(context: BaseAudioContext, options?: AnalyserOptions): AnalyserNode; }; -interface AnimationEventMap { - "cancel": Event; - "finish": Event; -} - -interface Animation extends EventTarget { - currentTime: number | null; - effect: AnimationEffectReadOnly | null; - readonly finished: Promise; - id: string; - oncancel: (this: Animation, ev: Event) => any; - onfinish: (this: Animation, ev: Event) => any; - playbackRate: number; - readonly playState: AnimationPlayState; - readonly ready: Promise; - startTime: number | null; - timeline: AnimationTimeline | null; - cancel(): void; - finish(): void; - pause(): void; - play(): void; - reverse(): void; - addEventListener(type: K, listener: (this: Animation, ev: AnimationEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var Animation: { - prototype: Animation; - new(effect?: AnimationEffectReadOnly, timeline?: AnimationTimeline): Animation; -}; - -interface AnimationEffectReadOnly { - readonly timing: AnimationEffectTimingReadOnly; - getComputedTiming(): ComputedTimingProperties; -} - -declare var AnimationEffectReadOnly: { - prototype: AnimationEffectReadOnly; - new(): AnimationEffectReadOnly; -}; - -interface AnimationEffectTiming extends AnimationEffectTimingReadOnly { - delay: number; - direction: PlaybackDirection; - duration: number | string; - easing: string; - endDelay: number; - fill: FillMode; - iterations: number; - iterationStart: number; -} - -declare var AnimationEffectTiming: { - prototype: AnimationEffectTiming; - new(): AnimationEffectTiming; -}; - -interface AnimationEffectTimingReadOnly { - readonly delay: number; - readonly direction: PlaybackDirection; - readonly duration: number | string; - readonly easing: string; - readonly endDelay: number; - readonly fill: FillMode; - readonly iterations: number; - readonly iterationStart: number; -} - -declare var AnimationEffectTimingReadOnly: { - prototype: AnimationEffectTimingReadOnly; - new(): AnimationEffectTimingReadOnly; -}; - interface AnimationEvent extends Event { readonly animationName: CSSOMString; readonly elapsedTime: number; @@ -1703,25 +1542,6 @@ declare var AnimationEvent: { new(type: CSSOMString, animationEventInitDict?: AnimationEventInit): AnimationEvent; }; -interface AnimationPlaybackEvent extends Event { - readonly currentTime: number | null; - readonly timelineTime: number | null; -} - -declare var AnimationPlaybackEvent: { - prototype: AnimationPlaybackEvent; - new(type: string, eventInitDict?: AnimationPlaybackEventInit): AnimationPlaybackEvent; -}; - -interface AnimationTimeline { - readonly currentTime: number | null; -} - -declare var AnimationTimeline: { - prototype: AnimationTimeline; - new(): AnimationTimeline; -}; - interface ApplicationCacheEventMap { "cached": Event; "checking": Event; @@ -2388,7 +2208,7 @@ declare var CSSConditionRule: { interface CSSGroupingRule extends CSSRule { readonly cssRules: CSSRuleList; deleteRule(index: number): void; - insertRule(rule: CSSOMString, index?: number): number; + insertRule(rule: CSSOMString, index: number): number; } declare var CSSGroupingRule: { @@ -2399,7 +2219,7 @@ declare var CSSGroupingRule: { interface CSSGroupingRule extends CSSRule { readonly cssRules: CSSRuleList; deleteRule(index: number): void; - insertRule(rule: CSSOMString, index: number): number; + insertRule(rule: CSSOMString, index?: number): number; } declare var CSSGroupingRule: { @@ -2451,7 +2271,7 @@ declare var CSSMarginRule: { new(): CSSMarginRule; }; -interface CSSMediaRule extends CSSConditionRule { +interface CSSMediaRule extends CSSGroupingRule { readonly media: MediaList; } @@ -2460,7 +2280,7 @@ declare var CSSMediaRule: { new(): CSSMediaRule; }; -interface CSSMediaRule extends CSSGroupingRule { +interface CSSMediaRule extends CSSConditionRule { readonly media: MediaList; } @@ -2758,6 +2578,7 @@ interface CSSStyleDeclaration { pointerEvents: string | null; position: string | null; quotes: string | null; + resize: any; right: string | null; rotate: string | null; rubyAlign: string | null; @@ -2799,6 +2620,7 @@ interface CSSStyleDeclaration { transitionTimingFunction: string | null; translate: string | null; unicodeBidi: string | null; + user-select: any; verticalAlign: string | null; visibility: string | null; webkitAlignContent: string | null; @@ -3044,6 +2866,8 @@ declare var DeviceOrientationEvent: { }; interface DocumentEventMap extends GlobalEventHandlersEventMap, DocumentAndElementEventHandlersEventMap { + "fullscreenchange": Event; + "fullscreenerror": Event; "readystatechange": Event; } @@ -3122,6 +2946,8 @@ interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, Par * Retrieves a collection, in source order, of all form objects in the document. */ forms: HTMLCollectionOf; + readonly fullscreen: boolean; + readonly fullscreenEnabled: boolean; readonly head: HTMLHeadElement | null; /** * Retrieves a collection, in source order, of img objects in the document. @@ -3151,6 +2977,8 @@ interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, Par * Contains information about the current URL. */ readonly location: Location | null; + onfullscreenchange: (this: Document, ev: Event) => any; + onfullscreenerror: (this: Document, ev: Event) => any; /** * Fires when the state of the object has changed. * @param ev The event @@ -3179,7 +3007,6 @@ interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, Par * Retrieves a collection of styleSheet objects representing the style sheets that correspond to each instance of a link or style object in the document. */ readonly styleSheets: StyleSheetList; - readonly timeline: DocumentTimeline; /** * Contains the title of the document. */ @@ -3285,7 +3112,6 @@ interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, Par createElementNS(namespaceURI: "http://www.w3.org/2000/svg", qualifiedName: string): SVGElement; createElementNS(namespace: string | null, qualifiedName: string, options?: ElementCreationOptions): Element; createEvent(eventInterface: "AnimationEvent"): AnimationEvent; - createEvent(eventInterface: "AnimationPlaybackEvent"): AnimationPlaybackEvent; createEvent(eventInterface: "AudioProcessingEvent"): AudioProcessingEvent; createEvent(eventInterface: "BeforeUnloadEvent"): BeforeUnloadEvent; createEvent(eventInterface: "ClipboardEvent"): ClipboardEvent; @@ -3337,7 +3163,6 @@ interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, Par createEvent(eventInterface: "RelatedEvent"): RelatedEvent; createEvent(eventInterface: "SVGZoomEvent"): SVGZoomEvent; createEvent(eventInterface: "SVGZoomEvents"): SVGZoomEvent; - createEvent(eventInterface: "SensorErrorEvent"): SensorErrorEvent; createEvent(eventInterface: "SpeechRecognitionError"): SpeechRecognitionError; createEvent(eventInterface: "SpeechRecognitionEvent"): SpeechRecognitionEvent; createEvent(eventInterface: "SpeechSynthesisEvent"): SpeechSynthesisEvent; @@ -3393,7 +3218,7 @@ interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, Par * @param value Value to assign. */ execCommand(commandId: string, showUI?: boolean, value?: string): boolean; - getAnimations(): Animation[]; + exitFullscreen(): Promise; getElementsByClassName(classNames: string): HTMLCollectionOf; /** * Gets a collection of objects based on the value of the NAME or ID attribute. @@ -3486,14 +3311,6 @@ declare var DocumentFragment: { new(): DocumentFragment; }; -interface DocumentTimeline extends AnimationTimeline { -} - -declare var DocumentTimeline: { - prototype: DocumentTimeline; - new(options?: DocumentTimelineOptions): DocumentTimeline; -}; - interface DocumentType extends Node, ChildNode { readonly name: string; readonly publicId: string; @@ -3760,7 +3577,7 @@ interface ElementEventMap { "lostpointercapture": PointerEvent; } -interface Element extends Node, ParentNode, NonDocumentTypeChildNode, ChildNode, Slotable, GeometryUtils, Animatable, ParentNode { +interface Element extends Node, ParentNode, NonDocumentTypeChildNode, ChildNode, Slotable, GeometryUtils, ParentNode { readonly attributes: NamedNodeMap; readonly classList: DOMTokenList; className: string; @@ -3808,6 +3625,7 @@ interface Element extends Node, ParentNode, NonDocumentTypeChildNode, ChildNode, removeAttribute(qualifiedName: string): void; removeAttributeNode(attr: Attr): Attr; removeAttributeNS(namespace: string | null, localName: string): void; + requestFullscreen(): Promise; scroll(options?: ScrollToOptions): void; scroll(x: number, y: number): void; scrollBy(options?: ScrollToOptions): void; @@ -7084,34 +6902,6 @@ declare var KeyboardEvent: { readonly DOM_KEY_LOCATION_STANDARD: number; }; -interface KeyframeEffect extends KeyframeEffectReadOnly { - composite: CompositeOperation; - iterationComposite: IterationCompositeOperation; - spacing: string; - target: Animatable | null; - setKeyframes(keyframes: any): void; -} - -declare var KeyframeEffect: { - prototype: KeyframeEffect; - new(target: Animatable | null, keyframes: any, options?: number | KeyframeEffectOptions): KeyframeEffect; - new(source: KeyframeEffectReadOnly): KeyframeEffect; -}; - -interface KeyframeEffectReadOnly extends AnimationEffectReadOnly { - readonly composite: CompositeOperation; - readonly iterationComposite: IterationCompositeOperation; - readonly spacing: string; - readonly target: Animatable | null; - getKeyframes(): any[]; -} - -declare var KeyframeEffectReadOnly: { - prototype: KeyframeEffectReadOnly; - new(target: Animatable | null, keyframes: any, options?: number | KeyframeEffectOptions): KeyframeEffectReadOnly; - new(source: KeyframeEffectReadOnly): KeyframeEffectReadOnly; -}; - interface Location { readonly ancestorOrigins: DOMStringList; hash: string; @@ -8852,38 +8642,6 @@ declare var Selection: { new(): Selection; }; -interface SensorEventMap { - "activate": Event; - "change": Event; - "error": SensorErrorEvent; -} - -interface Sensor extends EventTarget { - onactivate: (this: Sensor, ev: Event) => any; - onchange: (this: Sensor, ev: Event) => any; - onerror: (this: Sensor, ev: SensorErrorEvent) => any; - readonly state: SensorState; - readonly timestamp: number | null; - start(): void; - stop(): void; - addEventListener(type: K, listener: (this: Sensor, ev: SensorEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var Sensor: { - prototype: Sensor; - new(): Sensor; -}; - -interface SensorErrorEvent extends Event { - readonly error: Error; -} - -declare var SensorErrorEvent: { - prototype: SensorErrorEvent; - new(type: string, errorEventInitDict: SensorErrorEventInit): SensorErrorEvent; -}; - interface ServiceWorkerEventMap extends AbstractWorkerEventMap { "statechange": Event; } @@ -8988,14 +8746,12 @@ declare var ServiceWorkerRegistration: { }; interface ShadowAnimation extends Animation { - readonly sourceAnimation: Animation; - addEventListener(type: K, listener: (this: ShadowAnimation, ev: AnimationEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + readonly sourceAnimation: any; } declare var ShadowAnimation: { prototype: ShadowAnimation; - new(source: Animation, newTarget: Animatable): ShadowAnimation; + new(source: any, newTarget: any): ShadowAnimation; }; interface ShadowRoot extends DocumentFragment, DocumentOrShadowRoot { @@ -9008,14 +8764,6 @@ declare var ShadowRoot: { new(): ShadowRoot; }; -interface SharedKeyframeList { -} - -declare var SharedKeyframeList: { - prototype: SharedKeyframeList; - new(keyframes: any): SharedKeyframeList; -}; - interface SharedWorker extends EventTarget, AbstractWorker { readonly port: MessagePort; addEventListener(type: K, listener: (this: SharedWorker, ev: AbstractWorkerEventMap[K]) => any, useCapture?: boolean): void; @@ -9230,7 +8978,7 @@ interface SpeechSynthesis extends EventTarget { readonly pending: boolean; readonly speaking: boolean; cancel(): void; - getVoices(): any[]; + getVoices(): SpeechSynthesisVoice[]; pause(): void; resume(): void; speak(utterance: SpeechSynthesisUtterance): void; @@ -9244,7 +8992,7 @@ declare var SpeechSynthesis: { }; interface SpeechSynthesisErrorEvent extends SpeechSynthesisEvent { - readonly error: any; + readonly error: SpeechSynthesisErrorCode; } declare var SpeechSynthesisErrorEvent: { @@ -11805,11 +11553,6 @@ interface ANGLE_instanced_arrays { readonly VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: GLenum; } -interface Animatable { - animate(keyframes: any, options?: number | KeyframeAnimationOptions): Animation; - getAnimations(): Animation[]; -} - interface Body { readonly body: ReadableStream | null; readonly bodyUsed: boolean; @@ -11975,7 +11718,7 @@ interface Coordinates { readonly speed: number | null; } -interface CSSPseudoElement extends Object, GeometryUtils, Animatable { +interface CSSPseudoElement extends Object, GeometryUtils { } interface DeviceAcceleration { @@ -12005,6 +11748,7 @@ interface DocumentAndElementEventHandlers { } interface DocumentOrShadowRoot { + readonly fullscreenElement: Element | null; } interface ElementContentEditable { @@ -13214,14 +12958,18 @@ interface HTMLElementTagNameMap { "area": HTMLAreaElement; "audio": HTMLAudioElement; "base": HTMLBaseElement; + "blockquote": HTMLQuoteElement; "body": HTMLBodyElement; "br": HTMLBRElement; "button": HTMLButtonElement; "canvas": HTMLCanvasElement; "caption": HTMLTableCaptionElement; "col": HTMLTableColElement; + "colgroup": HTMLTableColElement; "data": HTMLDataElement; "datalist": HTMLDataListElement; + "del": HTMLModElement; + "dialog": HTMLDialogElement; "dir": HTMLDirectoryElement; "div": HTMLDivElement; "dl": HTMLDListElement; @@ -13232,6 +12980,11 @@ interface HTMLElementTagNameMap { "frame": HTMLFrameElement; "frameset": HTMLFrameSetElement; "h1": HTMLHeadingElement; + "h2": HTMLHeadingElement; + "h3": HTMLHeadingElement; + "h4": HTMLHeadingElement; + "h5": HTMLHeadingElement; + "h6": HTMLHeadingElement; "head": HTMLHeadElement; "hr": HTMLHRElement; "html": HTMLHtmlElement; @@ -13244,11 +12997,13 @@ interface HTMLElementTagNameMap { "legend": HTMLLegendElement; "li": HTMLLIElement; "link": HTMLLinkElement; + "listing": HTMLPreElement; "map": HTMLMapElement; "marquee": HTMLMarqueeElement; "menu": HTMLMenuElement; "meta": HTMLMetaElement; "meter": HTMLMeterElement; + "nextid": HTMLUnknownElement; "object": HTMLObjectElement; "ol": HTMLOListElement; "optgroup": HTMLOptGroupElement; @@ -13266,8 +13021,12 @@ interface HTMLElementTagNameMap { "span": HTMLSpanElement; "style": HTMLStyleElement; "table": HTMLTableElement; + "tbody": HTMLTableSectionElement; + "td": HTMLTableCellElement; "template": HTMLTemplateElement; "textarea": HTMLTextAreaElement; + "tfoot": HTMLTableSectionElement; + "th": HTMLTableCellElement; "thead": HTMLTableSectionElement; "time": HTMLTimeElement; "title": HTMLTitleElement; @@ -13275,14 +13034,30 @@ interface HTMLElementTagNameMap { "track": HTMLTrackElement; "ul": HTMLUListElement; "video": HTMLVideoElement; + "xmp": HTMLPreElement; } interface ElementTagNameMap extends HTMLElementTagNameMap { + "abbr": HTMLElement; + "acronym": HTMLElement; + "address": HTMLElement; + "article": HTMLElement; + "aside": HTMLElement; + "b": HTMLElement; + "bdo": HTMLElement; + "big": HTMLElement; + "center": HTMLElement; "circle": SVGCircleElement; + "cite": HTMLElement; "clippath": SVGClipPathElement; + "code": HTMLElement; + "dd": HTMLElement; "defs": SVGDefsElement; "desc": SVGDescElement; + "dfn": HTMLElement; + "dt": HTMLElement; "ellipse": SVGEllipseElement; + "em": HTMLElement; "feblend": SVGFEBlendElement; "fecolormatrix": SVGFEColorMatrixElement; "fecomponenttransfer": SVGFEComponentTransferElement; @@ -13307,31 +13082,58 @@ interface ElementTagNameMap extends HTMLElementTagNameMap { "fespotlight": SVGFESpotLightElement; "fetile": SVGFETileElement; "feturbulence": SVGFETurbulenceElement; + "figcaption": HTMLElement; + "figure": HTMLElement; "filter": SVGFilterElement; + "footer": HTMLElement; "foreignobject": SVGForeignObjectElement; "g": SVGGElement; + "header": HTMLElement; + "hgroup": HTMLElement; + "i": HTMLElement; "image": SVGImageElement; + "kbd": HTMLElement; + "keygen": HTMLElement; "line": SVGLineElement; "lineargradient": SVGLinearGradientElement; + "mark": HTMLElement; "marker": SVGMarkerElement; "mask": SVGMaskElement; "metadata": SVGMetadataElement; + "nav": HTMLElement; + "nobr": HTMLElement; "noframes": HTMLElement; + "noscript": HTMLElement; "path": SVGPathElement; "pattern": SVGPatternElement; + "plaintext": HTMLElement; "polygon": SVGPolygonElement; "polyline": SVGPolylineElement; "radialgradient": SVGRadialGradientElement; "rect": SVGRectElement; + "rt": HTMLElement; + "ruby": HTMLElement; + "s": HTMLElement; + "samp": HTMLElement; + "section": HTMLElement; + "small": HTMLElement; "stop": SVGStopElement; + "strike": HTMLElement; + "strong": HTMLElement; + "sub": HTMLElement; + "sup": HTMLElement; "svg": SVGSVGElement; "switch": SVGSwitchElement; "symbol": SVGSymbolElement; "text": SVGTextElement; "textpath": SVGTextPathElement; "tspan": SVGTSpanElement; + "tt": HTMLElement; + "u": HTMLElement; "use": SVGUseElement; + "var": HTMLElement; "view": SVGViewElement; + "wbr": HTMLElement; } type ElementListTagNameMap = { @@ -13588,7 +13390,6 @@ type DOMTimeStamp = number; type FormDataEntryValue = File | string; type IDBValidKey = number | string | Date | IDBArrayKey; type MouseWheelEvent = WheelEvent; -type AnimationPlayState = "idle" | "pending" | "running" | "paused" | "finished"; type AppendMode = "segments" | "sequence"; type Attachment = "platform" | "cross-platform"; type AudioContextLatencyCategory = "balanced" | "interactive" | "playback"; @@ -13606,19 +13407,16 @@ type ChannelCountMode = "max" | "clamped-max" | "explicit"; type ChannelInterpretation = "speakers" | "discrete"; type ClientType = "window" | "worker" | "sharedworker" | "all"; type ColorSpaceConversion = "none" | "default"; -type CompositeOperation = "replace" | "add" | "accumulate"; type CSSBoxType = "margin" | "border" | "padding" | "content"; type DistanceModelType = "linear" | "inverse" | "exponential"; type DocumentReadyState = "loading" | "interactive" | "complete"; type EndOfStreamError = "network" | "decode"; -type FillMode = "none" | "forwards" | "backwards" | "both" | "auto"; type GamepadMappingType = "" | "standard"; type IDBCursorDirection = "next" | "nextunique" | "prev" | "prevunique"; type IDBRequestReadyState = "pending" | "done"; type IDBTransactionMode = "readonly" | "readwrite" | "versionchange"; type ImageOrientation = "none" | "flipY"; type ImageSmoothingQuality = "low" | "medium" | "high"; -type IterationCompositeOperation = "replace" | "accumulate"; type KeyFormat = "raw" | "spki" | "pkcs8" | "jwk"; type KeyType = "public" | "private" | "secret"; type KeyUsage = "encrypt" | "decrypt" | "sign" | "verify" | "deriveKey" | "deriveBits" | "wrapKey" | "unwrapKey"; @@ -13637,7 +13435,6 @@ type OverSampleType = "none" | "2x" | "4x"; type PanningModelType = "equalpower" | "HRTF"; type PaymentComplete = "fail" | "success" | "unknown"; type PaymentShippingType = "shipping" | "delivery" | "pickup"; -type PlaybackDirection = "normal" | "reverse" | "alternate" | "alternate-reverse"; type PremultiplyAlpha = "none" | "premultiply" | "default"; type PushEncryptionKeyName = "p256dh" | "auth"; type PushPermissionState = "denied" | "granted" | "prompt"; @@ -13679,7 +13476,6 @@ type ScrollBehavior = "auto" | "instant" | "smooth"; type ScrollLogicalPosition = "start" | "center" | "end" | "nearest"; type ScrollRestoration = "auto" | "manual"; type SelectionMode = "select" | "start" | "end" | "preserve"; -type SensorState = "unconnected" | "activating" | "activated" | "idle" | "errored"; type ServiceWorkerState = "installing" | "installed" | "activating" | "activated" | "redundant"; type ShadowRootMode = "open" | "closed"; type SpeechRecognitionErrorCode = "no-speech" | "aborted" | "audio-capture" | "network" | "not-allowed" | "service-not-allowed" | "bad-grammar" | "language-not-supported"; diff --git a/inputfiles/browser.webidl.xml b/inputfiles/browser.webidl.xml index a6a6db44d..d66d8ef79 100644 --- a/inputfiles/browser.webidl.xml +++ b/inputfiles/browser.webidl.xml @@ -174,18 +174,6 @@ - - - - - - - - - - - - @@ -193,12 +181,6 @@ - - - - - - @@ -278,27 +260,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -386,15 +347,6 @@ - - - - - - - - - @@ -491,11 +443,6 @@ - - - - - @@ -853,18 +800,6 @@ - - - - - - - - - - - - @@ -919,12 +854,8 @@ - - - - - + @@ -1030,14 +961,6 @@ - - - - - - - - @@ -1588,10 +1511,6 @@ - - - - @@ -1801,16 +1720,6 @@ - - - - - - - - - - @@ -1935,13 +1844,6 @@ - - idle - pending - running - paused - finished - segments sequence @@ -2032,11 +1934,6 @@ none default - - replace - add - accumulate - margin border @@ -2057,13 +1954,6 @@ network decode - - none - forwards - backwards - both - auto - standard @@ -2092,10 +1982,6 @@ medium high - - replace - accumulate - raw spki @@ -2196,12 +2082,6 @@ delivery pickup - - normal - reverse - alternate - alternate-reverse - none premultiply @@ -2457,13 +2337,6 @@ end preserve - - unconnected - activating - activated - idle - errored - installing installed @@ -2544,14 +2417,6 @@ - - - - - - - - @@ -2579,68 +2444,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2652,21 +2455,6 @@ - - - - - - - - - - - - - - - @@ -3404,7 +3192,7 @@ - + @@ -3418,7 +3206,7 @@ - + @@ -3461,12 +3249,12 @@ - + - + @@ -3766,6 +3554,7 @@ + @@ -3807,6 +3596,7 @@ + @@ -4139,7 +3929,7 @@ - + @@ -4215,6 +4005,8 @@ + + @@ -4223,6 +4015,8 @@ + + @@ -4232,7 +4026,6 @@ - @@ -4263,11 +4056,6 @@ NonElementParentNode ParentNode - - - - - @@ -4750,6 +4538,7 @@ + @@ -4826,7 +4615,6 @@ ChildNode Slotable GeometryUtils - Animatable @@ -5470,6 +5258,7 @@ + @@ -5521,6 +5310,48 @@ ElementContentEditable ElementCSSInlineStyle + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5639,6 +5470,11 @@ + + + + + @@ -6032,6 +5868,7 @@ + @@ -6174,6 +6011,8 @@ + + @@ -6189,6 +6028,7 @@ + @@ -6326,6 +6166,8 @@ + + @@ -6337,6 +6179,7 @@ + @@ -6410,6 +6253,8 @@ + + @@ -6517,6 +6362,7 @@ + @@ -6898,46 +6744,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -8811,33 +8617,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -8953,11 +8732,6 @@ DocumentOrShadowRoot - - - - - @@ -9149,7 +8923,7 @@ - + @@ -9168,7 +8942,7 @@ - + @@ -11353,15 +11127,6 @@ - - - - - - - - - @@ -11759,7 +11524,6 @@ GeometryUtils - Animatable @@ -11787,7 +11551,11 @@ - + + + + + From 43a0a21c63b626141e5ec8c9823a7bb28a7e434b Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sat, 13 May 2017 11:32:51 +0900 Subject: [PATCH 35/50] update input xml --- baselines/dom.generated.d.ts | 219 ++++++++---------------- baselines/webworker.generated.d.ts | 7 +- inputfiles/browser.webidl.xml | 261 +++++++++++------------------ 3 files changed, 173 insertions(+), 314 deletions(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index ed9631046..0a7974ac2 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -3,14 +3,6 @@ /// DOM APIs ///////////////////////////// -interface Account { - displayName: string; - id: string; - imageURL?: string; - name?: string; - rpDisplayName: string; -} - interface AddEventListenerOptions extends EventListenerOptions { once?: boolean; passive?: boolean; @@ -60,13 +52,6 @@ interface AnimationEventInit extends EventInit { pseudoElement?: CSSOMString; } -interface AssertionOptions { - allowList?: ScopedCredentialDescriptor[]; - extensions?: AuthenticationExtensions; - rpId?: string; - timeout?: number; -} - interface AssignedNodesOptions { flatten?: boolean; } @@ -125,9 +110,6 @@ interface AudioWorkletNodeOptions extends AudioNodeOptions { numberOfOutputs?: number; } -interface AuthenticationExtensions { -} - interface BiquadFilterOptions extends AudioNodeOptions { detune?: number; frequency?: number; @@ -174,14 +156,6 @@ interface ChannelSplitterOptions extends AudioNodeOptions { numberOfOutputs?: number; } -interface ClientData { - challenge: string; - extensions?: AuthenticationExtensions; - hashAlg: AlgorithmIdentifier; - origin: string; - tokenBinding?: string; -} - interface ClientQueryOptions { includeReserved?: boolean; includeUncontrolled?: boolean; @@ -961,7 +935,7 @@ interface RequestInit { mode?: RequestMode; redirect?: RequestRedirect; referrer?: string; - referrerPolicy?: any; + referrerPolicy?: ReferrerPolicy; window?: any; } @@ -1135,7 +1109,7 @@ interface RTCIceParameters { } interface RTCIceServer { - credential?: string; + credential?: string | RTCOAuthCredential; credentialType?: RTCIceCredentialType; urls: string | string[]; username?: string; @@ -1212,6 +1186,11 @@ interface RTCMediaStreamTrackStats extends RTCStats { trackIdentifier?: string; } +interface RTCOAuthCredential { + accessToken: string; + macKey: string; +} + interface RTCOfferAnswerOptions { voiceActivityDetection?: boolean; } @@ -1279,6 +1258,7 @@ interface RTCRtpEncodingParameters { maxBitrate?: number; maxFramerate?: number; priority?: RTCPriorityType; + ptime?: number; rid?: string; rtx?: RTCRtpRtxParameters; scaleResolutionDownBy?: number; @@ -1367,25 +1347,6 @@ interface RTCTransportStats extends RTCStats { selectedCandidatePairId?: string; } -interface ScopedCredentialDescriptor { - id: BufferSource; - transports?: Transport[]; - type: ScopedCredentialType; -} - -interface ScopedCredentialOptions { - attachment?: Attachment; - excludeList?: ScopedCredentialDescriptor[]; - extensions?: AuthenticationExtensions; - rpId?: string; - timeout?: number; -} - -interface ScopedCredentialParameters { - algorithm: AlgorithmIdentifier; - type: ScopedCredentialType; -} - interface ScrollIntoViewOptions extends ScrollOptions { block?: ScrollLogicalPosition; inline?: ScrollLogicalPosition; @@ -1499,6 +1460,7 @@ interface WheelEventInit extends MouseEventInit { interface WorkerOptions { credentials?: RequestCredentials; + name?: string; type?: WorkerType; } @@ -1855,18 +1817,6 @@ declare var AudioWorkletProcessor: { new(): AudioWorkletProcessor; }; -interface AuthenticationAssertion { - readonly authenticatorData: ArrayBuffer; - readonly clientDataJSON: ArrayBuffer; - readonly credential: ScopedCredential; - readonly signature: ArrayBuffer; -} - -declare var AuthenticationAssertion: { - prototype: AuthenticationAssertion; - new(): AuthenticationAssertion; -}; - interface BarProp { readonly visible: boolean; } @@ -2819,6 +2769,7 @@ interface DedicatedWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap { } interface DedicatedWorkerGlobalScope extends WorkerGlobalScope { + readonly name: string; onmessage: (this: DedicatedWorkerGlobalScope, ev: MessageEvent) => any; onmessageerror: (this: DedicatedWorkerGlobalScope, ev: MessageEvent) => any; close(): void; @@ -7379,7 +7330,6 @@ declare var NavigationPreloadManager: { }; interface Navigator extends Object, NavigatorID, NavigatorLanguage, NavigatorOnLine, NavigatorContentUtils, NavigatorCookies, NavigatorPlugins, NavigatorConcurrentHardware, NavigatorUserMedia { - readonly authentication: WebAuthentication; readonly geolocation: Geolocation; readonly maxTouchPoints: number; readonly serviceWorker: ServiceWorkerContainer; @@ -8145,7 +8095,7 @@ interface Request extends Object, Body { readonly mode: RequestMode; readonly redirect: RequestRedirect; readonly referrer: string; - readonly referrerPolicy: any; + readonly referrerPolicy: ReferrerPolicy; readonly type: RequestType; readonly url: string; clone(): Request; @@ -8179,8 +8129,8 @@ declare var Response: { interface RTCCertificate { readonly expires: number; - readonly fingerprints: ReadonlyArray; getAlgorithm(): AlgorithmIdentifier; + getFingerprints(): RTCDtlsFingerprint[]; } declare var RTCCertificate: { @@ -8387,7 +8337,6 @@ interface RTCPeerConnection extends EventTarget { readonly connectionState: RTCPeerConnectionState; readonly currentLocalDescription: RTCSessionDescription | null; readonly currentRemoteDescription: RTCSessionDescription | null; - readonly defaultIceServers: ReadonlyArray; readonly iceConnectionState: RTCIceConnectionState; readonly iceGatheringState: RTCIceGatheringState; readonly idpErrorInfo: string | null; @@ -8414,8 +8363,8 @@ interface RTCPeerConnection extends EventTarget { addTrack(track: MediaStreamTrack, ...streams: MediaStream[]): RTCRtpSender; addTransceiver(trackOrKind: MediaStreamTrack | string, init?: RTCRtpTransceiverInit): RTCRtpTransceiver; close(): void; - createAnswer(options?: RTCAnswerOptions): Promise; createAnswer(successCallback: RTCSessionDescriptionCallback, failureCallback: RTCPeerConnectionErrorCallback): Promise; + createAnswer(options?: RTCAnswerOptions): Promise; createDataChannel(label: string, dataChannelDict?: RTCDataChannelInit): RTCDataChannel; createOffer(successCallback: RTCSessionDescriptionCallback, failureCallback: RTCPeerConnectionErrorCallback, options?: RTCOfferOptions): Promise; createOffer(options?: RTCOfferOptions): Promise; @@ -8440,6 +8389,7 @@ declare var RTCPeerConnection: { prototype: RTCPeerConnection; new(configuration?: RTCConfiguration): RTCPeerConnection; generateCertificate(keygenAlgorithm: AlgorithmIdentifier): Promise; + getDefaultIceServers(): RTCIceServer[]; }; interface RTCPeerConnectionIceErrorEvent extends Event { @@ -8468,7 +8418,6 @@ interface RTCRtpContributingSource { readonly audioLevel: number | null; readonly source: number; readonly timestamp: number; - readonly voiceActivityFlag: boolean | null; } declare var RTCRtpContributingSource: { @@ -8482,6 +8431,8 @@ interface RTCRtpReceiver { readonly transport: RTCDtlsTransport | null; getContributingSources(): RTCRtpContributingSource[]; getParameters(): RTCRtpParameters; + getStats(): Promise; + getSynchronizationSources(): RTCRtpSynchronizationSource[]; } declare var RTCRtpReceiver: { @@ -8496,6 +8447,7 @@ interface RTCRtpSender { readonly track: MediaStreamTrack | null; readonly transport: RTCDtlsTransport | null; getParameters(): RTCRtpParameters; + getStats(): Promise; replaceTrack(withTrack: MediaStreamTrack): Promise; setParameters(parameters?: RTCRtpParameters): Promise; } @@ -8506,6 +8458,18 @@ declare var RTCRtpSender: { getCapabilities(kind: string): RTCRtpCapabilities; }; +interface RTCRtpSynchronizationSource { + readonly audioLevel: number; + readonly source: number; + readonly timestamp: number; + readonly voiceActivityFlag: boolean | null; +} + +declare var RTCRtpSynchronizationSource: { + prototype: RTCRtpSynchronizationSource; + new(): RTCRtpSynchronizationSource; +}; + interface RTCRtpTransceiver { readonly currentDirection: RTCRtpTransceiverDirection | null; readonly direction: RTCRtpTransceiverDirection; @@ -8563,26 +8527,6 @@ declare var RTCTrackEvent: { new(type: string, eventInitDict: RTCTrackEventInit): RTCTrackEvent; }; -interface ScopedCredential { - readonly id: ArrayBuffer; - readonly type: ScopedCredentialType; -} - -declare var ScopedCredential: { - prototype: ScopedCredential; - new(): ScopedCredential; -}; - -interface ScopedCredentialInfo { - readonly attestationObject: ArrayBuffer; - readonly clientDataJSON: ArrayBuffer; -} - -declare var ScopedCredentialInfo: { - prototype: ScopedCredentialInfo; - new(): ScopedCredentialInfo; -}; - interface Screen { readonly availHeight: number; readonly availWidth: number; @@ -8772,7 +8716,7 @@ interface SharedWorker extends EventTarget, AbstractWorker { declare var SharedWorker: { prototype: SharedWorker; - new(scriptURL: string, name?: string, options?: WorkerOptions): SharedWorker; + new(scriptURL: string, options?: string | WorkerOptions): SharedWorker; }; interface SharedWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap { @@ -11074,16 +11018,6 @@ declare var WaveShaperNode: { new(context: BaseAudioContext, options?: WaveShaperOptions): WaveShaperNode; }; -interface WebAuthentication { - getAssertion(assertionChallenge: BufferSource, options?: AssertionOptions): Promise; - makeCredential(accountInformation: Account, cryptoParameters: ScopedCredentialParameters[], attestationChallenge: BufferSource, options?: ScopedCredentialOptions): Promise; -} - -declare var WebAuthentication: { - prototype: WebAuthentication; - new(): WebAuthentication; -}; - interface WebGLActiveInfo { readonly name: string; readonly size: GLint; @@ -12190,10 +12124,9 @@ interface WebGLRenderingContextBase { blendEquationSeparate(modeRGB: GLenum, modeAlpha: GLenum): void; blendFunc(sfactor: GLenum, dfactor: GLenum): void; blendFuncSeparate(srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum): void; - bufferData(target: GLenum, data: ArrayBuffer | null, usage: GLenum): void; - bufferData(target: GLenum, data: ArrayBufferView, usage: GLenum): void; bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum): void; - bufferSubData(target: GLenum, offset: GLintptr, data: BufferDataSource): void; + bufferData(target: GLenum, data: BufferSource | null, usage: GLenum): void; + bufferSubData(target: GLenum, offset: GLintptr, data: BufferSource): void; checkFramebufferStatus(target: GLenum): GLenum; clear(mask: GLbitfield): void; clearColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void; @@ -12532,7 +12465,6 @@ interface WebGLRenderingContextBase { readonly STENCIL_CLEAR_VALUE: GLenum; readonly STENCIL_FAIL: GLenum; readonly STENCIL_FUNC: GLenum; - readonly STENCIL_INDEX: GLenum; readonly STENCIL_INDEX8: GLenum; readonly STENCIL_PASS_DEPTH_FAIL: GLenum; readonly STENCIL_PASS_DEPTH_PASS: GLenum; @@ -12943,9 +12875,6 @@ interface RTCPeerConnectionErrorCallback { interface RTCSessionDescriptionCallback { (description: RTCSessionDescriptionInit): void; } -interface RTCStatsCallback { - (report: RTCStatsReport): void; -} interface ValidateAssertionCallback { (assertion: string, origin: string): Promise; } @@ -13336,62 +13265,58 @@ declare var crypto: Crypto; declare var speechSynthesis: SpeechSynthesis; declare function addEventListener(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, useCapture?: boolean): void; declare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -type AAGUID = BufferSource; -type CSSOMString = string; -type HeadersInit = string[][] | any; +type AlgorithmIdentifier = any; +type BigInteger = Uint8Array; type BodyInit = Blob | BufferSource | FormData | URLSearchParams | ReadableStream | string; -type RequestInfo = Request | string; -type DOMHighResTimeStamp = number; -type HTMLOrSVGScriptElement = HTMLScriptElement | SVGScriptElement; -type MediaProvider = MediaStream | MediaSource | Blob; -type RenderingContext = CanvasRenderingContext2D | WebGLRenderingContext; -type HTMLOrSVGImageElement = HTMLImageElement | SVGImageElement; +type BufferSource = ArrayBufferView | ArrayBuffer; type CanvasImageSource = HTMLOrSVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | OffscreenCanvas; -type OffscreenRenderingContext = OffscreenCanvasRenderingContext2D | WebGLRenderingContext; -type EventHandler = EventHandlerNonNull; -type OnErrorEventHandler = OnErrorEventHandlerNonNull; -type OnBeforeUnloadEventHandler = OnBeforeUnloadEventHandlerNonNull; -type TimerHandler = string | Function; -type ImageBitmapSource = CanvasImageSource | Blob | ImageData; -type MessageEventSource = any; -type MediaStreamError = any; -type ConstrainLong = number | ConstrainLongRange; -type ConstrainDouble = number | ConstrainDoubleRange; type ConstrainBoolean = boolean | ConstrainBooleanParameters; type ConstrainDOMString = string | string[] | ConstrainDOMStringParameters; -type PerformanceEntryList = PerformanceEntry[]; -type PushMessageDataInit = BufferSource | string; -type AuthenticatorSelectionList = AAGUID[]; +type ConstrainDouble = number | ConstrainDoubleRange; +type ConstrainLong = number | ConstrainLongRange; +type CSSOMString = string; +type DOMHighResTimeStamp = number; +type DOMTimeStamp = number; +type EventHandler = EventHandlerNonNull; +type Float32List = Float32Array | GLfloat[]; +type FormDataEntryValue = File | string; type GeometryNode = Text | Element | CSSPseudoElement | Document; -type AlgorithmIdentifier = any; -type HashAlgorithmIdentifier = AlgorithmIdentifier; -type BigInteger = Uint8Array; -type NamedCurve = string; -type GLenum = number; -type GLboolean = boolean; type GLbitfield = number; +type GLboolean = boolean; type GLbyte = number; -type GLshort = number; +type GLclampf = number; +type GLenum = number; +type GLfloat = number; type GLint = number; -type GLsizei = number; type GLintptr = number; +type GLshort = number; +type GLsizei = number; type GLsizeiptr = number; type GLubyte = number; -type GLushort = number; type GLuint = number; -type GLfloat = number; -type GLclampf = number; -type BufferDataSource = ArrayBuffer | ArrayBufferView; -type TexImageSource = ImageBitmap | ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement; -type Float32List = Float32Array | GLfloat[]; +type GLushort = number; +type HashAlgorithmIdentifier = AlgorithmIdentifier; +type HeadersInit = string[][] | any; +type HTMLOrSVGImageElement = HTMLImageElement | SVGImageElement; +type HTMLOrSVGScriptElement = HTMLScriptElement | SVGScriptElement; +type ImageBitmapSource = CanvasImageSource | Blob | ImageData; type Int32List = Int32Array | GLint[]; -type BufferSource = ArrayBufferView | ArrayBuffer; -type DOMTimeStamp = number; -type FormDataEntryValue = File | string; +type MediaProvider = MediaStream | MediaSource | Blob; +type MediaStreamError = any; +type MessageEventSource = any; +type NamedCurve = string; +type OffscreenRenderingContext = OffscreenCanvasRenderingContext2D | WebGLRenderingContext; +type OnBeforeUnloadEventHandler = OnBeforeUnloadEventHandlerNonNull; +type OnErrorEventHandler = OnErrorEventHandlerNonNull; +type PerformanceEntryList = PerformanceEntry[]; +type PushMessageDataInit = BufferSource | string; +type RenderingContext = CanvasRenderingContext2D | WebGLRenderingContext; +type RequestInfo = Request | string; +type TexImageSource = ImageBitmap | ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement; +type TimerHandler = string | Function; type IDBValidKey = number | string | Date | IDBArrayKey; type MouseWheelEvent = WheelEvent; type AppendMode = "segments" | "sequence"; -type Attachment = "platform" | "cross-platform"; type AudioContextLatencyCategory = "balanced" | "interactive" | "playback"; type AudioContextState = "suspended" | "running" | "closed"; type BinaryType = "blob" | "arraybuffer"; @@ -13439,6 +13364,7 @@ type PremultiplyAlpha = "none" | "premultiply" | "default"; type PushEncryptionKeyName = "p256dh" | "auth"; type PushPermissionState = "denied" | "granted" | "prompt"; type ReadyState = "closed" | "open" | "ended"; +type ReferrerPolicy = "" | "no-referrer" | "no-referrer-when-downgrade" | "same-origin" | "origin" | "strict-origin" | "origin-when-cross-origin" | "strict-origin-when-cross-origin" | "unsafe-url"; type RequestCache = "default" | "no-store" | "reload" | "no-cache" | "force-cache" | "only-if-cached"; type RequestCredentials = "omit" | "same-origin" | "include"; type RequestDestination = "" | "audio" | "document" | "embed" | "font" | "image" | "manifest" | "object" | "report" | "script" | "serviceworker" | "sharedworker" | "style" | "track" | "video" | "worker" | "xslt"; @@ -13452,10 +13378,11 @@ type RTCDataChannelState = "connecting" | "open" | "closing" | "closed"; type RTCDegradationPreference = "maintain-framerate" | "maintain-resolution" | "balanced"; type RTCDtlsTransportState = "new" | "connecting" | "connected" | "closed" | "failed"; type RTCDtxStatus = "disabled" | "enabled"; +type RTCErrorDetailType = "data-channel-failure" | "idp-bad-script-failure" | "idp-execution-failure" | "idp-load-failure" | "idp-need-login" | "idp-timeout" | "idp-tls-failure" | "idp-token-expired" | "idp-token-invalid" | "sctp-failure" | "sdp-syntax-error"; type RTCIceCandidateType = "host" | "srflx" | "prflx" | "relay"; type RTCIceComponent = "rtp" | "rtcp"; type RTCIceConnectionState = "new" | "checking" | "connected" | "completed" | "failed" | "disconnected" | "closed"; -type RTCIceCredentialType = "password" | "token"; +type RTCIceCredentialType = "password" | "oauth"; type RTCIceGathererState = "new" | "gathering" | "complete"; type RTCIceGatheringState = "new" | "gathering" | "complete"; type RTCIceProtocol = "udp" | "tcp"; @@ -13468,10 +13395,9 @@ type RTCPriorityType = "very-low" | "low" | "medium" | "high"; type RTCRtcpMuxPolicy = "negotiate" | "require"; type RTCRtpTransceiverDirection = "sendrecv" | "sendonly" | "recvonly" | "inactive"; type RTCSdpType = "offer" | "pranswer" | "answer" | "rollback"; -type RTCSignalingState = "stable" | "have-local-offer" | "have-remote-offer" | "have-local-pranswer" | "have-remote-pranswer"; +type RTCSignalingState = "stable" | "have-local-offer" | "have-remote-offer" | "have-local-pranswer" | "have-remote-pranswer" | "closed"; type RTCStatsIceCandidatePairState = "frozen" | "waiting" | "inprogress" | "failed" | "succeeded" | "cancelled"; type RTCStatsType = "codec" | "inbound-rtp" | "outbound-rtp" | "peer-connection" | "data-channel" | "track" | "transport" | "candidate-pair" | "local-candidate" | "remote-candidate" | "certificate"; -type ScopedCredentialType = "ScopedCred"; type ScrollBehavior = "auto" | "instant" | "smooth"; type ScrollLogicalPosition = "start" | "center" | "end" | "nearest"; type ScrollRestoration = "auto" | "manual"; @@ -13483,7 +13409,6 @@ type SpeechSynthesisErrorCode = "canceled" | "interrupted" | "audio-busy" | "aud type TextTrackKind = "subtitles" | "captions" | "descriptions" | "chapters" | "metadata"; type TextTrackMode = "disabled" | "hidden" | "showing"; type TouchType = "direct" | "stylus"; -type Transport = "usb" | "nfc" | "ble"; type VideoFacingModeEnum = "user" | "environment" | "left" | "right"; type WebGLPowerPreference = "default" | "low-power" | "high-performance"; type WorkerType = "classic" | "module"; diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index 055d957bb..f88d577c9 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -122,7 +122,7 @@ interface RequestInit { mode?: RequestMode; redirect?: RequestRedirect; referrer?: string; - referrerPolicy?: any; + referrerPolicy?: ReferrerPolicy; window?: any; } @@ -846,7 +846,7 @@ interface Request extends Object, Body { readonly mode: RequestMode; readonly redirect: RequestRedirect; readonly referrer: string; - readonly referrerPolicy: any; + readonly referrerPolicy: ReferrerPolicy; readonly type: RequestType; readonly url: string; clone(): Request; @@ -1614,9 +1614,9 @@ declare function dispatchEvent(event: Event): boolean; declare function removeEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; declare function addEventListener(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; declare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +type AlgorithmIdentifier = any; type BodyInit = Blob | BufferSource | FormData | URLSearchParams | ReadableStream | string; type RequestInfo = Request | string; -type AlgorithmIdentifier = any; type IDBValidKey = number | string | Date | IDBArrayKey; type IDBCursorDirection = "next" | "nextunique" | "prev" | "prevunique"; type IDBRequestReadyState = "pending" | "done"; @@ -1626,6 +1626,7 @@ type NotificationDirection = "auto" | "ltr" | "rtl"; type NotificationPermission = "default" | "denied" | "granted"; type PushEncryptionKeyName = "p256dh" | "auth"; type PushPermissionState = "denied" | "granted" | "prompt"; +type ReferrerPolicy = "" | "no-referrer" | "no-referrer-when-downgrade" | "same-origin" | "origin" | "strict-origin" | "origin-when-cross-origin" | "strict-origin-when-cross-origin" | "unsafe-url"; type RequestCache = "default" | "no-store" | "reload" | "no-cache" | "force-cache" | "only-if-cached"; type RequestCredentials = "omit" | "same-origin" | "include"; type RequestDestination = "" | "audio" | "document" | "embed" | "font" | "image" | "manifest" | "object" | "report" | "script" | "serviceworker" | "sharedworker" | "style" | "track" | "video" | "worker" | "xslt"; diff --git a/inputfiles/browser.webidl.xml b/inputfiles/browser.webidl.xml index d66d8ef79..2c5c33220 100644 --- a/inputfiles/browser.webidl.xml +++ b/inputfiles/browser.webidl.xml @@ -69,9 +69,6 @@ - - - @@ -113,15 +110,6 @@ - - - - - - - - - @@ -181,14 +169,6 @@ - - - - - - - - @@ -257,9 +237,6 @@ - - - @@ -314,15 +291,6 @@ - - - - - - - - - @@ -1418,7 +1386,7 @@ - + @@ -1503,6 +1471,12 @@ + + + + + + @@ -1581,6 +1555,7 @@ + @@ -1681,28 +1656,6 @@ - - - - - - - - - - - - - - - - - - - - - - @@ -1834,6 +1787,7 @@ + @@ -1848,10 +1802,6 @@ segments sequence - - platform - cross-platform - balanced interactive @@ -2101,6 +2051,17 @@ open ended + + + no-referrer + no-referrer-when-downgrade + same-origin + origin + strict-origin + origin-when-cross-origin + strict-origin-when-cross-origin + unsafe-url + default no-store @@ -2195,6 +2156,19 @@ disabled enabled + + data-channel-failure + idp-bad-script-failure + idp-execution-failure + idp-load-failure + idp-need-login + idp-timeout + idp-tls-failure + idp-token-expired + idp-token-invalid + sctp-failure + sdp-syntax-error + host srflx @@ -2216,7 +2190,7 @@ password - token + oauth new @@ -2290,6 +2264,7 @@ have-remote-offer have-local-pranswer have-remote-pranswer + closed frozen @@ -2299,7 +2274,6 @@ succeeded cancelled - codec inbound-rtp @@ -2313,9 +2287,7 @@ remote-candidate certificate - - ScopedCred - + auto instant @@ -2387,11 +2359,6 @@ direct stylus - - usb - nfc - ble - user environment @@ -2793,14 +2760,6 @@ - - - - - - - - @@ -3806,6 +3765,7 @@ + @@ -7262,7 +7222,6 @@ - @@ -7894,7 +7853,7 @@ - + @@ -7916,7 +7875,7 @@ - + @@ -7939,7 +7898,7 @@ - + @@ -8116,10 +8075,10 @@ + - @@ -8310,13 +8269,13 @@ - - - + + + @@ -8333,6 +8292,7 @@ + @@ -8372,7 +8332,6 @@ - @@ -8440,7 +8399,6 @@ - @@ -8450,6 +8408,8 @@ + + @@ -8466,6 +8426,7 @@ + @@ -8484,6 +8445,14 @@ + + + + + + + + @@ -8531,18 +8500,6 @@ - - - - - - - - - - - - @@ -8735,8 +8692,7 @@ - - + @@ -10631,20 +10587,6 @@ - - - - - - - - - - - - - - @@ -12288,7 +12230,6 @@ - @@ -12426,23 +12367,18 @@ - - - - - - + - + - + @@ -13076,59 +13012,56 @@ - - - + + + - - - - - - + - - - - - - - - - - - - - + + + + + + + + - - - - - - + - + + + - + + - - - - - - + + + + + + - - - - + + + + + + + + + + + + + From 28e36c6e20a01687f4d51818bbf142463a7e6e36 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sat, 13 May 2017 22:33:44 +0900 Subject: [PATCH 36/50] remove MSApp interfaces --- TS.fsx | 2 +- baselines/dom.generated.d.ts | 7 ------- baselines/webworker.generated.d.ts | 20 ++++++++++++++++++++ inputfiles/addedTypes.json | 10 ++++------ inputfiles/knownWorkerInterfaces.json | 2 ++ 5 files changed, 27 insertions(+), 14 deletions(-) diff --git a/TS.fsx b/TS.fsx index d5e30d0cf..9c61e08c4 100644 --- a/TS.fsx +++ b/TS.fsx @@ -1603,7 +1603,7 @@ module Emit = target.Close() let EmitDomWeb () = - EmitTheWholeThing Flavor.All GlobalVars.tsWebOutput + EmitTheWholeThing Flavor.Web GlobalVars.tsWebOutput EmitES6Thing GlobalVars.tsWebES6Output let EmitDomWorker () = diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 0a7974ac2..f7b9ae78e 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -12724,13 +12724,6 @@ interface ClipboardEventInit extends EventInit { interface IDBArrayKey extends Array { } -interface ParentNode { - readonly children: HTMLCollection; - readonly firstElementChild: Element | null; - readonly lastElementChild: Element | null; - readonly childElementCount: number; -} - interface DocumentOrShadowRoot { readonly activeElement: Element | null; readonly stylesheets: StyleSheetList; diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index f88d577c9..adba690b2 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -66,6 +66,15 @@ interface IDBObjectStoreParameters { keyPath?: string | string[] | null; } +interface ImageBitmapOptions { + colorSpaceConversion?: ColorSpaceConversion; + imageOrientation?: ImageOrientation; + premultiplyAlpha?: PremultiplyAlpha; + resizeHeight?: number; + resizeQuality?: ResizeQuality; + resizeWidth?: number; +} + interface KeyAlgorithm { name: string; } @@ -611,6 +620,17 @@ declare var IDBVersionChangeEvent: { new(type: string, eventInitDict?: IDBVersionChangeEventInit): IDBVersionChangeEvent; }; +interface ImageBitmap { + readonly height: number; + readonly width: number; + close(): void; +} + +declare var ImageBitmap: { + prototype: ImageBitmap; + new(): ImageBitmap; +}; + interface ImageData { data: Uint8ClampedArray; readonly height: number; diff --git a/inputfiles/addedTypes.json b/inputfiles/addedTypes.json index 37853d334..c688fce88 100644 --- a/inputfiles/addedTypes.json +++ b/inputfiles/addedTypes.json @@ -114,7 +114,6 @@ }, { "kind": "interface", - "flavor": "Worker", "name": "ImageBitmapOptions", "properties": [ { @@ -146,7 +145,6 @@ { "kind": "interface", "name": "ImageBitmap", - "flavor": "Worker", "properties": [ { "name": "width", @@ -576,7 +574,7 @@ { "kind": "interface", "name": "DocumentOrShadowRoot", - "flavor": "DOM", + "flavor": "Web", "methods": [ { "name": "getSelection", @@ -608,7 +606,7 @@ "kind": "interface", "name": "ShadowRoot", "extends": "DocumentOrShadowRoot, DocumentFragment", - "flavor": "DOM", + "flavor": "Web", "properties": [ { "name": "host", @@ -645,7 +643,7 @@ "kind": "interface", "name": "HTMLSlotElement", "extends": "HTMLElement", - "flavor": "DOM", + "flavor": "Web", "properties": [ { "name": "name", @@ -662,7 +660,7 @@ { "kind": "interface", "name": "AssignedNodesOptions", - "flavor": "DOM", + "flavor": "Web", "properties": [ { "name": "flatten?", diff --git a/inputfiles/knownWorkerInterfaces.json b/inputfiles/knownWorkerInterfaces.json index 853c0e862..18f85a0c8 100644 --- a/inputfiles/knownWorkerInterfaces.json +++ b/inputfiles/knownWorkerInterfaces.json @@ -52,6 +52,8 @@ "IDBRequest", "IDBTransaction", "IDBVersionChangeEvent", + "ImageBitmap", + "ImageBitmapOptions", "ImageData", "KeyAlgorithm", "MessageChannel", From 96b035c7c2ced7dd3079c60513d98b27140b5cc3 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sun, 14 May 2017 03:15:26 +0900 Subject: [PATCH 37/50] update input xml, add existence check on extends --- TS.fsx | 4 +- baselines/dom.generated.d.ts | 63 +++++++++++++----------------- baselines/webworker.generated.d.ts | 17 ++++---- inputfiles/addedTypes.json | 12 ------ inputfiles/browser.webidl.xml | 42 ++++++++++---------- inputfiles/overridingTypes.json | 9 ----- 6 files changed, 59 insertions(+), 88 deletions(-) diff --git a/TS.fsx b/TS.fsx index 9c61e08c4..cc373fd84 100644 --- a/TS.fsx +++ b/TS.fsx @@ -1190,7 +1190,7 @@ module Emit = let extendsFromSpec = match i.Extends::(List.ofArray i.Implements) with | [""] | [] | ["Object"] -> [] - | specExtends -> specExtends + | specExtends -> List.filter allInterfacesMap.ContainsKey specExtends let extendsFromJson = InputJson.getAddedItemsByInterfaceName ItemKind.Extends Flavor.All i.Name |> Array.map (fun e -> e.BaseInterface.Value) |> List.ofArray @@ -1200,7 +1200,7 @@ module Emit = combinedExtends |> List.map processExtendIName - match finalExtends with + match finalExtends with | [] -> () | allExtends -> Pt.Print " extends %s" (String.Join(", ", allExtends)) Pt.Print " {" diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index f7b9ae78e..7a9089324 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -625,19 +625,19 @@ interface MediaStreamTrackEventInit extends EventInit { } interface MediaTrackCapabilities { - aspectRatio?: number | DoubleRange; - channelCount?: number | LongRange; + aspectRatio?: DoubleRange; + channelCount?: LongRange; deviceId?: string; echoCancellation?: boolean[]; facingMode?: string[]; - frameRate?: number | DoubleRange; + frameRate?: DoubleRange; groupId?: string; - height?: number | LongRange; - latency?: number | DoubleRange; - sampleRate?: number | LongRange; - sampleSize?: number | LongRange; - volume?: number | DoubleRange; - width?: number | LongRange; + height?: LongRange; + latency?: DoubleRange; + sampleRate?: LongRange; + sampleSize?: LongRange; + volume?: DoubleRange; + width?: LongRange; } interface MediaTrackConstraints extends MediaTrackConstraintSet { @@ -1968,7 +1968,7 @@ declare var CanvasPattern: { new(): CanvasPattern; }; -interface CanvasRenderingContext2D extends Object, CanvasState, CanvasTransform, CanvasCompositing, CanvasImageSmoothing, CanvasFillStrokeStyles, CanvasShadowStyles, CanvasFilters, CanvasRect, CanvasDrawPath, CanvasUserInterface, CanvasText, CanvasDrawImage, CanvasImageData, CanvasPathDrawingStyles, CanvasTextDrawingStyles, CanvasPath { +interface CanvasRenderingContext2D extends CanvasState, CanvasTransform, CanvasCompositing, CanvasImageSmoothing, CanvasFillStrokeStyles, CanvasShadowStyles, CanvasFilters, CanvasRect, CanvasDrawPath, CanvasUserInterface, CanvasText, CanvasDrawImage, CanvasImageData, CanvasPathDrawingStyles, CanvasTextDrawingStyles, CanvasPath { readonly canvas: HTMLCanvasElement; mozImageSmoothingEnabled: boolean; webkitImageSmoothingEnabled: boolean; @@ -2528,7 +2528,7 @@ interface CSSStyleDeclaration { pointerEvents: string | null; position: string | null; quotes: string | null; - resize: any; + resize: CSSOMString | null; right: string | null; rotate: string | null; rubyAlign: string | null; @@ -2570,7 +2570,7 @@ interface CSSStyleDeclaration { transitionTimingFunction: string | null; translate: string | null; unicodeBidi: string | null; - user-select: any; + userSelect: CSSOMString | null; verticalAlign: string | null; visibility: string | null; webkitAlignContent: string | null; @@ -2653,8 +2653,6 @@ interface CSSStyleDeclaration { writingMode: string | null; zIndex: string | null; zoom: string | null; - resize: string | null; - userSelect: string | null; getPropertyPriority(property: CSSOMString): CSSOMString; getPropertyValue(property: CSSOMString): CSSOMString; item(index: number): CSSOMString; @@ -2900,6 +2898,7 @@ interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, Par readonly fullscreen: boolean; readonly fullscreenEnabled: boolean; readonly head: HTMLHeadElement | null; + readonly hidden: boolean; /** * Retrieves a collection, in source order, of img objects in the document. */ @@ -2966,6 +2965,7 @@ interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, Par * Sets or gets the URL for the current document. */ readonly URL: string; + readonly visibilityState: VisibilityState; /** * Sets or gets the color of the links that the user has visited. */ @@ -3105,15 +3105,10 @@ interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, Par createEvent(eventInterface: "RTCDTMFToneChangeEvent"): RTCDTMFToneChangeEvent; createEvent(eventInterface: "RTCDataChannelEvent"): RTCDataChannelEvent; createEvent(eventInterface: "RTCErrorEvent"): RTCErrorEvent; - createEvent(eventInterface: "RTCIceCandidatePairChangedEvent"): RTCIceCandidatePairChangedEvent; - createEvent(eventInterface: "RTCIceGathererEvent"): RTCIceGathererEvent; createEvent(eventInterface: "RTCPeerConnectionIceErrorEvent"): RTCPeerConnectionIceErrorEvent; createEvent(eventInterface: "RTCPeerConnectionIceEvent"): RTCPeerConnectionIceEvent; - createEvent(eventInterface: "RTCSsrcConflictEvent"): RTCSsrcConflictEvent; createEvent(eventInterface: "RTCTrackEvent"): RTCTrackEvent; createEvent(eventInterface: "RelatedEvent"): RelatedEvent; - createEvent(eventInterface: "SVGZoomEvent"): SVGZoomEvent; - createEvent(eventInterface: "SVGZoomEvents"): SVGZoomEvent; createEvent(eventInterface: "SpeechRecognitionError"): SpeechRecognitionError; createEvent(eventInterface: "SpeechRecognitionEvent"): SpeechRecognitionEvent; createEvent(eventInterface: "SpeechSynthesisEvent"): SpeechSynthesisEvent; @@ -4712,7 +4707,6 @@ interface HTMLIFrameElement extends HTMLElement { allowFullscreen: boolean; allowPaymentRequest: boolean; allowUserMedia: boolean; - allowUserMedia: boolean; /** * Retrieves the document object of the page or frame. */ @@ -6894,7 +6888,7 @@ interface MediaDevices extends EventTarget { ondevicechange: (this: MediaDevices, ev: Event) => any; enumerateDevices(): Promise; getSupportedConstraints(): MediaTrackSupportedConstraints; - getUserMedia(constraints: MediaStreamConstraints): Promise; + getUserMedia(constraints?: MediaStreamConstraints): Promise; addEventListener(type: K, listener: (this: MediaDevices, ev: MediaDevicesEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } @@ -7329,7 +7323,7 @@ declare var NavigationPreloadManager: { new(): NavigationPreloadManager; }; -interface Navigator extends Object, NavigatorID, NavigatorLanguage, NavigatorOnLine, NavigatorContentUtils, NavigatorCookies, NavigatorPlugins, NavigatorConcurrentHardware, NavigatorUserMedia { +interface Navigator extends NavigatorID, NavigatorLanguage, NavigatorOnLine, NavigatorContentUtils, NavigatorCookies, NavigatorPlugins, NavigatorConcurrentHardware, NavigatorUserMedia { readonly geolocation: Geolocation; readonly maxTouchPoints: number; readonly serviceWorker: ServiceWorkerContainer; @@ -7533,7 +7527,7 @@ declare var OffscreenCanvas: { new(width: number, height: number): OffscreenCanvas; }; -interface OffscreenCanvasRenderingContext2D extends Object, CanvasState, CanvasTransform, CanvasCompositing, CanvasImageSmoothing, CanvasFillStrokeStyles, CanvasShadowStyles, CanvasFilters, CanvasRect, CanvasDrawPath, CanvasDrawImage, CanvasImageData, CanvasPathDrawingStyles, CanvasPath { +interface OffscreenCanvasRenderingContext2D extends CanvasState, CanvasTransform, CanvasCompositing, CanvasImageSmoothing, CanvasFillStrokeStyles, CanvasShadowStyles, CanvasFilters, CanvasRect, CanvasDrawPath, CanvasDrawImage, CanvasImageData, CanvasPathDrawingStyles, CanvasPath { readonly canvas: OffscreenCanvas; commit(): void; } @@ -7599,7 +7593,7 @@ declare var PannerNode: { new(context: BaseAudioContext, options?: PannerOptions): PannerNode; }; -interface Path2D extends Object, CanvasPath { +interface Path2D extends CanvasPath { addPath(path: Path2D, transform?: DOMMatrixInit): void; } @@ -8084,7 +8078,7 @@ declare var RelatedEvent: { new(type: string, eventInitDict?: RelatedEventInit): RelatedEvent; }; -interface Request extends Object, Body { +interface Request extends Body { readonly cache: RequestCache; readonly credentials: RequestCredentials; readonly destination: RequestDestination; @@ -8106,7 +8100,7 @@ declare var Request: { new(input: RequestInfo, init?: RequestInit): Request; }; -interface Response extends Object, Body { +interface Response extends Body { readonly headers: Headers; readonly ok: boolean; readonly redirected: boolean; @@ -8120,9 +8114,7 @@ interface Response extends Object, Body { declare var Response: { prototype: Response; - new(body?: any, init?: ResponseInit): Response; - error: () => Response; - redirect: (url: string, status?: number) => Response; + new(body?: BodyInit, init?: ResponseInit): Response; error(): Response; redirect(url: string, status?: number): Response; }; @@ -8689,7 +8681,7 @@ declare var ServiceWorkerRegistration: { new(): ServiceWorkerRegistration; }; -interface ShadowAnimation extends Animation { +interface ShadowAnimation { readonly sourceAnimation: any; } @@ -11078,7 +11070,7 @@ declare var WebGLRenderbuffer: { new(): WebGLRenderbuffer; }; -interface WebGLRenderingContext extends Object, WebGLRenderingContextBase { +interface WebGLRenderingContext extends WebGLRenderingContextBase { } declare var WebGLRenderingContext: { @@ -11268,7 +11260,7 @@ declare var Window: { interface WindowClient extends Client { readonly ancestorOrigins: ReadonlyArray; readonly focused: boolean; - readonly visibilityState: any; + readonly visibilityState: VisibilityState; focus(): Promise; navigate(url: string): Promise; } @@ -11340,7 +11332,7 @@ declare var WorkerLocation: { new(): WorkerLocation; }; -interface WorkerNavigator extends Object, NavigatorID, NavigatorLanguage, NavigatorOnLine, NavigatorConcurrentHardware { +interface WorkerNavigator extends NavigatorID, NavigatorLanguage, NavigatorOnLine, NavigatorConcurrentHardware { readonly serviceWorker: ServiceWorkerContainer; readonly hardwareConcurrency: number; } @@ -11652,7 +11644,7 @@ interface Coordinates { readonly speed: number | null; } -interface CSSPseudoElement extends Object, GeometryUtils { +interface CSSPseudoElement extends GeometryUtils { } interface DeviceAcceleration { @@ -12612,7 +12604,7 @@ interface WindowSessionStorage { readonly sessionStorage: Storage; } -interface WorkerUtils extends Object, IDBEnvironment { +interface WorkerUtils extends IDBEnvironment { } declare namespace console { @@ -13403,6 +13395,7 @@ type TextTrackKind = "subtitles" | "captions" | "descriptions" | "chapters" | "m type TextTrackMode = "disabled" | "hidden" | "showing"; type TouchType = "direct" | "stylus"; type VideoFacingModeEnum = "user" | "environment" | "left" | "right"; +type VisibilityState = "hidden" | "visible" | "prerender" | "unloaded"; type WebGLPowerPreference = "default" | "low-power" | "high-performance"; type WorkerType = "classic" | "module"; type XMLHttpRequestResponseType = "" | "arraybuffer" | "blob" | "document" | "json" | "text"; \ No newline at end of file diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index adba690b2..f8b5e6a3a 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -855,7 +855,7 @@ declare var ReadableStream: { new(): ReadableStream; }; -interface Request extends Object, Body { +interface Request extends Body { readonly cache: RequestCache; readonly credentials: RequestCredentials; readonly destination: RequestDestination; @@ -877,7 +877,7 @@ declare var Request: { new(input: RequestInfo, init?: RequestInit): Request; }; -interface Response extends Object, Body { +interface Response extends Body { readonly headers: Headers; readonly ok: boolean; readonly redirected: boolean; @@ -891,9 +891,7 @@ interface Response extends Object, Body { declare var Response: { prototype: Response; - new(body?: any, init?: ResponseInit): Response; - error: () => Response; - redirect: (url: string, status?: number) => Response; + new(body?: BodyInit, init?: ResponseInit): Response; error(): Response; redirect(url: string, status?: number): Response; }; @@ -1382,7 +1380,7 @@ declare var SyncEvent: { interface WindowClient extends Client { readonly focused: boolean; - readonly visibilityState: any; + readonly visibilityState: VisibilityState; focus(): Promise; navigate(url: string): Promise; } @@ -1396,7 +1394,7 @@ interface WorkerGlobalScopeEventMap { "error": ErrorEvent; } -interface WorkerGlobalScope extends EventTarget, WorkerUtils, WindowConsole, GlobalFetch { +interface WorkerGlobalScope extends EventTarget, WorkerUtils { readonly caches: CacheStorage; readonly isSecureContext: boolean; readonly location: WorkerLocation; @@ -1433,7 +1431,7 @@ declare var WorkerLocation: { new(): WorkerLocation; }; -interface WorkerNavigator extends Object, NavigatorID, NavigatorOnLine, NavigatorBeacon, NavigatorConcurrentHardware { +interface WorkerNavigator extends NavigatorID, NavigatorOnLine, NavigatorConcurrentHardware { readonly hardwareConcurrency: number; } @@ -1442,7 +1440,7 @@ declare var WorkerNavigator: { new(): WorkerNavigator; }; -interface WorkerUtils extends Object, WindowBase64 { +interface WorkerUtils { readonly indexedDB: IDBFactory; readonly msIndexedDB: IDBFactory; readonly navigator: WorkerNavigator; @@ -1655,6 +1653,7 @@ type RequestRedirect = "follow" | "error" | "manual"; type RequestType = "" | "audio" | "font" | "image" | "script" | "style" | "track" | "video"; type ResponseType = "basic" | "cors" | "default" | "error" | "opaque" | "opaqueredirect"; type ServiceWorkerState = "installing" | "installed" | "activating" | "activated" | "redundant"; +type VisibilityState = "hidden" | "visible" | "prerender" | "unloaded"; type XMLHttpRequestResponseType = "" | "arraybuffer" | "blob" | "document" | "json" | "text"; type ClientType = "window" | "worker" | "sharedworker" | "all"; type FrameType = "auxiliary" | "top-level" | "nested" | "none"; \ No newline at end of file diff --git a/inputfiles/addedTypes.json b/inputfiles/addedTypes.json index c688fce88..00f157f87 100644 --- a/inputfiles/addedTypes.json +++ b/inputfiles/addedTypes.json @@ -77,18 +77,6 @@ } ] }, - { - "kind": "property", - "interface": "CSSStyleDeclaration", - "name": "resize", - "type": "string | null" - }, - { - "kind": "property", - "interface": "CSSStyleDeclaration", - "name": "userSelect", - "type": "string | null" - }, { "kind": "interface", "name": "Canvas2DContextAttributes", diff --git a/inputfiles/browser.webidl.xml b/inputfiles/browser.webidl.xml index 2c5c33220..16e0868c2 100644 --- a/inputfiles/browser.webidl.xml +++ b/inputfiles/browser.webidl.xml @@ -838,19 +838,19 @@ - - + + - + - - - - - - + + + + + + @@ -2274,6 +2274,7 @@ succeeded cancelled + codec inbound-rtp @@ -2287,7 +2288,6 @@ remote-candidate certificate - auto instant @@ -2365,6 +2365,12 @@ left right + + hidden + visible + prerender + unloaded + default low-power @@ -3513,7 +3519,7 @@ - + @@ -3555,7 +3561,7 @@ - + @@ -3968,6 +3974,7 @@ + @@ -3988,6 +3995,7 @@ + NonElementParentNode @@ -5461,7 +5469,6 @@ - @@ -6740,7 +6747,7 @@ - + @@ -8222,7 +8229,6 @@ - @@ -8442,7 +8448,6 @@ - @@ -10022,10 +10027,6 @@ SVGFitToViewBox SVGZoomAndPan WindowEventHandlers - - - - @@ -11929,7 +11930,6 @@ - diff --git a/inputfiles/overridingTypes.json b/inputfiles/overridingTypes.json index 8025e98d9..93ca8df9f 100644 --- a/inputfiles/overridingTypes.json +++ b/inputfiles/overridingTypes.json @@ -1,13 +1,4 @@ [ - { - "kind": "constructor", - "interface": "Response", - "signatures": [ - "new(body?: any, init?: ResponseInit): Response", - "error: () => Response", - "redirect: (url: string, status?: number) => Response" - ] - }, { "kind": "constructor", "interface": "ErrorEvent", From fec8e0e2fe06aea2845e95609b42589f697f651b Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sun, 14 May 2017 18:03:01 +0900 Subject: [PATCH 38/50] fix missing getElementsByTagName --- TS.fsx | 15 ++++----------- baselines/dom.generated.d.ts | 10 +++++----- 2 files changed, 9 insertions(+), 16 deletions(-) diff --git a/TS.fsx b/TS.fsx index cc373fd84..1b391a64a 100644 --- a/TS.fsx +++ b/TS.fsx @@ -798,9 +798,9 @@ module Emit = /// Emit overloads for the getElementsByTagName method let EmitGetElementsByTagNameOverloads (m: Browser.Method) = - if matchSingleParamMethodSignature m "getElementsByTagName" "NodeList" "string" then - Pt.Printl "getElementsByTagName(%s: K): ElementListTagNameMap[K];" m.Params.[0].Name - Pt.Printl "getElementsByTagName(%s: string): NodeListOf;" m.Params.[0].Name + if matchSingleParamMethodSignature m "getElementsByTagName" "HTMLCollection" "string" then + Pt.Printl "getElementsByTagName(%s: K): HTMLCollectionOf;" m.Params.[0].Name + Pt.Printl "getElementsByTagName(%s: string): HTMLCollectionOf;" m.Params.[0].Name /// Emit overloads for the querySelector method let EmitQuerySelectorOverloads (m: Browser.Method) = @@ -811,7 +811,7 @@ module Emit = /// Emit overloads for the querySelectorAll method let EmitQuerySelectorAllOverloads (m: Browser.Method) = if matchSingleParamMethodSignature m "querySelectorAll" "NodeList" "string" then - Pt.Printl "querySelectorAll(selectors: K): ElementListTagNameMap[K];" + Pt.Printl "querySelectorAll(selectors: K): NodeListOf;" Pt.Printl "querySelectorAll(selectors: string): NodeListOf;" let EmitHTMLElementTagNameMap () = @@ -834,12 +834,6 @@ module Emit = Pt.Printl "}" Pt.Printl "" - let EmitElementListTagNameMap () = - Pt.Printl "type ElementListTagNameMap = {" - Pt.PrintWithAddedIndent "[key in keyof ElementTagNameMap]: NodeListOf" - Pt.Printl "};" - Pt.Printl "" - /// Emit overloads for the createEvent method let EmitCreateEventOverloads (m: Browser.Method) = if matchSingleParamMethodSignature m "createEvent" "Event" "string" then @@ -1542,7 +1536,6 @@ module Emit = if flavor <> Worker then EmitHTMLElementTagNameMap() EmitElementTagNameMap() - EmitElementListTagNameMap() EmitNamedConstructors() match GetGlobalPollutor flavor with diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 7a9089324..5ee36ef2b 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -3175,6 +3175,8 @@ interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, Par * Retrieves a collection of objects based on the specified element name. * @param name Specifies the name of an element. */ + getElementsByTagName(qualifiedName: K): HTMLCollectionOf; + getElementsByTagName(qualifiedName: string): HTMLCollectionOf; getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf; getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf; getElementsByTagNameNS(namespaceURI: string, localName: string): HTMLCollectionOf; @@ -3557,6 +3559,8 @@ interface Element extends Node, ParentNode, NonDocumentTypeChildNode, ChildNode, getBoundingClientRect(): DOMRect; getClientRects(): DOMRect[]; getElementsByClassName(classNames: string): HTMLCollectionOf; + getElementsByTagName(qualifiedName: K): HTMLCollectionOf; + getElementsByTagName(qualifiedName: string): HTMLCollectionOf; getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf; getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf; getElementsByTagNameNS(namespaceURI: string, localName: string): HTMLCollectionOf; @@ -12011,7 +12015,7 @@ interface ParentNode { readonly lastElementChild: Element | null; append(...nodes: (Node | string)[]): void; prepend(...nodes: (Node | string)[]): void; - querySelectorAll(selectors: K): ElementListTagNameMap[K]; + querySelectorAll(selectors: K): NodeListOf; querySelectorAll(selectors: string): NodeListOf; } @@ -13050,10 +13054,6 @@ interface ElementTagNameMap extends HTMLElementTagNameMap { "wbr": HTMLElement; } -type ElementListTagNameMap = { - [key in keyof ElementTagNameMap]: NodeListOf -}; - declare var Audio: { new(src?: string): HTMLAudioElement; }; declare var Image: { new(width?: number, height?: number): HTMLImageElement; }; declare var Option: { new(text?: string, value?: string, defaultSelected?: boolean, selected?: boolean): HTMLOptionElement; }; From b9ba747e6769436a77a980b9fc9aba1bc09d73c2 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Mon, 15 May 2017 02:49:45 +0900 Subject: [PATCH 39/50] remove unused getbyflavor functions --- TS.fsx | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/TS.fsx b/TS.fsx index 1b391a64a..cb1c36055 100644 --- a/TS.fsx +++ b/TS.fsx @@ -340,14 +340,6 @@ module Data = |> KnownWorkerInterfaceType.Parse |> set - let GetAllInterfacesByFlavor flavor = - match flavor with - | Flavor.Web -> allWebInterfaces |> Array.filter (ShouldKeep Web) - | Flavor.All -> allWebInterfaces |> Array.filter (ShouldKeep Flavor.All) - | Flavor.Worker -> - let isFromBrowserXml = allWebInterfaces |> Array.filter (fun i -> knownWorkerInterfaces.Contains i.Name) - Array.append isFromBrowserXml allWorkerAdditionalInterfaces - let GetNonCallbackInterfacesByFlavor flavor = match flavor with | Flavor.Web -> allWebNonCallbackInterfaces |> Array.filter (ShouldKeep Flavor.Web) @@ -356,13 +348,6 @@ module Data = let isFromBrowserXml = allWebNonCallbackInterfaces |> Array.filter (fun i -> knownWorkerInterfaces.Contains i.Name) Array.append isFromBrowserXml allWorkerAdditionalInterfaces - let GetPublicInterfacesByFlavor flavor = - match flavor with - | Flavor.Web | Flavor.All -> browser.Interfaces |> Array.filter (ShouldKeep flavor) - | Flavor.Worker -> - let isFromBrowserXml = browser.Interfaces |> Array.filter (fun i -> knownWorkerInterfaces.Contains i.Name) - Array.append isFromBrowserXml worker.Interfaces - let GetCallbackFuncsByFlavor flavor = browser.CallbackFunctions |> Array.filter (fun cb -> (flavor <> Flavor.Worker || knownWorkerInterfaces.Contains cb.Name) && ShouldKeep flavor cb) From 8e9a83ff5a84adeadcc8aa64ef98c1382fc44a7a Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Mon, 15 May 2017 04:03:22 +0900 Subject: [PATCH 40/50] filter worker-only interfaces --- TS.fsx | 13 +- baselines/dom.generated.d.ts | 317 ---------------------------------- inputfiles/browser.webidl.xml | 16 +- sample.xml | 4 +- 4 files changed, 17 insertions(+), 333 deletions(-) diff --git a/TS.fsx b/TS.fsx index cb1c36055..6c3ab25c4 100644 --- a/TS.fsx +++ b/TS.fsx @@ -283,14 +283,15 @@ module Data = /// Check if the given element should be disabled or not /// reason is that ^a can be an interface, property or method, but they /// all share a 'tag' property - let inline ShouldKeep flavor (i: ^a when ^a: (member Tags: string option)) = + let inline ShouldKeep flavor (i: ^a when ^a: (member Exposed: string option)) = let filterByTag = - match (^a: (member Tags: string option) i) with - | Some tags -> + match (^a: (member Exposed: string option) i) with + | Some exposed -> + let exposedArray = exposed.Split [|' '|] match flavor with | Flavor.All -> true - | Flavor.Web -> tags <> "MSAppOnly" && tags <> "WinPhoneOnly" - | Flavor.Worker -> tags <> "IEOnly" + | Flavor.Web -> Array.contains "Window" exposedArray + | Flavor.Worker -> true | _ -> true filterByTag @@ -350,7 +351,7 @@ module Data = let GetCallbackFuncsByFlavor flavor = browser.CallbackFunctions - |> Array.filter (fun cb -> (flavor <> Flavor.Worker || knownWorkerInterfaces.Contains cb.Name) && ShouldKeep flavor cb) + |> Array.filter (fun cb -> flavor <> Flavor.Worker || knownWorkerInterfaces.Contains cb.Name) let GetEnumsByFlavor flavor = match flavor with diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 5ee36ef2b..b9cc3521a 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -1774,15 +1774,6 @@ declare var AudioTrackList: { new(): AudioTrackList; }; -interface AudioWorkletGlobalScope extends WorkletGlobalScope { - registerProcessor(name: string, processorCtor: VoidFunction): void; -} - -declare var AudioWorkletGlobalScope: { - prototype: AudioWorkletGlobalScope; - new(): AudioWorkletGlobalScope; -}; - interface AudioWorkletNodeEventMap { "data": Event; } @@ -2030,31 +2021,6 @@ declare var CharacterData: { new(): CharacterData; }; -interface Client { - readonly id: string; - readonly reserved: boolean; - readonly type: ClientType; - readonly url: string; - postMessage(message: any, transfer?: any[]): void; -} - -declare var Client: { - prototype: Client; - new(): Client; -}; - -interface Clients { - claim(): Promise; - get(id: string): Promise; - matchAll(options?: ClientQueryOptions): Promise; - openWindow(url: string): any; -} - -declare var Clients: { - prototype: Clients; - new(): Clients; -}; - interface ClipboardEvent extends Event { readonly clipboardData: DataTransfer | null; } @@ -2762,25 +2728,6 @@ declare var DataTransferItemList: { new(): DataTransferItemList; }; -interface DedicatedWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap { - "message": MessageEvent; -} - -interface DedicatedWorkerGlobalScope extends WorkerGlobalScope { - readonly name: string; - onmessage: (this: DedicatedWorkerGlobalScope, ev: MessageEvent) => any; - onmessageerror: (this: DedicatedWorkerGlobalScope, ev: MessageEvent) => any; - close(): void; - postMessage(message: any, transfer?: any[]): void; - addEventListener(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var DedicatedWorkerGlobalScope: { - prototype: DedicatedWorkerGlobalScope; - new(): DedicatedWorkerGlobalScope; -}; - interface DelayNode extends AudioNode { readonly delayTime: AudioParam; } @@ -3693,42 +3640,6 @@ declare var EventTarget: { new(): EventTarget; }; -interface ExtendableEvent extends Event { - waitUntil(f: Promise): void; -} - -declare var ExtendableEvent: { - prototype: ExtendableEvent; - new(type: string, eventInitDict?: ExtendableEventInit): ExtendableEvent; -}; - -interface ExtendableMessageEvent extends ExtendableEvent { - readonly data: any; - readonly lastEventId: string; - readonly origin: string; - readonly ports: ReadonlyArray; - readonly source: Client | ServiceWorker | MessagePort | null; -} - -declare var ExtendableMessageEvent: { - prototype: ExtendableMessageEvent; - new(type: string, eventInitDict?: ExtendableMessageEventInit): ExtendableMessageEvent; -}; - -interface FetchEvent extends ExtendableEvent { - readonly clientId: string; - readonly preloadResponse: Promise; - readonly request: Request; - readonly reservedClientId: string; - readonly targetClientId: string; - respondWith(r: Promise): void; -} - -declare var FetchEvent: { - prototype: FetchEvent; - new(type: string, eventInitDict: FetchEventInit): FetchEvent; -}; - interface File extends Blob { readonly lastModified: number; readonly name: string; @@ -3788,17 +3699,6 @@ declare var FileReader: { readonly LOADING: number; }; -interface FileReaderSync { - readAsArrayBuffer(blob: Blob): ArrayBuffer; - readAsDataURL(blob: Blob): string; - readAsText(blob: Blob, label?: string): string; -} - -declare var FileReaderSync: { - prototype: FileReaderSync; - new(): FileReaderSync; -}; - interface FocusEvent extends UIEvent { readonly relatedTarget: EventTarget | null; } @@ -3808,17 +3708,6 @@ declare var FocusEvent: { new(type: string, eventInitDict?: FocusEventInit): FocusEvent; }; -interface ForeignFetchEvent extends ExtendableEvent { - readonly origin: string; - readonly request: Request; - respondWith(r: Promise): void; -} - -declare var ForeignFetchEvent: { - prototype: ForeignFetchEvent; - new(type: string, eventInitDict: ForeignFetchEventInit): ForeignFetchEvent; -}; - interface FormData { append(name: string, value: string | Blob, fileName?: string): void; append(name: string, value: string | Blob, fileName?: string): void; @@ -6786,15 +6675,6 @@ declare var InputEvent: { new(type: string, eventInitDict?: InputEventInit): InputEvent; }; -interface InstallEvent extends ExtendableEvent { - registerForeignFetch(options: ForeignFetchOptions): void; -} - -declare var InstallEvent: { - prototype: InstallEvent; - new(type: string, eventInitDict?: ExtendableEventInit): InstallEvent; -}; - interface IntersectionObserver { readonly root: Element | null; readonly rootMargin: string; @@ -7481,16 +7361,6 @@ declare var Notification: { requestPermission(deprecatedCallback?: NotificationPermissionCallback): Promise; }; -interface NotificationEvent extends ExtendableEvent { - readonly action: string; - readonly notification: Notification; -} - -declare var NotificationEvent: { - prototype: NotificationEvent; - new(type: string, eventInitDict: NotificationEventInit): NotificationEvent; -}; - interface OfflineAudioCompletionEvent extends Event { readonly renderedBuffer: AudioBuffer; } @@ -7930,15 +7800,6 @@ declare var PromiseRejectionEvent: { new(type: string, eventInitDict: PromiseRejectionEventInit): PromiseRejectionEvent; }; -interface PushEvent extends ExtendableEvent { - readonly data: PushMessageData | null; -} - -declare var PushEvent: { - prototype: PushEvent; - new(type: string, eventInitDict?: PushEventInit): PushEvent; -}; - interface PushManager { readonly supportedContentEncodings: ReadonlyArray; getSubscription(): any; @@ -7951,18 +7812,6 @@ declare var PushManager: { new(): PushManager; }; -interface PushMessageData { - arrayBuffer(): ArrayBuffer; - blob(): Blob; - json(): any; - text(): string; -} - -declare var PushMessageData: { - prototype: PushMessageData; - new(): PushMessageData; -}; - interface PushSubscription { readonly endpoint: string; readonly expirationTime: number | null; @@ -7976,16 +7825,6 @@ declare var PushSubscription: { new(): PushSubscription; }; -interface PushSubscriptionChangeEvent extends ExtendableEvent { - readonly newSubscription: PushSubscription | null; - readonly oldSubscription: PushSubscription | null; -} - -declare var PushSubscriptionChangeEvent: { - prototype: PushSubscriptionChangeEvent; - new(type: string, eventInitDict?: PushSubscriptionChangeInit): PushSubscriptionChangeEvent; -}; - interface PushSubscriptionOptions { readonly applicationServerKey: ArrayBuffer | null; readonly userVisibleOnly: boolean; @@ -8295,26 +8134,6 @@ declare var RTCIdentityAssertion: { new(idp: string, name: string): RTCIdentityAssertion; }; -interface RTCIdentityProviderGlobalScope extends WorkerGlobalScope { - readonly rtcIdentityProvider: RTCIdentityProviderRegistrar; - addEventListener(type: K, listener: (this: RTCIdentityProviderGlobalScope, ev: WorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var RTCIdentityProviderGlobalScope: { - prototype: RTCIdentityProviderGlobalScope; - new(): RTCIdentityProviderGlobalScope; -}; - -interface RTCIdentityProviderRegistrar { - register(idp: RTCIdentityProvider): void; -} - -declare var RTCIdentityProviderRegistrar: { - prototype: RTCIdentityProviderRegistrar; - new(): RTCIdentityProviderRegistrar; -}; - interface RTCPeerConnectionEventMap { "connectionstatechange": Event; "datachannel": RTCDataChannelEvent; @@ -8623,41 +8442,6 @@ declare var ServiceWorkerContainer: { new(): ServiceWorkerContainer; }; -interface ServiceWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap { - "activate": ExtendableEvent; - "fetch": FetchEvent; - "install": InstallEvent; - "message": ExtendableMessageEvent; - "notificationclick": NotificationEvent; - "notificationclose": NotificationEvent; - "push": PushEvent; - "pushsubscriptionchange": PushSubscriptionChangeEvent; - "sync": SyncEvent; -} - -interface ServiceWorkerGlobalScope extends WorkerGlobalScope { - readonly clients: Clients; - onactivate: (this: ServiceWorkerGlobalScope, ev: ExtendableEvent) => any; - onfetch: (this: ServiceWorkerGlobalScope, ev: FetchEvent) => any; - onforeignfetch: (this: ServiceWorkerGlobalScope, ev: FetchEvent) => any; - oninstall: (this: ServiceWorkerGlobalScope, ev: InstallEvent) => any; - onmessage: (this: ServiceWorkerGlobalScope, ev: ExtendableMessageEvent) => any; - onnotificationclick: (this: ServiceWorkerGlobalScope, ev: NotificationEvent) => any; - onnotificationclose: (this: ServiceWorkerGlobalScope, ev: NotificationEvent) => any; - onpush: (this: ServiceWorkerGlobalScope, ev: PushEvent) => any; - onpushsubscriptionchange: (this: ServiceWorkerGlobalScope, ev: PushSubscriptionChangeEvent) => any; - onsync: (this: ServiceWorkerGlobalScope, ev: SyncEvent) => any; - readonly registration: ServiceWorkerRegistration; - skipWaiting(): Promise; - addEventListener(type: K, listener: (this: ServiceWorkerGlobalScope, ev: ServiceWorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var ServiceWorkerGlobalScope: { - prototype: ServiceWorkerGlobalScope; - new(): ServiceWorkerGlobalScope; -}; - interface ServiceWorkerRegistrationEventMap { "updatefound": Event; } @@ -8715,23 +8499,6 @@ declare var SharedWorker: { new(scriptURL: string, options?: string | WorkerOptions): SharedWorker; }; -interface SharedWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap { - "connect": MessageEvent; -} - -interface SharedWorkerGlobalScope extends WorkerGlobalScope { - readonly name: string; - onconnect: (this: SharedWorkerGlobalScope, ev: MessageEvent) => any; - close(): void; - addEventListener(type: K, listener: (this: SharedWorkerGlobalScope, ev: SharedWorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var SharedWorkerGlobalScope: { - prototype: SharedWorkerGlobalScope; - new(): SharedWorkerGlobalScope; -}; - interface SourceBufferEventMap { "abort": Event; "error": Event; @@ -10637,16 +10404,6 @@ declare var SVGViewElement: { new(): SVGViewElement; }; -interface SyncEvent extends ExtendableEvent { - readonly lastChance: boolean; - readonly tag: string; -} - -declare var SyncEvent: { - prototype: SyncEvent; - new(type: string, init: SyncEventInit): SyncEvent; -}; - interface SyncManager { getTags(): Promise; register(tag: string): Promise; @@ -11261,19 +11018,6 @@ declare var Window: { new(): Window; }; -interface WindowClient extends Client { - readonly ancestorOrigins: ReadonlyArray; - readonly focused: boolean; - readonly visibilityState: VisibilityState; - focus(): Promise; - navigate(url: string): Promise; -} - -declare var WindowClient: { - prototype: WindowClient; - new(): WindowClient; -}; - interface WorkerEventMap extends AbstractWorkerEventMap { "message": MessageEvent; "messageerror": MessageEvent; @@ -11293,59 +11037,6 @@ declare var Worker: { new(scriptURL: string, options?: WorkerOptions): Worker; }; -interface WorkerGlobalScopeEventMap { - "error": ErrorEvent; -} - -interface WorkerGlobalScope extends EventTarget, WindowOrWorkerGlobalScope, GlobalPerformance, GlobalCrypto { - readonly location: WorkerLocation; - readonly navigator: WorkerNavigator; - onerror: OnErrorEventHandler; - onlanguagechange: (this: WorkerGlobalScope, ev: Event) => any; - onoffline: (this: WorkerGlobalScope, ev: Event) => any; - ononline: (this: WorkerGlobalScope, ev: Event) => any; - onrejectionhandled: (this: WorkerGlobalScope, ev: PromiseRejectionEvent) => any; - onunhandledrejection: (this: WorkerGlobalScope, ev: PromiseRejectionEvent) => any; - readonly self: WorkerGlobalScope; - importScripts(...urls: string[]): void; - createImageBitmap(image: ImageBitmap | ImageData | Blob, options?: ImageBitmapOptions): Promise; - createImageBitmap(image: ImageBitmap | ImageData | Blob, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise; - addEventListener(type: K, listener: (this: WorkerGlobalScope, ev: WorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var WorkerGlobalScope: { - prototype: WorkerGlobalScope; - new(): WorkerGlobalScope; -}; - -interface WorkerLocation { - readonly hash: string; - readonly host: string; - readonly hostname: string; - readonly href: string; - readonly origin: string; - readonly pathname: string; - readonly port: string; - readonly protocol: string; - readonly search: string; -} - -declare var WorkerLocation: { - prototype: WorkerLocation; - new(): WorkerLocation; -}; - -interface WorkerNavigator extends NavigatorID, NavigatorLanguage, NavigatorOnLine, NavigatorConcurrentHardware { - readonly serviceWorker: ServiceWorkerContainer; - readonly hardwareConcurrency: number; -} - -declare var WorkerNavigator: { - prototype: WorkerNavigator; - new(): WorkerNavigator; -}; - interface Worklet { addModule(moduleURL: string, options?: WorkletOptions): Promise; } @@ -11355,14 +11046,6 @@ declare var Worklet: { new(): Worklet; }; -interface WorkletGlobalScope { -} - -declare var WorkletGlobalScope: { - prototype: WorkletGlobalScope; - new(): WorkletGlobalScope; -}; - interface XMLDocument extends Document { addEventListener(type: K, listener: (this: XMLDocument, ev: DocumentEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; diff --git a/inputfiles/browser.webidl.xml b/inputfiles/browser.webidl.xml index 16e0868c2..faed8a3c2 100644 --- a/inputfiles/browser.webidl.xml +++ b/inputfiles/browser.webidl.xml @@ -4100,7 +4100,7 @@ - + @@ -7351,7 +7351,7 @@ - + @@ -10990,7 +10990,7 @@ - + @@ -11812,16 +11812,16 @@ - + - + - - + + - + diff --git a/sample.xml b/sample.xml index 1509f944e..5f99074d2 100644 --- a/sample.xml +++ b/sample.xml @@ -2195,7 +2195,7 @@ - + @@ -12905,7 +12905,7 @@ - + From 29b4c1749052e65ed101baa75cf8ebfdb56af672 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Tue, 16 May 2017 00:01:57 +0900 Subject: [PATCH 41/50] fix unrestricted numbers in generic types --- TS.fsx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/TS.fsx b/TS.fsx index 6c3ab25c4..725eec378 100644 --- a/TS.fsx +++ b/TS.fsx @@ -734,9 +734,8 @@ module Emit = let tName = DomTypeToTsType (genericMatch.Groups.[1].Value) let paramName = DomTypeToTsType (genericMatch.Groups.[2].Value) match tName with - | _ -> - if tName = "Array" then paramName + "[]" - else tName + "<" + paramName + ">" + | "Array" -> paramName + "[]" + | _ -> tName + "<" + paramName + ">" elif objDomType.EndsWith("[]") then let elementType = objDomType.Replace("[]", "").Trim() |> DomTypeToTsType elementType + "[]" From b632bf612274729853eebc87f6f580b75d607ae1 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Tue, 16 May 2017 01:09:38 +0900 Subject: [PATCH 42/50] support double generic + record --- TS.fsx | 11 +++++++---- baselines/dom.generated.d.ts | 4 ++-- baselines/webworker.generated.d.ts | 2 +- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/TS.fsx b/TS.fsx index 725eec378..04a2d2b28 100644 --- a/TS.fsx +++ b/TS.fsx @@ -706,7 +706,7 @@ module Emit = | "Promise" -> "Promise" | "ReadyState" -> "string" | "sequence" -> "Array" - | "UnrestrictedDouble" | "unrestricted double" -> "number" + | "record" -> "record" | "void" -> "void" | integerType when List.contains integerType integerTypes -> "number" | extendedType when List.contains extendedType extendedTypes -> extendedType @@ -732,10 +732,13 @@ module Emit = let genericMatch = Regex.Match(unescaped, @"^(\w+)<([\w, <>]+)>$") if genericMatch.Success then let tName = DomTypeToTsType (genericMatch.Groups.[1].Value) - let paramName = DomTypeToTsType (genericMatch.Groups.[2].Value) + let paramNames = + genericMatch.Groups.[2].Value.Split([| ", " |], StringSplitOptions.None) + |> Array.map DomTypeToTsType match tName with - | "Array" -> paramName + "[]" - | _ -> tName + "<" + paramName + ">" + | "Array" -> paramNames.[0] + "[]" + | "record" -> "{ [key: string]: " + paramNames.[1] + " }" + | _ -> tName + "<" + (paramNames |> String.concat ", ") + ">" elif objDomType.EndsWith("[]") then let elementType = objDomType.Replace("[]", "").Trim() |> DomTypeToTsType elementType + "[]" diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index b9cc3521a..cbf4cad3a 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -10690,7 +10690,7 @@ interface URLSearchParams { declare var URLSearchParams: { prototype: URLSearchParams; - new(init?: string[][] | any | string): URLSearchParams; + new(init?: string[][] | { [key: string]: string } | string): URLSearchParams; }; interface ValidityState { @@ -12964,7 +12964,7 @@ type GLubyte = number; type GLuint = number; type GLushort = number; type HashAlgorithmIdentifier = AlgorithmIdentifier; -type HeadersInit = string[][] | any; +type HeadersInit = string[][] | { [key: string]: string }; type HTMLOrSVGImageElement = HTMLImageElement | SVGImageElement; type HTMLOrSVGScriptElement = HTMLScriptElement | SVGScriptElement; type ImageBitmapSource = CanvasImageSource | Blob | ImageData; diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index f8b5e6a3a..901108398 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -1006,7 +1006,7 @@ interface URLSearchParams { declare var URLSearchParams: { prototype: URLSearchParams; - new(init?: string[][] | any | string): URLSearchParams; + new(init?: string[][] | { [key: string]: string } | string): URLSearchParams; }; interface WebSocketEventMap { From 8c5b51fdcee97f423672083fd007b409119c6418 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Tue, 16 May 2017 07:19:04 +0900 Subject: [PATCH 43/50] fix AudioNode methods --- baselines/dom.generated.d.ts | 30 +++++++----------------------- inputfiles/overridingTypes.json | 19 ------------------- 2 files changed, 7 insertions(+), 42 deletions(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index cbf4cad3a..059f40f61 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -1653,29 +1653,13 @@ interface AudioNode extends EventTarget { readonly numberOfOutputs: number; connect(destination: AudioNode, output?: number, input?: number): AudioNode; connect(destination: AudioParam, output?: number): void; - connect(destination: AudioNode, output?: number, input?: number): AudioNode; - connect(destination: AudioParam, output?: number): void; - disconnect(output?: number): void; - disconnect(destination: AudioNode, output?: number, input?: number): void; - disconnect(destination: AudioParam, output?: number): void; - disconnect(output?: number): void; - disconnect(destination: AudioNode, output?: number, input?: number): void; - disconnect(destination: AudioParam, output?: number): void; - disconnect(output?: number): void; - disconnect(destination: AudioNode, output?: number, input?: number): void; - disconnect(destination: AudioParam, output?: number): void; - disconnect(output?: number): void; - disconnect(destination: AudioNode, output?: number, input?: number): void; - disconnect(destination: AudioParam, output?: number): void; - disconnect(output?: number): void; - disconnect(destination: AudioNode, output?: number, input?: number): void; - disconnect(destination: AudioParam, output?: number): void; - disconnect(output?: number): void; - disconnect(destination: AudioNode, output?: number, input?: number): void; - disconnect(destination: AudioParam, output?: number): void; - disconnect(output?: number): void; - disconnect(destination: AudioNode, output?: number, input?: number): void; - disconnect(destination: AudioParam, output?: number): void; + disconnect(): void; + disconnect(output: number): void; + disconnect(destination: AudioNode): void; + disconnect(destination: AudioNode, output: number): void; + disconnect(destination: AudioNode, output: number, input: number): void; + disconnect(destination: AudioParam): void; + disconnect(destination: AudioParam, output: number): void; } declare var AudioNode: { diff --git a/inputfiles/overridingTypes.json b/inputfiles/overridingTypes.json index 93ca8df9f..017066062 100644 --- a/inputfiles/overridingTypes.json +++ b/inputfiles/overridingTypes.json @@ -602,25 +602,6 @@ "name": "open", "signatures": ["open(url?: string, target?: string, features?: string, replace?: boolean): Window"] }, - { - "kind": "method", - "interface": "AudioNode", - "name": "connect", - "signatures": [ - "connect(destination: AudioNode, output?: number, input?: number): AudioNode", - "connect(destination: AudioParam, output?: number): void" - ] - }, - { - "kind": "method", - "interface": "AudioNode", - "name": "disconnect", - "signatures": [ - "disconnect(output?: number): void", - "disconnect(destination: AudioNode, output?: number, input?: number): void", - "disconnect(destination: AudioParam, output?: number): void" - ] - }, { "kind": "property", "name": "keyPath?", From 513283637b74cf8587dcb07b4b1dff1eaa02a088 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Wed, 17 May 2017 15:59:32 +0900 Subject: [PATCH 44/50] Merge branch 'worker' into constructors --- TS.fsx | 177 ++-- baselines/dom.generated.d.ts | 145 +-- baselines/webworker.generated.d.ts | 1447 ++++++++++++++++++++-------- inputfiles/browser.webidl.xml | 159 +-- inputfiles/knownExposures.json | 87 ++ sample.xml | 5 +- 6 files changed, 1358 insertions(+), 662 deletions(-) create mode 100644 inputfiles/knownExposures.json diff --git a/TS.fsx b/TS.fsx index 04a2d2b28..e62de11cb 100644 --- a/TS.fsx +++ b/TS.fsx @@ -9,6 +9,7 @@ open System.Text.RegularExpressions open System.Web open Microsoft.FSharp.Reflection open FSharp.Data +open System.Linq module GlobalVars = let inputFolder = Path.Combine(__SOURCE_DIRECTORY__, "inputfiles") @@ -122,6 +123,22 @@ module Types = type InterfaceOrNamespace = | Interface of Browser.Interface | Namespace of Browser.Namespace + member self.Name = + match self with + | Interface i -> i.Name + | Namespace n -> n.Name + member self.Exposed = + match self with + | Interface i -> i.Exposed + | Namespace n -> n.Exposed + member self.Properties = + match self with + | Interface i -> i.Properties + | Namespace n -> n.Properties + member self.Methods = + match self with + | Interface i -> i.Methods + | Namespace n -> n.Methods // Note: // Eventhandler's name and the eventName are not just off by "on". @@ -277,8 +294,19 @@ module Data = let browser = (new StreamReader(Path.Combine(GlobalVars.inputFolder, "browser.webidl.xml"))).ReadToEnd() |> Browser.Parse - let worker = - (new StreamReader(Path.Combine(GlobalVars.inputFolder, "webworkers.specidl.xml"))).ReadToEnd() |> Browser.Parse + let knownExposures = + let asArray (k: string, v: JsonValue) = + match v with + | JsonValue.String s -> (k, s.Split [| ' ' |]) + | _ -> failwith "Incorrect format" + + File.ReadAllText(Path.Combine(GlobalVars.inputFolder, "knownExposures.json")) + |> JsonValue.Parse + |> JsonExtensions.Properties + |> Array.map asArray + |> Map.ofArray + + let WorkerTypes = [| "Worker"; "DedicatedWorker"; "SharedWorker"; "ServiceWorker" |] /// Check if the given element should be disabled or not /// reason is that ^a can be an interface, property or method, but they @@ -291,10 +319,31 @@ module Data = match flavor with | Flavor.All -> true | Flavor.Web -> Array.contains "Window" exposedArray - | Flavor.Worker -> true - | _ -> true + | Flavor.Worker -> (exposedArray.Intersect WorkerTypes).Count() <> 0 + | _ -> + match flavor with + | Flavor.All | Flavor.Web -> true + | Flavor.Worker -> false filterByTag + let inline ShouldKeepInherit flavor inheritedExposure (i: ^a when ^a: (member Exposed: string option)) = + let exposure = (^a: (member Exposed: string option) i); + if exposure.IsSome then ShouldKeep flavor i + else ShouldKeep flavor inheritedExposure + + let inline ShouldKeepUnexposed flavor name = + let exposure = knownExposures.TryFind name + match flavor with + | Flavor.All -> true + | Flavor.Web -> exposure.IsNone || Array.contains "Window" exposure.Value + | Flavor.Worker -> exposure.IsSome + + let inline getName ((i: ^a when ^a: (member Name: string))) = + (^a: (member Name: string) i) + + let inline getTypedefName ((i: ^a when ^a: (member NewType: string))) = + (^a: (member NewType: string) i) + // Global interfacename to interface object map let allWebNonCallbackInterfaces = Array.concat [| browser.Interfaces; browser.MixinInterfaces.Interfaces |] @@ -302,11 +351,8 @@ module Data = let allWebInterfaces = Array.concat [| browser.Interfaces; browser.CallbackInterfaces.Interfaces; browser.MixinInterfaces.Interfaces |] - let allWorkerAdditionalInterfaces = - Array.concat [| worker.Interfaces; worker.MixinInterfaces.Interfaces |] - let allInterfaces = - Array.concat [| allWebInterfaces; allWorkerAdditionalInterfaces |] + Array.concat [| allWebInterfaces |] let inline toNameMap< ^a when ^a: (member Name: string) > (data: array< ^a > ) = data @@ -317,15 +363,15 @@ module Data = allInterfaces |> toNameMap let allDictionariesMap = - Array.concat [| browser.Dictionaries; worker.Dictionaries |] + Array.concat [| browser.Dictionaries |] |> toNameMap let allEnumsMap = - Array.concat [| browser.Enums; worker.Enums |] + Array.concat [| browser.Enums |] |> toNameMap let allCallbackFuncs = - Array.concat [| browser.CallbackFunctions; worker.CallbackFunctions |] + Array.concat [| browser.CallbackFunctions |] |> toNameMap let GetInterfaceByName = allInterfacesMap.TryFind @@ -342,28 +388,19 @@ module Data = |> set let GetNonCallbackInterfacesByFlavor flavor = - match flavor with - | Flavor.Web -> allWebNonCallbackInterfaces |> Array.filter (ShouldKeep Flavor.Web) - | Flavor.All -> allWebNonCallbackInterfaces |> Array.filter (ShouldKeep Flavor.All) - | Flavor.Worker -> - let isFromBrowserXml = allWebNonCallbackInterfaces |> Array.filter (fun i -> knownWorkerInterfaces.Contains i.Name) - Array.append isFromBrowserXml allWorkerAdditionalInterfaces + allWebNonCallbackInterfaces |> Array.filter (ShouldKeep flavor) let GetCallbackFuncsByFlavor flavor = - browser.CallbackFunctions - |> Array.filter (fun cb -> flavor <> Flavor.Worker || knownWorkerInterfaces.Contains cb.Name) + browser.CallbackFunctions |> Array.filter (getName >> ShouldKeepUnexposed flavor) let GetEnumsByFlavor flavor = - match flavor with - | Flavor.Web | Flavor.All -> browser.Enums - | Flavor.Worker -> - let isFromBrowserXml = browser.Enums |> Array.filter (fun i -> knownWorkerEnums.Contains i.Name) - Array.append isFromBrowserXml worker.Enums + browser.Enums |> Array.filter (getName >> ShouldKeepUnexposed flavor) let GetNamespacesByFlavor flavor = - match flavor with - | Flavor.Web | Flavor.All -> browser.Namespaces - | Flavor.Worker -> worker.Namespaces + browser.Namespaces |> Array.filter (ShouldKeep flavor) + + let GetTypedefsByFlavor flavor = + browser.Typedefs |> Array.filter (getTypedefName >> ShouldKeepUnexposed flavor) /// Event name to event type map let eNameToEType = @@ -461,14 +498,14 @@ module Data = | Some i -> List.ofArray i.Implements | _ -> [] - Array.concat [| allWebNonCallbackInterfaces; worker.Interfaces; worker.MixinInterfaces.Interfaces |] + Array.concat [| allWebNonCallbackInterfaces |] |> Array.map (fun i -> (i.Name, List.concat [ (getExtendList i.Name); (getImplementList i.Name) ])) |> Map.ofArray /// Distinct event type list, used in the "createEvent" function let distinctETypeList = let usedEvents = - [ for i in GetNonCallbackInterfacesByFlavor Flavor.All do + [ for i in GetNonCallbackInterfacesByFlavor Flavor.Web do match i.Events with | Some es -> yield! es.Events | _ -> () ] @@ -476,7 +513,7 @@ module Data = |> List.distinct let unUsedEvents = - GetNonCallbackInterfacesByFlavor Flavor.All + GetNonCallbackInterfacesByFlavor Flavor.Web |> Array.choose (fun i -> if i.Extends = "Event" && i.Name.EndsWith("Event") && not (List.contains i.Name usedEvents) then Some(i.Name) else None) |> Array.distinct @@ -569,7 +606,7 @@ module Data = let GetGlobalPollutor flavor = match flavor with | Flavor.Web | Flavor.All -> browser.Interfaces |> Array.tryFind (fun i -> i.PrimaryGlobal.IsSome) - | Flavor.Worker -> worker.Interfaces |> Array.tryFind (fun i -> i.Global.IsSome) + | Flavor.Worker -> browser.Interfaces |> Array.tryFind (fun i -> i.Global.IsSome && i.Name = "DedicatedWorkerGlobalScope") let GetGlobalPollutorName flavor = match GetGlobalPollutor flavor with @@ -711,7 +748,8 @@ module Emit = | integerType when List.contains integerType integerTypes -> "number" | extendedType when List.contains extendedType extendedTypes -> extendedType | _ -> - if ignoreDOMTypes && Seq.contains objDomType ["Element"; "Window"; "Document"] then "any" + if ignoreDOMTypes && (Seq.contains objDomType ["Element"; "Window"; "Document"; "WindowProxy"; "WebGLRenderingContext"] || objDomType.StartsWith "HTML") then "never" + elif objDomType = "WindowProxy" then "Window" else // Name of an interface / enum / dict. Just return itself if allInterfacesMap.ContainsKey objDomType || @@ -887,15 +925,6 @@ module Emit = | _ -> "" let EmitProperties flavor prefix (emitScope: EmitScope) (i: InterfaceOrNamespace) (conflictedMembers: Set) = - let name = - match i with - | InterfaceOrNamespace.Interface it -> it.Name - | InterfaceOrNamespace.Namespace n -> n.Name - let properties = - match i with - | InterfaceOrNamespace.Interface it -> it.Properties - | InterfaceOrNamespace.Namespace n -> n.Properties - let emitPropertyFromJson (p: InputJsonType.Root) = let readOnlyModifier = match p.Readonly with @@ -904,7 +933,7 @@ module Emit = Pt.Printl "%s%s%s: %s;" prefix readOnlyModifier p.Name.Value p.Type.Value let emitCommentForProperty (printLine: Printf.StringFormat<_, unit> -> _) pName = - match CommentJson.GetCommentForProperty name pName with + match CommentJson.GetCommentForProperty i.Name pName with | Some comment -> printLine "%s" comment | _ -> () @@ -914,10 +943,10 @@ module Emit = emitCommentForProperty printLine p.Name // Treat window.name specially because of https://github.com/Microsoft/TypeScript/issues/9850 - if p.Name = "name" && name = "Window" && emitScope = EmitScope.All then + if p.Name = "name" && i.Name = "Window" && emitScope = EmitScope.All then printLine "declare const name: never;" - elif Option.isNone (getRemovedItemByName p.Name ItemKind.Property name) then - match getOverriddenItemByName p.Name ItemKind.Property name with + elif Option.isNone (getRemovedItemByName p.Name ItemKind.Property i.Name) then + match getOverriddenItemByName p.Name ItemKind.Property i.Name with | Some p' -> emitPropertyFromJson p' | None -> let pType = @@ -945,29 +974,19 @@ module Emit = // Note: the schema file shows the property doesn't have "static" attribute, // therefore all properties are emited for the instance type. if emitScope <> StaticOnly then - match properties with + match i.Properties with | Some ps -> ps.Properties - |> Array.filter (ShouldKeep flavor) + |> Array.filter (ShouldKeepInherit flavor i) |> Array.iter emitProperty | None -> () for addedItem in getAddedItems ItemKind.Property flavor do - if (matchInterface name addedItem) && (prefix <> "declare var " || addedItem.ExposeGlobally.IsNone || addedItem.ExposeGlobally.Value) then + if (matchInterface i.Name addedItem) && (prefix <> "declare var " || addedItem.ExposeGlobally.IsNone || addedItem.ExposeGlobally.Value) then emitCommentForProperty Pt.Printl addedItem.Name.Value emitPropertyFromJson addedItem let EmitMethods flavor prefix (emitScope: EmitScope) (i: InterfaceOrNamespace) (conflictedMembers: Set) = - let name = - match i with - | InterfaceOrNamespace.Interface it -> it.Name - | InterfaceOrNamespace.Namespace n -> n.Name - - let methods = - match i with - | InterfaceOrNamespace.Interface it -> it.Methods - | InterfaceOrNamespace.Namespace n -> n.Methods - // Note: two cases: // 1. emit the members inside a interface -> no need to add prefix // 2. emit the members outside to expose them (for "Window") -> need to add "declare" @@ -976,7 +995,7 @@ module Emit = let emitCommentForMethod (printLine: Printf.StringFormat<_, unit> -> _) (mName: string option) = if mName.IsSome then - match CommentJson.GetCommentForMethod name mName.Value with + match CommentJson.GetCommentForMethod i.Name mName.Value with | Some comment -> printLine "%s" comment | _ -> () @@ -997,8 +1016,8 @@ module Emit = // - removedType: meaning the type is marked as removed in the json file // if there is any conflicts between the two, the "removedType" has a higher priority over // the "overridenType". - let removedType = Option.bind (fun name -> InputJson.getRemovedItemByName name InputJson.ItemKind.Method name) m.Name - let overridenType = Option.bind (fun mName -> InputJson.getOverriddenItemByName mName InputJson.ItemKind.Method name) m.Name + let removedType = Option.bind (fun name -> InputJson.getRemovedItemByName name InputJson.ItemKind.Method i.Name) m.Name + let overridenType = Option.bind (fun mName -> InputJson.getOverriddenItemByName mName InputJson.ItemKind.Method i.Name) m.Name if removedType.IsNone then match overridenType with @@ -1008,7 +1027,7 @@ module Emit = | _ -> () t.Signatures |> Array.iter (printLine "%s%s;" prefix) | None -> - match name, m.Name with + match i.Name, m.Name with | _, Some "createElement" -> EmitCreateElementOverloads m | _, Some "createEvent" -> EmitCreateEventOverloads m | _, Some "getElementsByTagName" -> EmitGetElementsByTagNameOverloads m @@ -1017,7 +1036,7 @@ module Emit = | _ -> if m.Name.IsSome then // If there are added overloads from the json files, print them first - match getAddedItemByName m.Name.Value ItemKind.SignatureOverload name with + match getAddedItemByName m.Name.Value ItemKind.SignatureOverload i.Name with | Some ol -> ol.Signatures |> Array.iter (printLine "%s;") | _ -> () @@ -1029,29 +1048,26 @@ module Emit = if isNullable then makeNullable returnType else returnType printLine "%s%s(%s): %s;" prefix (if m.Name.IsSome then m.Name.Value else "") paramsString returnString - if methods.IsSome then - methods.Value.Methods + if i.Methods.IsSome then + i.Methods.Value.Methods + |> Array.filter (ShouldKeepInherit flavor i) |> Array.filter mFilter |> Array.iter (emitMethod flavor prefix i) for addedItem in getAddedItems ItemKind.Method flavor do - if (matchInterface name addedItem && matchScope emitScope addedItem) then + if (matchInterface i.Name addedItem && matchScope emitScope addedItem) then emitCommentForMethod Pt.Printl addedItem.Name emitMethodFromJson addedItem // The window interface inherited some methods from "Object", // which need to explicitly exposed - if name = "Window" && prefix = "declare function " then + if i.Name = "Window" && prefix = "declare function " then Pt.Printl "declare function toString(): string;" /// Emit the properties and methods of a given interface let EmitMembers flavor (prefix: string) (emitScope: EmitScope) (i: InterfaceOrNamespace) = - let name = - match i with - | InterfaceOrNamespace.Interface it -> it.Name - | InterfaceOrNamespace.Namespace n -> n.Name let conflictedMembers = - match Map.tryFind name extendConflictsBaseTypes with + match Map.tryFind i.Name extendConflictsBaseTypes with | Some conflict -> conflict.MemberNames | _ -> [] |> Set.ofList @@ -1420,12 +1436,9 @@ module Emit = Pt.Printl "" browser.Dictionaries - |> Array.filter (fun dict -> flavor <> Worker || knownWorkerInterfaces.Contains dict.Name) + |> Array.filter (getName >> ShouldKeepUnexposed flavor) |> Array.iter emitDictionary - if flavor = Worker then - worker.Dictionaries |> Array.iter emitDictionary - let EmitAddedInterface (ai: InputJsonType.Root) = match ai.Extends with | Some e -> Pt.Printl "interface %s extends %s {" ai.Name.Value ai.Extends.Value @@ -1474,15 +1487,9 @@ module Emit = let emitTypeDefFromJson (typeDef: InputJsonType.Root) = Pt.Printl "type %s = %s;" typeDef.Name.Value typeDef.Type.Value - match flavor with - | Flavor.Worker -> - browser.Typedefs - |> Array.filter (fun typedef -> knownWorkerInterfaces.Contains typedef.NewType) - |> Array.iter emitTypeDef - | _ -> - browser.Typedefs - |> Array.filter (fun typedef -> getRemovedItemByName typedef.NewType ItemKind.TypeDef "" |> Option.isNone) - |> Array.iter emitTypeDef + GetTypedefsByFlavor flavor + |> Array.filter (fun typedef -> getRemovedItemByName typedef.NewType ItemKind.TypeDef "" |> Option.isNone) + |> Array.iter emitTypeDef InputJson.getAddedItems ItemKind.TypeDef flavor |> Array.iter emitTypeDefFromJson diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 059f40f61..607480bea 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -156,12 +156,6 @@ interface ChannelSplitterOptions extends AudioNodeOptions { numberOfOutputs?: number; } -interface ClientQueryOptions { - includeReserved?: boolean; - includeUncontrolled?: boolean; - type?: ClientType; -} - interface ClipboardEventInit extends EventInit { clipboardData?: DataTransfer | null; } @@ -389,50 +383,14 @@ interface EventSourceInit { withCredentials?: boolean; } -interface ExtendableEventInit extends EventInit { -} - -interface ExtendableMessageEventInit extends ExtendableEventInit { - data?: any; - lastEventId?: string; - origin?: string; - ports?: MessagePort[]; - source?: Client | ServiceWorker | MessagePort | null; -} - -interface FetchEventInit extends ExtendableEventInit { - clientId?: string; - preloadResponse: Promise; - request: Request; - reservedClientId?: string; - targetClientId?: string; -} - -interface FilePropertyBag { +interface FilePropertyBag extends BlobPropertyBag { lastModified?: number; - type?: string; } interface FocusEventInit extends UIEventInit { relatedTarget?: EventTarget | null; } -interface ForeignFetchEventInit extends ExtendableEventInit { - origin?: string; - request: Request; -} - -interface ForeignFetchOptions { - origins: string[]; - scopes: string[]; -} - -interface ForeignFetchResponse { - headers?: string[]; - origin?: string; - response: Response; -} - interface GainOptions extends AudioNodeOptions { gain?: number; } @@ -732,11 +690,6 @@ interface NotificationAction { title: string; } -interface NotificationEventInit extends ExtendableEventInit { - action?: string; - notification: Notification; -} - interface NotificationOptions { actions?: NotificationAction[]; badge?: string; @@ -900,15 +853,6 @@ interface PromiseRejectionEventInit extends EventInit { reason?: any; } -interface PushEventInit extends ExtendableEventInit { - data?: PushMessageDataInit; -} - -interface PushSubscriptionChangeInit extends ExtendableEventInit { - newSubscription?: PushSubscription; - oldSubscription?: PushSubscription; -} - interface PushSubscriptionOptionsInit { applicationServerKey?: BufferSource | string | null; userVisibleOnly?: boolean; @@ -1387,11 +1331,6 @@ interface SVGBoundingBoxOptions { stroke?: boolean; } -interface SyncEventInit extends ExtendableEventInit { - lastChance?: boolean; - tag: string; -} - interface TouchEventInit extends EventModifierInit { changedTouches?: Touch[]; targetTouches?: Touch[]; @@ -1865,10 +1804,8 @@ declare var BiquadFilterNode: { }; interface Blob { - readonly isClosed: boolean; readonly size: number; readonly type: string; - close(): void; slice(start?: number, end?: number, contentType?: string): Blob; } @@ -2792,7 +2729,7 @@ interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, Par readonly contentType: string; cookie: string; readonly currentScript: HTMLScriptElement | SVGScriptElement | null; - readonly defaultView: any; + readonly defaultView: Window | null; /** * Sets or gets a value that indicates whether the document can be edited. */ @@ -3006,14 +2943,10 @@ interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, Par createEvent(eventInterface: "ErrorEvent"): ErrorEvent; createEvent(eventInterface: "Event"): Event; createEvent(eventInterface: "Events"): Event; - createEvent(eventInterface: "ExtendableEvent"): ExtendableEvent; - createEvent(eventInterface: "ExtendableMessageEvent"): ExtendableMessageEvent; - createEvent(eventInterface: "FetchEvent"): FetchEvent; createEvent(eventInterface: "FocusEvent"): FocusEvent; createEvent(eventInterface: "GamepadEvent"): GamepadEvent; createEvent(eventInterface: "HashChangeEvent"): HashChangeEvent; createEvent(eventInterface: "IDBVersionChangeEvent"): IDBVersionChangeEvent; - createEvent(eventInterface: "InstallEvent"): InstallEvent; createEvent(eventInterface: "KeyboardEvent"): KeyboardEvent; createEvent(eventInterface: "MediaEncryptedEvent"): MediaEncryptedEvent; createEvent(eventInterface: "MediaKeyMessageEvent"): MediaKeyMessageEvent; @@ -3022,7 +2955,6 @@ interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, Par createEvent(eventInterface: "MessageEvent"): MessageEvent; createEvent(eventInterface: "MouseEvent"): MouseEvent; createEvent(eventInterface: "MouseEvents"): MouseEvent; - createEvent(eventInterface: "NotificationEvent"): NotificationEvent; createEvent(eventInterface: "OfflineAudioCompletionEvent"): OfflineAudioCompletionEvent; createEvent(eventInterface: "OverconstrainedErrorEvent"): OverconstrainedErrorEvent; createEvent(eventInterface: "PageTransitionEvent"): PageTransitionEvent; @@ -3031,8 +2963,6 @@ interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, Par createEvent(eventInterface: "PopStateEvent"): PopStateEvent; createEvent(eventInterface: "ProgressEvent"): ProgressEvent; createEvent(eventInterface: "PromiseRejectionEvent"): PromiseRejectionEvent; - createEvent(eventInterface: "PushEvent"): PushEvent; - createEvent(eventInterface: "PushSubscriptionChangeEvent"): PushSubscriptionChangeEvent; createEvent(eventInterface: "RTCDTMFToneChangeEvent"): RTCDTMFToneChangeEvent; createEvent(eventInterface: "RTCDataChannelEvent"): RTCDataChannelEvent; createEvent(eventInterface: "RTCErrorEvent"): RTCErrorEvent; @@ -3044,7 +2974,6 @@ interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, Par createEvent(eventInterface: "SpeechRecognitionEvent"): SpeechRecognitionEvent; createEvent(eventInterface: "SpeechSynthesisEvent"): SpeechSynthesisEvent; createEvent(eventInterface: "StorageEvent"): StorageEvent; - createEvent(eventInterface: "SyncEvent"): SyncEvent; createEvent(eventInterface: "TouchEvent"): TouchEvent; createEvent(eventInterface: "TrackEvent"): TrackEvent; createEvent(eventInterface: "TransitionEvent"): TransitionEvent; @@ -3071,7 +3000,7 @@ interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, Par * @param data String that specifies the nodeValue property of the text node. */ createTextNode(data: string): Text; - createTouch(view: any, target: EventTarget, identifier: number, pageX: number, pageY: number, screenX: number, screenY: number): Touch; + createTouch(view: Window, target: EventTarget, identifier: number, pageX: number, pageY: number, screenX: number, screenY: number): Touch; createTouchList(...touches: Touch[]): TouchList; /** * Creates a TreeWalker object that you can use to traverse filtered lists of nodes or elements in a document. @@ -3655,7 +3584,7 @@ interface FileReaderEventMap { } interface FileReader extends EventTarget { - readonly error: any; + readonly error: DOMException | null; onabort: (this: FileReader, ev: ProgressEvent) => any; onerror: (this: FileReader, ev: ProgressEvent) => any; onload: (this: FileReader, ev: ProgressEvent) => any; @@ -3666,6 +3595,7 @@ interface FileReader extends EventTarget { readonly result: string | ArrayBuffer | null; abort(): void; readAsArrayBuffer(blob: Blob): void; + readAsBinaryString(blob: Blob): void; readAsDataURL(blob: Blob): void; readAsText(blob: Blob, label?: string): void; readonly DONE: number; @@ -4441,7 +4371,7 @@ interface HTMLFrameElement extends HTMLElement { /** * Retrieves the object of the specified. */ - readonly contentWindow: any; + readonly contentWindow: Window | null; /** * Sets or retrieves whether to display a border for the frame. */ @@ -4591,7 +4521,7 @@ interface HTMLIFrameElement extends HTMLElement { /** * Retrieves the object of the specified. */ - readonly contentWindow: any; + readonly contentWindow: Window | null; /** * Sets or retrieves whether to display a border for the frame. */ @@ -5360,7 +5290,7 @@ interface HTMLObjectElement extends HTMLElement { * Retrieves the document object of the page or frame. */ readonly contentDocument: Document | null; - readonly contentWindow: any; + readonly contentWindow: Window | null; /** * Sets or retrieves the URL that references the data of the object. */ @@ -6412,6 +6342,7 @@ interface IDBCursor { source: IDBObjectStore | IDBIndex; advance(count: number): void; continue(key?: IDBKeyRange | IDBValidKey): void; + continuePrimaryKey(key: any, primaryKey: any): void; delete(): IDBRequest; update(value: any): IDBRequest; } @@ -6432,6 +6363,7 @@ declare var IDBCursorWithValue: { interface IDBDatabaseEventMap { "abort": Event; + "close": Event; "error": Event; "versionchange": IDBVersionChangeEvent; } @@ -6440,6 +6372,7 @@ interface IDBDatabase extends EventTarget { readonly name: string; readonly objectStoreNames: DOMStringList; onabort: (this: IDBDatabase, ev: Event) => any; + onclose: (this: IDBDatabase, ev: Event) => any; onerror: (this: IDBDatabase, ev: Event) => any; onversionchange: (this: IDBDatabase, ev: IDBVersionChangeEvent) => any; version: number; @@ -6471,11 +6404,13 @@ declare var IDBFactory: { interface IDBIndex { keyPath: string | string[]; readonly multiEntry: boolean; - readonly name: string; + name: string; readonly objectStore: IDBObjectStore; readonly unique: boolean; count(key?: IDBKeyRange | IDBValidKey): IDBRequest; get(key: IDBKeyRange | IDBValidKey): IDBRequest; + getAll(query?: any, count?: number): IDBRequest; + getAllKeys(query?: any, count?: number): IDBRequest; getKey(key: IDBKeyRange | IDBValidKey): IDBRequest; openCursor(range?: IDBKeyRange | IDBValidKey, direction?: IDBCursorDirection): IDBRequest; openKeyCursor(range?: IDBKeyRange | IDBValidKey, direction?: IDBCursorDirection): IDBRequest; @@ -6491,6 +6426,7 @@ interface IDBKeyRange { readonly lowerOpen: boolean; readonly upper: any; readonly upperOpen: boolean; + includes(key: any): boolean; } declare var IDBKeyRange: { @@ -6506,17 +6442,21 @@ interface IDBObjectStore { readonly autoIncrement: boolean; readonly indexNames: DOMStringList; keyPath: string | string[]; - readonly name: string; + name: string; readonly transaction: IDBTransaction; add(value: any, key?: IDBKeyRange | IDBValidKey): IDBRequest; clear(): IDBRequest; count(key?: IDBKeyRange | IDBValidKey): IDBRequest; createIndex(name: string, keyPath: string | string[], optionalParameters?: IDBIndexParameters): IDBIndex; delete(key: IDBKeyRange | IDBValidKey): IDBRequest; - deleteIndex(indexName: string): void; - get(key: any): IDBRequest; + deleteIndex(name: string): void; + get(query: any): IDBRequest; + getAll(query?: any, count?: number): IDBRequest; + getAllKeys(query?: any, count?: number): IDBRequest; + getKey(query: any): IDBRequest; index(name: string): IDBIndex; openCursor(range?: IDBKeyRange | IDBValidKey, direction?: IDBCursorDirection): IDBRequest; + openKeyCursor(query?: any, direction?: IDBCursorDirection): IDBRequest; put(value: any, key?: IDBKeyRange | IDBValidKey): IDBRequest; } @@ -6554,7 +6494,7 @@ interface IDBRequest extends EventTarget { readonly readyState: IDBRequestReadyState; readonly result: any; source: IDBObjectStore | IDBIndex | IDBCursor; - readonly transaction: IDBTransaction; + readonly transaction: IDBTransaction | null; addEventListener(type: K, listener: (this: IDBRequest, ev: IDBRequestEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } @@ -6574,6 +6514,7 @@ interface IDBTransaction extends EventTarget { readonly db: IDBDatabase; readonly error: DOMException; readonly mode: IDBTransactionMode; + readonly objectStoreNames: DOMStringList; onabort: (this: IDBTransaction, ev: Event) => any; oncomplete: (this: IDBTransaction, ev: Event) => any; onerror: (this: IDBTransaction, ev: Event) => any; @@ -10638,7 +10579,6 @@ interface URL { declare var URL: { prototype: URL; new(url: string, base?: string): URL; - createFor(blob: Blob): string; createObjectURL(blob: Blob): string; createObjectURL(mediaSource: MediaSource): string; revokeObjectURL(url: string): void; @@ -10921,7 +10861,7 @@ interface WindowEventMap extends GlobalEventHandlersEventMap, WindowEventHandler "deviceorientation": DeviceOrientationEvent; } -interface Window extends EventTarget, GlobalEventHandlers, WindowEventHandlers, WindowOrWorkerGlobalScope, WindowSessionStorage, WindowLocalStorage, GlobalPerformance, IDBEnvironment, GlobalCrypto, SpeechSynthesisGetter { +interface Window extends EventTarget, GlobalEventHandlers, WindowEventHandlers, WindowOrWorkerGlobalScope, WindowSessionStorage, WindowLocalStorage, GlobalPerformance, GlobalCrypto, SpeechSynthesisGetter { readonly applicationCache: ApplicationCache; readonly audioWorklet: Worklet; readonly closed: boolean; @@ -10930,7 +10870,7 @@ interface Window extends EventTarget, GlobalEventHandlers, WindowEventHandlers, readonly document: Document; readonly external: External; readonly frameElement: Element | null; - readonly frames: any; + readonly frames: Window; readonly history: History; readonly innerHeight: number; readonly innerWidth: number; @@ -10947,7 +10887,7 @@ interface Window extends EventTarget, GlobalEventHandlers, WindowEventHandlers, readonly outerWidth: number; readonly pageXOffset: number; readonly pageYOffset: number; - readonly parent: any; + readonly parent: Window | null; readonly personalbar: BarProp; readonly screen: Screen; readonly screenX: number; @@ -10955,12 +10895,12 @@ interface Window extends EventTarget, GlobalEventHandlers, WindowEventHandlers, readonly scrollbars: BarProp; readonly scrollX: number; readonly scrollY: number; - readonly self: any; + readonly self: Window; status: string; readonly statusbar: BarProp; readonly toolbar: BarProp; - readonly top: any; - readonly window: any; + readonly top: Window | null; + readonly window: Window; URLSearchParams: typeof URLSearchParams; Blob: typeof Blob; alert(message?: any): void; @@ -11587,10 +11527,6 @@ interface HTMLHyperlinkElementUtils extends HTMLHyperlinkElementUtilsBase { href: string; } -interface IDBEnvironment { - readonly indexedDB: IDBFactory; -} - interface LinkStyle { readonly sheet: StyleSheet | null; } @@ -12257,6 +12193,7 @@ interface WindowLocalStorage { interface WindowOrWorkerGlobalScope { readonly caches: CacheStorage; + readonly indexedDB: IDBFactory; readonly origin: string; atob(data: string): string; btoa(data: string): string; @@ -12275,9 +12212,6 @@ interface WindowSessionStorage { readonly sessionStorage: Storage; } -interface WorkerUtils extends IDBEnvironment { -} - declare namespace console { function assert(condition?: boolean, ...data: any[]): void; function clear(): void; @@ -12732,7 +12666,7 @@ declare var devicePixelRatio: number; declare var document: Document; declare var external: External; declare var frameElement: Element | null; -declare var frames: any; +declare var frames: Window; declare var history: History; declare var innerHeight: number; declare var innerWidth: number; @@ -12749,7 +12683,7 @@ declare var outerHeight: number; declare var outerWidth: number; declare var pageXOffset: number; declare var pageYOffset: number; -declare var parent: any; +declare var parent: Window | null; declare var personalbar: BarProp; declare var screen: Screen; declare var screenX: number; @@ -12757,12 +12691,12 @@ declare var screenY: number; declare var scrollbars: BarProp; declare var scrollX: number; declare var scrollY: number; -declare var self: any; +declare var self: Window; declare var status: string; declare var statusbar: BarProp; declare var toolbar: BarProp; -declare var top: any; -declare var window: any; +declare var top: Window | null; +declare var window: Window; declare function alert(message?: any): void; declare function alert(message?: any): void; declare function blur(): void; @@ -12897,6 +12831,7 @@ declare var onstorage: (this: Window, ev: StorageEvent) => any; declare var onunhandledrejection: (this: Window, ev: PromiseRejectionEvent) => any; declare var onunload: (this: Window, ev: Event) => any; declare var caches: CacheStorage; +declare var indexedDB: IDBFactory; declare var origin: string; declare function atob(data: string): string; declare function btoa(data: string): string; @@ -12912,13 +12847,13 @@ declare function setTimeout(handler: any, timeout?: any, ...args: any[]): number declare var sessionStorage: Storage; declare var localStorage: Storage; declare var performance: Performance; -declare var indexedDB: IDBFactory; declare var crypto: Crypto; declare var speechSynthesis: SpeechSynthesis; declare function addEventListener(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, useCapture?: boolean): void; declare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; type AlgorithmIdentifier = any; type BigInteger = Uint8Array; +type BlobPart = BufferSource | Blob | string; type BodyInit = Blob | BufferSource | FormData | URLSearchParams | ReadableStream | string; type BufferSource = ArrayBufferView | ArrayBuffer; type CanvasImageSource = HTMLOrSVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | OffscreenCanvas; @@ -12955,13 +12890,12 @@ type ImageBitmapSource = CanvasImageSource | Blob | ImageData; type Int32List = Int32Array | GLint[]; type MediaProvider = MediaStream | MediaSource | Blob; type MediaStreamError = any; -type MessageEventSource = any; +type MessageEventSource = Window | MessagePort | ServiceWorker; type NamedCurve = string; type OffscreenRenderingContext = OffscreenCanvasRenderingContext2D | WebGLRenderingContext; type OnBeforeUnloadEventHandler = OnBeforeUnloadEventHandlerNonNull; type OnErrorEventHandler = OnErrorEventHandlerNonNull; type PerformanceEntryList = PerformanceEntry[]; -type PushMessageDataInit = BufferSource | string; type RenderingContext = CanvasRenderingContext2D | WebGLRenderingContext; type RequestInfo = Request | string; type TexImageSource = ImageBitmap | ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement; @@ -12982,7 +12916,6 @@ type CanvasTextAlign = "start" | "end" | "left" | "right" | "center"; type CanvasTextBaseline = "top" | "hanging" | "middle" | "alphabetic" | "ideographic" | "bottom"; type ChannelCountMode = "max" | "clamped-max" | "explicit"; type ChannelInterpretation = "speakers" | "discrete"; -type ClientType = "window" | "worker" | "sharedworker" | "all"; type ColorSpaceConversion = "none" | "default"; type CSSBoxType = "margin" | "border" | "padding" | "content"; type DistanceModelType = "linear" | "inverse" | "exponential"; diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index 901108398..845bcff64 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -3,8 +3,9 @@ /// Worker APIs ///////////////////////////// -interface Algorithm { - name: string; +interface AddEventListenerOptions extends EventListenerOptions { + once?: boolean; + passive?: boolean; } interface CacheQueryOptions { @@ -26,6 +27,57 @@ interface CloseEventInit extends EventInit { wasClean?: boolean; } +interface CustomEventInit extends EventInit { + detail?: any; +} + +interface DOMMatrixInit { + a?: number; + b?: number; + c?: number; + d?: number; + e?: number; + f?: number; + is2D?: boolean; + m11?: number; + m12?: number; + m13?: number; + m14?: number; + m21?: number; + m22?: number; + m23?: number; + m24?: number; + m31?: number; + m32?: number; + m33?: number; + m34?: number; + m41?: number; + m42?: number; + m43?: number; + m44?: number; +} + +interface DOMPointInit { + w?: number; + x?: number; + y?: number; + z?: number; +} + +interface DOMQuadInit { + p1?: DOMPointInit; + p2?: DOMPointInit; + p3?: DOMPointInit; + p4?: DOMPointInit; +} + +interface DOMRectInit { + height?: number; + width?: number; + x?: number; + y?: number; +} + interface EventInit { scoped?: boolean; bubbles?: boolean; @@ -33,6 +85,14 @@ interface EventInit { composed?: boolean; } +interface EventListenerOptions { + capture?: boolean; +} + +interface EventSourceInit { + withCredentials?: boolean; +} + interface ExtendableEventInit extends EventInit { } @@ -52,6 +112,22 @@ interface FetchEventInit extends ExtendableEventInit { targetClientId?: string; } +interface ForeignFetchEventInit extends ExtendableEventInit { + origin?: string; + request: Request; +} + +interface ForeignFetchOptions { + origins: string[]; + scopes: string[]; +} + +interface ForeignFetchResponse { + headers?: string[]; + origin?: string; + response: Response; +} + interface GetNotificationOptions { tag?: string; } @@ -66,17 +142,35 @@ interface IDBObjectStoreParameters { keyPath?: string | string[] | null; } -interface ImageBitmapOptions { - colorSpaceConversion?: ColorSpaceConversion; - imageOrientation?: ImageOrientation; - premultiplyAlpha?: PremultiplyAlpha; - resizeHeight?: number; - resizeQuality?: ResizeQuality; - resizeWidth?: number; +interface IDBVersionChangeEventInit extends EventInit { + newVersion?: number | null; + oldVersion?: number; } -interface KeyAlgorithm { - name: string; +interface ImageEncodeOptions { + quality?: number; + type?: string; +} + +interface JsonWebKey { + alg?: string; + crv?: string; + d?: string; + dp?: string; + dq?: string; + e?: string; + ext?: boolean; + k?: string; + key_ops?: string[]; + kty?: string; + n?: string; + oth?: RsaOtherPrimesInfo[]; + p?: string; + q?: string; + qi?: string; + use?: string; + x?: string; + y?: string; } interface MessageEventInit extends EventInit { @@ -88,6 +182,17 @@ interface MessageEventInit extends EventInit { source?: MessageEventSource | null; } +interface NavigationPreloadState { + enabled?: boolean; + headerValue?: string; +} + +interface NotificationAction { + action: string; + icon?: string; + title: string; +} + interface NotificationEventInit extends ExtendableEventInit { action?: string; notification: Notification; @@ -111,15 +216,35 @@ interface NotificationOptions { vibrate?: any; } +interface PerformanceObserverInit { + entryTypes: string[]; +} + +interface PromiseRejectionEventInit extends EventInit { + promise: Promise; + reason?: any; +} + interface PushEventInit extends ExtendableEventInit { data?: PushMessageDataInit; } +interface PushSubscriptionChangeInit extends ExtendableEventInit { + newSubscription?: PushSubscription; + oldSubscription?: PushSubscription; +} + interface PushSubscriptionOptionsInit { applicationServerKey?: BufferSource | string | null; userVisibleOnly?: boolean; } +interface RegistrationOptions { + scope?: string; + type?: WorkerType; + useCache?: boolean; +} + interface RequestInit { body?: BodyInit | null; cache?: RequestCache; @@ -141,45 +266,21 @@ interface ResponseInit { statusText?: string; } +interface RsaOtherPrimesInfo { + d?: string; + r?: string; + t?: string; +} + interface SyncEventInit extends ExtendableEventInit { lastChance?: boolean; tag: string; } -interface ClientQueryOptions { - includeUncontrolled?: boolean; - type?: ClientType; -} - -interface ExtendableEventInit extends EventInit { -} - -interface ExtendableMessageEventInit extends ExtendableEventInit { - data?: any; - origin?: string; - lastEventId?: string; - source?: Client | ServiceWorker | MessagePort | null; - ports?: MessagePort[] | null; -} - -interface FetchEventInit extends ExtendableEventInit { - request: Request; - clientId?: string | null; - isReload?: boolean; -} - -interface NotificationEventInit extends ExtendableEventInit { - notification: Notification; - action?: string; -} - -interface PushEventInit extends ExtendableEventInit { - data?: BufferSource | string; -} - -interface SyncEventInit extends ExtendableEventInit { - tag: string; - lastChance?: boolean; +interface WorkerOptions { + credentials?: RequestCredentials; + name?: string; + type?: WorkerType; } interface EventListener { @@ -190,26 +291,9 @@ interface NodeFilter { (evt: Event): void; } -interface AudioBuffer { - readonly duration: number; - readonly length: number; - readonly numberOfChannels: number; - readonly sampleRate: number; - copyFromChannel(destination: Float32Array, channelNumber: number, startInChannel?: number): void; - copyToChannel(source: Float32Array, channelNumber: number, startInChannel?: number): void; - getChannelData(channel: number): Float32Array; -} - -declare var AudioBuffer: { - prototype: AudioBuffer; - new(options: AudioBufferOptions): AudioBuffer; -}; - interface Blob { - readonly isClosed: boolean; readonly size: number; readonly type: string; - close(): void; slice(start?: number, end?: number, contentType?: string): Blob; } @@ -218,6 +302,26 @@ declare var Blob: { new (blobParts?: any[], options?: BlobPropertyBag): Blob; }; +interface BroadcastChannelEventMap { + "message": MessageEvent; + "messageerror": MessageEvent; +} + +interface BroadcastChannel extends EventTarget { + readonly name: string; + onmessage: (this: BroadcastChannel, ev: MessageEvent) => any; + onmessageerror: (this: BroadcastChannel, ev: MessageEvent) => any; + close(): void; + postMessage(message: any): void; + addEventListener(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var BroadcastChannel: { + prototype: BroadcastChannel; + new(name: string): BroadcastChannel; +}; + interface Cache { add(request: RequestInfo): Promise; addAll(requests: RequestInfo[]): Promise; @@ -246,6 +350,49 @@ declare var CacheStorage: { new(): CacheStorage; }; +interface CanvasGradient { + addColorStop(offset: number, color: string): void; +} + +declare var CanvasGradient: { + prototype: CanvasGradient; + new(): CanvasGradient; +}; + +interface CanvasPattern { + setTransform(transform?: DOMMatrixInit): void; +} + +declare var CanvasPattern: { + prototype: CanvasPattern; + new(): CanvasPattern; +}; + +interface Client { + readonly id: string; + readonly reserved: boolean; + readonly type: ClientType; + readonly url: string; + postMessage(message: any, transfer?: any[]): void; +} + +declare var Client: { + prototype: Client; + new(): Client; +}; + +interface Clients { + claim(): Promise; + get(id: string): Promise; + matchAll(options?: ClientQueryOptions): Promise; + openWindow(url: string): any; +} + +declare var Clients: { + prototype: Clients; + new(): Clients; +}; + interface CloseEvent extends Event { readonly code: number; readonly reason: string; @@ -257,6 +404,16 @@ declare var CloseEvent: { new(type: string, eventInitDict?: CloseEventInit): CloseEvent; }; +interface Crypto { + readonly subtle: SubtleCrypto; + getRandomValues(array: ArrayBufferView): ArrayBufferView; +} + +declare var Crypto: { + prototype: Crypto; + new(): Crypto; +}; + interface CryptoKey { readonly algorithm: any; readonly extractable: boolean; @@ -269,6 +426,202 @@ declare var CryptoKey: { new(): CryptoKey; }; +interface CustomEvent extends Event { + readonly detail: any; + initCustomEvent(type: string, bubbles?: boolean, cancelable?: boolean, detail?: any): void; +} + +declare var CustomEvent: { + prototype: CustomEvent; + new(type: string, eventInitDict?: CustomEventInit): CustomEvent; +}; + +interface DedicatedWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap { + "message": MessageEvent; + "messageerror": MessageEvent; +} + +interface DedicatedWorkerGlobalScope extends WorkerGlobalScope { + readonly name: string; + onmessage: (this: DedicatedWorkerGlobalScope, ev: MessageEvent) => any; + onmessageerror: (this: DedicatedWorkerGlobalScope, ev: MessageEvent) => any; + close(): void; + postMessage(message: any, transfer?: any[]): void; + addEventListener(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var DedicatedWorkerGlobalScope: { + prototype: DedicatedWorkerGlobalScope; + new(): DedicatedWorkerGlobalScope; +}; + +interface DOMMatrix extends DOMMatrixReadOnly { + a: number; + b: number; + c: number; + d: number; + e: number; + f: number; + m11: number; + m12: number; + m13: number; + m14: number; + m21: number; + m22: number; + m23: number; + m24: number; + m31: number; + m32: number; + m33: number; + m34: number; + m41: number; + m42: number; + m43: number; + m44: number; + invertSelf(): DOMMatrix; + multiplySelf(other?: DOMMatrixInit): DOMMatrix; + preMultiplySelf(other?: DOMMatrixInit): DOMMatrix; + rotateAxisAngleSelf(x?: number, y?: number, z?: number, angle?: number): DOMMatrix; + rotateFromVectorSelf(x?: number, y?: number): DOMMatrix; + rotateSelf(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix; + scale3dSelf(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + scaleSelf(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + skewXSelf(sx?: number): DOMMatrix; + skewYSelf(sy?: number): DOMMatrix; + translateSelf(tx?: number, ty?: number, tz?: number): DOMMatrix; +} + +declare var DOMMatrix: { + prototype: DOMMatrix; + new(init?: string | number[]): DOMMatrix; + fromFloat32Array(array32: Float32Array): DOMMatrix; + fromFloat64Array(array64: Float64Array): DOMMatrix; + fromMatrix(other?: DOMMatrixInit): DOMMatrix; +}; + +interface DOMMatrixReadOnly { + readonly a: number; + readonly b: number; + readonly c: number; + readonly d: number; + readonly e: number; + readonly f: number; + readonly is2D: boolean; + readonly isIdentity: boolean; + readonly m11: number; + readonly m12: number; + readonly m13: number; + readonly m14: number; + readonly m21: number; + readonly m22: number; + readonly m23: number; + readonly m24: number; + readonly m31: number; + readonly m32: number; + readonly m33: number; + readonly m34: number; + readonly m41: number; + readonly m42: number; + readonly m43: number; + readonly m44: number; + flipX(): DOMMatrix; + flipY(): DOMMatrix; + inverse(): DOMMatrix; + multiply(other?: DOMMatrixInit): DOMMatrix; + rotate(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix; + rotateAxisAngle(x?: number, y?: number, z?: number, angle?: number): DOMMatrix; + rotateFromVector(x?: number, y?: number): DOMMatrix; + scale(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + scale3d(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + skewX(sx?: number): DOMMatrix; + skewY(sy?: number): DOMMatrix; + toFloat32Array(): Float32Array; + toFloat64Array(): Float64Array; + transformPoint(point?: DOMPointInit): DOMPoint; + translate(tx?: number, ty?: number, tz?: number): DOMMatrix; +} + +declare var DOMMatrixReadOnly: { + prototype: DOMMatrixReadOnly; + new(init?: string | number[]): DOMMatrixReadOnly; + fromFloat32Array(array32: Float32Array): DOMMatrixReadOnly; + fromFloat64Array(array64: Float64Array): DOMMatrixReadOnly; + fromMatrix(other?: DOMMatrixInit): DOMMatrixReadOnly; +}; + +interface DOMPoint extends DOMPointReadOnly { + w: number; + x: number; + y: number; + z: number; +} + +declare var DOMPoint: { + prototype: DOMPoint; + new(x?: number, y?: number, z?: number, w?: number): DOMPoint; + fromPoint(other?: DOMPointInit): DOMPoint; +}; + +interface DOMPointReadOnly { + readonly w: number; + readonly x: number; + readonly y: number; + readonly z: number; + matrixTransform(matrix?: DOMMatrixInit): DOMPoint; +} + +declare var DOMPointReadOnly: { + prototype: DOMPointReadOnly; + new(x?: number, y?: number, z?: number, w?: number): DOMPointReadOnly; + fromPoint(other?: DOMPointInit): DOMPointReadOnly; +}; + +interface DOMQuad { + readonly p1: DOMPoint; + readonly p2: DOMPoint; + readonly p3: DOMPoint; + readonly p4: DOMPoint; + getBounds(): DOMRect; +} + +declare var DOMQuad: { + prototype: DOMQuad; + new(p1?: DOMPointInit, p2?: DOMPointInit, p3?: DOMPointInit, p4?: DOMPointInit): DOMQuad; + fromQuad(other?: DOMQuadInit): DOMQuad; + fromRect(other?: DOMRectInit): DOMQuad; +}; + +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(other?: DOMRectInit): DOMRect; +}; + +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(other?: DOMRectInit): DOMRectReadOnly; +}; + interface DOMStringList { readonly length: number; contains(string: string): boolean; @@ -328,6 +681,35 @@ declare var Event: { readonly NONE: number; }; +interface EventSourceEventMap { + "error": Event; + "message": MessageEvent; + "open": Event; +} + +interface EventSource extends EventTarget { + onerror: (this: EventSource, ev: Event) => any; + onmessage: (this: EventSource, ev: MessageEvent) => any; + onopen: (this: EventSource, ev: Event) => any; + readonly readyState: number; + readonly url: string; + readonly withCredentials: boolean; + close(): void; + readonly CLOSED: number; + readonly CONNECTING: number; + readonly OPEN: number; + addEventListener(type: K, listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var EventSource: { + prototype: EventSource; + new(url: string, eventSourceInitDict?: EventSourceInit): EventSource; + readonly CLOSED: number; + readonly CONNECTING: number; + readonly OPEN: number; +}; + interface EventTarget { addEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; dispatchEvent(event: Event): boolean; @@ -339,6 +721,42 @@ declare var EventTarget: { new(): EventTarget; }; +interface ExtendableEvent extends Event { + waitUntil(f: Promise): void; +} + +declare var ExtendableEvent: { + prototype: ExtendableEvent; + new(type: string, eventInitDict?: ExtendableEventInit): ExtendableEvent; +}; + +interface ExtendableMessageEvent extends ExtendableEvent { + readonly data: any; + readonly lastEventId: string; + readonly origin: string; + readonly ports: ReadonlyArray; + readonly source: Client | ServiceWorker | MessagePort | null; +} + +declare var ExtendableMessageEvent: { + prototype: ExtendableMessageEvent; + new(type: string, eventInitDict?: ExtendableMessageEventInit): ExtendableMessageEvent; +}; + +interface FetchEvent extends ExtendableEvent { + readonly clientId: string; + readonly preloadResponse: Promise; + readonly request: Request; + readonly reservedClientId: string; + readonly targetClientId: string; + respondWith(r: Promise): void; +} + +declare var FetchEvent: { + prototype: FetchEvent; + new(type: string, eventInitDict: FetchEventInit): FetchEvent; +}; + interface File extends Blob { readonly lastModified: number; readonly name: string; @@ -370,7 +788,7 @@ interface FileReaderEventMap { } interface FileReader extends EventTarget { - readonly error: any; + readonly error: DOMException | null; onabort: (this: FileReader, ev: ProgressEvent) => any; onerror: (this: FileReader, ev: ProgressEvent) => any; onload: (this: FileReader, ev: ProgressEvent) => any; @@ -381,6 +799,7 @@ interface FileReader extends EventTarget { readonly result: string | ArrayBuffer | null; abort(): void; readAsArrayBuffer(blob: Blob): void; + readAsBinaryString(blob: Blob): void; readAsDataURL(blob: Blob): void; readAsText(blob: Blob, label?: string): void; readonly DONE: number; @@ -398,6 +817,29 @@ declare var FileReader: { readonly LOADING: number; }; +interface FileReaderSync { + readAsArrayBuffer(blob: Blob): ArrayBuffer; + readAsBinaryString(blob: Blob): string; + readAsDataURL(blob: Blob): string; + readAsText(blob: Blob, label?: string): string; +} + +declare var FileReaderSync: { + prototype: FileReaderSync; + new(): FileReaderSync; +}; + +interface ForeignFetchEvent extends ExtendableEvent { + readonly origin: string; + readonly request: Request; + respondWith(r: Promise): void; +} + +declare var ForeignFetchEvent: { + prototype: ForeignFetchEvent; + new(type: string, eventInitDict: ForeignFetchEventInit): ForeignFetchEvent; +}; + interface FormData { append(name: string, value: string | Blob, fileName?: string): void; append(name: string, value: string | Blob, fileName?: string): void; @@ -411,7 +853,7 @@ interface FormData { declare var FormData: { prototype: FormData; - new(form?: HTMLFormElement): FormData; + new(form?: never): FormData; }; interface Headers { @@ -434,6 +876,7 @@ interface IDBCursor { source: IDBObjectStore | IDBIndex; advance(count: number): void; continue(key?: IDBKeyRange | IDBValidKey): void; + continuePrimaryKey(key: any, primaryKey: any): void; delete(): IDBRequest; update(value: any): IDBRequest; } @@ -454,6 +897,7 @@ declare var IDBCursorWithValue: { interface IDBDatabaseEventMap { "abort": Event; + "close": Event; "error": Event; "versionchange": IDBVersionChangeEvent; } @@ -462,6 +906,7 @@ interface IDBDatabase extends EventTarget { readonly name: string; readonly objectStoreNames: DOMStringList; onabort: (this: IDBDatabase, ev: Event) => any; + onclose: (this: IDBDatabase, ev: Event) => any; onerror: (this: IDBDatabase, ev: Event) => any; onversionchange: (this: IDBDatabase, ev: IDBVersionChangeEvent) => any; version: number; @@ -493,11 +938,13 @@ declare var IDBFactory: { interface IDBIndex { keyPath: string | string[]; readonly multiEntry: boolean; - readonly name: string; + name: string; readonly objectStore: IDBObjectStore; readonly unique: boolean; count(key?: IDBKeyRange | IDBValidKey): IDBRequest; get(key: IDBKeyRange | IDBValidKey): IDBRequest; + getAll(query?: any, count?: number): IDBRequest; + getAllKeys(query?: any, count?: number): IDBRequest; getKey(key: IDBKeyRange | IDBValidKey): IDBRequest; openCursor(range?: IDBKeyRange | IDBValidKey, direction?: IDBCursorDirection): IDBRequest; openKeyCursor(range?: IDBKeyRange | IDBValidKey, direction?: IDBCursorDirection): IDBRequest; @@ -513,6 +960,7 @@ interface IDBKeyRange { readonly lowerOpen: boolean; readonly upper: any; readonly upperOpen: boolean; + includes(key: any): boolean; } declare var IDBKeyRange: { @@ -528,17 +976,21 @@ interface IDBObjectStore { readonly autoIncrement: boolean; readonly indexNames: DOMStringList; keyPath: string | string[]; - readonly name: string; + name: string; readonly transaction: IDBTransaction; add(value: any, key?: IDBKeyRange | IDBValidKey): IDBRequest; clear(): IDBRequest; count(key?: IDBKeyRange | IDBValidKey): IDBRequest; createIndex(name: string, keyPath: string | string[], optionalParameters?: IDBIndexParameters): IDBIndex; delete(key: IDBKeyRange | IDBValidKey): IDBRequest; - deleteIndex(indexName: string): void; - get(key: any): IDBRequest; + deleteIndex(name: string): void; + get(query: any): IDBRequest; + getAll(query?: any, count?: number): IDBRequest; + getAllKeys(query?: any, count?: number): IDBRequest; + getKey(query: any): IDBRequest; index(name: string): IDBIndex; openCursor(range?: IDBKeyRange | IDBValidKey, direction?: IDBCursorDirection): IDBRequest; + openKeyCursor(query?: any, direction?: IDBCursorDirection): IDBRequest; put(value: any, key?: IDBKeyRange | IDBValidKey): IDBRequest; } @@ -576,7 +1028,7 @@ interface IDBRequest extends EventTarget { readonly readyState: IDBRequestReadyState; readonly result: any; source: IDBObjectStore | IDBIndex | IDBCursor; - readonly transaction: IDBTransaction; + readonly transaction: IDBTransaction | null; addEventListener(type: K, listener: (this: IDBRequest, ev: IDBRequestEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } @@ -596,6 +1048,7 @@ interface IDBTransaction extends EventTarget { readonly db: IDBDatabase; readonly error: DOMException; readonly mode: IDBTransactionMode; + readonly objectStoreNames: DOMStringList; onabort: (this: IDBTransaction, ev: Event) => any; oncomplete: (this: IDBTransaction, ev: Event) => any; onerror: (this: IDBTransaction, ev: Event) => any; @@ -643,6 +1096,15 @@ declare var ImageData: { new(array: Uint8ClampedArray, width: number, height: number): ImageData; }; +interface InstallEvent extends ExtendableEvent { + registerForeignFetch(options: ForeignFetchOptions): void; +} + +declare var InstallEvent: { + prototype: InstallEvent; + new(type: string, eventInitDict?: ExtendableEventInit): InstallEvent; +}; + interface MessageChannel { readonly port1: MessagePort; readonly port2: MessagePort; @@ -687,6 +1149,18 @@ declare var MessagePort: { new(): MessagePort; }; +interface NavigationPreloadManager { + disable(): Promise; + enable(): Promise; + getState(): Promise; + setHeaderValue(value: string): Promise; +} + +declare var NavigationPreloadManager: { + prototype: NavigationPreloadManager; + new(): NavigationPreloadManager; +}; + interface NotificationEventMap { "click": Event; "error": Event; @@ -721,27 +1195,69 @@ interface Notification extends EventTarget { declare var Notification: { prototype: Notification; new(title: string, options?: NotificationOptions): Notification; - requestPermission(deprecatedCallback?: NotificationPermissionCallback): Promise; }; -interface PerformanceEventMap { - "resourcetimingbufferfull": Event; +interface NotificationEvent extends ExtendableEvent { + readonly action: string; + readonly notification: Notification; } -interface Performance extends EventTarget { - readonly navigation: PerformanceNavigation; - onresourcetimingbufferfull: (this: Performance, ev: Event) => any; - readonly timing: PerformanceTiming; - clearMarks(markName?: string): void; - clearMeasures(measureName?: string): void; - clearResourceTimings(): void; - getEntries(): PerformanceEntryList; - getEntriesByName(name: string, type?: string): PerformanceEntryList; - getEntriesByType(type: string): PerformanceEntryList; - mark(markName: string): void; - measure(measureName: string, startMark?: string, endMark?: string): void; - now(): number; - setResourceTimingBufferSize(maxSize: number): void; +declare var NotificationEvent: { + prototype: NotificationEvent; + new(type: string, eventInitDict: NotificationEventInit): NotificationEvent; +}; + +interface OffscreenCanvas extends EventTarget { + height: number; + width: number; + convertToBlob(options?: ImageEncodeOptions): Promise; + getContext(contextType: OffscreenRenderingContextType, ...arguments: any[]): OffscreenRenderingContext | null; + transferToImageBitmap(): ImageBitmap; +} + +declare var OffscreenCanvas: { + prototype: OffscreenCanvas; + new(width: number, height: number): OffscreenCanvas; +}; + +interface OffscreenCanvasRenderingContext2D extends CanvasState, CanvasTransform, CanvasCompositing, CanvasImageSmoothing, CanvasFillStrokeStyles, CanvasShadowStyles, CanvasFilters, CanvasRect, CanvasDrawPath, CanvasDrawImage, CanvasImageData, CanvasPathDrawingStyles, CanvasPath { + readonly canvas: OffscreenCanvas; + commit(): void; +} + +declare var OffscreenCanvasRenderingContext2D: { + prototype: OffscreenCanvasRenderingContext2D; + new(): OffscreenCanvasRenderingContext2D; +}; + +interface Path2D extends CanvasPath { + addPath(path: Path2D, transform?: DOMMatrixInit): void; +} + +declare var Path2D: { + prototype: Path2D; + new(): Path2D; + new(path: Path2D): Path2D; + new(paths: Path2D[], fillRule?: CanvasFillRule): Path2D; + new(d: string): Path2D; +}; + +interface PerformanceEventMap { + "resourcetimingbufferfull": Event; +} + +interface Performance extends EventTarget { + onresourcetimingbufferfull: (this: Performance, ev: Event) => any; + clearMarks(markName?: string): void; + clearMeasures(measureName?: string): void; + clearResourceTimings(): void; + getEntries(): PerformanceEntryList; + getEntriesByName(name: string, type?: string): PerformanceEntryList; + getEntriesByType(type: string): PerformanceEntryList; + mark(markName: string): void; + measure(measureName: string, startMark?: string, endMark?: string): void; + now(): number; + setResourceTimingBufferSize(maxSize: number): void; addEventListener(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; } @@ -751,51 +1267,37 @@ declare var Performance: { new(): Performance; }; -interface PerformanceNavigation { - readonly redirectCount: number; - readonly type: number; - readonly TYPE_BACK_FORWARD: number; - readonly TYPE_NAVIGATE: number; - readonly TYPE_RELOAD: number; - readonly TYPE_RESERVED: number; -} - -declare var PerformanceNavigation: { - prototype: PerformanceNavigation; - new(): PerformanceNavigation; - readonly TYPE_BACK_FORWARD: number; - readonly TYPE_NAVIGATE: number; - readonly TYPE_RELOAD: number; - readonly TYPE_RESERVED: number; -}; - -interface PerformanceTiming { - readonly connectEnd: number; - readonly connectStart: number; - readonly domainLookupEnd: number; - readonly domainLookupStart: number; - readonly domComplete: number; - readonly domContentLoadedEventEnd: number; - readonly domContentLoadedEventStart: number; - readonly domInteractive: number; - readonly domLoading: number; - readonly fetchStart: number; - readonly loadEventEnd: number; - readonly loadEventStart: number; - readonly navigationStart: number; - readonly redirectEnd: number; - readonly redirectStart: number; - readonly requestStart: number; - readonly responseEnd: number; - readonly responseStart: number; - readonly secureConnectionStart: number; - readonly unloadEventEnd: number; - readonly unloadEventStart: number; -} - -declare var PerformanceTiming: { - prototype: PerformanceTiming; - new(): PerformanceTiming; +interface PerformanceEntry { + readonly duration: number; + readonly entryType: string; + readonly name: string; + readonly startTime: number; +} + +declare var PerformanceEntry: { + prototype: PerformanceEntry; + new(): PerformanceEntry; +}; + +interface PerformanceObserver { + disconnect(): void; + observe(options: PerformanceObserverInit): void; +} + +declare var PerformanceObserver: { + prototype: PerformanceObserver; + new(callback: PerformanceObserverCallback): PerformanceObserver; +}; + +interface PerformanceObserverEntryList { + getEntries(): PerformanceEntryList; + getEntriesByName(name: string, type?: string): PerformanceEntryList; + getEntriesByType(type: string): PerformanceEntryList; +} + +declare var PerformanceObserverEntryList: { + prototype: PerformanceObserverEntryList; + new(): PerformanceObserverEntryList; }; interface ProgressEvent extends Event { @@ -809,6 +1311,25 @@ declare var ProgressEvent: { new(type: string, eventInitDict?: ProgressEventInit): ProgressEvent; }; +interface PromiseRejectionEvent extends Event { + readonly promise: Promise; + readonly reason: any; +} + +declare var PromiseRejectionEvent: { + prototype: PromiseRejectionEvent; + new(type: string, eventInitDict: PromiseRejectionEventInit): PromiseRejectionEvent; +}; + +interface PushEvent extends ExtendableEvent { + readonly data: PushMessageData | null; +} + +declare var PushEvent: { + prototype: PushEvent; + new(type: string, eventInitDict?: PushEventInit): PushEvent; +}; + interface PushManager { readonly supportedContentEncodings: ReadonlyArray; getSubscription(): any; @@ -821,6 +1342,18 @@ declare var PushManager: { new(): PushManager; }; +interface PushMessageData { + arrayBuffer(): ArrayBuffer; + blob(): Blob; + json(): any; + text(): string; +} + +declare var PushMessageData: { + prototype: PushMessageData; + new(): PushMessageData; +}; + interface PushSubscription { readonly endpoint: string; readonly expirationTime: number | null; @@ -834,6 +1367,16 @@ declare var PushSubscription: { new(): PushSubscription; }; +interface PushSubscriptionChangeEvent extends ExtendableEvent { + readonly newSubscription: PushSubscription | null; + readonly oldSubscription: PushSubscription | null; +} + +declare var PushSubscriptionChangeEvent: { + prototype: PushSubscriptionChangeEvent; + new(type: string, eventInitDict?: PushSubscriptionChangeInit): PushSubscriptionChangeEvent; +}; + interface PushSubscriptionOptions { readonly applicationServerKey: ArrayBuffer | null; readonly userVisibleOnly: boolean; @@ -855,6 +1398,18 @@ declare var ReadableStream: { new(): ReadableStream; }; +interface ReadableStreamDefaultReader { + readonly closed: boolean; + cancel(): Promise; + read(): Promise; + releaseLock(): void; +} + +declare var ReadableStreamDefaultReader: { + prototype: ReadableStreamDefaultReader; + new(stream: ReadableStream): ReadableStreamDefaultReader; +}; + interface Request extends Body { readonly cache: RequestCache; readonly credentials: RequestCredentials; @@ -914,6 +1469,65 @@ declare var ServiceWorker: { new(): ServiceWorker; }; +interface ServiceWorkerContainerEventMap { + "controllerchange": Event; + "message": MessageEvent; +} + +interface ServiceWorkerContainer extends EventTarget { + readonly controller: ServiceWorker | null; + oncontrollerchange: (this: ServiceWorkerContainer, ev: Event) => any; + onmessage: (this: ServiceWorkerContainer, ev: MessageEvent) => any; + readonly ready: Promise; + getRegistration(): Promise; + getRegistrations(): Promise; + register(scriptURL: string, options?: RegistrationOptions): Promise; + startMessages(): void; + addEventListener(type: K, listener: (this: ServiceWorkerContainer, ev: ServiceWorkerContainerEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var ServiceWorkerContainer: { + prototype: ServiceWorkerContainer; + new(): ServiceWorkerContainer; +}; + +interface ServiceWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap { + "activate": ExtendableEvent; + "fetch": FetchEvent; + "foreignfetch": FetchEvent; + "install": InstallEvent; + "message": ExtendableMessageEvent; + "notificationclick": NotificationEvent; + "notificationclose": NotificationEvent; + "push": PushEvent; + "pushsubscriptionchange": PushSubscriptionChangeEvent; + "sync": SyncEvent; +} + +interface ServiceWorkerGlobalScope extends WorkerGlobalScope { + readonly clients: Clients; + onactivate: (this: ServiceWorkerGlobalScope, ev: ExtendableEvent) => any; + onfetch: (this: ServiceWorkerGlobalScope, ev: FetchEvent) => any; + onforeignfetch: (this: ServiceWorkerGlobalScope, ev: FetchEvent) => any; + oninstall: (this: ServiceWorkerGlobalScope, ev: InstallEvent) => any; + onmessage: (this: ServiceWorkerGlobalScope, ev: ExtendableMessageEvent) => any; + onnotificationclick: (this: ServiceWorkerGlobalScope, ev: NotificationEvent) => any; + onnotificationclose: (this: ServiceWorkerGlobalScope, ev: NotificationEvent) => any; + onpush: (this: ServiceWorkerGlobalScope, ev: PushEvent) => any; + onpushsubscriptionchange: (this: ServiceWorkerGlobalScope, ev: PushSubscriptionChangeEvent) => any; + onsync: (this: ServiceWorkerGlobalScope, ev: SyncEvent) => any; + readonly registration: ServiceWorkerRegistration; + skipWaiting(): Promise; + addEventListener(type: K, listener: (this: ServiceWorkerGlobalScope, ev: ServiceWorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var ServiceWorkerGlobalScope: { + prototype: ServiceWorkerGlobalScope; + new(): ServiceWorkerGlobalScope; +}; + interface ServiceWorkerRegistrationEventMap { "updatefound": Event; } @@ -941,6 +1555,64 @@ declare var ServiceWorkerRegistration: { new(): ServiceWorkerRegistration; }; +interface SharedWorker extends EventTarget, AbstractWorker { + readonly port: MessagePort; + addEventListener(type: K, listener: (this: SharedWorker, ev: AbstractWorkerEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SharedWorker: { + prototype: SharedWorker; + new(scriptURL: string, options?: string | WorkerOptions): SharedWorker; +}; + +interface SharedWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap { + "connect": MessageEvent; +} + +interface SharedWorkerGlobalScope extends WorkerGlobalScope { + readonly name: string; + onconnect: (this: SharedWorkerGlobalScope, ev: MessageEvent) => any; + close(): void; + addEventListener(type: K, listener: (this: SharedWorkerGlobalScope, ev: SharedWorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var SharedWorkerGlobalScope: { + prototype: SharedWorkerGlobalScope; + new(): SharedWorkerGlobalScope; +}; + +interface SubtleCrypto { + decrypt(algorithm: AlgorithmIdentifier, key: CryptoKey, data: BufferSource): Promise; + deriveBits(algorithm: AlgorithmIdentifier, baseKey: CryptoKey, length: number): Promise; + deriveKey(algorithm: AlgorithmIdentifier, baseKey: CryptoKey, derivedKeyType: AlgorithmIdentifier, extractable: boolean, keyUsages: KeyUsage[]): Promise; + digest(algorithm: AlgorithmIdentifier, data: BufferSource): Promise; + encrypt(algorithm: AlgorithmIdentifier, key: CryptoKey, data: BufferSource): Promise; + exportKey(format: KeyFormat, key: CryptoKey): Promise; + generateKey(algorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: KeyUsage[]): Promise; + importKey(format: KeyFormat, keyData: BufferSource | JsonWebKey, algorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: KeyUsage[]): Promise; + sign(algorithm: AlgorithmIdentifier, key: CryptoKey, data: BufferSource): Promise; + unwrapKey(format: KeyFormat, wrappedKey: BufferSource, unwrappingKey: CryptoKey, unwrapAlgorithm: AlgorithmIdentifier, unwrappedKeyAlgorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: KeyUsage[]): Promise; + verify(algorithm: AlgorithmIdentifier, key: CryptoKey, signature: BufferSource, data: BufferSource): Promise; + wrapKey(format: KeyFormat, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: AlgorithmIdentifier): Promise; +} + +declare var SubtleCrypto: { + prototype: SubtleCrypto; + new(): SubtleCrypto; +}; + +interface SyncEvent extends ExtendableEvent { + readonly lastChance: boolean; + readonly tag: string; +} + +declare var SyncEvent: { + prototype: SyncEvent; + new(type: string, init: SyncEventInit): SyncEvent; +}; + interface SyncManager { getTags(): Promise; register(tag: string): Promise; @@ -970,9 +1642,7 @@ interface URL { declare var URL: { prototype: URL; new(url: string, base?: string): URL; - createFor(blob: Blob): string; createObjectURL(blob: Blob): string; - createObjectURL(mediaSource: MediaSource): string; revokeObjectURL(url: string): void; }; @@ -1049,6 +1719,19 @@ declare var WebSocket: { readonly OPEN: number; }; +interface WindowClient extends Client { + readonly ancestorOrigins: ReadonlyArray; + readonly focused: boolean; + readonly visibilityState: VisibilityState; + focus(): Promise; + navigate(url: string): Promise; +} + +declare var WindowClient: { + prototype: WindowClient; + new(): WindowClient; +}; + interface WorkerEventMap extends AbstractWorkerEventMap { "message": MessageEvent; "messageerror": MessageEvent; @@ -1068,6 +1751,63 @@ declare var Worker: { new(scriptURL: string, options?: WorkerOptions): Worker; }; +interface WorkerGlobalScopeEventMap { + "languagechange": Event; + "offline": Event; + "online": Event; + "rejectionhandled": PromiseRejectionEvent; + "unhandledrejection": PromiseRejectionEvent; +} + +interface WorkerGlobalScope extends EventTarget, WindowOrWorkerGlobalScope, GlobalPerformance, GlobalCrypto { + readonly location: WorkerLocation; + readonly navigator: WorkerNavigator; + onerror: OnErrorEventHandler; + onlanguagechange: (this: WorkerGlobalScope, ev: Event) => any; + onoffline: (this: WorkerGlobalScope, ev: Event) => any; + ononline: (this: WorkerGlobalScope, ev: Event) => any; + onrejectionhandled: (this: WorkerGlobalScope, ev: PromiseRejectionEvent) => any; + onunhandledrejection: (this: WorkerGlobalScope, ev: PromiseRejectionEvent) => any; + readonly self: WorkerGlobalScope; + importScripts(...urls: string[]): void; + createImageBitmap(image: ImageBitmap | ImageData | Blob, options?: ImageBitmapOptions): Promise; + createImageBitmap(image: ImageBitmap | ImageData | Blob, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise; + addEventListener(type: K, listener: (this: WorkerGlobalScope, ev: WorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +} + +declare var WorkerGlobalScope: { + prototype: WorkerGlobalScope; + new(): WorkerGlobalScope; +}; + +interface WorkerLocation { + readonly hash: string; + readonly host: string; + readonly hostname: string; + readonly href: string; + readonly origin: string; + readonly pathname: string; + readonly port: string; + readonly protocol: string; + readonly search: string; +} + +declare var WorkerLocation: { + prototype: WorkerLocation; + new(): WorkerLocation; +}; + +interface WorkerNavigator extends NavigatorID, NavigatorLanguage, NavigatorOnLine, NavigatorConcurrentHardware { + readonly serviceWorker: ServiceWorkerContainer; + readonly hardwareConcurrency: number; +} + +declare var WorkerNavigator: { + prototype: WorkerNavigator; + new(): WorkerNavigator; +}; + interface XMLHttpRequestEventMap extends XMLHttpRequestEventTargetEventMap { "readystatechange": Event; } @@ -1079,7 +1819,6 @@ interface XMLHttpRequest extends XMLHttpRequestEventTarget { readonly responseText: string; responseType: XMLHttpRequestResponseType; readonly responseURL: string; - readonly responseXML: any; readonly status: number; readonly statusText: string; timeout: number; @@ -1171,291 +1910,176 @@ interface Body { text(): Promise; } -interface Coordinates { - readonly accuracy: number; - readonly altitude: number | null; - readonly altitudeAccuracy: number | null; - readonly heading: number | null; - readonly latitude: number; - readonly longitude: number; - readonly speed: number | null; +interface CanvasCompositing { + globalAlpha: number; + globalCompositeOperation: string; } -interface NavigatorConcurrentHardware { - readonly hardwareConcurrency: number; +interface CanvasDrawImage { + drawImage(image: CanvasImageSource, dx: number, dy: number): void; + drawImage(image: CanvasImageSource, dx: number, dy: number, dw: number, dh: number): void; + drawImage(image: CanvasImageSource, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void; } -interface NavigatorID { - readonly appCodeName: string; - readonly appName: string; - readonly appVersion: string; - readonly oscpu: string; - readonly platform: string; - readonly product: string; - readonly productSub: string; - readonly userAgent: string; - readonly vendor: string; - readonly vendorSub: string; - taintEnabled(): boolean; +interface CanvasDrawPath { + beginPath(): void; + clip(fillRule?: CanvasFillRule): void; + clip(path: Path2D, fillRule?: CanvasFillRule): void; + fill(path: Path2D, fillRule?: CanvasFillRule): void; + fill(fillRule?: CanvasFillRule): void; + isPointInPath(x: number, y: number, fillRule?: CanvasFillRule): boolean; + isPointInPath(path: Path2D, x: number, y: number, fillRule?: CanvasFillRule): boolean; + isPointInStroke(x: number, y: number): boolean; + isPointInStroke(path: Path2D, x: number, y: number): boolean; + resetClip(): void; + stroke(): void; + stroke(path: Path2D): void; } -interface NavigatorOnLine { - readonly onLine: boolean; +interface CanvasFillStrokeStyles { + fillStyle: string | CanvasGradient | CanvasPattern; + strokeStyle: string | CanvasGradient | CanvasPattern; + createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient; + createPattern(image: CanvasImageSource, repetition: string): CanvasPattern | null; + createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient; } -interface Position { - readonly coords: Coordinates; - readonly timestamp: number; +interface CanvasFilters { + filter: string; } -interface PositionError { - readonly code: number; - readonly message: string; - readonly PERMISSION_DENIED: number; - readonly POSITION_UNAVAILABLE: number; - readonly TIMEOUT: number; +interface CanvasImageData { + createImageData(sw: number, sh: number): ImageData; + createImageData(imagedata: ImageData): ImageData; + getImageData(sx: number, sy: number, sw: number, sh: number): ImageData; + putImageData(imagedata: ImageData, dx: number, dy: number): void; + putImageData(imagedata: ImageData, dx: number, dy: number, dirtyX: number, dirtyY: number, dirtyWidth: number, dirtyHeight: number): void; } -interface Client { - readonly frameType: FrameType; - readonly id: string; - readonly url: string; - postMessage(message: any, transfer?: any[]): void; +interface CanvasImageSmoothing { + imageSmoothingEnabled: boolean; + imageSmoothingQuality: ImageSmoothingQuality; } -declare var Client: { - prototype: Client; - new(): Client; -}; - -interface Clients { - claim(): Promise; - get(id: string): Promise; - matchAll(options?: ClientQueryOptions): Promise; - openWindow(url: string): Promise; +interface CanvasPath { + arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void; + arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void; + arcTo(x1: number, y1: number, x2: number, y2: number, radiusX: number, radiusY: number, rotation: number): void; + bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void; + closePath(): void; + ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void; + lineTo(x: number, y: number): void; + moveTo(x: number, y: number): void; + quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void; + rect(x: number, y: number, w: number, h: number): void; } -declare var Clients: { - prototype: Clients; - new(): Clients; -}; - -interface DedicatedWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap { - "message": MessageEvent; +interface CanvasPathDrawingStyles { + lineCap: CanvasLineCap; + lineDashOffset: number; + lineJoin: CanvasLineJoin; + lineWidth: number; + miterLimit: number; + getLineDash(): number[]; + setLineDash(segments: number[]): void; } -interface DedicatedWorkerGlobalScope extends WorkerGlobalScope { - onmessage: (this: DedicatedWorkerGlobalScope, ev: MessageEvent) => any; - close(): void; - postMessage(message: any, transfer?: any[]): void; - addEventListener(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface CanvasRect { + clearRect(x: number, y: number, w: number, h: number): void; + fillRect(x: number, y: number, w: number, h: number): void; + strokeRect(x: number, y: number, w: number, h: number): void; } -declare var DedicatedWorkerGlobalScope: { - prototype: DedicatedWorkerGlobalScope; - new(): DedicatedWorkerGlobalScope; -}; - -interface ExtendableEvent extends Event { - waitUntil(f: Promise): void; +interface CanvasShadowStyles { + shadowBlur: number; + shadowColor: string; + shadowOffsetX: number; + shadowOffsetY: number; } -declare var ExtendableEvent: { - prototype: ExtendableEvent; - new(type: string, eventInitDict?: ExtendableEventInit): ExtendableEvent; -}; - -interface ExtendableMessageEvent extends ExtendableEvent { - readonly data: any; - readonly lastEventId: string; - readonly origin: string; - readonly ports: MessagePort[] | null; - readonly source: Client | ServiceWorker | MessagePort | null; +interface CanvasState { + restore(): void; + save(): void; } -declare var ExtendableMessageEvent: { - prototype: ExtendableMessageEvent; - new(type: string, eventInitDict?: ExtendableMessageEventInit): ExtendableMessageEvent; -}; - -interface FetchEvent extends ExtendableEvent { - readonly clientId: string | null; - readonly isReload: boolean; - readonly request: Request; - respondWith(r: Promise): void; +interface CanvasTransform { + getTransform(): DOMMatrix; + resetTransform(): void; + rotate(angle: number): void; + scale(x: number, y: number): void; + setTransform(a: number, b: number, c: number, d: number, e: number, f: number): void; + setTransform(transform?: DOMMatrixInit): void; + transform(a: number, b: number, c: number, d: number, e: number, f: number): void; + translate(x: number, y: number): void; } -declare var FetchEvent: { - prototype: FetchEvent; - new(type: string, eventInitDict: FetchEventInit): FetchEvent; -}; - -interface FileReaderSync { - readAsArrayBuffer(blob: Blob): any; - readAsBinaryString(blob: Blob): void; - readAsDataURL(blob: Blob): string; - readAsText(blob: Blob, encoding?: string): string; -} - -declare var FileReaderSync: { - prototype: FileReaderSync; - new(): FileReaderSync; -}; - -interface NotificationEvent extends ExtendableEvent { - readonly action: string; - readonly notification: Notification; -} - -declare var NotificationEvent: { - prototype: NotificationEvent; - new(type: string, eventInitDict: NotificationEventInit): NotificationEvent; -}; - -interface PushEvent extends ExtendableEvent { - readonly data: PushMessageData | null; +interface GlobalCrypto { + readonly crypto: Crypto; } -declare var PushEvent: { - prototype: PushEvent; - new(type: string, eventInitDict?: PushEventInit): PushEvent; -}; - -interface PushMessageData { - arrayBuffer(): ArrayBuffer; - blob(): Blob; - json(): any; - text(): string; -} - -declare var PushMessageData: { - prototype: PushMessageData; - new(): PushMessageData; -}; - -interface ServiceWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap { - "activate": ExtendableEvent; - "fetch": FetchEvent; - "install": ExtendableEvent; - "message": ExtendableMessageEvent; - "notificationclick": NotificationEvent; - "notificationclose": NotificationEvent; - "push": PushEvent; - "pushsubscriptionchange": ExtendableEvent; - "sync": SyncEvent; +interface GlobalPerformance { + readonly performance: Performance; } -interface ServiceWorkerGlobalScope extends WorkerGlobalScope { - readonly clients: Clients; - onactivate: (this: ServiceWorkerGlobalScope, ev: ExtendableEvent) => any; - onfetch: (this: ServiceWorkerGlobalScope, ev: FetchEvent) => any; - oninstall: (this: ServiceWorkerGlobalScope, ev: ExtendableEvent) => any; - onmessage: (this: ServiceWorkerGlobalScope, ev: ExtendableMessageEvent) => any; - onnotificationclick: (this: ServiceWorkerGlobalScope, ev: NotificationEvent) => any; - onnotificationclose: (this: ServiceWorkerGlobalScope, ev: NotificationEvent) => any; - onpush: (this: ServiceWorkerGlobalScope, ev: PushEvent) => any; - onpushsubscriptionchange: (this: ServiceWorkerGlobalScope, ev: ExtendableEvent) => any; - onsync: (this: ServiceWorkerGlobalScope, ev: SyncEvent) => any; - readonly registration: ServiceWorkerRegistration; - skipWaiting(): Promise; - addEventListener(type: K, listener: (this: ServiceWorkerGlobalScope, ev: ServiceWorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +interface NavigatorConcurrentHardware { + readonly hardwareConcurrency: number; } -declare var ServiceWorkerGlobalScope: { - prototype: ServiceWorkerGlobalScope; - new(): ServiceWorkerGlobalScope; -}; - -interface SyncEvent extends ExtendableEvent { - readonly lastChance: boolean; - readonly tag: string; +interface NavigatorID { + readonly appCodeName: string; + readonly appName: string; + readonly appVersion: string; + readonly platform: string; + readonly product: string; + readonly userAgent: string; } -declare var SyncEvent: { - prototype: SyncEvent; - new(type: string, init: SyncEventInit): SyncEvent; -}; - -interface WindowClient extends Client { - readonly focused: boolean; - readonly visibilityState: VisibilityState; - focus(): Promise; - navigate(url: string): Promise; +interface NavigatorLanguage { + readonly language: string; + readonly languages: ReadonlyArray; } -declare var WindowClient: { - prototype: WindowClient; - new(): WindowClient; -}; - -interface WorkerGlobalScopeEventMap { - "error": ErrorEvent; +interface NavigatorOnLine { + readonly onLine: boolean; } -interface WorkerGlobalScope extends EventTarget, WorkerUtils { +interface WindowOrWorkerGlobalScope { readonly caches: CacheStorage; - readonly isSecureContext: boolean; - readonly location: WorkerLocation; - onerror: (this: WorkerGlobalScope, ev: ErrorEvent) => any; - readonly performance: Performance; - readonly self: WorkerGlobalScope; - msWriteProfilerMark(profilerMarkName: string): void; - createImageBitmap(image: ImageBitmap | ImageData | Blob, options?: ImageBitmapOptions): Promise; - createImageBitmap(image: ImageBitmap | ImageData | Blob, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise; - addEventListener(type: K, listener: (this: WorkerGlobalScope, ev: WorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; -} - -declare var WorkerGlobalScope: { - prototype: WorkerGlobalScope; - new(): WorkerGlobalScope; -}; - -interface WorkerLocation { - readonly hash: string; - readonly host: string; - readonly hostname: string; - readonly href: string; - readonly origin: string; - readonly pathname: string; - readonly port: string; - readonly protocol: string; - readonly search: string; - toString(): string; -} - -declare var WorkerLocation: { - prototype: WorkerLocation; - new(): WorkerLocation; -}; - -interface WorkerNavigator extends NavigatorID, NavigatorOnLine, NavigatorConcurrentHardware { - readonly hardwareConcurrency: number; -} - -declare var WorkerNavigator: { - prototype: WorkerNavigator; - new(): WorkerNavigator; -}; - -interface WorkerUtils { readonly indexedDB: IDBFactory; - readonly msIndexedDB: IDBFactory; - readonly navigator: WorkerNavigator; - clearImmediate(handle: number): void; - clearInterval(handle: number): void; - clearTimeout(handle: number): void; - importScripts(...urls: string[]): void; - setImmediate(handler: (...args: any[]) => void): number; - setImmediate(handler: any, ...args: any[]): number; + readonly origin: string; + atob(data: string): string; + btoa(data: string): string; + clearInterval(handle?: number): void; + clearTimeout(handle?: number): void; + createImageBitmap(image: ImageBitmapSource, options?: ImageBitmapOptions): Promise; + createImageBitmap(image: ImageBitmapSource, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise; + fetch(input: RequestInfo, init?: RequestInit): Promise; setInterval(handler: (...args: any[]) => void, timeout: number): number; setInterval(handler: any, timeout?: any, ...args: any[]): number; setTimeout(handler: (...args: any[]) => void, timeout: number): number; setTimeout(handler: any, timeout?: any, ...args: any[]): number; } +declare namespace console { + function assert(condition?: boolean, ...data: any[]): void; + function clear(): void; + function count(label?: string): void; + function debug(...data: any[]): void; + function dir(item: any, options?: any): void; + function dirxml(...data: any[]): void; + function error(...data: any[]): void; + function group(...data: any[]): void; + function groupCollapsed(...data: any[]): void; + function groupEnd(): void; + function info(...data: any[]): void; + function log(...data: any[]): void; + function table(tabularData: any, properties?: string[]): void; + function time(label?: string): void; + function timeEnd(label?: string): void; + function trace(...data: any[]): void; + function warn(...data: any[]): void; +} + interface BroadcastChannel extends EventTarget { readonly name: string; onmessage: (ev: MessageEvent) => any; @@ -1583,65 +2207,83 @@ declare var DOMException: { declare type EventListenerOrEventListenerObject = EventListener | EventListenerObject; -interface DecodeErrorCallback { - (error: DOMException): void; -} -interface DecodeSuccessCallback { - (decodedData: AudioBuffer): void; -} -interface FunctionStringCallback { - (data: string): void; -} interface NotificationPermissionCallback { (permission: NotificationPermission): void; } -interface PositionCallback { - (position: Position): void; +interface OnErrorEventHandlerNonNull { + (event: Event | string, source?: string, lineno?: number, colno?: number, error?: any): any; } -interface PositionErrorCallback { - (positionError: PositionError): void; +interface PerformanceObserverCallback { + (entries: PerformanceObserverEntryList, observer: PerformanceObserver): void; } +declare var name: string; declare var onmessage: (this: DedicatedWorkerGlobalScope, ev: MessageEvent) => any; +declare var onmessageerror: (this: DedicatedWorkerGlobalScope, ev: MessageEvent) => any; declare function close(): void; declare function postMessage(message: any, transfer?: any[]): void; -declare var caches: CacheStorage; -declare var isSecureContext: boolean; declare var location: WorkerLocation; -declare var onerror: (this: DedicatedWorkerGlobalScope, ev: ErrorEvent) => any; -declare var performance: Performance; +declare var navigator: WorkerNavigator; +declare var onerror: OnErrorEventHandler; +declare var onlanguagechange: (this: DedicatedWorkerGlobalScope, ev: Event) => any; +declare var onoffline: (this: DedicatedWorkerGlobalScope, ev: Event) => any; +declare var ononline: (this: DedicatedWorkerGlobalScope, ev: Event) => any; +declare var onrejectionhandled: (this: DedicatedWorkerGlobalScope, ev: PromiseRejectionEvent) => any; +declare var onunhandledrejection: (this: DedicatedWorkerGlobalScope, ev: PromiseRejectionEvent) => any; declare var self: WorkerGlobalScope; -declare function msWriteProfilerMark(profilerMarkName: string): void; +declare function importScripts(...urls: string[]): void; declare function createImageBitmap(image: ImageBitmap | ImageData | Blob, options?: ImageBitmapOptions): Promise; declare function createImageBitmap(image: ImageBitmap | ImageData | Blob, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise; declare function dispatchEvent(event: Event): boolean; declare function removeEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +declare var caches: CacheStorage; declare var indexedDB: IDBFactory; -declare var msIndexedDB: IDBFactory; -declare var navigator: WorkerNavigator; -declare function clearImmediate(handle: number): void; -declare function clearInterval(handle: number): void; -declare function clearTimeout(handle: number): void; -declare function importScripts(...urls: string[]): void; -declare function setImmediate(handler: (...args: any[]) => void): number; -declare function setImmediate(handler: any, ...args: any[]): number; +declare var origin: string; +declare function atob(data: string): string; +declare function btoa(data: string): string; +declare function clearInterval(handle?: number): void; +declare function clearTimeout(handle?: number): void; +declare function createImageBitmap(image: ImageBitmapSource, options?: ImageBitmapOptions): Promise; +declare function createImageBitmap(image: ImageBitmapSource, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise; +declare function fetch(input: RequestInfo, init?: RequestInit): Promise; declare function setInterval(handler: (...args: any[]) => void, timeout: number): number; declare function setInterval(handler: any, timeout?: any, ...args: any[]): number; declare function setTimeout(handler: (...args: any[]) => void, timeout: number): number; declare function setTimeout(handler: any, timeout?: any, ...args: any[]): number; +declare var performance: Performance; +declare var crypto: Crypto; declare function dispatchEvent(event: Event): boolean; declare function removeEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; declare function addEventListener(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; declare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; type AlgorithmIdentifier = any; type BodyInit = Blob | BufferSource | FormData | URLSearchParams | ReadableStream | string; +type BufferSource = ArrayBufferView | ArrayBuffer; +type CanvasImageSource = never | never | never | ImageBitmap | OffscreenCanvas; +type FormDataEntryValue = File | string; +type HeadersInit = string[][] | { [key: string]: string }; +type ImageBitmapSource = CanvasImageSource | Blob | ImageData; +type MessageEventSource = never | MessagePort | ServiceWorker; +type OffscreenRenderingContext = OffscreenCanvasRenderingContext2D | never; +type OnErrorEventHandler = OnErrorEventHandlerNonNull; +type PerformanceEntryList = PerformanceEntry[]; +type PushMessageDataInit = BufferSource | string; type RequestInfo = Request | string; type IDBValidKey = number | string | Date | IDBArrayKey; +type BinaryType = "blob" | "arraybuffer"; +type CanvasFillRule = "nonzero" | "evenodd"; +type CanvasLineCap = "butt" | "round" | "square"; +type CanvasLineJoin = "round" | "bevel" | "miter"; +type ClientType = "window" | "worker" | "sharedworker" | "all"; type IDBCursorDirection = "next" | "nextunique" | "prev" | "prevunique"; type IDBRequestReadyState = "pending" | "done"; type IDBTransactionMode = "readonly" | "readwrite" | "versionchange"; -type MediaKeyStatus = "usable" | "expired" | "released" | "output-restricted" | "output-downscaled" | "status-pending" | "internal-error"; +type ImageSmoothingQuality = "low" | "medium" | "high"; +type KeyFormat = "raw" | "spki" | "pkcs8" | "jwk"; +type KeyType = "public" | "private" | "secret"; +type KeyUsage = "encrypt" | "decrypt" | "sign" | "verify" | "deriveKey" | "deriveBits" | "wrapKey" | "unwrapKey"; type NotificationDirection = "auto" | "ltr" | "rtl"; type NotificationPermission = "default" | "denied" | "granted"; +type OffscreenRenderingContextType = "2d" | "webgl"; type PushEncryptionKeyName = "p256dh" | "auth"; type PushPermissionState = "denied" | "granted" | "prompt"; type ReferrerPolicy = "" | "no-referrer" | "no-referrer-when-downgrade" | "same-origin" | "origin" | "strict-origin" | "origin-when-cross-origin" | "strict-origin-when-cross-origin" | "unsafe-url"; @@ -1654,6 +2296,5 @@ type RequestType = "" | "audio" | "font" | "image" | "script" | "style" | "track type ResponseType = "basic" | "cors" | "default" | "error" | "opaque" | "opaqueredirect"; type ServiceWorkerState = "installing" | "installed" | "activating" | "activated" | "redundant"; type VisibilityState = "hidden" | "visible" | "prerender" | "unloaded"; -type XMLHttpRequestResponseType = "" | "arraybuffer" | "blob" | "document" | "json" | "text"; -type ClientType = "window" | "worker" | "sharedworker" | "all"; -type FrameType = "auxiliary" | "top-level" | "nested" | "none"; \ No newline at end of file +type WorkerType = "classic" | "module"; +type XMLHttpRequestResponseType = "" | "arraybuffer" | "blob" | "document" | "json" | "text"; \ No newline at end of file diff --git a/inputfiles/browser.webidl.xml b/inputfiles/browser.webidl.xml index faed8a3c2..a61d15392 100644 --- a/inputfiles/browser.webidl.xml +++ b/inputfiles/browser.webidl.xml @@ -582,10 +582,9 @@ - + - @@ -1553,7 +1552,7 @@ - + @@ -2856,14 +2855,12 @@ - - + - + - @@ -2871,7 +2868,6 @@ - @@ -4145,7 +4141,7 @@ - + @@ -4782,10 +4778,10 @@ - + - - + + @@ -4793,7 +4789,7 @@ - + @@ -4803,7 +4799,7 @@ - + @@ -4815,6 +4811,9 @@ + + + @@ -4824,7 +4823,7 @@ - + @@ -4849,12 +4848,15 @@ - + + + + @@ -6348,7 +6350,7 @@ - + @@ -6356,6 +6358,10 @@ + + + + @@ -6368,17 +6374,17 @@ - + - + - + @@ -6392,19 +6398,21 @@ + + - + @@ -6419,35 +6427,43 @@ - + - + - + + + + + + + + + - + - + - + - + - + @@ -6455,6 +6471,9 @@ + + + @@ -6474,7 +6493,7 @@ - + @@ -6482,27 +6501,42 @@ - + - + - + - + - + + + + + + + + + + + + - + + + + + @@ -6514,11 +6548,11 @@ - + - + @@ -6528,22 +6562,22 @@ - + - + - + - + @@ -6552,8 +6586,9 @@ - + + @@ -6564,7 +6599,7 @@ - + @@ -7653,9 +7688,9 @@ - + - + @@ -7998,7 +8033,7 @@ - + @@ -8007,7 +8042,7 @@ - + @@ -8633,8 +8668,8 @@ - - + + @@ -8646,8 +8681,8 @@ - - + + @@ -10458,16 +10493,13 @@ - + - - - - + - + @@ -10821,7 +10853,6 @@ WindowSessionStorage WindowLocalStorage GlobalPerformance - IDBEnvironment GlobalCrypto SpeechSynthesisGetter @@ -11757,11 +11788,6 @@ - - - - - @@ -12999,6 +13025,7 @@ + @@ -13007,14 +13034,12 @@ - - IDBEnvironment - + diff --git a/inputfiles/knownExposures.json b/inputfiles/knownExposures.json new file mode 100644 index 000000000..ed0e74d9c --- /dev/null +++ b/inputfiles/knownExposures.json @@ -0,0 +1,87 @@ +{ + "AddEventListenerOptions": "Window Worker", + "AlgorithmIdentifier": "Window Worker", + "BinaryType": "Window Worker", + "BodyInit": "Window Worker", + "BufferSource": "Window Worker", + "CacheQueryOptions": "Window Worker", + "CanvasFillRule": "Window Worker", + "CanvasImageSource": "Window Worker", + "CanvasLineCap": "Window Worker", + "CanvasLineJoin": "Window Worker", + "ClientQueryOptions": "ServiceWorker", + "ClientType": "ServiceWorker", + "CloseEventInit": "Window Worker", + "CustomEventInit": "Window Worker", + "DOMMatrixInit": "Window Worker", + "DOMPointInit": "Window Worker", + "DOMQuadInit": "Window Worker", + "DOMRectInit": "Window Worker", + "EventInit": "Window Worker", + "EventListenerOptions": "Window Worker", + "EventSourceInit": "Window Worker", + "ExtendableEventInit": "ServiceWorker", + "ExtendableMessageEventInit": "ServiceWorker", + "FetchEventInit": "ServiceWorker", + "ForeignFetchEventInit": "ServiceWorker", + "ForeignFetchOptions": "ServiceWorker", + "ForeignFetchResponse": "ServiceWorker", + "FormDataEntryValue": "Window Worker", + "GetNotificationOptions": "Window Worker", + "HeadersInit": "Window Worker", + "IDBCursorDirection": "Window Worker", + "IDBIndexParameters": "Window Worker", + "IDBObjectStoreParameters": "Window Worker", + "IDBRequestReadyState": "Window Worker", + "IDBTransactionMode": "Window Worker", + "IDBVersionChangeEventInit": "Window Worker", + "ImageBitmapSource": "Window Worker", + "ImageEncodeOptions": "Window Worker", + "ImageSmoothingQuality": "Window Worker", + "JsonWebKey": "Window Worker", + "KeyFormat": "Window Worker", + "KeyType": "Window Worker", + "KeyUsage": "Window Worker", + "MessageEventInit": "Window Worker", + "MessageEventSource": "Window Worker", + "NavigationPreloadState": "Window Worker", + "NotificationAction": "Window Worker", + "NotificationDirection": "Window Worker", + "NotificationEventInit": "ServiceWorker", + "NotificationOptions": "Window Worker", + "NotificationPermission": "Window Worker", + "NotificationPermissionCallback": "Window Worker", + "OffscreenRenderingContext": "Window Worker", + "OffscreenRenderingContextType": "Window Worker", + "OnErrorEventHandler": "Window Worker", + "OnErrorEventHandlerNonNull": "Window Worker", + "PerformanceEntryList": "Window Worker", + "PerformanceObserverCallback": "Window Worker", + "PerformanceObserverInit": "Window Worker", + "PromiseRejectionEventInit": "Window Worker", + "PushEncryptionKeyName": "Window Worker", + "PushEventInit": "ServiceWorker", + "PushMessageDataInit": "ServiceWorker", + "PushPermissionState": "Window Worker", + "PushSubscriptionChangeInit": "ServiceWorker", + "PushSubscriptionOptionsInit": "Window Worker", + "ReferrerPolicy": "Window Worker", + "RegistrationOptions": "Window Worker", + "RequestCache": "Window Worker", + "RequestCredentials": "Window Worker", + "RequestDestination": "Window Worker", + "RequestInfo": "Window Worker", + "RequestInit": "Window Worker", + "RequestMode": "Window Worker", + "RequestRedirect": "Window Worker", + "RequestType": "Window Worker", + "ResponseInit": "Window Worker", + "ResponseType": "Window Worker", + "RsaOtherPrimesInfo": "Window Worker", + "ServiceWorkerState": "Window Worker", + "SyncEventInit": "ServiceWorker", + "VisibilityState": "Window ServiceWorker", + "WorkerOptions": "Window Worker", + "WorkerType": "Window Worker", + "XMLHttpRequestResponseType": "Window Worker" +} \ No newline at end of file diff --git a/sample.xml b/sample.xml index 5f99074d2..e1bc211fd 100644 --- a/sample.xml +++ b/sample.xml @@ -11320,6 +11320,9 @@ + + + @@ -13504,7 +13507,7 @@ - + From 755de733bf7ac6cd03aecffa6b7c16a55f94f629 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Wed, 17 May 2017 18:43:20 +0900 Subject: [PATCH 45/50] fix nodefilter --- TS.fsx | 30 +- baselines/dom.generated.d.ts | 469 +++++++++++++++-------------- baselines/webworker.generated.d.ts | 76 +++-- inputfiles/overridingTypes.json | 251 --------------- 4 files changed, 293 insertions(+), 533 deletions(-) diff --git a/TS.fsx b/TS.fsx index e62de11cb..b9b4d5e27 100644 --- a/TS.fsx +++ b/TS.fsx @@ -735,7 +735,6 @@ module Emit = | "DOMHighResTimeStamp" -> "number" | "DOMString" | "USVString" | "ByteString" -> "string" | "DOMTimeStamp" -> "number" - | "EventListener" -> "EventListenerOrEventListenerObject" | "double" | "float" | "unrestricted double" | "unrestricted float" -> "number" | "Function" -> "Function" | "FrozenArray" -> "ReadonlyArray" @@ -883,12 +882,6 @@ module Emit = (if p.Variadic then "[]" else "") String.Join(", ", (List.map paramToString ps)) - let EmitCallBackInterface (i:Browser.Interface) = - Pt.Printl "interface %s {" i.Name - Pt.PrintWithAddedIndent "(evt: Event): void;" - Pt.Printl "}" - Pt.Printl "" - let EmitCallBackFunctions flavor = let emitCallbackFunctionsFromJson (cb: InputJson.InputJsonType.Root) = Pt.Printl "interface %s {" cb.Name.Value @@ -1109,7 +1102,7 @@ module Emit = if shouldEmitStringEventHandler then Pt.Printl - "%saddEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;" + "%saddEventListener(type: string, listener: EventListener, useCapture?: boolean): void;" fPrefix let EmitConstructorSignature flavor (i:Browser.Interface) = @@ -1401,6 +1394,22 @@ module Emit = EmitInterface flavor i EmitConstructor flavor i + let EmitCallBackInterface flavor (i:Browser.Interface) = + if i.Exposed.IsNone || ShouldKeep flavor i then + let m = i.Methods.Value.Methods.[0] + let overload = (GetOverloads (Function.Method m) false).[0] + let paramsString = ParamsToString overload.ParamCombinations + let returnType = DomTypeToTsType m.Type + Pt.Printl "type %s = (%s) => %s | { %s(%s): %s; };" i.Name paramsString returnType m.Name.Value paramsString returnType + Pt.Printl "" + if i.Constants.IsSome then + Pt.Printl "declare var %s: {" i.Name + Pt.IncreaseIndent() + EmitConstants i + Pt.DecreaseIndent() + Pt.Printl "}" + Pt.Printl "" + let EmitDictionaries flavor = let emitDictionary (dict:Browser.Dictionary) = match dict.Extends with @@ -1516,16 +1525,13 @@ module Emit = Pt.Printl "" EmitDictionaries flavor - browser.CallbackInterfaces.Interfaces |> Array.iter EmitCallBackInterface + browser.CallbackInterfaces.Interfaces |> Array.iter (EmitCallBackInterface flavor) EmitNonCallbackInterfaces flavor EmitNamespaces flavor // Add missed interface definition from the spec InputJson.getAddedItems InputJson.Interface flavor |> Array.iter EmitAddedInterface - Pt.Printl "declare type EventListenerOrEventListenerObject = EventListener | EventListenerObject;" - Pt.Printl "" - EmitCallBackFunctions flavor if flavor <> Worker then diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 607480bea..4d76bbbf7 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -1407,12 +1407,27 @@ interface WorkletOptions { credentials?: RequestCredentials; } -interface EventListener { - (evt: Event): void; -} - -interface NodeFilter { - (evt: Event): void; +type EventListener = (event: Event) => void | { handleEvent(event: Event): void; }; + +type NodeFilter = (node: Node) => number | { acceptNode(node: Node): number; }; + +declare var NodeFilter: { + readonly FILTER_ACCEPT: number; + readonly FILTER_REJECT: number; + readonly FILTER_SKIP: number; + readonly SHOW_ALL: number; + readonly SHOW_ELEMENT: number; + readonly SHOW_ATTRIBUTE: number; + readonly SHOW_TEXT: number; + readonly SHOW_CDATA_SECTION: number; + readonly SHOW_ENTITY_REFERENCE: number; + readonly SHOW_ENTITY: number; + readonly SHOW_PROCESSING_INSTRUCTION: number; + readonly SHOW_COMMENT: number; + readonly SHOW_DOCUMENT: number; + readonly SHOW_DOCUMENT_TYPE: number; + readonly SHOW_DOCUMENT_FRAGMENT: number; + readonly SHOW_NOTATION: number; } interface AnalyserNode extends AudioNode { @@ -1474,7 +1489,7 @@ interface ApplicationCache extends EventTarget { readonly UNCACHED: number; readonly UPDATEREADY: number; addEventListener(type: K, listener: (this: ApplicationCache, ev: ApplicationCacheEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var ApplicationCache: { @@ -1527,7 +1542,7 @@ interface AudioBufferSourceNode extends AudioScheduledSourceNode { readonly playbackRate: AudioParam; start(when?: number, offset?: number, duration?: number): void; addEventListener(type: K, listener: (this: AudioBufferSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var AudioBufferSourceNode: { @@ -1546,7 +1561,7 @@ interface AudioContext extends BaseAudioContext { getOutputTimestamp(): AudioTimestamp; suspend(): Promise; addEventListener(type: K, listener: (this: AudioContext, ev: BaseAudioContextEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var AudioContext: { @@ -1653,7 +1668,7 @@ interface AudioScheduledSourceNode extends AudioNode { start(when?: number): void; stop(when?: number): void; addEventListener(type: K, listener: (this: AudioScheduledSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var AudioScheduledSourceNode: { @@ -1688,7 +1703,7 @@ interface AudioTrackList extends EventTarget { onremovetrack: (this: AudioTrackList, ev: TrackEvent) => any; getTrackById(id: string): AudioTrack | null; addEventListener(type: K, listener: (this: AudioTrackList, ev: AudioTrackListEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; [index: number]: AudioTrack; } @@ -1706,7 +1721,7 @@ interface AudioWorkletNode extends AudioNode { readonly parameters: AudioParamMap; sendData(data: any): void; addEventListener(type: K, listener: (this: AudioWorkletNode, ev: AudioWorkletNodeEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var AudioWorkletNode: { @@ -1723,7 +1738,7 @@ interface AudioWorkletProcessor extends EventTarget { ondata: (this: AudioWorkletProcessor, ev: Event) => any; sendData(data: any): void; addEventListener(type: K, listener: (this: AudioWorkletProcessor, ev: AudioWorkletProcessorEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var AudioWorkletProcessor: { @@ -1772,7 +1787,7 @@ interface BaseAudioContext extends EventTarget { decodeAudioData(audioData: ArrayBuffer, successCallback?: DecodeSuccessCallback, errorCallback?: DecodeErrorCallback): Promise; resume(): Promise; addEventListener(type: K, listener: (this: BaseAudioContext, ev: BaseAudioContextEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var BaseAudioContext: { @@ -1826,7 +1841,7 @@ interface BroadcastChannel extends EventTarget { close(): void; postMessage(message: any): void; addEventListener(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var BroadcastChannel: { @@ -1982,7 +1997,7 @@ declare var CompositionEvent: { interface ConstantSourceNode extends AudioScheduledSourceNode { readonly offset: AudioParam; addEventListener(type: K, listener: (this: ConstantSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var ConstantSourceNode: { @@ -3102,7 +3117,7 @@ interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, Par */ writeln(...text: string[]): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; [name: string]: any; } @@ -3363,7 +3378,7 @@ interface DragEvent extends MouseEvent { declare var DragEvent: { prototype: DragEvent; - new(type: "drag" | "dragend" | "dragenter" | "dragexit" | "dragleave" | "dragover" | "dragstart" | "drop", dragEventInit?: { dataTransfer?: DataTransfer }): DragEvent; + new(type: string, eventInitDict?: DragEventInit): DragEvent; }; interface DynamicsCompressorNode extends AudioNode { @@ -3458,7 +3473,7 @@ interface Element extends Node, ParentNode, NonDocumentTypeChildNode, ChildNode, insertAdjacentText(where: string, text: string): void; attachShadow(shadowRootInitDict: ShadowRootInit): ShadowRoot; addEventListener(type: K, listener: (this: Element, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var Element: { @@ -3531,7 +3546,7 @@ interface EventSource extends EventTarget { readonly CONNECTING: number; readonly OPEN: number; addEventListener(type: K, listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var EventSource: { @@ -3543,9 +3558,9 @@ declare var EventSource: { }; interface EventTarget { - addEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, callback: EventListener | null, options?: AddEventListenerOptions | boolean): void; dispatchEvent(event: Event): boolean; - removeEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, callback: EventListener | null, options?: EventListenerOptions | boolean): void; } declare var EventTarget: { @@ -3602,7 +3617,7 @@ interface FileReader extends EventTarget { readonly EMPTY: number; readonly LOADING: number; addEventListener(type: K, listener: (this: FileReader, ev: FileReaderEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var FileReader: { @@ -3623,8 +3638,8 @@ declare var FocusEvent: { }; interface FormData { - append(name: string, value: string | Blob, fileName?: string): void; - append(name: string, value: string | Blob, fileName?: string): void; + append(name: string, value: string): void; + append(name: string, blobValue: Blob, filename?: string): void; delete(name: string): void; get(name: string): FormDataEntryValue | null; getAll(name: string): FormDataEntryValue[]; @@ -3702,7 +3717,7 @@ interface Headers { declare var Headers: { prototype: Headers; - new(init?: Headers | string[][] | object): Headers; + new(init?: HeadersInit): Headers; }; interface History { @@ -3778,7 +3793,7 @@ interface HTMLAnchorElement extends HTMLElement, HTMLHyperlinkElementUtils { addEventListener(type: K, listener: (this: HTMLAnchorElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLAnchorElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLAnchorElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLAnchorElement: { @@ -3816,7 +3831,7 @@ interface HTMLAppletElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLAppletElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLAppletElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLAppletElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLAppletElement: { @@ -3853,7 +3868,7 @@ interface HTMLAreaElement extends HTMLElement, HTMLHyperlinkElementUtils { addEventListener(type: K, listener: (this: HTMLAreaElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLAreaElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLAreaElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLAreaElement: { @@ -3863,7 +3878,7 @@ declare var HTMLAreaElement: { interface HTMLAudioElement extends HTMLMediaElement { addEventListener(type: K, listener: (this: HTMLAudioElement, ev: HTMLMediaElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLAudioElement: { @@ -3883,7 +3898,7 @@ interface HTMLBaseElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLBaseElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLBaseElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLBaseElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLBaseElement: { @@ -3902,7 +3917,7 @@ interface HTMLBodyElement extends HTMLElement, WindowEventHandlers { addEventListener(type: K, listener: (this: HTMLBodyElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLBodyElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLBodyElement, ev: WindowEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLBodyElement: { @@ -3918,7 +3933,7 @@ interface HTMLBRElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLBRElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLBRElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLBRElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLBRElement: { @@ -3994,7 +4009,7 @@ interface HTMLButtonElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLButtonElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLButtonElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLButtonElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLButtonElement: { @@ -4029,7 +4044,7 @@ interface HTMLCanvasElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLCanvasElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLCanvasElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLCanvasElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLCanvasElement: { @@ -4066,7 +4081,7 @@ interface HTMLDataElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLDataElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLDataElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLDataElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLDataElement: { @@ -4079,7 +4094,7 @@ interface HTMLDataListElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLDataListElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLDataListElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLDataListElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLDataListElement: { @@ -4092,7 +4107,7 @@ interface HTMLDetailsElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLDetailsElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLDetailsElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLDetailsElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLDetailsElement: { @@ -4109,7 +4124,7 @@ interface HTMLDialogElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLDialogElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLDialogElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLDialogElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLDialogElement: { @@ -4122,7 +4137,7 @@ interface HTMLDirectoryElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLDirectoryElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLDirectoryElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLDirectoryElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLDirectoryElement: { @@ -4138,7 +4153,7 @@ interface HTMLDivElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLDivElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLDivElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLDivElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLDivElement: { @@ -4151,7 +4166,7 @@ interface HTMLDListElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLDListElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLDListElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLDListElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLDListElement: { @@ -4185,7 +4200,7 @@ interface HTMLElement extends Element, GlobalEventHandlers, DocumentAndElementEv addEventListener(type: K, listener: (this: HTMLElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLElement: { @@ -4216,7 +4231,7 @@ interface HTMLEmbedElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLEmbedElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLEmbedElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLEmbedElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLEmbedElement: { @@ -4258,7 +4273,7 @@ interface HTMLFieldSetElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLFieldSetElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLFieldSetElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLFieldSetElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLFieldSetElement: { @@ -4276,7 +4291,7 @@ interface HTMLFontElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLFontElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLFontElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLFontElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLFontElement: { @@ -4354,7 +4369,7 @@ interface HTMLFormElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLFormElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLFormElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLFormElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; [index: number]: Element; } @@ -4407,7 +4422,7 @@ interface HTMLFrameElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLFrameElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLFrameElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLFrameElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLFrameElement: { @@ -4428,7 +4443,7 @@ interface HTMLFrameSetElement extends HTMLElement, WindowEventHandlers { addEventListener(type: K, listener: (this: HTMLFrameSetElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLFrameSetElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLFrameSetElement, ev: WindowEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLFrameSetElement: { @@ -4440,7 +4455,7 @@ interface HTMLHeadElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLHeadElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLHeadElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLHeadElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLHeadElement: { @@ -4456,7 +4471,7 @@ interface HTMLHeadingElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLHeadingElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLHeadingElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLHeadingElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLHeadingElement: { @@ -4482,7 +4497,7 @@ interface HTMLHRElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLHRElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLHRElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLHRElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLHRElement: { @@ -4498,7 +4513,7 @@ interface HTMLHtmlElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLHtmlElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLHtmlElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLHtmlElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLHtmlElement: { @@ -4565,7 +4580,7 @@ interface HTMLIFrameElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLIFrameElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLIFrameElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLIFrameElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLIFrameElement: { @@ -4645,7 +4660,7 @@ interface HTMLImageElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLImageElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLImageElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLImageElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLImageElement: { @@ -4847,7 +4862,7 @@ interface HTMLInputElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLInputElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLInputElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLInputElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLInputElement: { @@ -4868,7 +4883,7 @@ interface HTMLLabelElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLLabelElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLLabelElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLLabelElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLLabelElement: { @@ -4888,7 +4903,7 @@ interface HTMLLegendElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLLegendElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLLegendElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLLegendElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLLegendElement: { @@ -4905,7 +4920,7 @@ interface HTMLLIElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLLIElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLLIElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLLIElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLLIElement: { @@ -4960,7 +4975,7 @@ interface HTMLLinkElement extends HTMLElement, LinkStyle { addEventListener(type: K, listener: (this: HTMLLinkElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLLinkElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLLinkElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLLinkElement: { @@ -4980,7 +4995,7 @@ interface HTMLMapElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLMapElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLMapElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLMapElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLMapElement: { @@ -5012,7 +5027,7 @@ interface HTMLMarqueeElement extends HTMLElement { start(): void; stop(): void; addEventListener(type: K, listener: (this: HTMLMarqueeElement, ev: HTMLMarqueeElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLMarqueeElement: { @@ -5149,7 +5164,7 @@ interface HTMLMediaElement extends HTMLElement { readonly NETWORK_LOADING: number; readonly NETWORK_NO_SOURCE: number; addEventListener(type: K, listener: (this: HTMLMediaElement, ev: HTMLMediaElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLMediaElement: { @@ -5173,7 +5188,7 @@ interface HTMLMenuElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLMenuElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLMenuElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLMenuElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLMenuElement: { @@ -5192,7 +5207,7 @@ interface HTMLMenuItemElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLMenuItemElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLMenuItemElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLMenuItemElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLMenuItemElement: { @@ -5220,7 +5235,7 @@ interface HTMLMetaElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLMetaElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLMetaElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLMetaElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLMetaElement: { @@ -5239,7 +5254,7 @@ interface HTMLMeterElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLMeterElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLMeterElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLMeterElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLMeterElement: { @@ -5259,7 +5274,7 @@ interface HTMLModElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLModElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLModElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLModElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLModElement: { @@ -5353,7 +5368,7 @@ interface HTMLObjectElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLObjectElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLObjectElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLObjectElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLObjectElement: { @@ -5372,7 +5387,7 @@ interface HTMLOListElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLOListElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLOListElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLOListElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLOListElement: { @@ -5389,7 +5404,7 @@ interface HTMLOptGroupElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLOptGroupElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLOptGroupElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLOptGroupElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLOptGroupElement: { @@ -5430,7 +5445,7 @@ interface HTMLOptionElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLOptionElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLOptionElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLOptionElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLOptionElement: { @@ -5467,7 +5482,7 @@ interface HTMLOutputElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLOutputElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLOutputElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLOutputElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLOutputElement: { @@ -5483,7 +5498,7 @@ interface HTMLParagraphElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLParagraphElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLParagraphElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLParagraphElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLParagraphElement: { @@ -5511,7 +5526,7 @@ interface HTMLParamElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLParamElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLParamElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLParamElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLParamElement: { @@ -5523,7 +5538,7 @@ interface HTMLPictureElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLPictureElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLPictureElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLPictureElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLPictureElement: { @@ -5539,7 +5554,7 @@ interface HTMLPreElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLPreElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLPreElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLPreElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLPreElement: { @@ -5564,7 +5579,7 @@ interface HTMLProgressElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLProgressElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLProgressElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLProgressElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLProgressElement: { @@ -5580,7 +5595,7 @@ interface HTMLQuoteElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLQuoteElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLQuoteElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLQuoteElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLQuoteElement: { @@ -5625,7 +5640,7 @@ interface HTMLScriptElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLScriptElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLScriptElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLScriptElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLScriptElement: { @@ -5731,7 +5746,7 @@ interface HTMLSelectElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLSelectElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLSelectElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLSelectElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; [index: number]: Element; } @@ -5746,7 +5761,7 @@ interface HTMLSlotElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLSlotElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLSlotElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLSlotElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLSlotElement: { @@ -5772,7 +5787,7 @@ interface HTMLSourceElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLSourceElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLSourceElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLSourceElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLSourceElement: { @@ -5784,7 +5799,7 @@ interface HTMLSpanElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLSpanElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLSpanElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLSpanElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLSpanElement: { @@ -5805,7 +5820,7 @@ interface HTMLStyleElement extends HTMLElement, LinkStyle { addEventListener(type: K, listener: (this: HTMLStyleElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLStyleElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLStyleElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLStyleElement: { @@ -5821,7 +5836,7 @@ interface HTMLTableCaptionElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLTableCaptionElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLTableCaptionElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLTableCaptionElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLTableCaptionElement: { @@ -5881,7 +5896,7 @@ interface HTMLTableCellElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLTableCellElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLTableCellElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLTableCellElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLTableCellElement: { @@ -5908,7 +5923,7 @@ interface HTMLTableColElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLTableColElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLTableColElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLTableColElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLTableColElement: { @@ -6011,7 +6026,7 @@ interface HTMLTableElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLTableElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLTableElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLTableElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLTableElement: { @@ -6053,7 +6068,7 @@ interface HTMLTableRowElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLTableRowElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLTableRowElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLTableRowElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLTableRowElement: { @@ -6086,7 +6101,7 @@ interface HTMLTableSectionElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLTableSectionElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLTableSectionElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLTableSectionElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLTableSectionElement: { @@ -6099,7 +6114,7 @@ interface HTMLTemplateElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLTemplateElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLTemplateElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLTemplateElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLTemplateElement: { @@ -6213,7 +6228,7 @@ interface HTMLTextAreaElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLTextAreaElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLTextAreaElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLTextAreaElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLTextAreaElement: { @@ -6226,7 +6241,7 @@ interface HTMLTimeElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLTimeElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLTimeElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLTimeElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLTimeElement: { @@ -6242,7 +6257,7 @@ interface HTMLTitleElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLTitleElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLTitleElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLTitleElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLTitleElement: { @@ -6265,7 +6280,7 @@ interface HTMLTrackElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLTrackElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLTrackElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLTrackElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLTrackElement: { @@ -6283,7 +6298,7 @@ interface HTMLUListElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLUListElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLUListElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLUListElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLUListElement: { @@ -6295,7 +6310,7 @@ interface HTMLUnknownElement extends HTMLElement { addEventListener(type: K, listener: (this: HTMLUnknownElement, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLUnknownElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: HTMLUnknownElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLUnknownElement: { @@ -6327,7 +6342,7 @@ interface HTMLVideoElement extends HTMLMediaElement { width: number; getVideoPlaybackQuality(): VideoPlaybackQuality; addEventListener(type: K, listener: (this: HTMLVideoElement, ev: HTMLMediaElementEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var HTMLVideoElement: { @@ -6382,7 +6397,7 @@ interface IDBDatabase extends EventTarget { transaction(storeNames: string | string[], mode?: IDBTransactionMode): IDBTransaction; addEventListener(type: "versionchange", listener: (ev: IDBVersionChangeEvent) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var IDBDatabase: { @@ -6474,7 +6489,7 @@ interface IDBOpenDBRequest extends IDBRequest { onblocked: (this: IDBOpenDBRequest, ev: Event) => any; onupgradeneeded: (this: IDBOpenDBRequest, ev: IDBVersionChangeEvent) => any; addEventListener(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var IDBOpenDBRequest: { @@ -6496,7 +6511,7 @@ interface IDBRequest extends EventTarget { source: IDBObjectStore | IDBIndex | IDBCursor; readonly transaction: IDBTransaction | null; addEventListener(type: K, listener: (this: IDBRequest, ev: IDBRequestEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var IDBRequest: { @@ -6521,7 +6536,7 @@ interface IDBTransaction extends EventTarget { abort(): void; objectStore(name: string): IDBObjectStore; addEventListener(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var IDBTransaction: { @@ -6699,7 +6714,7 @@ interface MediaDevices extends EventTarget { getSupportedConstraints(): MediaTrackSupportedConstraints; getUserMedia(constraints?: MediaStreamConstraints): Promise; addEventListener(type: K, listener: (this: MediaDevices, ev: MediaDevicesEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var MediaDevices: { @@ -6781,7 +6796,7 @@ interface MediaKeySession extends EventTarget { remove(): Promise; update(response: BufferSource): Promise; addEventListener(type: K, listener: (this: MediaKeySession, ev: MediaKeySessionEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var MediaKeySession: { @@ -6833,10 +6848,10 @@ interface MediaQueryList extends EventTarget { readonly matches: boolean; readonly media: string; onchange: (this: MediaQueryList, ev: Event) => any; - addListener(listener: EventListenerOrEventListenerObject | null): void; - removeListener(listener: EventListenerOrEventListenerObject | null): void; + addListener(listener: EventListener | null): void; + removeListener(listener: EventListener | null): void; addEventListener(type: K, listener: (this: MediaQueryList, ev: MediaQueryListEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var MediaQueryList: { @@ -6874,7 +6889,7 @@ interface MediaSource extends EventTarget { removeSourceBuffer(sourceBuffer: SourceBuffer): void; setLiveSeekableRange(start: number, end: number): void; addEventListener(type: K, listener: (this: MediaSource, ev: MediaSourceEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var MediaSource: { @@ -6901,7 +6916,7 @@ interface MediaStream extends EventTarget { getVideoTracks(): MediaStreamTrack[]; removeTrack(track: MediaStreamTrack): void; addEventListener(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var MediaStream: { @@ -6956,7 +6971,7 @@ interface MediaStreamTrack extends EventTarget { getSettings(): MediaTrackSettings; stop(): void; addEventListener(type: K, listener: (this: MediaStreamTrack, ev: MediaStreamTrackEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var MediaStreamTrack: { @@ -7017,7 +7032,7 @@ interface MessagePort extends EventTarget { postMessage(message: any, transfer?: any[]): void; start(): void; addEventListener(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var MessagePort: { @@ -7277,7 +7292,7 @@ interface Notification extends EventTarget { readonly vibrate: ReadonlyArray; close(): void; addEventListener(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var Notification: { @@ -7305,7 +7320,7 @@ interface OfflineAudioContext extends BaseAudioContext { startRendering(): Promise; suspend(suspendTime: number): Promise; addEventListener(type: K, listener: (this: OfflineAudioContext, ev: OfflineAudioContextEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var OfflineAudioContext: { @@ -7342,7 +7357,7 @@ interface OscillatorNode extends AudioScheduledSourceNode { type: OscillatorType; setPeriodicWave(periodicWave: PeriodicWave): void; addEventListener(type: K, listener: (this: OscillatorNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var OscillatorNode: { @@ -7439,7 +7454,7 @@ interface PaymentRequest extends EventTarget { canMakePayment(): Promise; show(): Promise; addEventListener(type: K, listener: (this: PaymentRequest, ev: PaymentRequestEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var PaymentRequest: { @@ -7492,7 +7507,7 @@ interface Performance extends EventTarget { now(): number; setResourceTimingBufferSize(maxSize: number): void; addEventListener(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var Performance: { @@ -7930,7 +7945,7 @@ interface RTCDataChannel extends EventTarget { send(data: ArrayBuffer): void; send(data: ArrayBufferView): void; addEventListener(type: K, listener: (this: RTCDataChannel, ev: RTCDataChannelEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var RTCDataChannel: { @@ -7957,7 +7972,7 @@ interface RTCDtlsTransport { readonly transport: RTCIceTransport; getRemoteCertificates(): ArrayBuffer[]; addEventListener(type: K, listener: (this: RTCDtlsTransport, ev: RTCDtlsTransportEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var RTCDtlsTransport: { @@ -7974,7 +7989,7 @@ interface RTCDTMFSender extends EventTarget { readonly toneBuffer: string; insertDTMF(tones: string, duration?: number, interToneGap?: number): void; addEventListener(type: K, listener: (this: RTCDTMFSender, ev: RTCDTMFSenderEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var RTCDTMFSender: { @@ -8041,7 +8056,7 @@ interface RTCIceTransport { getRemoteParameters(): RTCIceParameters | null; getSelectedCandidatePair(): RTCIceCandidatePair | null; addEventListener(type: K, listener: (this: RTCIceTransport, ev: RTCIceTransportEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var RTCIceTransport: { @@ -8122,7 +8137,7 @@ interface RTCPeerConnection extends EventTarget { setRemoteDescription(description: RTCSessionDescriptionInit): Promise; setRemoteDescription(description: RTCSessionDescriptionInit, successCallback: VoidFunction, failureCallback: RTCPeerConnectionErrorCallback): Promise; addEventListener(type: K, listener: (this: RTCPeerConnection, ev: RTCPeerConnectionEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var RTCPeerConnection: { @@ -8289,7 +8304,7 @@ interface ScriptProcessorNode extends AudioNode { readonly bufferSize: number; onaudioprocess: (this: ScriptProcessorNode, ev: AudioProcessingEvent) => any; addEventListener(type: K, listener: (this: ScriptProcessorNode, ev: ScriptProcessorNodeEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var ScriptProcessorNode: { @@ -8336,7 +8351,7 @@ interface ServiceWorker extends EventTarget, AbstractWorker { readonly state: ServiceWorkerState; postMessage(message: any, transfer?: any[]): void; addEventListener(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var ServiceWorker: { @@ -8354,12 +8369,12 @@ interface ServiceWorkerContainer extends EventTarget { oncontrollerchange: (this: ServiceWorkerContainer, ev: Event) => any; onmessage: (this: ServiceWorkerContainer, ev: MessageEvent) => any; readonly ready: Promise; - getRegistration(): Promise; + getRegistration(clientURL?: string): Promise; getRegistrations(): Promise; register(scriptURL: string, options?: RegistrationOptions): Promise; startMessages(): void; addEventListener(type: K, listener: (this: ServiceWorkerContainer, ev: ServiceWorkerContainerEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var ServiceWorkerContainer: { @@ -8386,7 +8401,7 @@ interface ServiceWorkerRegistration extends EventTarget { unregister(): Promise; update(): Promise; addEventListener(type: K, listener: (this: ServiceWorkerRegistration, ev: ServiceWorkerRegistrationEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var ServiceWorkerRegistration: { @@ -8416,7 +8431,7 @@ declare var ShadowRoot: { interface SharedWorker extends EventTarget, AbstractWorker { readonly port: MessagePort; addEventListener(type: K, listener: (this: SharedWorker, ev: AbstractWorkerEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SharedWorker: { @@ -8451,7 +8466,7 @@ interface SourceBuffer extends EventTarget { appendBuffer(data: BufferSource): void; remove(start: number, end: number): void; addEventListener(type: K, listener: (this: SourceBuffer, ev: SourceBufferEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SourceBuffer: { @@ -8469,7 +8484,7 @@ interface SourceBufferList extends EventTarget { onaddsourcebuffer: (this: SourceBufferList, ev: Event) => any; onremovesourcebuffer: (this: SourceBufferList, ev: Event) => any; addEventListener(type: K, listener: (this: SourceBufferList, ev: SourceBufferListEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; [index: number]: SourceBuffer; } @@ -8537,7 +8552,7 @@ interface SpeechRecognition extends EventTarget { start(): void; stop(): void; addEventListener(type: K, listener: (this: SpeechRecognition, ev: SpeechRecognitionEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SpeechRecognition: { @@ -8615,7 +8630,7 @@ interface SpeechSynthesis extends EventTarget { resume(): void; speak(utterance: SpeechSynthesisUtterance): void; addEventListener(type: K, listener: (this: SpeechSynthesis, ev: SpeechSynthesisEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SpeechSynthesis: { @@ -8669,7 +8684,7 @@ interface SpeechSynthesisUtterance extends EventTarget { voice: SpeechSynthesisVoice; volume: number; addEventListener(type: K, listener: (this: SpeechSynthesisUtterance, ev: SpeechSynthesisUtteranceEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SpeechSynthesisUtterance: { @@ -8782,7 +8797,7 @@ interface SVGAElement extends SVGGraphicsElement, SVGURIReference, HTMLHyperlink readonly type: SVGAnimatedString; addEventListener(type: K, listener: (this: SVGAElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGAElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGAElement: { @@ -8940,7 +8955,7 @@ interface SVGCircleElement extends SVGGeometryElement { readonly r: SVGAnimatedLength; addEventListener(type: K, listener: (this: SVGCircleElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGCircleElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGCircleElement: { @@ -8953,7 +8968,7 @@ interface SVGClipPathElement extends SVGElement, SVGUnitTypes { readonly transform: SVGAnimatedTransformList; addEventListener(type: K, listener: (this: SVGClipPathElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGClipPathElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGClipPathElement: { @@ -8977,7 +8992,7 @@ interface SVGComponentTransferFunctionElement extends SVGElement { readonly SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN: number; addEventListener(type: K, listener: (this: SVGComponentTransferFunctionElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGComponentTransferFunctionElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGComponentTransferFunctionElement: { @@ -8996,7 +9011,7 @@ interface SVGCursorElement extends SVGElement, SVGURIReference { readonly y: SVGAnimatedLength; addEventListener(type: K, listener: (this: SVGCursorElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGCursorElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGCursorElement: { @@ -9007,7 +9022,7 @@ declare var SVGCursorElement: { interface SVGDefsElement extends SVGGraphicsElement { addEventListener(type: K, listener: (this: SVGDefsElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGDefsElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGDefsElement: { @@ -9018,7 +9033,7 @@ declare var SVGDefsElement: { interface SVGDescElement extends SVGElement { addEventListener(type: K, listener: (this: SVGDescElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGDescElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGDescElement: { @@ -9036,7 +9051,7 @@ interface SVGElement extends Element, GlobalEventHandlers, SVGElementInstance, E focus(): void; addEventListener(type: K, listener: (this: SVGElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGElement: { @@ -9051,7 +9066,7 @@ interface SVGEllipseElement extends SVGGeometryElement { readonly ry: SVGAnimatedLength; addEventListener(type: K, listener: (this: SVGEllipseElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGEllipseElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGEllipseElement: { @@ -9071,7 +9086,7 @@ interface SVGFEBlendElement extends SVGElement, SVGFilterPrimitiveStandardAttrib readonly SVG_FEBLEND_MODE_UNKNOWN: number; addEventListener(type: K, listener: (this: SVGFEBlendElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGFEBlendElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGFEBlendElement: { @@ -9096,7 +9111,7 @@ interface SVGFEColorMatrixElement extends SVGElement, SVGFilterPrimitiveStandard readonly SVG_FECOLORMATRIX_TYPE_UNKNOWN: number; addEventListener(type: K, listener: (this: SVGFEColorMatrixElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGFEColorMatrixElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGFEColorMatrixElement: { @@ -9113,7 +9128,7 @@ interface SVGFEComponentTransferElement extends SVGElement, SVGFilterPrimitiveSt readonly in1: SVGAnimatedString; addEventListener(type: K, listener: (this: SVGFEComponentTransferElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGFEComponentTransferElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGFEComponentTransferElement: { @@ -9138,7 +9153,7 @@ interface SVGFECompositeElement extends SVGElement, SVGFilterPrimitiveStandardAt readonly SVG_FECOMPOSITE_OPERATOR_XOR: number; addEventListener(type: K, listener: (this: SVGFECompositeElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGFECompositeElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGFECompositeElement: { @@ -9171,7 +9186,7 @@ interface SVGFEConvolveMatrixElement extends SVGElement, SVGFilterPrimitiveStand readonly SVG_EDGEMODE_WRAP: number; addEventListener(type: K, listener: (this: SVGFEConvolveMatrixElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGFEConvolveMatrixElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGFEConvolveMatrixElement: { @@ -9191,7 +9206,7 @@ interface SVGFEDiffuseLightingElement extends SVGElement, SVGFilterPrimitiveStan readonly surfaceScale: SVGAnimatedNumber; addEventListener(type: K, listener: (this: SVGFEDiffuseLightingElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGFEDiffuseLightingElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGFEDiffuseLightingElement: { @@ -9212,7 +9227,7 @@ interface SVGFEDisplacementMapElement extends SVGElement, SVGFilterPrimitiveStan readonly SVG_CHANNEL_UNKNOWN: number; addEventListener(type: K, listener: (this: SVGFEDisplacementMapElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGFEDisplacementMapElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGFEDisplacementMapElement: { @@ -9230,7 +9245,7 @@ interface SVGFEDistantLightElement extends SVGElement { readonly elevation: SVGAnimatedNumber; addEventListener(type: K, listener: (this: SVGFEDistantLightElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGFEDistantLightElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGFEDistantLightElement: { @@ -9247,7 +9262,7 @@ interface SVGFEDropShadowElement extends SVGElement, SVGFilterPrimitiveStandardA setStdDeviation(stdDeviationX: number, stdDeviationY: number): void; addEventListener(type: K, listener: (this: SVGFEDropShadowElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGFEDropShadowElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGFEDropShadowElement: { @@ -9258,7 +9273,7 @@ declare var SVGFEDropShadowElement: { interface SVGFEFloodElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { addEventListener(type: K, listener: (this: SVGFEFloodElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGFEFloodElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGFEFloodElement: { @@ -9269,7 +9284,7 @@ declare var SVGFEFloodElement: { interface SVGFEFuncAElement extends SVGComponentTransferFunctionElement { addEventListener(type: K, listener: (this: SVGFEFuncAElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGFEFuncAElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGFEFuncAElement: { @@ -9280,7 +9295,7 @@ declare var SVGFEFuncAElement: { interface SVGFEFuncBElement extends SVGComponentTransferFunctionElement { addEventListener(type: K, listener: (this: SVGFEFuncBElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGFEFuncBElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGFEFuncBElement: { @@ -9291,7 +9306,7 @@ declare var SVGFEFuncBElement: { interface SVGFEFuncGElement extends SVGComponentTransferFunctionElement { addEventListener(type: K, listener: (this: SVGFEFuncGElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGFEFuncGElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGFEFuncGElement: { @@ -9302,7 +9317,7 @@ declare var SVGFEFuncGElement: { interface SVGFEFuncRElement extends SVGComponentTransferFunctionElement { addEventListener(type: K, listener: (this: SVGFEFuncRElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGFEFuncRElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGFEFuncRElement: { @@ -9322,7 +9337,7 @@ interface SVGFEGaussianBlurElement extends SVGElement, SVGFilterPrimitiveStandar readonly SVG_EDGEMODE_WRAP: number; addEventListener(type: K, listener: (this: SVGFEGaussianBlurElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGFEGaussianBlurElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGFEGaussianBlurElement: { @@ -9339,7 +9354,7 @@ interface SVGFEImageElement extends SVGElement, SVGFilterPrimitiveStandardAttrib readonly preserveAspectRatio: SVGAnimatedPreserveAspectRatio; addEventListener(type: K, listener: (this: SVGFEImageElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGFEImageElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGFEImageElement: { @@ -9350,7 +9365,7 @@ declare var SVGFEImageElement: { interface SVGFEMergeElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { addEventListener(type: K, listener: (this: SVGFEMergeElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGFEMergeElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGFEMergeElement: { @@ -9362,7 +9377,7 @@ interface SVGFEMergeNodeElement extends SVGElement { readonly in1: SVGAnimatedString; addEventListener(type: K, listener: (this: SVGFEMergeNodeElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGFEMergeNodeElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGFEMergeNodeElement: { @@ -9380,7 +9395,7 @@ interface SVGFEMorphologyElement extends SVGElement, SVGFilterPrimitiveStandardA readonly SVG_MORPHOLOGY_OPERATOR_UNKNOWN: number; addEventListener(type: K, listener: (this: SVGFEMorphologyElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGFEMorphologyElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGFEMorphologyElement: { @@ -9397,7 +9412,7 @@ interface SVGFEOffsetElement extends SVGElement, SVGFilterPrimitiveStandardAttri readonly in1: SVGAnimatedString; addEventListener(type: K, listener: (this: SVGFEOffsetElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGFEOffsetElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGFEOffsetElement: { @@ -9411,7 +9426,7 @@ interface SVGFEPointLightElement extends SVGElement { readonly z: SVGAnimatedNumber; addEventListener(type: K, listener: (this: SVGFEPointLightElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGFEPointLightElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGFEPointLightElement: { @@ -9428,7 +9443,7 @@ interface SVGFESpecularLightingElement extends SVGElement, SVGFilterPrimitiveSta readonly surfaceScale: SVGAnimatedNumber; addEventListener(type: K, listener: (this: SVGFESpecularLightingElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGFESpecularLightingElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGFESpecularLightingElement: { @@ -9447,7 +9462,7 @@ interface SVGFESpotLightElement extends SVGElement { readonly z: SVGAnimatedNumber; addEventListener(type: K, listener: (this: SVGFESpotLightElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGFESpotLightElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGFESpotLightElement: { @@ -9459,7 +9474,7 @@ interface SVGFETileElement extends SVGElement, SVGFilterPrimitiveStandardAttribu readonly in1: SVGAnimatedString; addEventListener(type: K, listener: (this: SVGFETileElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGFETileElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGFETileElement: { @@ -9482,7 +9497,7 @@ interface SVGFETurbulenceElement extends SVGElement, SVGFilterPrimitiveStandardA readonly SVG_TURBULENCE_TYPE_UNKNOWN: number; addEventListener(type: K, listener: (this: SVGFETurbulenceElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGFETurbulenceElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGFETurbulenceElement: { @@ -9505,7 +9520,7 @@ interface SVGFilterElement extends SVGElement, SVGURIReference, SVGUnitTypes { readonly y: SVGAnimatedLength; addEventListener(type: K, listener: (this: SVGFilterElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGFilterElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGFilterElement: { @@ -9520,7 +9535,7 @@ interface SVGForeignObjectElement extends SVGGraphicsElement { readonly y: SVGAnimatedLength; addEventListener(type: K, listener: (this: SVGForeignObjectElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGForeignObjectElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGForeignObjectElement: { @@ -9531,7 +9546,7 @@ declare var SVGForeignObjectElement: { interface SVGGElement extends SVGGraphicsElement { addEventListener(type: K, listener: (this: SVGGElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGGElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGGElement: { @@ -9547,7 +9562,7 @@ interface SVGGeometryElement extends SVGGraphicsElement { isPointInStroke(point: DOMPoint): boolean; addEventListener(type: K, listener: (this: SVGGeometryElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGGeometryElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGGeometryElement: { @@ -9565,7 +9580,7 @@ interface SVGGradientElement extends SVGElement, SVGURIReference { readonly SVG_SPREADMETHOD_UNKNOWN: number; addEventListener(type: K, listener: (this: SVGGradientElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGGradientElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGGradientElement: { @@ -9584,7 +9599,7 @@ interface SVGGraphicsElement extends SVGElement, SVGTests { getScreenCTM(): DOMMatrix | null; addEventListener(type: K, listener: (this: SVGGraphicsElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGGraphicsElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGGraphicsElement: { @@ -9595,7 +9610,7 @@ declare var SVGGraphicsElement: { interface SVGHatchElement extends SVGElement { addEventListener(type: K, listener: (this: SVGHatchElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGHatchElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGHatchElement: { @@ -9606,7 +9621,7 @@ declare var SVGHatchElement: { interface SVGHatchpathElement extends SVGElement { addEventListener(type: K, listener: (this: SVGHatchpathElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGHatchpathElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGHatchpathElement: { @@ -9623,7 +9638,7 @@ interface SVGImageElement extends SVGGraphicsElement, SVGURIReference { readonly y: SVGAnimatedLength; addEventListener(type: K, listener: (this: SVGImageElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGImageElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGImageElement: { @@ -9692,7 +9707,7 @@ interface SVGLinearGradientElement extends SVGGradientElement { readonly y2: SVGAnimatedLength; addEventListener(type: K, listener: (this: SVGLinearGradientElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGLinearGradientElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGLinearGradientElement: { @@ -9707,7 +9722,7 @@ interface SVGLineElement extends SVGGeometryElement { readonly y2: SVGAnimatedLength; addEventListener(type: K, listener: (this: SVGLineElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGLineElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGLineElement: { @@ -9734,7 +9749,7 @@ interface SVGMarkerElement extends SVGElement, SVGFitToViewBox { readonly SVG_MARKERUNITS_USERSPACEONUSE: number; addEventListener(type: K, listener: (this: SVGMarkerElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGMarkerElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGMarkerElement: { @@ -9757,7 +9772,7 @@ interface SVGMaskElement extends SVGElement, SVGUnitTypes { readonly y: SVGAnimatedLength; addEventListener(type: K, listener: (this: SVGMaskElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGMaskElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGMaskElement: { @@ -9768,7 +9783,7 @@ declare var SVGMaskElement: { interface SVGMeshElement extends SVGGeometryElement, SVGURIReference { addEventListener(type: K, listener: (this: SVGMeshElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGMeshElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGMeshElement: { @@ -9779,7 +9794,7 @@ declare var SVGMeshElement: { interface SVGMeshGradientElement extends SVGGradientElement { addEventListener(type: K, listener: (this: SVGMeshGradientElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGMeshGradientElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGMeshGradientElement: { @@ -9790,7 +9805,7 @@ declare var SVGMeshGradientElement: { interface SVGMeshpatchElement extends SVGElement { addEventListener(type: K, listener: (this: SVGMeshpatchElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGMeshpatchElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGMeshpatchElement: { @@ -9801,7 +9816,7 @@ declare var SVGMeshpatchElement: { interface SVGMeshrowElement extends SVGElement { addEventListener(type: K, listener: (this: SVGMeshrowElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGMeshrowElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGMeshrowElement: { @@ -9812,7 +9827,7 @@ declare var SVGMeshrowElement: { interface SVGMetadataElement extends SVGElement { addEventListener(type: K, listener: (this: SVGMetadataElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGMetadataElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGMetadataElement: { @@ -9850,7 +9865,7 @@ declare var SVGNumberList: { interface SVGPathElement extends SVGGeometryElement { addEventListener(type: K, listener: (this: SVGPathElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGPathElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGPathElement: { @@ -9868,7 +9883,7 @@ interface SVGPatternElement extends SVGElement, SVGFitToViewBox, SVGURIReference readonly y: SVGAnimatedLength; addEventListener(type: K, listener: (this: SVGPatternElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGPatternElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGPatternElement: { @@ -9897,7 +9912,7 @@ declare var SVGPointList: { interface SVGPolygonElement extends SVGGeometryElement, SVGAnimatedPoints { addEventListener(type: K, listener: (this: SVGPolygonElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGPolygonElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGPolygonElement: { @@ -9908,7 +9923,7 @@ declare var SVGPolygonElement: { interface SVGPolylineElement extends SVGGeometryElement, SVGAnimatedPoints { addEventListener(type: K, listener: (this: SVGPolylineElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGPolylineElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGPolylineElement: { @@ -9963,7 +9978,7 @@ interface SVGRadialGradientElement extends SVGGradientElement { readonly r: SVGAnimatedLength; addEventListener(type: K, listener: (this: SVGRadialGradientElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGRadialGradientElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGRadialGradientElement: { @@ -9980,7 +9995,7 @@ interface SVGRectElement extends SVGGeometryElement { readonly y: SVGAnimatedLength; addEventListener(type: K, listener: (this: SVGRectElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGRectElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGRectElement: { @@ -9993,7 +10008,7 @@ interface SVGScriptElement extends SVGElement, SVGURIReference { type: string; addEventListener(type: K, listener: (this: SVGScriptElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGScriptElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGScriptElement: { @@ -10004,7 +10019,7 @@ declare var SVGScriptElement: { interface SVGSolidcolorElement extends SVGElement { addEventListener(type: K, listener: (this: SVGSolidcolorElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGSolidcolorElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGSolidcolorElement: { @@ -10016,7 +10031,7 @@ interface SVGStopElement extends SVGElement { readonly offset: SVGAnimatedNumber; addEventListener(type: K, listener: (this: SVGStopElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGStopElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGStopElement: { @@ -10048,7 +10063,7 @@ interface SVGStyleElement extends SVGElement, LinkStyle { type: string; addEventListener(type: K, listener: (this: SVGStyleElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGStyleElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGStyleElement: { @@ -10084,7 +10099,7 @@ interface SVGSVGElement extends SVGGraphicsElement, SVGFitToViewBox, SVGZoomAndP addEventListener(type: K, listener: (this: SVGSVGElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGSVGElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGSVGElement, ev: WindowEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGSVGElement: { @@ -10095,7 +10110,7 @@ declare var SVGSVGElement: { interface SVGSwitchElement extends SVGGraphicsElement { addEventListener(type: K, listener: (this: SVGSwitchElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGSwitchElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGSwitchElement: { @@ -10106,7 +10121,7 @@ declare var SVGSwitchElement: { interface SVGSymbolElement extends SVGGraphicsElement, SVGFitToViewBox { addEventListener(type: K, listener: (this: SVGSymbolElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGSymbolElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGSymbolElement: { @@ -10131,7 +10146,7 @@ interface SVGTextContentElement extends SVGGraphicsElement { readonly LENGTHADJUST_UNKNOWN: number; addEventListener(type: K, listener: (this: SVGTextContentElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGTextContentElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGTextContentElement: { @@ -10145,7 +10160,7 @@ declare var SVGTextContentElement: { interface SVGTextElement extends SVGTextPositioningElement { addEventListener(type: K, listener: (this: SVGTextElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGTextElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGTextElement: { @@ -10165,7 +10180,7 @@ interface SVGTextPathElement extends SVGTextContentElement, SVGURIReference { readonly TEXTPATH_SPACINGTYPE_UNKNOWN: number; addEventListener(type: K, listener: (this: SVGTextPathElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGTextPathElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGTextPathElement: { @@ -10187,7 +10202,7 @@ interface SVGTextPositioningElement extends SVGTextContentElement { readonly y: SVGAnimatedLengthList; addEventListener(type: K, listener: (this: SVGTextPositioningElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGTextPositioningElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGTextPositioningElement: { @@ -10198,7 +10213,7 @@ declare var SVGTextPositioningElement: { interface SVGTitleElement extends SVGElement { addEventListener(type: K, listener: (this: SVGTitleElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGTitleElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGTitleElement: { @@ -10260,7 +10275,7 @@ declare var SVGTransformList: { interface SVGTSpanElement extends SVGTextPositioningElement { addEventListener(type: K, listener: (this: SVGTSpanElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGTSpanElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGTSpanElement: { @@ -10285,7 +10300,7 @@ declare var SVGUnitTypes: { interface SVGUnknownElement extends SVGGraphicsElement { addEventListener(type: K, listener: (this: SVGUnknownElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGUnknownElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGUnknownElement: { @@ -10302,7 +10317,7 @@ interface SVGUseElement extends SVGGraphicsElement, SVGURIReference { readonly y: SVGAnimatedLength; addEventListener(type: K, listener: (this: SVGUseElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGUseElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGUseElement: { @@ -10321,7 +10336,7 @@ declare var SVGUseElementShadowRoot: { interface SVGViewElement extends SVGElement, SVGFitToViewBox, SVGZoomAndPan { addEventListener(type: K, listener: (this: SVGViewElement, ev: ElementEventMap[K]) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: SVGViewElement, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SVGViewElement: { @@ -10388,7 +10403,7 @@ interface TextTrack extends EventTarget { addCue(cue: TextTrackCue): void; removeCue(cue: TextTrackCue): void; addEventListener(type: K, listener: (this: TextTrack, ev: TextTrackEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var TextTrack: { @@ -10410,7 +10425,7 @@ interface TextTrackCue extends EventTarget { startTime: number; readonly track: TextTrack | null; addEventListener(type: K, listener: (this: TextTrackCue, ev: TextTrackCueEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var TextTrackCue: { @@ -10442,7 +10457,7 @@ interface TextTrackList extends EventTarget { onremovetrack: (this: TextTrackList, ev: TrackEvent) => any; getTrackById(id: string): TextTrack | null; addEventListener(type: K, listener: (this: TextTrackList, ev: TextTrackListEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; [index: number]: TextTrack; } @@ -10497,7 +10512,7 @@ interface TouchEvent extends UIEvent { declare var TouchEvent: { prototype: TouchEvent; - new(type: string, touchEventInit?: TouchEventInit): TouchEvent; + new(type: string, eventInitDict?: TouchEventInit): TouchEvent; }; interface TouchList { @@ -10676,7 +10691,7 @@ interface VideoTrackList extends EventTarget { readonly selectedIndex: number; getTrackById(id: string): VideoTrack | null; addEventListener(type: K, listener: (this: VideoTrackList, ev: VideoTrackListEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; [index: number]: VideoTrack; } @@ -10826,7 +10841,7 @@ interface WebSocket extends EventTarget { readonly CONNECTING: number; readonly OPEN: number; addEventListener(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var WebSocket: { @@ -10934,7 +10949,7 @@ interface Window extends EventTarget, GlobalEventHandlers, WindowEventHandlers, createImageBitmap(image: HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | ImageData | Blob, options?: ImageBitmapOptions): Promise; createImageBitmap(image: HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | ImageData | Blob, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise; addEventListener(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var Window: { @@ -10953,7 +10968,7 @@ interface Worker extends EventTarget, AbstractWorker { postMessage(message: any, transfer?: any[]): void; terminate(): void; addEventListener(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var Worker: { @@ -10972,7 +10987,7 @@ declare var Worklet: { interface XMLDocument extends Document { addEventListener(type: K, listener: (this: XMLDocument, ev: DocumentEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var XMLDocument: { @@ -11014,7 +11029,7 @@ interface XMLHttpRequest extends XMLHttpRequestEventTarget { readonly OPENED: number; readonly UNSENT: number; addEventListener(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var XMLHttpRequest: { @@ -11046,7 +11061,7 @@ interface XMLHttpRequestEventTarget extends EventTarget { onprogress: (this: XMLHttpRequest, ev: ProgressEvent) => any; ontimeout: (this: XMLHttpRequest, ev: ProgressEvent) => any; addEventListener(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var XMLHttpRequestEventTarget: { @@ -11056,7 +11071,7 @@ declare var XMLHttpRequestEventTarget: { interface XMLHttpRequestUpload extends XMLHttpRequestEventTarget { addEventListener(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var XMLHttpRequestUpload: { @@ -11080,7 +11095,7 @@ interface AbstractWorkerEventMap { interface AbstractWorker { onerror: (this: AbstractWorker, ev: ErrorEvent) => any; addEventListener(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } interface ANGLE_instanced_arrays { @@ -11242,7 +11257,7 @@ interface ConstrainablePattern { getConstraints(): Constraints; getSettings(): Settings; addEventListener(type: K, listener: (this: ConstrainablePattern, ev: ConstrainablePatternEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } interface Coordinates { @@ -11281,7 +11296,7 @@ interface DocumentAndElementEventHandlers { oncut: (this: DocumentAndElementEventHandlers, ev: Event) => any; onpaste: (this: DocumentAndElementEventHandlers, ev: Event) => any; addEventListener(type: K, listener: (this: DocumentAndElementEventHandlers, ev: DocumentAndElementEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } interface DocumentOrShadowRoot { @@ -11503,7 +11518,7 @@ interface GlobalEventHandlers { onwaiting: (this: GlobalEventHandlers, ev: Event) => any; onwheel: (this: GlobalEventHandlers, ev: WheelEvent) => any; addEventListener(type: K, listener: (this: GlobalEventHandlers, ev: GlobalEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } interface GlobalPerformance { @@ -12184,7 +12199,7 @@ interface WindowEventHandlers { onunhandledrejection: (this: WindowEventHandlers, ev: PromiseRejectionEvent) => any; onunload: (this: WindowEventHandlers, ev: Event) => any; addEventListener(type: K, listener: (this: WindowEventHandlers, ev: WindowEventHandlersEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } interface WindowLocalStorage { @@ -12403,8 +12418,6 @@ declare var DOMException: { readonly DATA_CLONE_ERR: number; }; -declare type EventListenerOrEventListenerObject = EventListener | EventListenerObject; - interface BlobCallback { (blob: Blob | null): void; } @@ -12729,7 +12742,7 @@ declare function createImageBitmap(image: HTMLImageElement | SVGImageElement | H declare function createImageBitmap(image: HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | ImageData | Blob, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise; declare function toString(): string; declare function dispatchEvent(event: Event): boolean; -declare function removeEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +declare function removeEventListener(type: string, callback: EventListener | null, options?: EventListenerOptions | boolean): void; declare var onabort: (this: Window, ev: Event) => any; declare var onanimationcancel: (this: Window, ev: AnimationEvent) => any; declare var onanimationend: (this: Window, ev: AnimationEvent) => any; @@ -12850,7 +12863,7 @@ declare var performance: Performance; declare var crypto: Crypto; declare var speechSynthesis: SpeechSynthesis; declare function addEventListener(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, useCapture?: boolean): void; -declare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare function addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; type AlgorithmIdentifier = any; type BigInteger = Uint8Array; type BlobPart = BufferSource | Blob | string; diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index 845bcff64..485384302 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -283,13 +283,7 @@ interface WorkerOptions { type?: WorkerType; } -interface EventListener { - (evt: Event): void; -} - -interface NodeFilter { - (evt: Event): void; -} +type EventListener = (event: Event) => void | { handleEvent(event: Event): void; }; interface Blob { readonly size: number; @@ -314,7 +308,7 @@ interface BroadcastChannel extends EventTarget { close(): void; postMessage(message: any): void; addEventListener(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var BroadcastChannel: { @@ -448,7 +442,7 @@ interface DedicatedWorkerGlobalScope extends WorkerGlobalScope { close(): void; postMessage(message: any, transfer?: any[]): void; addEventListener(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var DedicatedWorkerGlobalScope: { @@ -699,7 +693,7 @@ interface EventSource extends EventTarget { readonly CONNECTING: number; readonly OPEN: number; addEventListener(type: K, listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var EventSource: { @@ -711,9 +705,9 @@ declare var EventSource: { }; interface EventTarget { - addEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, callback: EventListener | null, options?: AddEventListenerOptions | boolean): void; dispatchEvent(event: Event): boolean; - removeEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, callback: EventListener | null, options?: EventListenerOptions | boolean): void; } declare var EventTarget: { @@ -806,7 +800,7 @@ interface FileReader extends EventTarget { readonly EMPTY: number; readonly LOADING: number; addEventListener(type: K, listener: (this: FileReader, ev: FileReaderEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var FileReader: { @@ -841,8 +835,8 @@ declare var ForeignFetchEvent: { }; interface FormData { - append(name: string, value: string | Blob, fileName?: string): void; - append(name: string, value: string | Blob, fileName?: string): void; + append(name: string, value: string): void; + append(name: string, blobValue: Blob, filename?: string): void; delete(name: string): void; get(name: string): FormDataEntryValue | null; getAll(name: string): FormDataEntryValue[]; @@ -866,7 +860,7 @@ interface Headers { declare var Headers: { prototype: Headers; - new(init?: Headers | string[][] | object): Headers; + new(init?: HeadersInit): Headers; }; interface IDBCursor { @@ -916,7 +910,7 @@ interface IDBDatabase extends EventTarget { transaction(storeNames: string | string[], mode?: IDBTransactionMode): IDBTransaction; addEventListener(type: "versionchange", listener: (ev: IDBVersionChangeEvent) => any, useCapture?: boolean): void; addEventListener(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var IDBDatabase: { @@ -1008,7 +1002,7 @@ interface IDBOpenDBRequest extends IDBRequest { onblocked: (this: IDBOpenDBRequest, ev: Event) => any; onupgradeneeded: (this: IDBOpenDBRequest, ev: IDBVersionChangeEvent) => any; addEventListener(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var IDBOpenDBRequest: { @@ -1030,7 +1024,7 @@ interface IDBRequest extends EventTarget { source: IDBObjectStore | IDBIndex | IDBCursor; readonly transaction: IDBTransaction | null; addEventListener(type: K, listener: (this: IDBRequest, ev: IDBRequestEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var IDBRequest: { @@ -1055,7 +1049,7 @@ interface IDBTransaction extends EventTarget { abort(): void; objectStore(name: string): IDBObjectStore; addEventListener(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var IDBTransaction: { @@ -1141,7 +1135,7 @@ interface MessagePort extends EventTarget { postMessage(message: any, transfer?: any[]): void; start(): void; addEventListener(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var MessagePort: { @@ -1189,7 +1183,7 @@ interface Notification extends EventTarget { readonly vibrate: ReadonlyArray; close(): void; addEventListener(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var Notification: { @@ -1259,7 +1253,7 @@ interface Performance extends EventTarget { now(): number; setResourceTimingBufferSize(maxSize: number): void; addEventListener(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var Performance: { @@ -1461,7 +1455,7 @@ interface ServiceWorker extends EventTarget, AbstractWorker { readonly state: ServiceWorkerState; postMessage(message: any, transfer?: any[]): void; addEventListener(type: K, listener: (this: ServiceWorker, ev: ServiceWorkerEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var ServiceWorker: { @@ -1479,12 +1473,12 @@ interface ServiceWorkerContainer extends EventTarget { oncontrollerchange: (this: ServiceWorkerContainer, ev: Event) => any; onmessage: (this: ServiceWorkerContainer, ev: MessageEvent) => any; readonly ready: Promise; - getRegistration(): Promise; + getRegistration(clientURL?: string): Promise; getRegistrations(): Promise; register(scriptURL: string, options?: RegistrationOptions): Promise; startMessages(): void; addEventListener(type: K, listener: (this: ServiceWorkerContainer, ev: ServiceWorkerContainerEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var ServiceWorkerContainer: { @@ -1520,7 +1514,7 @@ interface ServiceWorkerGlobalScope extends WorkerGlobalScope { readonly registration: ServiceWorkerRegistration; skipWaiting(): Promise; addEventListener(type: K, listener: (this: ServiceWorkerGlobalScope, ev: ServiceWorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var ServiceWorkerGlobalScope: { @@ -1547,7 +1541,7 @@ interface ServiceWorkerRegistration extends EventTarget { unregister(): Promise; update(): Promise; addEventListener(type: K, listener: (this: ServiceWorkerRegistration, ev: ServiceWorkerRegistrationEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var ServiceWorkerRegistration: { @@ -1558,7 +1552,7 @@ declare var ServiceWorkerRegistration: { interface SharedWorker extends EventTarget, AbstractWorker { readonly port: MessagePort; addEventListener(type: K, listener: (this: SharedWorker, ev: AbstractWorkerEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SharedWorker: { @@ -1575,7 +1569,7 @@ interface SharedWorkerGlobalScope extends WorkerGlobalScope { onconnect: (this: SharedWorkerGlobalScope, ev: MessageEvent) => any; close(): void; addEventListener(type: K, listener: (this: SharedWorkerGlobalScope, ev: SharedWorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var SharedWorkerGlobalScope: { @@ -1707,7 +1701,7 @@ interface WebSocket extends EventTarget { readonly CONNECTING: number; readonly OPEN: number; addEventListener(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var WebSocket: { @@ -1743,7 +1737,7 @@ interface Worker extends EventTarget, AbstractWorker { postMessage(message: any, transfer?: any[]): void; terminate(): void; addEventListener(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var Worker: { @@ -1773,7 +1767,7 @@ interface WorkerGlobalScope extends EventTarget, WindowOrWorkerGlobalScope, Glob createImageBitmap(image: ImageBitmap | ImageData | Blob, options?: ImageBitmapOptions): Promise; createImageBitmap(image: ImageBitmap | ImageData | Blob, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise; addEventListener(type: K, listener: (this: WorkerGlobalScope, ev: WorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var WorkerGlobalScope: { @@ -1840,7 +1834,7 @@ interface XMLHttpRequest extends XMLHttpRequestEventTarget { readonly OPENED: number; readonly UNSENT: number; addEventListener(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var XMLHttpRequest: { @@ -1872,7 +1866,7 @@ interface XMLHttpRequestEventTarget extends EventTarget { onprogress: (this: XMLHttpRequest, ev: ProgressEvent) => any; ontimeout: (this: XMLHttpRequest, ev: ProgressEvent) => any; addEventListener(type: K, listener: (this: XMLHttpRequestEventTarget, ev: XMLHttpRequestEventTargetEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var XMLHttpRequestEventTarget: { @@ -1882,7 +1876,7 @@ declare var XMLHttpRequestEventTarget: { interface XMLHttpRequestUpload extends XMLHttpRequestEventTarget { addEventListener(type: K, listener: (this: XMLHttpRequestUpload, ev: XMLHttpRequestEventTargetEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } declare var XMLHttpRequestUpload: { @@ -1897,7 +1891,7 @@ interface AbstractWorkerEventMap { interface AbstractWorker { onerror: (this: AbstractWorker, ev: ErrorEvent) => any; addEventListener(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, useCapture?: boolean): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; } interface Body { @@ -2205,8 +2199,6 @@ declare var DOMException: { readonly DATA_CLONE_ERR: number; }; -declare type EventListenerOrEventListenerObject = EventListener | EventListenerObject; - interface NotificationPermissionCallback { (permission: NotificationPermission): void; } @@ -2234,7 +2226,7 @@ declare function importScripts(...urls: string[]): void; declare function createImageBitmap(image: ImageBitmap | ImageData | Blob, options?: ImageBitmapOptions): Promise; declare function createImageBitmap(image: ImageBitmap | ImageData | Blob, sx: number, sy: number, sw: number, sh: number, options?: ImageBitmapOptions): Promise; declare function dispatchEvent(event: Event): boolean; -declare function removeEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +declare function removeEventListener(type: string, callback: EventListener | null, options?: EventListenerOptions | boolean): void; declare var caches: CacheStorage; declare var indexedDB: IDBFactory; declare var origin: string; @@ -2252,9 +2244,9 @@ declare function setTimeout(handler: any, timeout?: any, ...args: any[]): number declare var performance: Performance; declare var crypto: Crypto; declare function dispatchEvent(event: Event): boolean; -declare function removeEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +declare function removeEventListener(type: string, callback: EventListener | null, options?: EventListenerOptions | boolean): void; declare function addEventListener(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, useCapture?: boolean): void; -declare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void; +declare function addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; type AlgorithmIdentifier = any; type BodyInit = Blob | BufferSource | FormData | URLSearchParams | ReadableStream | string; type BufferSource = ArrayBufferView | ArrayBuffer; diff --git a/inputfiles/overridingTypes.json b/inputfiles/overridingTypes.json index 017066062..957112f4d 100644 --- a/inputfiles/overridingTypes.json +++ b/inputfiles/overridingTypes.json @@ -984,256 +984,5 @@ "interface": "DOMImplementation", "name": "createDocument", "signatures": ["createDocument(namespaceURI: string | null, qualifiedName: string | null, doctype: DocumentType | null): Document"] - }, - { - "kind": "method", - "interface": "FormData", - "name": "append", - "flavor": "Web", - "signatures": ["append(name: string, value: string | Blob, fileName?: string): void"] - }, - { - "kind": "method", - "interface": "EventTarget", - "name": "addEventListener", - "signatures": ["addEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void"] - }, - { - "kind": "method", - "interface": "EventTarget", - "name": "removeEventListener", - "signatures": ["removeEventListener(type: string, listener?: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void"] - }, - { - "kind": "constructor", - "interface": "TouchEvent", - "signatures": [ - "new(type: string, touchEventInit?: TouchEventInit): TouchEvent" - ] - }, - { - "kind": "constructor", - "interface": "Text", - "signatures": [ - "new(data?: string): Text" - ] - }, - { - "kind": "method", - "interface": "HTMLMediaElement", - "name": "play", - "signatures": [ - "play(): Promise" - ] - }, - { - "kind": "constructor", - "interface": "DragEvent", - "signatures": [ - "new(type: \"drag\" | \"dragend\" | \"dragenter\" | \"dragexit\" | \"dragleave\" | \"dragover\" | \"dragstart\" | \"drop\", dragEventInit?: { dataTransfer?: DataTransfer }): DragEvent" - ] - }, - { - "kind": "property", - "interface": "HTMLAppletElement", - "readonly": true, - "name": "form", - "type": "HTMLFormElement | null" - }, - { - "kind": "property", - "interface": "HTMLButtonElement", - "readonly": true, - "name": "form", - "type": "HTMLFormElement | null" - }, - { - "kind": "property", - "interface": "HTMLFieldSetElement", - "readonly": true, - "name": "form", - "type": "HTMLFormElement | null" - }, - { - "kind": "property", - "interface": "HTMLInputElement", - "readonly": true, - "name": "form", - "type": "HTMLFormElement | null" - }, - { - "kind": "property", - "interface": "HTMLLabelElement", - "readonly": true, - "name": "form", - "type": "HTMLFormElement | null" - }, - { - "kind": "property", - "interface": "HTMLLegendElement", - "readonly": true, - "name": "form", - "type": "HTMLFormElement | null" - }, - { - "kind": "property", - "interface": "HTMLObjectElement", - "readonly": true, - "name": "form", - "type": "HTMLFormElement | null" - }, - { - "kind": "property", - "interface": "HTMLOptGroupElement", - "readonly": true, - "name": "form", - "type": "HTMLFormElement | null" - }, - { - "kind": "property", - "interface": "HTMLOptionElement", - "readonly": true, - "name": "form", - "type": "HTMLFormElement | null" - }, - { - "kind": "property", - "interface": "HTMLOutputElement", - "readonly": true, - "name": "form", - "type": "HTMLFormElement | null" - }, - { - "kind": "property", - "interface": "HTMLProgressElement", - "readonly": true, - "name": "form", - "type": "HTMLFormElement | null" - }, - { - "kind": "property", - "interface": "HTMLSelectElement", - "readonly": true, - "name": "form", - "type": "HTMLFormElement | null" - }, - { - "kind": "property", - "interface": "HTMLTextAreaElement", - "readonly": true, - "name": "form", - "type": "HTMLFormElement | null" - }, - { - "kind": "method", - "interface": "RandomSource", - "name": "getRandomValues", - "signatures": [ - "getRandomValues(array: T): T" - ] - }, - { - "kind": "property", - "interface": "HTMLAppletElement", - "readonly": true, - "name": "form", - "type": "HTMLFormElement | null" - }, - { - "kind": "property", - "interface": "HTMLButtonElement", - "readonly": true, - "name": "form", - "type": "HTMLFormElement | null" - }, - { - "kind": "property", - "interface": "HTMLFieldSetElement", - "readonly": true, - "name": "form", - "type": "HTMLFormElement | null" - }, - { - "kind": "property", - "interface": "HTMLInputElement", - "readonly": true, - "name": "form", - "type": "HTMLFormElement | null" - }, - { - "kind": "property", - "interface": "HTMLLabelElement", - "readonly": true, - "name": "form", - "type": "HTMLFormElement | null" - }, - { - "kind": "property", - "interface": "HTMLegendElement", - "readonly": true, - "name": "form", - "type": "HTMLFormElement | null" - }, - { - "kind": "property", - "interface": "HTMLObjectElement", - "readonly": true, - "name": "form", - "type": "HTMLFormElement | null" - }, - { - "kind": "property", - "interface": "HTMLOptGroupElement", - "readonly": true, - "name": "form", - "type": "HTMLFormElement | null" - }, - { - "kind": "property", - "interface": "HTMLOptionElement", - "readonly": true, - "name": "form", - "type": "HTMLFormElement | null" - }, - { - "kind": "property", - "interface": "HTMLOutputElement", - "readonly": true, - "name": "form", - "type": "HTMLFormElement | null" - }, - { - "kind": "property", - "interface": "HTMLProgressElement", - "readonly": true, - "name": "form", - "type": "HTMLFormElement | null" - }, - { - "kind": "property", - "interface": "HTMLSelectElement", - "readonly": true, - "name": "form", - "type": "HTMLFormElement | null" - }, - { - "kind": "property", - "interface": "HTMLTextAreaElement", - "readonly": true, - "name": "form", - "type": "HTMLFormElement | null" - }, - { - "kind": "constructor", - "interface": "Headers", - "signatures": [ - "new(init?: Headers | string[][] | object): Headers" - ] - }, - { - "kind": "method", - "interface": "ServiceWorkerContainer", - "name": "getRegistration", - "signatures": ["getRegistration(): Promise"] } ] From e8941c501609a68b10d7aec3db9bb0e9fcc8c361 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Wed, 17 May 2017 20:24:01 +0900 Subject: [PATCH 46/50] housekeeping --- TS.fsx | 69 +++++------------ inputfiles/knownWorkerEnums.json | 21 ----- inputfiles/knownWorkerInterfaces.json | 107 -------------------------- 3 files changed, 18 insertions(+), 179 deletions(-) delete mode 100644 inputfiles/knownWorkerEnums.json delete mode 100644 inputfiles/knownWorkerInterfaces.json diff --git a/TS.fsx b/TS.fsx index b9b4d5e27..a88bf63a4 100644 --- a/TS.fsx +++ b/TS.fsx @@ -119,6 +119,11 @@ module Types = | Method of Browser.Method | Ctor of Browser.Constructor | CallBackFun of Browser.CallbackFunction + member self.Params = + match self with + | Method m -> m.Params + | Ctor ctor -> ctor.Params + | CallBackFun callback -> callback.Params type InterfaceOrNamespace = | Interface of Browser.Interface @@ -348,45 +353,24 @@ module Data = let allWebNonCallbackInterfaces = Array.concat [| browser.Interfaces; browser.MixinInterfaces.Interfaces |] - let allWebInterfaces = - Array.concat [| browser.Interfaces; browser.CallbackInterfaces.Interfaces; browser.MixinInterfaces.Interfaces |] - let allInterfaces = - Array.concat [| allWebInterfaces |] + Array.concat [| browser.Interfaces; browser.CallbackInterfaces.Interfaces; browser.MixinInterfaces.Interfaces |] let inline toNameMap< ^a when ^a: (member Name: string) > (data: array< ^a > ) = data |> Array.map (fun x -> ((^a: (member Name: string) x), x)) |> Map.ofArray - let allInterfacesMap = - allInterfaces |> toNameMap + let allInterfacesMap = allInterfaces |> toNameMap - let allDictionariesMap = - Array.concat [| browser.Dictionaries |] - |> toNameMap + let allDictionariesMap = browser.Dictionaries |> toNameMap - let allEnumsMap = - Array.concat [| browser.Enums |] - |> toNameMap + let allEnumsMap = browser.Enums |> toNameMap - let allCallbackFuncs = - Array.concat [| browser.CallbackFunctions |] - |> toNameMap + let allCallbackFuncs = browser.CallbackFunctions |> toNameMap let GetInterfaceByName = allInterfacesMap.TryFind - type KnownWorkerInterfaceType = JsonProvider<"inputfiles/knownWorkerInterfaces.json", InferTypesFromValues=false> - let knownWorkerInterfaces = - File.ReadAllText(Path.Combine(GlobalVars.inputFolder, "knownWorkerInterfaces.json")) - |> KnownWorkerInterfaceType.Parse - |> set - - let knownWorkerEnums = - File.ReadAllText(Path.Combine(GlobalVars.inputFolder, "knownWorkerEnums.json")) - |> KnownWorkerInterfaceType.Parse - |> set - let GetNonCallbackInterfacesByFlavor flavor = allWebNonCallbackInterfaces |> Array.filter (ShouldKeep flavor) @@ -474,12 +458,11 @@ module Data = yield! [ for e in i.Elements do yield (e.Name, i.Name) ] ] |> Seq.groupBy fst - |> Seq.map (fun (key, group) -> (key, Seq.map snd group)) - |> Seq.map (fun (key, group) -> + |> Seq.map ((fun (key, group) -> (key, Seq.map snd group)) >> (fun (key, group) -> key, match Seq.length group with | 1 -> Seq.head group - | _ -> resolveElementConflict key group) + | _ -> resolveElementConflict key group)) |> Map.ofSeq /// Interface name to all its implemented / inherited interfaces name list map @@ -616,28 +599,12 @@ module Data = /// Return a sequence of returntype * HashSet tuple let GetOverloads (f : Function) (decomposeMultipleTypes : bool) = let getParams (f : Function) = - match f with - | Method m -> - [ for p in m.Params do - yield { Type = p.Type - Name = p.Name - Optional = p.Optional.IsSome - Variadic = p.Variadic.IsSome - Nullable = p.Nullable.IsSome } ] - | Ctor c -> - [ for p in c.Params do - yield { Type = p.Type - Name = p.Name - Optional = p.Optional.IsSome - Variadic = p.Variadic.IsSome - Nullable = p.Nullable.IsSome } ] - | CallBackFun cb -> - [ for p in cb.Params do - yield { Type = p.Type - Name = p.Name - Optional = p.Optional.IsSome - Variadic = p.Variadic.IsSome - Nullable = p.Nullable.IsSome } ] + [ for p in f.Params do + yield { Type = p.Type + Name = p.Name + Optional = p.Optional.IsSome + Variadic = p.Variadic.IsSome + Nullable = p.Nullable.IsSome } ] let getReturnType (f : Function) = match f with diff --git a/inputfiles/knownWorkerEnums.json b/inputfiles/knownWorkerEnums.json deleted file mode 100644 index cd779c566..000000000 --- a/inputfiles/knownWorkerEnums.json +++ /dev/null @@ -1,21 +0,0 @@ -[ - "IDBCursorDirection", - "IDBRequestReadyState", - "IDBTransactionMode", - "MediaKeyStatus", - "NotificationDirection", - "NotificationPermission", - "PushPermissionState", - "PushEncryptionKeyName", - "ReferrerPolicy", - "RequestCache", - "RequestCredentials", - "RequestDestination", - "RequestMode", - "RequestRedirect", - "RequestType", - "ResponseType", - "ServiceWorkerState", - "VisibilityState", - "XMLHttpRequestResponseType" -] \ No newline at end of file diff --git a/inputfiles/knownWorkerInterfaces.json b/inputfiles/knownWorkerInterfaces.json deleted file mode 100644 index 18f85a0c8..000000000 --- a/inputfiles/knownWorkerInterfaces.json +++ /dev/null @@ -1,107 +0,0 @@ -[ - "AbstractWorker", - "Algorithm", - "AlgorithmIdentifier", - "AudioBuffer", - "Blob", - "Body", - "BodyInit", - "Cache", - "CacheQueryOptions", - "CacheStorage", - "ClientQueryOptions", - "CloseEvent", - "CloseEventInit", - "Console", - "Coordinates", - "CryptoKey", - "DOMError", - "DOMException", - "DOMStringList", - "DecodeErrorCallback", - "DecodeSuccessCallback", - "ErrorEvent", - "ErrorEventHandler", - "Event", - "EventInit", - "EventListener", - "EventTarget", - "ExtendableEventInit", - "ExtendableMessageEventInit", - "FetchEventInit", - "File", - "FileList", - "FileReader", - "ForEachCallback", - "FormData", - "FunctionStringCallback", - "GetNotificationOptions", - "GlobalFetch", - "Headers", - "IDBCursor", - "IDBCursorWithValue", - "IDBDatabase", - "IDBFactory", - "IDBIndex", - "IDBIndexParameters", - "IDBKeyPath", - "IDBKeyRange", - "IDBObjectStore", - "IDBObjectStoreParameters", - "IDBOpenDBRequest", - "IDBRequest", - "IDBTransaction", - "IDBVersionChangeEvent", - "ImageBitmap", - "ImageBitmapOptions", - "ImageData", - "KeyAlgorithm", - "MessageChannel", - "MessageEvent", - "MessageEventInit", - "MessagePort", - "MSBaseReader", - "NavigatorBeacon", - "NavigatorConcurrentHardware", - "NavigatorID", - "NavigatorOnLine", - "Notification", - "NotificationEventInit", - "NotificationOptions", - "NotificationPermissionCallback", - "ObjectURLOptions", - "Performance", - "PerformanceNavigation", - "PerformanceTiming", - "Position", - "PositionCallback", - "PositionError", - "PositionErrorCallback", - "ProgressEvent", - "PushEventInit", - "PushManager", - "PushSubscription", - "PushSubscriptionOptions", - "PushSubscriptionOptionsInit", - "ReadableStream", - "ReadableStreamReader", - "Request", - "RequestInfo", - "RequestInit", - "Response", - "ResponseInit", - "ServiceWorker", - "ServiceWorkerRegistration", - "SyncEventInit", - "SyncManager", - "USVString", - "URL", - "URLSearchParams", - "WebSocket", - "WindowBase64", - "WindowConsole", - "Worker", - "XMLHttpRequest", - "XMLHttpRequestEventTarget", - "XMLHttpRequestUpload" -] From 36ea9ab85eb5f1960596b029d889c5618ad2b14e Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Thu, 18 May 2017 00:00:10 +0900 Subject: [PATCH 47/50] fix null check --- TS.fsx | 119 +++++++++++++++-------------- baselines/dom.generated.d.ts | 6 +- baselines/webworker.generated.d.ts | 4 +- 3 files changed, 66 insertions(+), 63 deletions(-) diff --git a/TS.fsx b/TS.fsx index a88bf63a4..d60b3f9f4 100644 --- a/TS.fsx +++ b/TS.fsx @@ -691,64 +691,6 @@ module Emit = let integerTypes = ["byte";"octet";"short";"unsigned short";"long";"unsigned long";"long long";"unsigned long long"] - /// Get typescript type using object dom type, object name, and it's associated interface name - let rec DomTypeToTsType (objDomType: string) = - match objDomType.Trim('?') with - | "any" -> "any" - | "bool" | "boolean" | "Boolean" -> "boolean" - | "Date" -> "Date" - | "Error" -> "Error" - | "DOMException" -> "DOMException" - | "DOMHighResTimeStamp" -> "number" - | "DOMString" | "USVString" | "ByteString" -> "string" - | "DOMTimeStamp" -> "number" - | "double" | "float" | "unrestricted double" | "unrestricted float" -> "number" - | "Function" -> "Function" - | "FrozenArray" -> "ReadonlyArray" - | "object" -> "any" - | "Promise" -> "Promise" - | "ReadyState" -> "string" - | "sequence" -> "Array" - | "record" -> "record" - | "void" -> "void" - | integerType when List.contains integerType integerTypes -> "number" - | extendedType when List.contains extendedType extendedTypes -> extendedType - | _ -> - if ignoreDOMTypes && (Seq.contains objDomType ["Element"; "Window"; "Document"; "WindowProxy"; "WebGLRenderingContext"] || objDomType.StartsWith "HTML") then "never" - elif objDomType = "WindowProxy" then "Window" - else - // Name of an interface / enum / dict. Just return itself - if allInterfacesMap.ContainsKey objDomType || - allCallbackFuncs.ContainsKey objDomType || - allDictionariesMap.ContainsKey objDomType || - allEnumsMap.ContainsKey objDomType then - objDomType - // Name of a type alias. Just return itself - elif typeDefSet.Contains objDomType then objDomType - // Union types - elif objDomType.Contains(" or ") then - let allTypes = objDomType.Trim('(', ')').Split([|" or "|], StringSplitOptions.None) - |> Array.map (fun t -> DomTypeToTsType (t.Trim('?', ' '))) - if Seq.contains "any" allTypes then "any" else String.concat " | " allTypes - else - // Check if is array type, which looks like "sequence" - let unescaped = System.Web.HttpUtility.HtmlDecode(objDomType) - let genericMatch = Regex.Match(unescaped, @"^(\w+)<([\w, <>]+)>$") - if genericMatch.Success then - let tName = DomTypeToTsType (genericMatch.Groups.[1].Value) - let paramNames = - genericMatch.Groups.[2].Value.Split([| ", " |], StringSplitOptions.None) - |> Array.map DomTypeToTsType - match tName with - | "Array" -> paramNames.[0] + "[]" - | "record" -> "{ [key: string]: " + paramNames.[1] + " }" - | _ -> tName + "<" + (paramNames |> String.concat ", ") + ">" - elif objDomType.EndsWith("[]") then - let elementType = objDomType.Replace("[]", "").Trim() |> DomTypeToTsType - elementType + "[]" - else "any" - - let makeNullable (originalType: string) = match originalType with | "any" -> "any" @@ -757,6 +699,67 @@ module Emit = | functionType when functionType.Contains "=>" -> "(" + functionType + ") | null" | _ -> originalType + " | null" + /// Get typescript type using object dom type, object name, and it's associated interface name + let rec DomTypeToTsType (objDomType: string) = + let nullable = objDomType.EndsWith "?" + let nonNullType = objDomType.Trim('?') + let resolvedType = + match nonNullType with + | "any" -> "any" + | "bool" | "boolean" | "Boolean" -> "boolean" + | "Date" -> "Date" + | "Error" -> "Error" + | "DOMException" -> "DOMException" + | "DOMHighResTimeStamp" -> "number" + | "DOMString" | "USVString" | "ByteString" -> "string" + | "DOMTimeStamp" -> "number" + | "double" | "float" | "unrestricted double" | "unrestricted float" -> "number" + | "Function" -> "Function" + | "FrozenArray" -> "ReadonlyArray" + | "object" -> "any" + | "Promise" -> "Promise" + | "sequence" -> "Array" + | "record" -> "record" + | "void" -> "void" + | integerType when List.contains integerType integerTypes -> "number" + | extendedType when List.contains extendedType extendedTypes -> extendedType + | _ -> + if ignoreDOMTypes && (Seq.contains nonNullType ["Element"; "Window"; "Document"; "WindowProxy"; "WebGLRenderingContext"] || nonNullType.StartsWith "HTML") then "never" + elif nonNullType = "WindowProxy" then "Window" + else + // Name of an interface / enum / dict. Just return itself + if allInterfacesMap.ContainsKey nonNullType || + allCallbackFuncs.ContainsKey nonNullType || + allDictionariesMap.ContainsKey nonNullType || + allEnumsMap.ContainsKey nonNullType then + nonNullType + // Name of a type alias. Just return itself + elif typeDefSet.Contains nonNullType then nonNullType + // Union types + elif nonNullType.Contains(" or ") then + let allTypes = nonNullType.Trim('(', ')').Split([|" or "|], StringSplitOptions.None) + |> Array.map DomTypeToTsType + if Seq.contains "any" allTypes then "any" else String.concat " | " allTypes + else + // Check if is array type, which looks like "sequence" + let unescaped = System.Web.HttpUtility.HtmlDecode(nonNullType) + let genericMatch = Regex.Match(unescaped, @"^(\w+)<(.+)>$") + if genericMatch.Success then + let tName = DomTypeToTsType (genericMatch.Groups.[1].Value) + let paramNames = + genericMatch.Groups.[2].Value.Split([| ", " |], StringSplitOptions.None) + |> Array.map DomTypeToTsType + match tName with + | "Array" -> if paramNames.[0].Contains "|" then "(" + paramNames.[0] + ")" + "[]" else paramNames.[0] + "[]" + | "record" -> "{ [key: string]: " + paramNames.[1] + " }" + | _ -> tName + "<" + (paramNames |> String.concat ", ") + ">" + elif nonNullType.EndsWith("[]") then + let elementType = nonNullType.Replace("[]", "").Trim() |> DomTypeToTsType + elementType + "[]" + else "any" + + if nullable then makeNullable resolvedType else resolvedType + let DomTypeToNullableTsType (objDomType: string) (nullable: bool) = let resolvedType = DomTypeToTsType objDomType if nullable then makeNullable resolvedType else resolvedType diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 4d76bbbf7..be73c4f2f 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -6881,7 +6881,7 @@ interface MediaSource extends EventTarget { onsourceclose: (this: MediaSource, ev: Event) => any; onsourceended: (this: MediaSource, ev: Event) => any; onsourceopen: (this: MediaSource, ev: Event) => any; - readonly readyState: string; + readonly readyState: ReadyState; readonly sourceBuffers: SourceBufferList; addSourceBuffer(type: string): SourceBuffer; clearLiveSeekableRange(): void; @@ -7153,7 +7153,7 @@ interface Navigator extends NavigatorID, NavigatorLanguage, NavigatorOnLine, Nav readonly serviceWorker: ServiceWorkerContainer; readonly hardwareConcurrency: number; readonly languages: string[]; - getGamepads(): any; + getGamepads(): (Gamepad | null)[]; requestMediaKeySystemAccess(keySystem: string, supportedConfigurations: MediaKeySystemConfiguration[]): Promise; sendBeacon(url: string, data?: BodyInit): boolean; vibrate(pattern: number | number[]): boolean; @@ -7742,7 +7742,7 @@ declare var PromiseRejectionEvent: { interface PushManager { readonly supportedContentEncodings: ReadonlyArray; - getSubscription(): any; + getSubscription(): Promise; permissionState(options?: PushSubscriptionOptionsInit): Promise; subscribe(options?: PushSubscriptionOptionsInit): Promise; } diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index 485384302..da25e798f 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -379,7 +379,7 @@ interface Clients { claim(): Promise; get(id: string): Promise; matchAll(options?: ClientQueryOptions): Promise; - openWindow(url: string): any; + openWindow(url: string): Promise; } declare var Clients: { @@ -1326,7 +1326,7 @@ declare var PushEvent: { interface PushManager { readonly supportedContentEncodings: ReadonlyArray; - getSubscription(): any; + getSubscription(): Promise; permissionState(options?: PushSubscriptionOptionsInit): Promise; subscribe(options?: PushSubscriptionOptionsInit): Promise; } From 96bc81b7aadce00d971aefd8d1353b216b10691b Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Thu, 18 May 2017 00:17:17 +0900 Subject: [PATCH 48/50] update input --- baselines/dom.generated.d.ts | 1 - inputfiles/browser.webidl.xml | 1 - 2 files changed, 2 deletions(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index be73c4f2f..7272ccbbc 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -2295,7 +2295,6 @@ interface CSSStyleDeclaration { cssFloat: CSSOMString; cssText: CSSOMString; cursor: string | null; - dashed_attribute: CSSOMString; direction: string | null; display: string | null; dominantBaseline: string | null; diff --git a/inputfiles/browser.webidl.xml b/inputfiles/browser.webidl.xml index a61d15392..2ecf245c0 100644 --- a/inputfiles/browser.webidl.xml +++ b/inputfiles/browser.webidl.xml @@ -3380,7 +3380,6 @@ - From 88a8ab863645314bb54e405708f7a18cd06ac756 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Thu, 18 May 2017 22:46:56 +0900 Subject: [PATCH 49/50] Merge branch 'event-handler' into constructors --- baselines/dom.generated.d.ts | 2 ++ baselines/webworker.generated.d.ts | 1 + inputfiles/browser.webidl.xml | 9 ++++++--- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 7272ccbbc..3fc13c455 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -11373,6 +11373,7 @@ interface GlobalEventHandlersEventMap { "durationchange": Event; "emptied": Event; "ended": Event; + "error": Event; "focus": Event; "input": Event; "invalid": Event; @@ -12165,6 +12166,7 @@ interface WebGLRenderingContextBase { interface WindowEventHandlersEventMap { "afterprint": Event; "beforeprint": Event; + "beforeunload": BeforeUnloadEvent; "hashchange": HashChangeEvent; "languagechange": Event; "message": MessageEvent; diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index da25e798f..f9f9599ed 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -1746,6 +1746,7 @@ declare var Worker: { }; interface WorkerGlobalScopeEventMap { + "error": ErrorEvent; "languagechange": Event; "offline": Event; "online": Event; diff --git a/inputfiles/browser.webidl.xml b/inputfiles/browser.webidl.xml index 2ecf245c0..116846d7c 100644 --- a/inputfiles/browser.webidl.xml +++ b/inputfiles/browser.webidl.xml @@ -10925,7 +10925,7 @@ - + @@ -10935,6 +10935,7 @@ WindowOrWorkerGlobalScope + @@ -11631,7 +11632,7 @@ - + @@ -11713,6 +11714,7 @@ + @@ -12943,7 +12945,7 @@ - + @@ -12961,6 +12963,7 @@ + From ac2d242c17133c436cc3aa1d01af66d430fa2626 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sat, 27 May 2017 17:20:41 +0900 Subject: [PATCH 50/50] update input xml --- baselines/dom.generated.d.ts | 726 +++++++++++++++++----------------- inputfiles/browser.webidl.xml | 721 +++++++++++++++++---------------- 2 files changed, 742 insertions(+), 705 deletions(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 3fc13c455..bf52dca1a 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -2123,15 +2123,6 @@ declare var CSSMarginRule: { new(): CSSMarginRule; }; -interface CSSMediaRule extends CSSGroupingRule { - readonly media: MediaList; -} - -declare var CSSMediaRule: { - prototype: CSSMediaRule; - new(): CSSMediaRule; -}; - interface CSSMediaRule extends CSSConditionRule { readonly media: MediaList; } @@ -2207,353 +2198,378 @@ declare var CSSRuleList: { }; interface CSSStyleDeclaration { - alignContent: string | null; - alignItems: string | null; - alignmentBaseline: string | null; - alignSelf: string | null; - animation: string | null; - animationDelay: string | null; - animationDirection: string | null; - animationDuration: string | null; - animationFillMode: string | null; - animationIterationCount: string | null; - animationName: string | null; - animationPlayState: string | null; - animationTimingFunction: string | null; - backfaceVisibility: string | null; - background: string | null; - backgroundAttachment: string | null; - backgroundClip: string | null; - backgroundColor: string | null; - backgroundImage: string | null; - backgroundOrigin: string | null; - backgroundPosition: string | null; - backgroundPositionX: string | null; - backgroundPositionY: string | null; - backgroundRepeat: string | null; - backgroundSize: string | null; - baselineShift: string | null; - border: string | null; - borderBottom: string | null; - borderBottomColor: string | null; - borderBottomLeftRadius: string | null; - borderBottomRightRadius: string | null; - borderBottomStyle: string | null; - borderBottomWidth: string | null; - borderCollapse: string | null; - borderColor: string | null; - borderImage: string | null; - borderImageOutset: string | null; - borderImageRepeat: string | null; - borderImageSlice: string | null; - borderImageSource: string | null; - borderImageWidth: string | null; - borderLeft: string | null; - borderLeftColor: string | null; - borderLeftStyle: string | null; - borderLeftWidth: string | null; - borderRadius: string | null; - borderRight: string | null; - borderRightColor: string | null; - borderRightStyle: string | null; - borderRightWidth: string | null; - borderSpacing: string | null; - borderStyle: string | null; - borderTop: string | null; - borderTopColor: string | null; - borderTopLeftRadius: string | null; - borderTopRightRadius: string | null; - borderTopStyle: string | null; - borderTopWidth: string | null; - borderWidth: string | null; - bottom: string | null; - boxShadow: string | null; - boxSizing: string | null; - breakAfter: string | null; - breakBefore: string | null; - breakInside: string | null; - captionSide: string | null; - clear: string | null; - clip: string | null; - clipPath: string | null; - clipRule: string | null; - color: string | null; - colorInterpolationFilters: string | null; - columnCount: any; - columnFill: string | null; - columnGap: any; - columnRule: string | null; - columnRuleColor: any; - columnRuleStyle: string | null; - columnRuleWidth: any; - columns: string | null; - columnSpan: string | null; - columnWidth: any; - content: string | null; - counterIncrement: string | null; - counterReset: string | null; + alignContent: CSSOMString; + alignItems: CSSOMString; + alignmentBaseline: CSSOMString; + alignSelf: CSSOMString; + animation: CSSOMString; + animationDelay: CSSOMString; + animationDirection: CSSOMString; + animationDuration: CSSOMString; + animationFillMode: CSSOMString; + animationIterationCount: CSSOMString; + animationName: CSSOMString; + animationPlayState: CSSOMString; + animationTimingFunction: CSSOMString; + backfaceVisibility: CSSOMString; + background: CSSOMString; + backgroundAttachment: CSSOMString; + backgroundClip: CSSOMString; + backgroundColor: CSSOMString; + backgroundImage: CSSOMString; + backgroundOrigin: CSSOMString; + backgroundPosition: CSSOMString; + backgroundPositionX: CSSOMString; + backgroundPositionY: CSSOMString; + backgroundRepeat: CSSOMString; + backgroundSize: CSSOMString; + baselineShift: CSSOMString; + border: CSSOMString; + borderBottom: CSSOMString; + borderBottomColor: CSSOMString; + borderBottomLeftRadius: CSSOMString; + borderBottomRightRadius: CSSOMString; + borderBottomStyle: CSSOMString; + borderBottomWidth: CSSOMString; + borderCollapse: CSSOMString; + borderColor: CSSOMString; + borderImage: CSSOMString; + borderImageOutset: CSSOMString; + borderImageRepeat: CSSOMString; + borderImageSlice: CSSOMString; + borderImageSource: CSSOMString; + borderImageWidth: CSSOMString; + borderLeft: CSSOMString; + borderLeftColor: CSSOMString; + borderLeftStyle: CSSOMString; + borderLeftWidth: CSSOMString; + borderRadius: CSSOMString; + borderRight: CSSOMString; + borderRightColor: CSSOMString; + borderRightStyle: CSSOMString; + borderRightWidth: CSSOMString; + borderSpacing: CSSOMString; + borderStyle: CSSOMString; + borderTop: CSSOMString; + borderTopColor: CSSOMString; + borderTopLeftRadius: CSSOMString; + borderTopRightRadius: CSSOMString; + borderTopStyle: CSSOMString; + borderTopWidth: CSSOMString; + borderWidth: CSSOMString; + bottom: CSSOMString; + boxShadow: CSSOMString; + boxSizing: CSSOMString; + breakAfter: CSSOMString; + breakBefore: CSSOMString; + breakInside: CSSOMString; + captionSide: CSSOMString; + clear: CSSOMString; + clip: CSSOMString; + clipPath: CSSOMString; + clipRule: CSSOMString; + color: CSSOMString; + colorInterpolationFilters: CSSOMString; + columnCount: CSSOMString; + columnFill: CSSOMString; + columnGap: CSSOMString; + columnRule: CSSOMString; + columnRuleColor: CSSOMString; + columnRuleStyle: CSSOMString; + columnRuleWidth: CSSOMString; + columns: CSSOMString; + columnSpan: CSSOMString; + columnWidth: CSSOMString; + content: CSSOMString; + counterIncrement: CSSOMString; + counterReset: CSSOMString; cssFloat: CSSOMString; cssText: CSSOMString; - cursor: string | null; - direction: string | null; - display: string | null; - dominantBaseline: string | null; - emptyCells: string | null; - enableBackground: string | null; - fill: string | null; - fillOpacity: string | null; - fillRule: string | null; - filter: string | null; - flex: string | null; - flexBasis: string | null; - flexDirection: string | null; - flexFlow: string | null; - flexGrow: string | null; - flexShrink: string | null; - flexWrap: string | null; - floodColor: string | null; - floodOpacity: string | null; - font: string | null; - fontFamily: string | null; - fontFeatureSettings: string | null; - fontSize: string | null; - fontSizeAdjust: string | null; - fontStretch: string | null; - fontStyle: string | null; - fontVariant: string | null; - fontWeight: string | null; - glyphOrientationHorizontal: string | null; - glyphOrientationVertical: string | null; - height: string | null; - imeMode: string | null; - justifyContent: string | null; - kerning: string | null; - layoutGrid: string | null; - layoutGridChar: string | null; - layoutGridLine: string | null; - layoutGridMode: string | null; - layoutGridType: string | null; - left: string | null; + cursor: CSSOMString; + direction: CSSOMString; + display: CSSOMString; + dominantBaseline: CSSOMString; + emptyCells: CSSOMString; + enableBackground: CSSOMString; + fill: CSSOMString; + fillOpacity: CSSOMString; + fillRule: CSSOMString; + filter: CSSOMString; + flex: CSSOMString; + flexBasis: CSSOMString; + flexDirection: CSSOMString; + flexFlow: CSSOMString; + flexGrow: CSSOMString; + flexShrink: CSSOMString; + flexWrap: CSSOMString; + floodColor: CSSOMString; + floodOpacity: CSSOMString; + font: CSSOMString; + fontFamily: CSSOMString; + fontFeatureSettings: CSSOMString; + fontSize: CSSOMString; + fontSizeAdjust: CSSOMString; + fontStretch: CSSOMString; + fontStyle: CSSOMString; + fontVariant: CSSOMString; + fontWeight: CSSOMString; + glyphOrientationHorizontal: CSSOMString; + glyphOrientationVertical: CSSOMString; + height: CSSOMString; + imeMode: CSSOMString; + justifyContent: CSSOMString; + kerning: CSSOMString; + layoutGrid: CSSOMString; + layoutGridChar: CSSOMString; + layoutGridLine: CSSOMString; + layoutGridMode: CSSOMString; + layoutGridType: CSSOMString; + left: CSSOMString; readonly length: number; - letterSpacing: string | null; - lightingColor: string | null; - lineBreak: string | null; - lineHeight: string | null; - listStyle: string | null; - listStyleImage: string | null; - listStylePosition: string | null; - listStyleType: string | null; - margin: string | null; - marginBottom: string | null; - marginLeft: string | null; - marginRight: string | null; - marginTop: string | null; - marker: string | null; - markerEnd: string | null; - markerMid: string | null; - markerStart: string | null; - mask: string | null; - maxHeight: string | null; - maxWidth: string | null; - minHeight: string | null; - minWidth: string | null; - msContentZoomChaining: string | null; - msContentZooming: string | null; - msContentZoomLimit: string | null; - msContentZoomLimitMax: any; - msContentZoomLimitMin: any; - msContentZoomSnap: string | null; - msContentZoomSnapPoints: string | null; - msContentZoomSnapType: string | null; - msFlowFrom: string | null; - msFlowInto: string | null; - msFontFeatureSettings: string | null; - msGridColumn: any; - msGridColumnAlign: string | null; - msGridColumns: string | null; - msGridColumnSpan: any; - msGridRow: any; - msGridRowAlign: string | null; - msGridRows: string | null; - msGridRowSpan: any; - msHighContrastAdjust: string | null; - msHyphenateLimitChars: string | null; - msHyphenateLimitLines: any; - msHyphenateLimitZone: any; - msHyphens: string | null; - msImeAlign: string | null; - msOverflowStyle: string | null; - msScrollChaining: string | null; - msScrollLimit: string | null; - msScrollLimitXMax: any; - msScrollLimitXMin: any; - msScrollLimitYMax: any; - msScrollLimitYMin: any; - msScrollRails: string | null; - msScrollSnapPointsX: string | null; - msScrollSnapPointsY: string | null; - msScrollSnapType: string | null; - msScrollSnapX: string | null; - msScrollSnapY: string | null; - msScrollTranslation: string | null; - msTextCombineHorizontal: string | null; - msTextSizeAdjust: any; - msTouchAction: string | null; - msTouchSelect: string | null; - msUserSelect: string | null; - msWrapFlow: string; - msWrapMargin: any; - msWrapThrough: string; - opacity: string | null; - order: string | null; - orphans: string | null; - outline: string | null; - outlineColor: string | null; - outlineOffset: string | null; - outlineStyle: string | null; - outlineWidth: string | null; - overflow: string | null; - overflowX: string | null; - overflowY: string | null; - padding: string | null; - paddingBottom: string | null; - paddingLeft: string | null; - paddingRight: string | null; - paddingTop: string | null; - pageBreakAfter: string | null; - pageBreakBefore: string | null; - pageBreakInside: string | null; + letterSpacing: CSSOMString; + lightingColor: CSSOMString; + lineBreak: CSSOMString; + lineHeight: CSSOMString; + listStyle: CSSOMString; + listStyleImage: CSSOMString; + listStylePosition: CSSOMString; + listStyleType: CSSOMString; + margin: CSSOMString; + marginBottom: CSSOMString; + marginLeft: CSSOMString; + marginRight: CSSOMString; + marginTop: CSSOMString; + marker: CSSOMString; + markerEnd: CSSOMString; + markerMid: CSSOMString; + markerStart: CSSOMString; + mask: CSSOMString; + maxHeight: CSSOMString; + maxWidth: CSSOMString; + minHeight: CSSOMString; + minWidth: CSSOMString; + msContentZoomChaining: CSSOMString; + msContentZooming: CSSOMString; + msContentZoomLimit: CSSOMString; + msContentZoomLimitMax: CSSOMString; + msContentZoomLimitMin: CSSOMString; + msContentZoomSnap: CSSOMString; + msContentZoomSnapPoints: CSSOMString; + msContentZoomSnapType: CSSOMString; + msFlowFrom: CSSOMString; + msFlowInto: CSSOMString; + msFontFeatureSettings: CSSOMString; + msGridColumn: CSSOMString; + msGridColumnAlign: CSSOMString; + msGridColumns: CSSOMString; + msGridColumnSpan: CSSOMString; + msGridRow: CSSOMString; + msGridRowAlign: CSSOMString; + msGridRows: CSSOMString; + msGridRowSpan: CSSOMString; + msHighContrastAdjust: CSSOMString; + msHyphenateLimitChars: CSSOMString; + msHyphenateLimitLines: CSSOMString; + msHyphenateLimitZone: CSSOMString; + msHyphens: CSSOMString; + msImeAlign: CSSOMString; + msOverflowStyle: CSSOMString; + msScrollChaining: CSSOMString; + msScrollLimit: CSSOMString; + msScrollLimitXMax: CSSOMString; + msScrollLimitXMin: CSSOMString; + msScrollLimitYMax: CSSOMString; + msScrollLimitYMin: CSSOMString; + msScrollRails: CSSOMString; + msScrollSnapPointsX: CSSOMString; + msScrollSnapPointsY: CSSOMString; + msScrollSnapType: CSSOMString; + msScrollSnapX: CSSOMString; + msScrollSnapY: CSSOMString; + msScrollTranslation: CSSOMString; + msTextCombineHorizontal: CSSOMString; + msTextSizeAdjust: CSSOMString; + msTouchAction: CSSOMString; + msTouchSelect: CSSOMString; + msUserSelect: CSSOMString; + msWrapFlow: CSSOMString; + msWrapMargin: CSSOMString; + msWrapThrough: CSSOMString; + opacity: CSSOMString; + order: CSSOMString; + orphans: CSSOMString; + outline: CSSOMString; + outlineColor: CSSOMString; + outlineOffset: CSSOMString; + outlineStyle: CSSOMString; + outlineWidth: CSSOMString; + overflow: CSSOMString; + overflowX: CSSOMString; + overflowY: CSSOMString; + padding: CSSOMString; + paddingBottom: CSSOMString; + paddingLeft: CSSOMString; + paddingRight: CSSOMString; + paddingTop: CSSOMString; + pageBreakAfter: CSSOMString; + pageBreakBefore: CSSOMString; + pageBreakInside: CSSOMString; readonly parentRule: CSSRule | null; - perspective: string | null; - perspectiveOrigin: string | null; - pointerEvents: string | null; - position: string | null; - quotes: string | null; - resize: CSSOMString | null; - right: string | null; - rotate: string | null; - rubyAlign: string | null; - rubyOverhang: string | null; - rubyPosition: string | null; - scale: string | null; - stopColor: string | null; - stopOpacity: string | null; - stroke: string | null; - strokeDasharray: string | null; - strokeDashoffset: string | null; - strokeLinecap: string | null; - strokeLinejoin: string | null; - strokeMiterlimit: string | null; - strokeOpacity: string | null; - strokeWidth: string | null; - tableLayout: string | null; - textAlign: string | null; - textAlignLast: string | null; - textAnchor: string | null; - textDecoration: string | null; - textIndent: string | null; - textJustify: string | null; - textKashida: string | null; - textKashidaSpace: string | null; - textOverflow: string | null; - textShadow: string | null; - textTransform: string | null; - textUnderlinePosition: string | null; - top: string | null; - touchAction: string | null; - transform: string | null; - transformOrigin: string | null; - transformStyle: string | null; - transition: string | null; - transitionDelay: string | null; - transitionDuration: string | null; - transitionProperty: string | null; - transitionTimingFunction: string | null; - translate: string | null; - unicodeBidi: string | null; - userSelect: CSSOMString | null; - verticalAlign: string | null; - visibility: string | null; - webkitAlignContent: string | null; - webkitAlignItems: string | null; - webkitAlignSelf: string | null; - webkitAnimation: string | null; - webkitAnimationDelay: string | null; - webkitAnimationDirection: string | null; - webkitAnimationDuration: string | null; - webkitAnimationFillMode: string | null; - webkitAnimationIterationCount: string | null; - webkitAnimationName: string | null; - webkitAnimationPlayState: string | null; - webkitAnimationTimingFunction: string | null; - webkitAppearance: string | null; - webkitBackfaceVisibility: string | null; - webkitBackgroundClip: string | null; - webkitBackgroundOrigin: string | null; - webkitBackgroundSize: string | null; - webkitBorderBottomLeftRadius: string | null; - webkitBorderBottomRightRadius: string | null; - webkitBorderImage: string | null; - webkitBorderRadius: string | null; - webkitBorderTopLeftRadius: string | null; - webkitBorderTopRightRadius: string | null; - webkitBoxAlign: string | null; - webkitBoxDirection: string | null; - webkitBoxFlex: string | null; - webkitBoxOrdinalGroup: string | null; - webkitBoxOrient: string | null; - webkitBoxPack: string | null; - webkitBoxSizing: string | null; - webkitColumnBreakAfter: string | null; - webkitColumnBreakBefore: string | null; - webkitColumnBreakInside: string | null; - webkitColumnCount: any; - webkitColumnGap: any; - webkitColumnRule: string | null; - webkitColumnRuleColor: any; - webkitColumnRuleStyle: string | null; - webkitColumnRuleWidth: any; - webkitColumns: string | null; - webkitColumnSpan: string | null; - webkitColumnWidth: any; - webkitFilter: string | null; - webkitFlex: string | null; - webkitFlexBasis: string | null; - webkitFlexDirection: string | null; - webkitFlexFlow: string | null; - webkitFlexGrow: string | null; - webkitFlexShrink: string | null; - webkitFlexWrap: string | null; - webkitJustifyContent: string | null; - webkitOrder: string | null; - webkitPerspective: string | null; - webkitPerspectiveOrigin: string | null; - webkitTapHighlightColor: string | null; - webkitTextFillColor: string | null; - webkitTextSizeAdjust: any; - webkitTextStroke: string | null; - webkitTextStrokeColor: string | null; - webkitTextStrokeWidth: string | null; - webkitTransform: string | null; - webkitTransformOrigin: string | null; - webkitTransformStyle: string | null; - webkitTransition: string | null; - webkitTransitionDelay: string | null; - webkitTransitionDuration: string | null; - webkitTransitionProperty: string | null; - webkitTransitionTimingFunction: string | null; - webkitUserModify: string | null; - webkitUserSelect: string | null; - webkitWritingMode: string | null; - whiteSpace: string | null; - widows: string | null; - width: string | null; - wordBreak: string | null; - wordSpacing: string | null; - wordWrap: string | null; - writingMode: string | null; - zIndex: string | null; - zoom: string | null; + perspective: CSSOMString; + perspectiveOrigin: CSSOMString; + pointerEvents: CSSOMString; + position: CSSOMString; + quotes: CSSOMString; + resize: CSSOMString; + right: CSSOMString; + rotate: CSSOMString; + rubyAlign: CSSOMString; + rubyOverhang: CSSOMString; + rubyPosition: CSSOMString; + scale: CSSOMString; + scrollPadding: CSSOMString; + scrollPaddingBlock: CSSOMString; + scrollPaddingBlockEnd: CSSOMString; + scrollPaddingBlockStart: CSSOMString; + scrollPaddingBottom: CSSOMString; + scrollPaddingInline: CSSOMString; + scrollPaddingInlineEnd: CSSOMString; + scrollPaddingInlineStart: CSSOMString; + scrollPaddingLeft: CSSOMString; + scrollPaddingRight: CSSOMString; + scrollPaddingTop: CSSOMString; + scrollSnapAlign: CSSOMString; + scrollSnapMargin: CSSOMString; + scrollSnapMarginBlock: CSSOMString; + scrollSnapMarginBlockEnd: CSSOMString; + scrollSnapMarginBlockStart: CSSOMString; + scrollSnapMarginBottom: CSSOMString; + scrollSnapMarginInline: CSSOMString; + scrollSnapMarginInlineEnd: CSSOMString; + scrollSnapMarginInlineStart: CSSOMString; + scrollSnapMarginLeft: CSSOMString; + scrollSnapMarginRight: CSSOMString; + scrollSnapMarginTop: CSSOMString; + scrollSnapStop: CSSOMString; + scrollSnapType: CSSOMString; + stopColor: CSSOMString; + stopOpacity: CSSOMString; + stroke: CSSOMString; + strokeDasharray: CSSOMString; + strokeDashoffset: CSSOMString; + strokeLinecap: CSSOMString; + strokeLinejoin: CSSOMString; + strokeMiterlimit: CSSOMString; + strokeOpacity: CSSOMString; + strokeWidth: CSSOMString; + tableLayout: CSSOMString; + textAlign: CSSOMString; + textAlignLast: CSSOMString; + textAnchor: CSSOMString; + textDecoration: CSSOMString; + textIndent: CSSOMString; + textJustify: CSSOMString; + textKashida: CSSOMString; + textKashidaSpace: CSSOMString; + textOverflow: CSSOMString; + textShadow: CSSOMString; + textTransform: CSSOMString; + textUnderlinePosition: CSSOMString; + top: CSSOMString; + touchAction: CSSOMString; + transform: CSSOMString; + transformOrigin: CSSOMString; + transformStyle: CSSOMString; + transition: CSSOMString; + transitionDelay: CSSOMString; + transitionDuration: CSSOMString; + transitionProperty: CSSOMString; + transitionTimingFunction: CSSOMString; + translate: CSSOMString; + unicodeBidi: CSSOMString; + userSelect: CSSOMString; + verticalAlign: CSSOMString; + visibility: CSSOMString; + webkitAlignContent: CSSOMString; + webkitAlignItems: CSSOMString; + webkitAlignSelf: CSSOMString; + webkitAnimation: CSSOMString; + webkitAnimationDelay: CSSOMString; + webkitAnimationDirection: CSSOMString; + webkitAnimationDuration: CSSOMString; + webkitAnimationFillMode: CSSOMString; + webkitAnimationIterationCount: CSSOMString; + webkitAnimationName: CSSOMString; + webkitAnimationPlayState: CSSOMString; + webkitAnimationTimingFunction: CSSOMString; + webkitAppearance: CSSOMString; + webkitBackfaceVisibility: CSSOMString; + webkitBackgroundClip: CSSOMString; + webkitBackgroundOrigin: CSSOMString; + webkitBackgroundSize: CSSOMString; + webkitBorderBottomLeftRadius: CSSOMString; + webkitBorderBottomRightRadius: CSSOMString; + webkitBorderImage: CSSOMString; + webkitBorderRadius: CSSOMString; + webkitBorderTopLeftRadius: CSSOMString; + webkitBorderTopRightRadius: CSSOMString; + webkitBoxAlign: CSSOMString; + webkitBoxDirection: CSSOMString; + webkitBoxFlex: CSSOMString; + webkitBoxOrdinalGroup: CSSOMString; + webkitBoxOrient: CSSOMString; + webkitBoxPack: CSSOMString; + webkitBoxSizing: CSSOMString; + webkitColumnBreakAfter: CSSOMString; + webkitColumnBreakBefore: CSSOMString; + webkitColumnBreakInside: CSSOMString; + webkitColumnCount: CSSOMString; + webkitColumnGap: CSSOMString; + webkitColumnRule: CSSOMString; + webkitColumnRuleColor: CSSOMString; + webkitColumnRuleStyle: CSSOMString; + webkitColumnRuleWidth: CSSOMString; + webkitColumns: CSSOMString; + webkitColumnSpan: CSSOMString; + webkitColumnWidth: CSSOMString; + webkitFilter: CSSOMString; + webkitFlex: CSSOMString; + webkitFlexBasis: CSSOMString; + webkitFlexDirection: CSSOMString; + webkitFlexFlow: CSSOMString; + webkitFlexGrow: CSSOMString; + webkitFlexShrink: CSSOMString; + webkitFlexWrap: CSSOMString; + webkitJustifyContent: CSSOMString; + webkitOrder: CSSOMString; + webkitPerspective: CSSOMString; + webkitPerspectiveOrigin: CSSOMString; + webkitTapHighlightColor: CSSOMString; + webkitTextFillColor: CSSOMString; + webkitTextSizeAdjust: CSSOMString; + webkitTextStroke: CSSOMString; + webkitTextStrokeColor: CSSOMString; + webkitTextStrokeWidth: CSSOMString; + webkitTransform: CSSOMString; + webkitTransformOrigin: CSSOMString; + webkitTransformStyle: CSSOMString; + webkitTransition: CSSOMString; + webkitTransitionDelay: CSSOMString; + webkitTransitionDuration: CSSOMString; + webkitTransitionProperty: CSSOMString; + webkitTransitionTimingFunction: CSSOMString; + webkitUserModify: CSSOMString; + webkitUserSelect: CSSOMString; + webkitWritingMode: CSSOMString; + whiteSpace: CSSOMString; + widows: CSSOMString; + width: CSSOMString; + wordBreak: CSSOMString; + wordSpacing: CSSOMString; + wordWrap: CSSOMString; + writingMode: CSSOMString; + zIndex: CSSOMString; + zoom: CSSOMString; getPropertyPriority(property: CSSOMString): CSSOMString; getPropertyValue(property: CSSOMString): CSSOMString; item(index: number): CSSOMString; @@ -3662,8 +3678,8 @@ declare var GainNode: { }; interface Gamepad { - readonly axes: number[]; - readonly buttons: GamepadButton[]; + readonly axes: ReadonlyArray; + readonly buttons: ReadonlyArray; readonly connected: boolean; readonly id: string; readonly index: number; @@ -3693,7 +3709,7 @@ interface GamepadEvent extends Event { declare var GamepadEvent: { prototype: GamepadEvent; - new(eventInitDict: GamepadEventInit): GamepadEvent; + new(type: string, eventInitDict: GamepadEventInit): GamepadEvent; }; interface HashChangeEvent extends Event { diff --git a/inputfiles/browser.webidl.xml b/inputfiles/browser.webidl.xml index 116846d7c..10128a46c 100644 --- a/inputfiles/browser.webidl.xml +++ b/inputfiles/browser.webidl.xml @@ -3210,11 +3210,6 @@ - - - - - @@ -3292,353 +3287,378 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4940,8 +4960,8 @@ - - + + @@ -4958,6 +4978,7 @@ +