From 4ecac12cc6f4395bc688b5353b0bb1aa3dd9b0c4 Mon Sep 17 00:00:00 2001 From: Abe Jellinek Date: Wed, 2 Jul 2025 13:37:51 -0400 Subject: [PATCH] fx140: Update type definitions --- types/gecko/generated/README | 25 + types/gecko/generated/lib.gecko.darwin.d.ts | 228 + .../gecko/{ => generated}/lib.gecko.dom.d.ts | 18479 ++++------------ types/gecko/generated/lib.gecko.glean.d.ts | 7167 ++++++ types/gecko/generated/lib.gecko.linux.d.ts | 82 + types/gecko/generated/lib.gecko.modules.d.ts | 983 + .../{ => generated}/lib.gecko.nsresult.d.ts | 17 + .../{ => generated}/lib.gecko.services.d.ts | 1 + types/gecko/generated/lib.gecko.win32.d.ts | 381 + .../{ => generated}/lib.gecko.xpcom.d.ts | 7308 +++--- types/gecko/generated/tspaths.json | 7732 +++++++ types/gecko/index.d.ts | 44 +- types/gecko/lib.gecko.custom.d.ts | 42 + types/gecko/lib.gecko.tweaks.d.ts | 143 + types/gecko/lib.gecko.xpidl.d.ts | 49 + types/gecko/package.json | 2 - types/gecko/subs/AppConstants.sys.d.mts | 182 + types/gecko/subs/FeatureManifest.sys.d.mts | 5308 +++++ types/gecko/subs/PromiseWorker.d.mts | 118 + types/gecko/subs/PromiseWorker.d.ts | 113 + types/gecko/subs/RFPTargetConstants.sys.d.mts | 77 + types/gecko/subs/Readerable.sys.d.mts | 13 + types/gecko/subs/schema.sys.d.mts | 1386 ++ types/gecko/tsconfig.json | 9 + 24 files changed, 32061 insertions(+), 17828 deletions(-) create mode 100644 types/gecko/generated/README create mode 100644 types/gecko/generated/lib.gecko.darwin.d.ts rename types/gecko/{ => generated}/lib.gecko.dom.d.ts (53%) create mode 100644 types/gecko/generated/lib.gecko.glean.d.ts create mode 100644 types/gecko/generated/lib.gecko.linux.d.ts create mode 100644 types/gecko/generated/lib.gecko.modules.d.ts rename types/gecko/{ => generated}/lib.gecko.nsresult.d.ts (96%) rename types/gecko/{ => generated}/lib.gecko.services.d.ts (96%) create mode 100644 types/gecko/generated/lib.gecko.win32.d.ts rename types/gecko/{ => generated}/lib.gecko.xpcom.d.ts (78%) create mode 100644 types/gecko/generated/tspaths.json create mode 100644 types/gecko/lib.gecko.custom.d.ts create mode 100644 types/gecko/lib.gecko.tweaks.d.ts create mode 100644 types/gecko/lib.gecko.xpidl.d.ts create mode 100644 types/gecko/subs/AppConstants.sys.d.mts create mode 100644 types/gecko/subs/FeatureManifest.sys.d.mts create mode 100644 types/gecko/subs/PromiseWorker.d.mts create mode 100644 types/gecko/subs/PromiseWorker.d.ts create mode 100644 types/gecko/subs/RFPTargetConstants.sys.d.mts create mode 100644 types/gecko/subs/Readerable.sys.d.mts create mode 100644 types/gecko/subs/schema.sys.d.mts create mode 100644 types/gecko/tsconfig.json diff --git a/types/gecko/generated/README b/types/gecko/generated/README new file mode 100644 index 0000000000..220c74b736 --- /dev/null +++ b/types/gecko/generated/README @@ -0,0 +1,25 @@ +# Gecko typelibs + +This directory contains generated TypeScript declarations for types and components +exposed to js on the Gecko platform. The files are generated +from various sources in the tree using tools/ts/build_*.js scripts. + +If you're modifying some of the interfaces or other source files, until we +find the best way to integrate this process, updating the typelibs is optional. +If you want to see the result of your changes right away, you can run: + + mach ts build && mach ts update + +This will update the typelibs inside your source tree, and you can commit +them alongside your changes. Because this step is not automated, it's likely +it will pick up previous updates unrelated to your patch, in which case it +might be worth splitting out into a separate commit. + +There are also other ``mach ts`` commands for generating the files not updated +with the command above. + +If there's an error with the process, updating the typelibs is not a blocker +for landing your patch, but please file a bug in the Linting and Formatting +component and ni?zombie. + +https://bugzilla.mozilla.org/enter_bug.cgi?product=Developer+Infrastructure&component=Lint+and+Formatting diff --git a/types/gecko/generated/lib.gecko.darwin.d.ts b/types/gecko/generated/lib.gecko.darwin.d.ts new file mode 100644 index 0000000000..4f1b765428 --- /dev/null +++ b/types/gecko/generated/lib.gecko.darwin.d.ts @@ -0,0 +1,228 @@ +/** + * NOTE: Do not modify this file by hand. + * Content was generated from source XPCOM .idl files. + * If you're updating some of the sources, see README for instructions. + */ + +declare global { + +// https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleMacInterface.idl + +interface nsIAccessibleMacNSObjectWrapper extends nsISupports { +} + +interface nsIAccessibleMacInterface extends nsISupports { + readonly attributeNames: string[]; + readonly parameterizedAttributeNames: string[]; + readonly actionNames: string[]; + getAttributeValue(attributeName: string): any; + getParameterizedAttributeValue(attributeName: string, parameter: any): any; + performAction(actionName: string): void; + isAttributeSettable(attributeName: string): boolean; + setAttributeValue(attributeName: string, attributeValue: any): void; +} + +interface nsIAccessibleMacEvent extends nsISupports { + readonly macIface: nsIAccessibleMacInterface; + readonly data: any; +} + +// https://searchfox.org/mozilla-central/source/browser/components/migration/nsIKeychainMigrationUtils.idl + +interface nsIKeychainMigrationUtils extends nsISupports { + getGenericPassword(aServiceName: string, aAccountName: string): string; +} + +// https://searchfox.org/mozilla-central/source/browser/components/shell/nsIMacShellService.idl + +interface nsIMacShellService extends nsIShellService { + showDesktopPreferences(): void; + showSecurityPreferences(aPaneID: string): void; + getAvailableApplicationsForProtocol(protocol: string): string[][]; +} + +// https://searchfox.org/mozilla-central/source/widget/nsIMacDockSupport.idl + +interface nsIAppBundleLaunchOptions extends nsISupports { + readonly addsToRecentItems: boolean; +} + +interface nsIMacDockSupport extends nsISupports { + dockMenu: nsIStandaloneNativeMenu; + activateApplication(aIgnoreOtherApplications: boolean): void; + badgeText: string; + setBadgeImage(aBadgeImage: imgIContainer, aPaintContext?: nsISVGPaintContext): void; + readonly isAppInDock: boolean; + ensureAppIsPinnedToDock(aAppPath?: string, aAppToReplacePath?: string): boolean; + launchAppBundle(aAppBundle: nsIFile, aArgs: string[], aLaunchOptions?: nsIAppBundleLaunchOptions): void; +} + +// https://searchfox.org/mozilla-central/source/widget/nsIMacFinderProgress.idl + +type nsIMacFinderProgressCanceledCallback = Callable<{ + canceled(): void; +}> + +interface nsIMacFinderProgress extends nsISupports { + init(path: string, canceledCallback: nsIMacFinderProgressCanceledCallback): void; + updateProgress(currentProgress: u64, totalProgress: u64): void; + end(): void; +} + +// https://searchfox.org/mozilla-central/source/widget/nsIMacSharingService.idl + +interface nsIMacSharingService extends nsISupports { + getSharingProviders(pageUrl: string): any; + shareUrl(serviceName: string, pageUrl: string, pageTitle: string): void; + openSharingPreferences(): void; +} + +// https://searchfox.org/mozilla-central/source/widget/nsIMacUserActivityUpdater.idl + +interface nsIMacUserActivityUpdater extends nsISupports { + updateLocation(pageUrl: string, pageTitle: string, window: nsIBaseWindow): void; +} + +// https://searchfox.org/mozilla-central/source/widget/nsIMacWebAppUtils.idl + +type nsITrashAppCallback = Callable<{ + trashAppFinished(rv: nsresult): void; +}> + +interface nsIMacWebAppUtils extends nsISupports { + pathForAppWithIdentifier(bundleIdentifier: string): string; + launchAppWithIdentifier(bundleIdentifier: string): void; + trashApp(path: string, callback: nsITrashAppCallback): void; +} + +// https://searchfox.org/mozilla-central/source/widget/nsIStandaloneNativeMenu.idl + +interface nsIStandaloneNativeMenu extends nsISupports { + init(aElement: Element): void; + menuWillOpen(): boolean; + activateNativeMenuItemAt(anIndexString: string): void; + forceUpdateNativeMenuAt(anIndexString: string): void; + dump(): void; +} + +// https://searchfox.org/mozilla-central/source/widget/nsITaskbarProgress.idl + +interface nsITaskbarProgress extends nsISupports { + readonly STATE_NO_PROGRESS?: 0; + readonly STATE_INDETERMINATE?: 1; + readonly STATE_NORMAL?: 2; + readonly STATE_ERROR?: 3; + readonly STATE_PAUSED?: 4; + + setProgressState(state: nsTaskbarProgressState, currentValue?: u64, maxValue?: u64): void; +} + +// https://searchfox.org/mozilla-central/source/widget/nsITouchBarHelper.idl + +interface nsITouchBarHelper extends nsISupports { + readonly activeUrl: string; + readonly activeTitle: string; + readonly isUrlbarFocused: boolean; + toggleFocusUrlbar(): void; + unfocusUrlbar(): void; + allItems: nsIArray; + readonly document: Document; + getTouchBarInput(aInputName: string): nsITouchBarInput; + insertRestrictionInUrlbar(aToken: string): void; +} + +// https://searchfox.org/mozilla-central/source/widget/nsITouchBarInput.idl + +type nsITouchBarInputCallback = Callable<{ + onCommand(): void; +}> + +interface nsITouchBarInput extends nsISupports { + readonly key: string; + title: string; + image: nsIURI; + type: string; + callback: nsITouchBarInputCallback; + color: u32; + disabled: boolean; + children: nsIArray; +} + +// https://searchfox.org/mozilla-central/source/widget/nsITouchBarUpdater.idl + +interface nsITouchBarUpdater extends nsISupports { + updateTouchBarInputs(aWindow: nsIBaseWindow, aInputs: nsITouchBarInput[]): void; + enterCustomizeMode(): void; + isTouchBarInitialized(): boolean; + setTouchBarInitialized(aIsInitialized: boolean): void; + showPopover(aWindow: nsIBaseWindow, aPopover: nsITouchBarInput, aShowing: boolean): void; +} + +// https://searchfox.org/mozilla-central/source/xpcom/base/nsIMacPreferencesReader.idl + +interface nsIMacPreferencesReader extends nsISupports { + policiesEnabled(): boolean; + readPreferences(): any; +} + +// https://searchfox.org/mozilla-central/source/xpcom/io/nsILocalFileMac.idl + +interface nsILocalFileMac extends nsIFile { + readonly fileSizeWithResFork: i64; + launchWithDoc(aDocToLoad: nsIFile, aLaunchInBackground: boolean): void; + openDocWithApp(aAppToOpenWith: nsIFile, aLaunchInBackground: boolean): void; + isPackage(): boolean; + readonly bundleDisplayName: string; + readonly bundleIdentifier: string; + readonly bundleContentsLastModifiedTime: i64; + hasXAttr(aAttrName: string): boolean; + getXAttr(aAttrName: string): u8[]; + setXAttr(aAttrName: string, aAttrValue: u8[]): void; + delXAttr(aAttrName: string): void; +} + +interface nsIXPCComponents_Interfaces { + nsIAccessibleMacNSObjectWrapper: nsJSIID; + nsIAccessibleMacInterface: nsJSIID; + nsIAccessibleMacEvent: nsJSIID; + nsIKeychainMigrationUtils: nsJSIID; + nsIMacShellService: nsJSIID; + nsIAppBundleLaunchOptions: nsJSIID; + nsIMacDockSupport: nsJSIID; + nsIMacFinderProgressCanceledCallback: nsJSIID; + nsIMacFinderProgress: nsJSIID; + nsIMacSharingService: nsJSIID; + nsIMacUserActivityUpdater: nsJSIID; + nsITrashAppCallback: nsJSIID; + nsIMacWebAppUtils: nsJSIID; + nsIStandaloneNativeMenu: nsJSIID; + nsITaskbarProgress: nsJSIID; + nsITouchBarHelper: nsJSIID; + nsITouchBarInputCallback: nsJSIID; + nsITouchBarInput: nsJSIID; + nsITouchBarUpdater: nsJSIID; + nsIMacPreferencesReader: nsJSIID; + nsILocalFileMac: nsJSIID; +} + +} // global + +// Typedefs from xpidl. +type PRTime = i64; +type nsTaskbarProgressState = i32; + +// XPCOM internal utility types. + +/** XPCOM inout param is passed in as a js object with a value property. */ +type InOutParam = { value: T }; + +/** XPCOM out param is written to the passed in object's value property. */ +type OutParam = { value?: T }; + +/** Enable interfaces to inherit from enums: pick variants as optional. */ +type Enums = Partial>; + +/** Callable accepts either form of a [function] interface. */ +type Callable = iface | Extract + +export {}; diff --git a/types/gecko/lib.gecko.dom.d.ts b/types/gecko/generated/lib.gecko.dom.d.ts similarity index 53% rename from types/gecko/lib.gecko.dom.d.ts rename to types/gecko/generated/lib.gecko.dom.d.ts index 25779a4df4..11a94bc18f 100644 --- a/types/gecko/lib.gecko.dom.d.ts +++ b/types/gecko/generated/lib.gecko.dom.d.ts @@ -1,13 +1,18 @@ /** - * NOTE: This file is a work in progress. - * Content was generated using a heavily patched TypeScript-DOM-lib-generator. - * - * Until this whole process is automated, when changing a WebIDL interface, - * manually updating this file is *not* required (but doesn't hurt either). + * NOTE: Do not modify this file by hand. + * Content was generated from source .webidl files. + * If you're updating some of the sources, see README for instructions. */ -/// -/// + +type HTMLCollectionOf = any; +type IsInstance = (obj: any) => obj is T; +type NodeListOf = any; +interface WindowProxy extends Window {} + +///////////////////////////// +/// Window APIs +///////////////////////////// interface ActivateMenuItemOptions { altKey?: boolean; @@ -69,9 +74,9 @@ interface AnimationPropertyDetails { interface AnimationPropertyValueDetails { composite: CompositeOperation; - easing?: UTF8String; + easing?: string; offset: number; - value?: UTF8String; + value?: string; } interface AssignedNodesOptions { @@ -79,8 +84,8 @@ interface AssignedNodesOptions { } interface AttributeNameValue { - name: UTF8String; - value: UTF8String; + name: string; + value: string; } interface AudioBufferOptions { @@ -109,6 +114,59 @@ interface AudioContextOptions { sampleRate?: number; } +interface AudioDataCopyToOptions { + format?: AudioSampleFormat; + frameCount?: number; + frameOffset?: number; + planeIndex: number; +} + +interface AudioDataInit { + data: AllowSharedBufferSource; + format: AudioSampleFormat; + numberOfChannels: number; + numberOfFrames: number; + sampleRate: number; + timestamp: number; + transfer?: ArrayBuffer[]; +} + +interface AudioDecoderConfig { + codec: string; + description?: AllowSharedBufferSource; + numberOfChannels: number; + sampleRate: number; +} + +interface AudioDecoderInit { + error: WebCodecsErrorCallback; + output: AudioDataOutputCallback; +} + +interface AudioDecoderSupport { + config?: AudioDecoderConfig; + supported?: boolean; +} + +interface AudioEncoderConfig { + bitrate?: number; + bitrateMode?: BitrateMode; + codec: string; + numberOfChannels?: number; + opus?: OpusEncoderConfig; + sampleRate?: number; +} + +interface AudioEncoderInit { + error: WebCodecsErrorCallback; + output: EncodedAudioChunkOutputCallback; +} + +interface AudioEncoderSupport { + config?: AudioEncoderConfig; + supported?: boolean; +} + interface AudioNodeOptions { channelCount?: number; channelCountMode?: ChannelCountMode; @@ -154,21 +212,74 @@ interface AudioWorkletNodeOptions extends AudioNodeOptions { interface AuthenticationExtensionsClientInputs { appid?: string; credProps?: boolean; + credentialProtectionPolicy?: CredentialProtectionPolicy; + enforceCredentialProtectionPolicy?: boolean; hmacCreateSecret?: boolean; + largeBlob?: AuthenticationExtensionsLargeBlobInputs; minPinLength?: boolean; + prf?: AuthenticationExtensionsPRFInputs; } interface AuthenticationExtensionsClientInputsJSON { appid?: string; credProps?: boolean; + credentialProtectionPolicy?: CredentialProtectionPolicy; + enforceCredentialProtectionPolicy?: boolean; hmacCreateSecret?: boolean; + largeBlob?: AuthenticationExtensionsLargeBlobInputsJSON; minPinLength?: boolean; + prf?: AuthenticationExtensionsPRFInputsJSON; } interface AuthenticationExtensionsClientOutputs { appid?: boolean; credProps?: CredentialPropertiesOutput; hmacCreateSecret?: boolean; + largeBlob?: AuthenticationExtensionsLargeBlobOutputs; + prf?: AuthenticationExtensionsPRFOutputs; +} + +interface AuthenticationExtensionsLargeBlobInputs { + read?: boolean; + support?: string; + write?: BufferSource; +} + +interface AuthenticationExtensionsLargeBlobInputsJSON { + read?: boolean; + support?: string; + write?: Base64URLString; +} + +interface AuthenticationExtensionsLargeBlobOutputs { + blob?: ArrayBuffer; + supported?: boolean; + written?: boolean; +} + +interface AuthenticationExtensionsPRFInputs { + eval?: AuthenticationExtensionsPRFValues; + evalByCredential?: Record; +} + +interface AuthenticationExtensionsPRFInputsJSON { + eval?: AuthenticationExtensionsPRFValuesJSON; + evalByCredential?: Record; +} + +interface AuthenticationExtensionsPRFOutputs { + enabled?: boolean; + results?: AuthenticationExtensionsPRFValues; +} + +interface AuthenticationExtensionsPRFValues { + first: BufferSource; + second?: BufferSource; +} + +interface AuthenticationExtensionsPRFValuesJSON { + first: Base64URLString; + second?: Base64URLString; } interface AuthenticatorSelectionCriteria { @@ -220,9 +331,9 @@ interface BlockParsingOptions { blockScriptCreated?: boolean; } -interface BoxQuadOptions { +interface BoxQuadOptions extends GeometryUtilsOptions { box?: CSSBoxType; - createFramesForSuppressedWhitespace?: boolean; + ignoreTransforms?: boolean; relativeTo?: GeometryNode; } @@ -234,13 +345,19 @@ interface BufferRange { interface CDMInformation { capabilities: string; clearlead: boolean; + isHDCP22Compatible: boolean; + isHardwareDecryption: boolean; keySystemName: string; } +interface CSSCustomPropertyRegisteredEventInit extends EventInit { + propertyDefinition: InspectorCSSPropertyDefinition; +} + interface CSSStyleSheetInit { - baseURL?: UTF8String; + baseURL?: string; disabled?: boolean; - media?: MediaList | UTF8String; + media?: MediaList | string; } interface CacheQueryOptions { @@ -249,13 +366,25 @@ interface CacheQueryOptions { ignoreVary?: boolean; } +interface CanvasRenderingContext2DDebugInfo { + backendType: number; + drawTargetType: number; + isAccelerated: boolean; + isShared: boolean; +} + interface CanvasRenderingContext2DSettings { alpha?: boolean; colorSpace?: PredefinedColorSpace; desynchronized?: boolean; + forceSoftwareRendering?: boolean; willReadFrequently?: boolean; } +interface CaretPositionFromPointOptions { + shadowRoots?: ShadowRoot[]; +} + interface CaretStateChangedEventInit extends EventInit { boundingClientRect?: DOMRectReadOnly | null; caretVisible?: boolean; @@ -298,7 +427,7 @@ interface ChildProcInfoDictionary { cpuCycleCount?: number; cpuTime?: number; memory?: number; - origin?: UTF8String; + origin?: string; pid?: number; threads?: ThreadInfoDictionary[]; type?: WebIDLProcType; @@ -311,9 +440,13 @@ interface ChromeFilePropertyBag extends FilePropertyBag { name?: string; } -interface ClientQueryOptions { - includeUncontrolled?: boolean; - type?: ClientType; +interface ClearResourceCacheOptions { + pattern?: OriginAttributesPatternDictionary; + principal?: Principal; + schemelessSite?: string; + target?: ResourceCacheTarget; + types?: ResourceCacheType[]; + url?: string; } interface ClientRectsAndTexts { @@ -336,6 +469,10 @@ interface CloseEventInit extends EventInit { wasClean?: boolean; } +interface CloseWatcherOptions { + signal?: AbortSignal; +} + interface CollectedData { children?: any[]; id?: Record; @@ -347,6 +484,7 @@ interface CollectedData { interface CompileScriptOptionsDictionary { charset?: string; + filename?: string; hasReturnValue?: boolean; lazilyParse?: boolean; } @@ -404,7 +542,7 @@ interface ContentVisibilityAutoStateChangeEventInit extends EventInit { skipped?: boolean; } -interface ConvertCoordinateOptions { +interface ConvertCoordinateOptions extends GeometryUtilsOptions { fromBox?: CSSBoxType; toBox?: CSSBoxType; } @@ -414,12 +552,51 @@ interface ConvolverOptions extends AudioNodeOptions { disableNormalization?: boolean; } +interface CookieChangeEventInit extends EventInit { + changed?: CookieList; + deleted?: CookieList; +} + +interface CookieInit { + domain?: string | null; + expires?: DOMHighResTimeStamp | null; + name: string; + partitioned?: boolean; + path?: string; + sameSite?: CookieSameSite; + value: string; +} + +interface CookieListItem { + domain?: string | null; + expires?: DOMHighResTimeStamp | null; + name?: string; + partitioned?: boolean; + path?: string; + sameSite?: CookieSameSite; + secure?: boolean; + value?: string; +} + +interface CookieStoreDeleteOptions { + domain?: string | null; + name: string; + partitioned?: boolean; + path?: string; +} + +interface CookieStoreGetOptions { + name?: string; + url?: string; +} + interface CopyOptions { noOverwrite?: boolean; recursive?: boolean; } interface CredentialCreationOptions { + identity?: IdentityCredentialInit; publicKey?: PublicKeyCredentialCreationOptions; signal?: AbortSignal; } @@ -586,6 +763,11 @@ interface DocumentTimelineOptions { originTime?: DOMHighResTimeStamp; } +interface DoubleRange { + max?: number; + min?: number; +} + interface DragEventInit extends MouseEventInit { dataTransfer?: DataTransfer | null; } @@ -607,7 +789,7 @@ interface EffectTiming { delay?: number; direction?: PlaybackDirection; duration?: number | string; - easing?: UTF8String; + easing?: string; endDelay?: number; fill?: FillMode; iterationStart?: number; @@ -623,8 +805,20 @@ interface ElementDefinitionOptions { extends?: string; } +interface EncodedAudioChunkInit { + data: AllowSharedBufferSource; + duration?: number; + timestamp: number; + transfer?: ArrayBuffer[]; + type: EncodedAudioChunkType; +} + +interface EncodedAudioChunkMetadata { + decoderConfig?: AudioDecoderConfig; +} + interface EncodedVideoChunkInit { - data: ArrayBufferView | ArrayBuffer; + data: AllowSharedBufferSource; duration?: number; timestamp: number; type: EncodedVideoChunkType; @@ -678,22 +872,13 @@ interface ExecuteInGlobalOptions { reportExceptions?: boolean; } -interface ExtendableEventInit extends EventInit { -} - -interface ExtendableMessageEventInit extends ExtendableEventInit { - data?: any; - lastEventId?: string; - origin?: string; - ports?: MessagePort[]; - source?: Client | ServiceWorker | MessagePort | null; -} - interface FailedCertSecurityInfo { certChainStrings?: string[]; certValidityRangeNotAfter?: DOMTimeStamp; certValidityRangeNotBefore?: DOMTimeStamp; + channelStatus?: number; errorCodeString?: string; + errorIsOverridable?: boolean; errorMessage?: string; hasHPKP?: boolean; hasHSTS?: boolean; @@ -703,17 +888,6 @@ interface FailedCertSecurityInfo { validNotBefore?: DOMTimeStamp; } -interface FdMapping { - dst: number; - src: number; -} - -interface FetchEventInit extends EventInit { - clientId?: string; - request: Request; - resultingClientId?: string; -} - interface FileInfo { creationTime?: number; lastAccessed?: number; @@ -749,10 +923,6 @@ interface FileSystemGetFileOptions { create?: boolean; } -interface FileSystemReadWriteOptions { - at?: number; -} - interface FileSystemRemoveOptions { recursive?: boolean; } @@ -767,19 +937,19 @@ interface FluentBundleIteratorResult { } interface FluentBundleOptions { - pseudoStrategy?: UTF8String; + pseudoStrategy?: string; useIsolating?: boolean; } interface FluentMessage { - attributes: Record; + attributes: Record; value?: FluentPattern | null; } interface FluentTextElementItem { - attr?: UTF8String; - id?: UTF8String; - text?: UTF8String; + attr?: string; + id?: string; + text?: string; } interface FocusEventInit extends UIEventInit { @@ -792,18 +962,18 @@ interface FocusOptions { } interface FontFaceDescriptors { - ascentOverride?: UTF8String; - descentOverride?: UTF8String; - display?: UTF8String; - featureSettings?: UTF8String; - lineGapOverride?: UTF8String; - sizeAdjust?: UTF8String; - stretch?: UTF8String; - style?: UTF8String; - unicodeRange?: UTF8String; - variant?: UTF8String; - variationSettings?: UTF8String; - weight?: UTF8String; + ascentOverride?: string; + descentOverride?: string; + display?: string; + featureSettings?: string; + lineGapOverride?: string; + sizeAdjust?: string; + stretch?: string; + style?: string; + unicodeRange?: string; + variant?: string; + variationSettings?: string; + weight?: string; } interface FontFaceSetIteratorResult { @@ -910,12 +1080,29 @@ interface GPUCommandEncoderDescriptor extends GPUObjectDescriptorBase { } interface GPUComputePassDescriptor extends GPUObjectDescriptorBase { + timestampWrites?: GPUComputePassTimestampWrites; +} + +interface GPUComputePassTimestampWrites { + beginningOfPassWriteIndex?: GPUSize32; + endOfPassWriteIndex?: GPUSize32; + querySet: GPUQuerySet; } interface GPUComputePipelineDescriptor extends GPUPipelineDescriptorBase { compute: GPUProgrammableStage; } +interface GPUCopyExternalImageDestInfo extends GPUTexelCopyTextureInfo { + premultipliedAlpha?: boolean; +} + +interface GPUCopyExternalImageSourceInfo { + flipY?: boolean; + origin?: GPUOrigin2D; + source: GPUCopyExternalImageSource; +} + interface GPUDepthStencilState { depthBias?: GPUDepthBias; depthBiasClamp?: number; @@ -945,33 +1132,6 @@ interface GPUFragmentState extends GPUProgrammableStage { targets: GPUColorTargetState[]; } -interface GPUImageCopyBuffer extends GPUImageDataLayout { - buffer: GPUBuffer; -} - -interface GPUImageCopyExternalImage { - flipY?: boolean; - origin?: GPUOrigin2D; - source: ImageBitmap | HTMLCanvasElement | OffscreenCanvas; -} - -interface GPUImageCopyTexture { - aspect?: GPUTextureAspect; - mipLevel?: GPUIntegerCoordinate; - origin?: GPUOrigin3D; - texture: GPUTexture; -} - -interface GPUImageCopyTextureTagged extends GPUImageCopyTexture { - premultipliedAlpha?: boolean; -} - -interface GPUImageDataLayout { - bytesPerRow?: GPUSize32; - offset?: GPUSize64; - rowsPerImage?: GPUSize32; -} - interface GPUMultisampleState { alphaToCoverageEnabled?: boolean; count?: GPUSize32; @@ -997,6 +1157,10 @@ interface GPUPipelineDescriptorBase extends GPUObjectDescriptorBase { layout: GPUPipelineLayout | GPUAutoLayoutMode; } +interface GPUPipelineErrorInit { + reason: GPUPipelineErrorReason; +} + interface GPUPipelineLayoutDescriptor extends GPUObjectDescriptorBase { bindGroupLayouts: GPUBindGroupLayout[]; } @@ -1010,10 +1174,16 @@ interface GPUPrimitiveState { } interface GPUProgrammableStage { - entryPoint: string; + constants?: Record; + entryPoint?: string; module: GPUShaderModule; } +interface GPUQuerySetDescriptor extends GPUObjectDescriptorBase { + count: GPUSize32; + type: GPUQueryType; +} + interface GPUQueueDescriptor extends GPUObjectDescriptorBase { } @@ -1027,6 +1197,7 @@ interface GPURenderBundleEncoderDescriptor extends GPURenderPassLayout { interface GPURenderPassColorAttachment { clearValue?: GPUColor; + depthSlice?: GPUIntegerCoordinate; loadOp: GPULoadOp; resolveTarget?: GPUTextureView; storeOp: GPUStoreOp; @@ -1049,6 +1220,7 @@ interface GPURenderPassDescriptor extends GPUObjectDescriptorBase { colorAttachments: GPURenderPassColorAttachment[]; depthStencilAttachment?: GPURenderPassDepthStencilAttachment; occlusionQuerySet?: GPUQuerySet; + timestampWrites?: GPURenderPassTimestampWrites; } interface GPURenderPassLayout extends GPUObjectDescriptorBase { @@ -1057,6 +1229,12 @@ interface GPURenderPassLayout extends GPUObjectDescriptorBase { sampleCount?: GPUSize32; } +interface GPURenderPassTimestampWrites { + beginningOfPassWriteIndex?: GPUSize32; + endOfPassWriteIndex?: GPUSize32; + querySet: GPUQuerySet; +} + interface GPURenderPipelineDescriptor extends GPUPipelineDescriptorBase { depthStencil?: GPUDepthStencilState; fragment?: GPUFragmentState; @@ -1066,8 +1244,10 @@ interface GPURenderPipelineDescriptor extends GPUPipelineDescriptorBase { } interface GPURequestAdapterOptions { + featureLevel?: string; forceFallbackAdapter?: boolean; powerPreference?: GPUPowerPreference; + xrCompatible?: boolean; } interface GPUSamplerBindingLayout { @@ -1087,9 +1267,14 @@ interface GPUSamplerDescriptor extends GPUObjectDescriptorBase { mipmapFilter?: GPUMipmapFilterMode; } +interface GPUShaderModuleCompilationHint { + entryPoint: string; + layout?: GPUPipelineLayout | GPUAutoLayoutMode; +} + interface GPUShaderModuleDescriptor extends GPUObjectDescriptorBase { - code: UTF8String; - sourceMap?: any; + code: string; + compilationHints?: GPUShaderModuleCompilationHint[]; } interface GPUStencilFaceState { @@ -1105,6 +1290,23 @@ interface GPUStorageTextureBindingLayout { viewDimension?: GPUTextureViewDimension; } +interface GPUTexelCopyBufferInfo extends GPUTexelCopyBufferLayout { + buffer: GPUBuffer; +} + +interface GPUTexelCopyBufferLayout { + bytesPerRow?: GPUSize32; + offset?: GPUSize64; + rowsPerImage?: GPUSize32; +} + +interface GPUTexelCopyTextureInfo { + aspect?: GPUTextureAspect; + mipLevel?: GPUIntegerCoordinate; + origin?: GPUOrigin3D; + texture: GPUTexture; +} + interface GPUTextureBindingLayout { multisampled?: boolean; sampleType?: GPUTextureSampleType; @@ -1174,6 +1376,11 @@ interface GamepadLightColor { red: number; } +interface GeometryUtilsOptions { + createFramesForSuppressedWhitespace?: boolean; + flush?: boolean; +} + interface GetAnimationsOptions { subtree?: boolean; } @@ -1182,6 +1389,11 @@ interface GetChildrenOptions { ignoreAbsent?: boolean; } +interface GetHTMLOptions { + serializableShadowRoots?: boolean; + shadowRoots?: ShadowRoot[]; +} + interface GetNotificationOptions { tag?: string; } @@ -1191,14 +1403,15 @@ interface GetRootNodeOptions { } interface GleanDistributionData { + count: number; sum: number; - values: Record; + values: Record; } interface GleanEventRecord { - category: UTF8String; - extra?: Record; - name: UTF8String; + category: string; + extra?: Record; + name: string; timestamp: number; } @@ -1213,6 +1426,10 @@ interface HTMLMediaElementDebugInfo { decoder?: MediaDecoderDebugInfo; } +interface HasChildrenOptions { + ignoreAbsent?: boolean; +} + interface HashChangeEventInit extends EventInit { newURL?: string; oldURL?: string; @@ -1224,6 +1441,11 @@ interface HeapSnapshotBoundaries { runtime?: boolean; } +interface IDBDatabaseInfo { + name?: string; + version?: number; +} + interface IDBIndexParameters { locale?: string | null; multiEntry?: boolean; @@ -1239,6 +1461,10 @@ interface IDBOpenDBOptions { version?: number; } +interface IDBTransactionOptions { + durability?: IDBTransactionDurability; +} + interface IDBVersionChangeEventInit extends EventInit { newVersion?: number | null; oldVersion?: number; @@ -1249,18 +1475,43 @@ interface IIRFilterOptions extends AudioNodeOptions { feedforward: number[]; } -interface IdentityCredentialLogoutRPsRequest { - accountId: UTF8String; - url: UTF8String; +interface IdentityCredentialDisconnectOptions extends IdentityProviderConfig { + accountHint: string; +} + +interface IdentityCredentialInit { + effectiveOrigins?: string[]; + effectiveQueryURL?: string; + effectiveType?: string; + id: string; + token?: string; + uiHint?: IdentityCredentialUserData; } interface IdentityCredentialRequestOptions { - providers?: IdentityProviderConfig[]; + mode?: IdentityCredentialRequestOptionsMode; + providers: IdentityProviderRequestOptions[]; +} + +interface IdentityCredentialUserData { + expiresAfter?: number; + iconURL: string; + name: string; } interface IdentityProviderConfig { - clientId: string; - configURL: UTF8String; + clientId?: string; + configURL?: string; + effectiveQueryURL?: string; + effectiveType?: string; + loginTarget?: IdentityLoginTargetType; + loginURL?: string; + origin?: string; +} + +interface IdentityProviderRequestOptions extends IdentityProviderConfig { + domainHint?: string; + loginHint?: string; nonce?: string; } @@ -1280,6 +1531,26 @@ interface ImageCaptureErrorEventInit extends EventInit { imageCaptureError?: ImageCaptureError | null; } +interface ImageDecodeOptions { + completeFramesOnly?: boolean; + frameIndex?: number; +} + +interface ImageDecodeResult { + complete: boolean; + image: VideoFrame; +} + +interface ImageDecoderInit { + colorSpaceConversion?: ColorSpaceConversion; + data: ImageBufferSource; + desiredHeight?: number; + desiredWidth?: number; + preferAnimation?: boolean; + transfer?: ArrayBuffer[]; + type: string; +} + interface ImageEncodeOptions { quality?: number; type?: string; @@ -1292,7 +1563,7 @@ interface ImageText { } interface ImportESModuleOptionsDictionary { - loadInDevToolsLoader?: boolean; + global?: ImportESModuleTargetGlobal; } interface InputEventInit extends UIEventInit { @@ -1306,9 +1577,23 @@ interface InputEventInit extends UIEventInit { interface InspectorCSSPropertyDefinition { fromJS: boolean; inherits: boolean; - initialValue: UTF8String | null; - name: UTF8String; - syntax: UTF8String; + initialValue: string | null; + name: string; + syntax: string; +} + +interface InspectorCSSToken { + number?: number | null; + text: string; + tokenType: string; + unit: string | null; + value: string | null; +} + +interface InspectorColorToResult { + adjusted: boolean; + color: string; + components: number[] | Float32Array; } interface InspectorFontFeature { @@ -1324,6 +1609,11 @@ interface InspectorRGBATuple { r?: number; } +interface InspectorStyleSheetRuleCountAndAtRulesResult { + atRules: CSSRule[]; + ruleCount: number; +} + interface InspectorVariationAxis { defaultValue: number; maxValue: number; @@ -1356,7 +1646,7 @@ interface InteractionData { interface IntersectionObserverInit { root?: Element | Document | null; - rootMargin?: UTF8String; + rootMargin?: string; threshold?: number | number[]; } @@ -1365,6 +1655,11 @@ interface InvokeEventInit extends EventInit { invoker?: Element | null; } +interface KeySystemTrackConfiguration { + encryptionScheme?: string | null; + robustness?: string; +} + interface KeyboardEventInit extends EventModifierInit { charCode?: number; code?: string; @@ -1387,18 +1682,18 @@ interface KeyframeEffectOptions extends EffectTiming { } interface L10nFileSourceMockFile { - path: UTF8String; - source: UTF8String; + path: string; + source: string; } interface L10nIdArgs { args?: L10nArgs | null; - id?: UTF8String | null; + id?: string | null; } interface L10nMessage { attributes?: AttributeNameValue[] | null; - value?: UTF8String | null; + value?: string | null; } interface L10nOverlaysError { @@ -1412,13 +1707,6 @@ interface L10nRegistryOptions { bundleOptions?: FluentBundleOptions; } -interface LaunchOptions { - disclaim?: boolean; - environment: UnixString[]; - fdMap?: FdMapping[]; - workdir?: UnixString; -} - interface LibcConstants { AT_EACCESS?: number; EACCES?: number; @@ -1426,6 +1714,7 @@ interface LibcConstants { EINTR?: number; EINVAL?: number; ENOSYS?: number; + EPERM?: number; FD_CLOEXEC?: number; F_SETFD?: number; F_SETFL?: number; @@ -1450,13 +1739,14 @@ interface LoadURIOptions { loadFlags?: number; postData?: InputStream | null; referrerInfo?: ReferrerInfo | null; - remoteTypeOverride?: UTF8String | null; + remoteTypeOverride?: string | null; + schemelessInput?: number; + textDirectiveUserActivation?: boolean; triggeringPrincipal?: Principal | null; - triggeringRemoteType?: UTF8String | null; + triggeringRemoteType?: string | null; triggeringSandboxFlags?: number; triggeringStorageAccess?: boolean; triggeringWindowId?: number; - wasSchemelessInput?: boolean; } interface LockInfo { @@ -1490,6 +1780,50 @@ interface MIDIOptions { sysex?: boolean; } +interface MLSBytes { + content: Uint8Array; + type: MLSObjectType; +} + +interface MLSCommitOutput { + clientId?: Uint8Array; + commit: Uint8Array; + groupId: Uint8Array; + groupInfo?: Uint8Array; + ratchetTree?: Uint8Array; + type: MLSObjectType; + welcome?: Uint8Array; +} + +interface MLSExporterOutput { + context: Uint8Array; + groupEpoch: Uint8Array; + groupId: Uint8Array; + label: Uint8Array; + secret: Uint8Array; + type: MLSObjectType; +} + +interface MLSGroupDetails { + groupEpoch: Uint8Array; + groupId: Uint8Array; + members: MLSGroupMember[]; + type: MLSObjectType; +} + +interface MLSGroupMember { + clientId: Uint8Array; + credential: Uint8Array; +} + +interface MLSReceived { + commitOutput?: MLSCommitOutput; + content?: Uint8Array; + groupEpoch?: Uint8Array; + groupId: Uint8Array; + type: MLSObjectType; +} + interface MakeDirectoryOptions { createAncestors?: boolean; ignoreExisting?: boolean; @@ -1509,6 +1843,26 @@ interface MediaCacheStreamDebugInfo { streamLength?: number; } +interface MediaCapabilitiesDecodingInfo extends MediaCapabilitiesInfo { + keySystemAccess: MediaKeySystemAccess | null; +} + +interface MediaCapabilitiesInfo { + powerEfficient: boolean; + smooth: boolean; + supported: boolean; +} + +interface MediaCapabilitiesKeySystemConfiguration { + audio?: KeySystemTrackConfiguration; + distinctiveIdentifier?: MediaKeysRequirement; + initDataType?: string; + keySystem: string; + persistentState?: MediaKeysRequirement; + sessionTypes?: string[]; + video?: KeySystemTrackConfiguration; +} + interface MediaConfiguration { audio?: AudioConfiguration; video?: VideoConfiguration; @@ -1541,6 +1895,7 @@ interface MediaDecoderStateMachineDebugInfo { sentFirstFrameLoadedEvent?: boolean; state?: string; stateObj?: MediaDecoderStateMachineDecodingStateDebugInfo; + totalBufferingTimeMs?: number; videoCompleted?: boolean; videoRequestStatus?: string; } @@ -1550,6 +1905,7 @@ interface MediaDecoderStateMachineDecodingStateDebugInfo { } interface MediaDecodingConfiguration extends MediaConfiguration { + keySystemConfiguration?: MediaCapabilitiesKeySystemConfiguration; type: MediaDecodingType; } @@ -1569,6 +1925,8 @@ interface MediaFormatReaderDebugInfo { audioState?: MediaStateDebugInfo; audioType?: string; frameStats?: MediaFrameStats; + totalReadMetadataTimeMs?: number; + totalWaitingForVideoDataTimeMs?: number; videoDecoderName?: string; videoHardwareAccelerated?: boolean; videoHeight?: number; @@ -1619,7 +1977,7 @@ interface MediaKeySystemMediaCapability { } interface MediaKeysPolicy { - minHdcpVersion?: string; + minHdcpVersion?: HDCPVersion; } interface MediaMetadataInit { @@ -1637,7 +1995,7 @@ interface MediaPositionState { interface MediaQueryListEventInit extends EventInit { matches?: boolean; - media?: UTF8String; + media?: string; } interface MediaRecorderErrorEventInit extends EventInit { @@ -1722,6 +2080,19 @@ interface MediaStreamTrackEventInit extends EventInit { track: MediaStreamTrack; } +interface MediaTrackCapabilities { + autoGainControl?: boolean[]; + channelCount?: ULongRange; + deviceId?: string; + echoCancellation?: boolean[]; + facingMode?: string[]; + frameRate?: DoubleRange; + groupId?: string; + height?: ULongRange; + noiseSuppression?: boolean[]; + width?: ULongRange; +} + interface MediaTrackConstraintSet { autoGainControl?: ConstrainBoolean; browserWindow?: number; @@ -1820,10 +2191,6 @@ interface MoveOptions { noOverwrite?: boolean; } -interface MozApplicationEventInit extends EventInit { - application?: DOMApplication | null; -} - interface MozDocumentMatcherInit { allFrames?: boolean; checkPermissions?: boolean; @@ -1832,7 +2199,9 @@ interface MozDocumentMatcherInit { frameID?: number | null; hasActiveTabPermission?: boolean; includeGlobs?: MatchGlobOrString[] | null; + isUserScript?: boolean; matchAboutBlank?: boolean; + matchOriginAsFallback?: boolean; matches: MatchPatternSetOrStringSequence; originAttributesPatterns?: OriginAttributesPatternDictionary[] | null; } @@ -1847,11 +2216,6 @@ interface MozHTTPHeader { value: string; } -interface MozPluginParameter { - name?: string; - value?: string; -} - interface MozProxyInfo { connectionIsolationKey?: string | null; failoverTimeout?: number; @@ -1903,34 +2267,77 @@ interface MutationObservingInfo extends MutationObserverInit { observedNode?: Node | null; } +interface NavigateEventInit extends EventInit { + canIntercept?: boolean; + destination: NavigationDestination; + downloadRequest?: string | null; + formData?: FormData | null; + hasUAVisualTransition?: boolean; + hashChange?: boolean; + info?: any; + navigationType?: NavigationType; + signal: AbortSignal; + sourceElement?: Element | null; + userInitiated?: boolean; +} + +interface NavigationCurrentEntryChangeEventInit extends EventInit { + from: NavigationHistoryEntry; + navigationType?: NavigationType | null; +} + +interface NavigationInterceptOptions { + focusReset?: NavigationFocusReset; + handler?: NavigationInterceptHandler; + scroll?: NavigationScrollBehavior; +} + +interface NavigationNavigateOptions extends NavigationOptions { + history?: NavigationHistoryBehavior; + state?: any; +} + +interface NavigationOptions { + info?: any; +} + interface NavigationPreloadState { enabled?: boolean; headerValue?: string; } +interface NavigationReloadOptions extends NavigationOptions { + state?: any; +} + +interface NavigationResult { + committed?: Promise; + finished?: Promise; +} + +interface NavigationUpdateCurrentEntryOptions { + state: any; +} + interface NetErrorInfo { + channelStatus?: number; errorCodeString?: string; + responseStatus?: number; + responseStatusText?: string; } -interface NotificationBehavior { - noclear?: boolean; - noscreen?: boolean; - showOnlyOnce?: boolean; - soundFile?: string; - vibrationPattern?: number[]; -} - -interface NotificationEventInit extends ExtendableEventInit { - notification: Notification; +interface NotificationAction { + action: string; + title: string; } interface NotificationOptions { + actions?: NotificationAction[]; body?: string; data?: any; dir?: NotificationDirection; icon?: string; lang?: string; - mozbehavior?: NotificationBehavior; requireInteraction?: boolean; silent?: boolean; tag?: string; @@ -1969,17 +2376,25 @@ interface OptionalEffectTiming { delay?: number; direction?: PlaybackDirection; duration?: number | string; - easing?: UTF8String; + easing?: string; endDelay?: number; fill?: FillMode; iterationStart?: number; iterations?: number; } +interface OpusEncoderConfig { + complexity?: number; + format?: OpusBitstreamFormat; + frameDuration?: number; + packetlossperc?: number; + usedtx?: boolean; + useinbandfec?: boolean; +} + interface OriginAttributesDictionary { firstPartyDomain?: string; geckoViewSessionContextId?: string; - inIsolatedMozBrowser?: boolean; partitionKey?: string; privateBrowsingId?: number; userContextId?: number; @@ -1988,7 +2403,6 @@ interface OriginAttributesDictionary { interface OriginAttributesPatternDictionary { firstPartyDomain?: string; geckoViewSessionContextId?: string; - inIsolatedMozBrowser?: boolean; partitionKey?: string; partitionKeyPattern?: PartitionKeyPatternDictionary; privateBrowsingId?: number; @@ -2041,6 +2455,7 @@ interface ParentProcInfoDictionary { interface PartitionKeyPatternDictionary { baseDomain?: string; + foreignByAncestorContext?: boolean; port?: number; scheme?: string; } @@ -2167,6 +2582,11 @@ interface PeriodicWaveOptions extends PeriodicWaveConstraints { real?: number[] | Float32Array; } +interface PermissionSetParameters { + descriptor: any; + state: PermissionState; +} + interface PlacesBookmarkAdditionInit { dateAdded: number; frecency: number; @@ -2329,6 +2749,8 @@ interface PluginCrashedEventInit extends EventInit { } interface PointerEventInit extends MouseEventInit { + altitudeAngle?: number; + azimuthAngle?: number; coalescedEvents?: PointerEvent[]; height?: number; isPrimary?: boolean; @@ -2373,6 +2795,22 @@ interface PositionStateEventInit extends EventInit { position: number; } +interface PrivateAttributionConversionOptions { + ads?: string[]; + histogramSize: number; + impression?: PrivateAttributionImpressionType; + lookbackDays?: number; + sources?: string[]; + task: string; +} + +interface PrivateAttributionImpressionOptions { + ad: string; + index: number; + target: string; + type?: PrivateAttributionImpressionType; +} + interface ProcessActorChildOptions extends ProcessActorSidedOptions { observers?: string[]; } @@ -2382,12 +2820,11 @@ interface ProcessActorOptions { includeParent?: boolean; loadInDevToolsLoader?: boolean; parent?: ProcessActorSidedOptions; - remoteTypes?: UTF8String[]; + remoteTypes?: string[]; } interface ProcessActorSidedOptions { esModuleURI?: string; - moduleURI?: string; } interface ProfilerMarkerOptions { @@ -2410,15 +2847,15 @@ interface PromiseDebuggingStateHolder { } interface PromiseRejectionEventInit extends EventInit { - promise: Promise; + promise: any; reason?: any; } interface PropertyDefinition { inherits: boolean; - initialValue?: UTF8String; - name: UTF8String; - syntax?: UTF8String; + initialValue?: string; + name: string; + syntax?: string; } interface PropertyNamesOptions { @@ -2515,10 +2952,6 @@ interface PublicKeyCredentialUserEntityJSON { name: string; } -interface PushEventInit extends ExtendableEventInit { - data?: PushMessageDataInit; -} - interface PushSubscriptionInit { appServerKey?: BufferSource | null; authSecret?: ArrayBuffer | null; @@ -2618,6 +3051,11 @@ interface RTCDataChannelStats extends RTCStats { state?: RTCDataChannelState; } +interface RTCDtlsFingerprint { + algorithm?: string; + value?: string; +} + interface RTCEncodedAudioFrameMetadata { contributingSources?: number[]; payloadType?: number; @@ -2638,10 +3076,6 @@ interface RTCEncodedVideoFrameMetadata { width?: number; } -interface RTCFecParameters { - ssrc?: number; -} - interface RTCIceCandidateInit { candidate?: string; sdpMLineIndex?: number | null; @@ -2741,6 +3175,7 @@ interface RTCInboundRtpStreamStats extends RTCReceivedRtpStreamStats { jitterBufferDelay?: number; jitterBufferEmittedCount?: number; lastPacketReceivedTimestamp?: DOMHighResTimeStamp; + mid?: string; nackCount?: number; pliCount?: number; qpSum?: number; @@ -2757,6 +3192,11 @@ interface RTCInboundRtpStreamStats extends RTCReceivedRtpStreamStats { trackIdentifier: string; } +interface RTCLocalSessionDescriptionInit { + sdp?: string; + type?: RTCSdpType; +} + interface RTCMediaSourceStats extends RTCStats { kind: string; trackIdentifier: string; @@ -2780,12 +3220,14 @@ interface RTCOutboundRtpStreamStats extends RTCSentRtpStreamStats { framesSent?: number; headerBytesSent?: number; hugeFramesSent?: number; + mid?: string; nackCount?: number; pliCount?: number; qpSum?: number; remoteId?: string; retransmittedBytesSent?: number; retransmittedPacketsSent?: number; + rid?: string; totalEncodeTime?: number; totalEncodedBytesTarget?: number; } @@ -2831,7 +3273,7 @@ interface RTCRtcpParameters { } interface RTCRtpCapabilities { - codecs: RTCRtpCodecCapability[]; + codecs: RTCRtpCodec[]; headerExtensions: RTCRtpHeaderExtensionCapability[]; } @@ -2842,15 +3284,8 @@ interface RTCRtpCodec { sdpFmtpLine?: string; } -interface RTCRtpCodecCapability extends RTCRtpCodec { -} - -interface RTCRtpCodecParameters { - channels?: number; - clockRate?: number; - mimeType?: string; - payloadType?: number; - sdpFmtpLine?: string; +interface RTCRtpCodecParameters extends RTCRtpCodec { + payloadType: number; } interface RTCRtpContributingSource { @@ -2862,14 +3297,11 @@ interface RTCRtpContributingSource { interface RTCRtpEncodingParameters { active?: boolean; - fec?: RTCFecParameters; maxBitrate?: number; maxFramerate?: number; priority?: RTCPriorityType; rid?: string; - rtx?: RTCRtxParameters; scaleResolutionDownBy?: number; - ssrc?: number; } interface RTCRtpHeaderExtensionCapability { @@ -2888,7 +3320,11 @@ interface RTCRtpParameters { rtcp?: RTCRtcpParameters; } +interface RTCRtpReceiveParameters extends RTCRtpParameters { +} + interface RTCRtpSendParameters extends RTCRtpParameters { + degradationPreference?: RTCDegradationPreference; encodings: RTCRtpEncodingParameters[]; transactionId?: string; } @@ -2911,10 +3347,6 @@ interface RTCRtpTransceiverInit { streams?: MediaStream[]; } -interface RTCRtxParameters { - ssrc?: number; -} - interface RTCSdpHistoryEntryInternal { errors?: RTCSdpParsingErrorInternal[]; isLocal: boolean; @@ -2939,7 +3371,7 @@ interface RTCSentRtpStreamStats extends RTCRtpStreamStats { interface RTCSessionDescriptionInit { sdp?: string; - type?: RTCSdpType; + type: RTCSdpType; } interface RTCStats { @@ -2989,10 +3421,6 @@ interface RTCTrackEventInit extends EventInit { transceiver: RTCRtpTransceiver; } -interface RTCTransformEventInit extends EventInit { - transformer: RTCRtpScriptTransformer; -} - interface RTCVideoFrameHistoryEntryInternal { consecutiveFrames: number; firstFrameTimestamp: DOMHighResTimeStamp; @@ -3025,6 +3453,10 @@ interface ReadUTF8Options { decompress?: boolean; } +interface ReadableStreamBYOBReaderReadOptions { + min?: number; +} + interface ReadableStreamGetReaderOptions { mode?: ReadableStreamReaderMode; } @@ -3060,7 +3492,7 @@ interface RegistrationOptions { interface RemotenessOptions { pendingSwitchID?: number; - remoteType: UTF8String | null; + remoteType: string | null; switchingInProgressLoad?: boolean; } @@ -3081,14 +3513,18 @@ interface RequestInit { credentials?: RequestCredentials; headers?: HeadersInit; integrity?: string; + keepalive?: boolean; method?: string; mode?: RequestMode; mozErrors?: boolean; + neverTaint?: boolean; observe?: ObserverCallback; + priority?: RequestPriority; redirect?: RequestRedirect; referrer?: string; referrerPolicy?: ReferrerPolicy; signal?: AbortSignal | null; + triggeringPrincipal?: Principal; } interface ResizeObserverOptions { @@ -3097,7 +3533,7 @@ interface ResizeObserverOptions { interface ResourceId { optional?: boolean; - path: UTF8String; + path: string; } interface ResponseInit { @@ -3113,6 +3549,15 @@ interface SVGBoundingBoxOptions { stroke?: boolean; } +interface SVGPathDataSettings { + normalize?: boolean; +} + +interface SVGPathSegmentInit { + type: string; + values: number[] | Float32Array; +} + interface SanitizerAttributeNamespace { name: string; namespace?: string | null; @@ -3121,12 +3566,11 @@ interface SanitizerAttributeNamespace { interface SanitizerConfig { attributes?: SanitizerAttribute[]; comments?: boolean; - customElements?: boolean; + dataAttributes?: boolean; elements?: SanitizerElementWithAttributes[]; removeAttributes?: SanitizerAttribute[]; removeElements?: SanitizerElement[]; replaceWithChildrenElements?: SanitizerElement[]; - unknownMarkup?: boolean; } interface SanitizerElementNamespace { @@ -3159,10 +3603,6 @@ interface ScrollToOptions extends ScrollOptions { top?: number; } -interface ScrollViewChangeEventInit extends EventInit { - state?: ScrollState; -} - interface SecurityPolicyViolationEventInit extends EventInit { blockedURI?: string; columnNumber?: number; @@ -3188,13 +3628,18 @@ interface ServerSocketOptions { } interface SetHTMLOptions { - sanitizer?: SanitizerConfig; + sanitizer?: Sanitizer | SanitizerConfig | SanitizerPresets; +} + +interface SetHTMLUnsafeOptions { + sanitizer?: Sanitizer | SanitizerConfig | SanitizerPresets; } interface ShadowRootInit { clonable?: boolean; delegatesFocus?: boolean; mode: ShadowRootMode; + serializable?: boolean; slotAssignment?: SlotAssignmentMode; } @@ -3330,8 +3775,8 @@ interface TaskPriorityChangeEventInit extends EventInit { previousPriority: TaskPriority; } -interface TelemetryStopwatchOptions { - inSeconds?: boolean; +interface TaskSignalAnyInit { + priority?: TaskPriority | TaskSignal; } interface TestInterfaceAsyncIterableSingleOptions { @@ -3438,6 +3883,12 @@ interface TreeCellInfo { row?: number; } +interface TrustedTypePolicyOptions { + createHTML?: CreateHTMLCallback; + createScript?: CreateScriptCallback; + createScriptURL?: CreateScriptURLCallback; +} + interface UDPMessageEventInit extends EventInit { data?: any; remoteAddress?: string; @@ -3458,10 +3909,14 @@ interface UIEventInit extends EventInit { view?: Window | null; } +interface ULongRange { + max?: number; + min?: number; +} + interface UniFFIScaffoldingCallResult { code: UniFFIScaffoldingCallCode; - data?: UniFFIScaffoldingType; - internalErrorMessage?: string; + data?: UniFFIScaffoldingValue; } interface UserProximityEventInit extends EventInit { @@ -3521,7 +3976,7 @@ interface VideoDecoderConfig { codedHeight?: number; codedWidth?: number; colorSpace?: VideoColorSpaceInit; - description?: ArrayBufferView | ArrayBuffer; + description?: AllowSharedBufferSource; displayAspectHeight?: number; displayAspectWidth?: number; hardwareAcceleration?: HardwareAcceleration; @@ -3587,7 +4042,22 @@ interface VideoFrameBufferInit { visibleRect?: DOMRectInit; } +interface VideoFrameCallbackMetadata { + captureTime?: DOMHighResTimeStamp; + expectedDisplayTime: DOMHighResTimeStamp; + height: number; + mediaTime: number; + presentationTime: DOMHighResTimeStamp; + presentedFrames: number; + processingDuration?: number; + receiveTime?: DOMHighResTimeStamp; + rtpTimestamp?: number; + width: number; +} + interface VideoFrameCopyToOptions { + colorSpace?: PredefinedColorSpace; + format?: VideoPixelFormat; layout?: PlaneLayout[]; rect?: DOMRectInit; } @@ -3627,6 +4097,8 @@ interface WebExtensionContentScriptInit extends MozDocumentMatcherInit { cssPaths?: string[]; jsPaths?: string[]; runAt?: ContentScriptRunAt; + world?: ContentScriptExecutionWorld; + worldId?: string | null; } interface WebExtensionInit { @@ -3654,9 +4126,9 @@ interface WebExtensionInit { interface WebGLContextAttributes { alpha?: GLboolean; antialias?: GLboolean; - colorSpace?: PredefinedColorSpace; depth?: GLboolean; failIfMajorPerformanceCaveat?: GLboolean; + forceSoftwareRendering?: GLboolean; powerPreference?: WebGLPowerPreference; premultipliedAlpha?: GLboolean; preserveDrawingBuffer?: GLboolean; @@ -3670,7 +4142,7 @@ interface WebGLContextEventInit extends EventInit { interface WebTransportCloseInfo { closeCode?: number; - reason?: UTF8String; + reason?: string; } interface WebTransportDatagramStats { @@ -3730,6 +4202,7 @@ interface WebTransportStats { } interface WebrtcGlobalMediaContext { + hasAv1: boolean; hasH264Hardware: boolean; } @@ -3761,12 +4234,11 @@ interface WindowActorOptions { matches?: string[]; messageManagerGroups?: string[]; parent?: WindowActorSidedOptions; - remoteTypes?: UTF8String[]; + remoteTypes?: string[]; } interface WindowActorSidedOptions { esModuleURI?: string; - moduleURI?: string; } interface WindowInfoDictionary { @@ -3822,7 +4294,7 @@ interface WriteOptions { } interface WriteParams { - data?: BufferSource | Blob | UTF8String | null; + data?: BufferSource | Blob | string | null; position?: number | null; size?: number | null; type: WriteCommandType; @@ -3856,8 +4328,8 @@ interface XRSessionEventInit extends EventInit { } interface XRSessionInit { - optionalFeatures?: any[]; - requiredFeatures?: any[]; + optionalFeatures?: string[]; + requiredFeatures?: string[]; } interface XRWebGLLayerInit { @@ -3874,6 +4346,10 @@ interface addonInstallOptions { url: string; } +interface sendAbuseReportOptions { + authorization?: string | null; +} + type EventListener = ((event: Event) => void) | { handleEvent(event: Event): void; }; type MessageListener = ((argument: ReceiveMessageArgument) => any) | { receiveMessage(argument: ReceiveMessageArgument): any; }; @@ -3905,58 +4381,91 @@ type ObserverCallback = ((observer: FetchObserver) => void) | { handleEvent(obse type UncaughtRejectionObserver = ((p: any) => boolean) | { onLeftUncaught(p: any): boolean; }; +type UniFFICallbackHandler = ((objectHandle: UniFFICallbackObjectHandle, methodIndex: number, ...args: UniFFIScaffoldingValue[]) => UniFFIScaffoldingValue | null) | { call(objectHandle: UniFFICallbackObjectHandle, methodIndex: number, ...args: UniFFIScaffoldingValue[]): UniFFIScaffoldingValue | null; }; + type XPathNSResolver = ((prefix: string | null) => string | null) | { lookupNamespaceURI(prefix: string | null): string | null; }; -/** - * The ANGLE_instanced_arrays extension is part of the WebGL API and allows to draw the same object, or groups of similar objects multiple times, if they share the same vertex data, primitive count and type. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ANGLE_instanced_arrays) - */ interface ANGLE_instanced_arrays { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ANGLE_instanced_arrays/drawArraysInstancedANGLE) */ drawArraysInstancedANGLE(mode: GLenum, first: GLint, count: GLsizei, primcount: GLsizei): void; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ANGLE_instanced_arrays/drawElementsInstancedANGLE) */ drawElementsInstancedANGLE(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, primcount: GLsizei): void; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ANGLE_instanced_arrays/vertexAttribDivisorANGLE) */ vertexAttribDivisorANGLE(index: GLuint, divisor: GLuint): void; readonly VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: 0x88FE; } -/** - * A controller object that allows you to abort one or more DOM requests as and when desired. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortController) - */ +interface ARIAMixin { + ariaActiveDescendantElement: Element | null; + ariaAtomic: string | null; + ariaAutoComplete: string | null; + ariaBrailleLabel: string | null; + ariaBrailleRoleDescription: string | null; + ariaBusy: string | null; + ariaChecked: string | null; + ariaColCount: string | null; + ariaColIndex: string | null; + ariaColIndexText: string | null; + ariaColSpan: string | null; + ariaControlsElements: Element[] | null; + ariaCurrent: string | null; + ariaDescribedByElements: Element[] | null; + ariaDescription: string | null; + ariaDetailsElements: Element[] | null; + ariaDisabled: string | null; + ariaErrorMessageElements: Element[] | null; + ariaExpanded: string | null; + ariaFlowToElements: Element[] | null; + ariaHasPopup: string | null; + ariaHidden: string | null; + ariaInvalid: string | null; + ariaKeyShortcuts: string | null; + ariaLabel: string | null; + ariaLabelledByElements: Element[] | null; + ariaLevel: string | null; + ariaLive: string | null; + ariaModal: string | null; + ariaMultiLine: string | null; + ariaMultiSelectable: string | null; + ariaOrientation: string | null; + ariaOwnsElements: Element[] | null; + ariaPlaceholder: string | null; + ariaPosInSet: string | null; + ariaPressed: string | null; + ariaReadOnly: string | null; + ariaRelevant: string | null; + ariaRequired: string | null; + ariaRoleDescription: string | null; + ariaRowCount: string | null; + ariaRowIndex: string | null; + ariaRowIndexText: string | null; + ariaRowSpan: string | null; + ariaSelected: string | null; + ariaSetSize: string | null; + ariaSort: string | null; + ariaValueMax: string | null; + ariaValueMin: string | null; + ariaValueNow: string | null; + ariaValueText: string | null; + role: string | null; +} + interface AbortController { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortController/signal) */ readonly signal: AbortSignal; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortController/abort) */ abort(reason?: any): void; } declare var AbortController: { prototype: AbortController; new(): AbortController; - isInstance(obj): obj is AbortController; + isInstance: IsInstance; }; interface AbortSignalEventMap { "abort": Event; } -/** - * A signal object that allows you to communicate with a DOM request (such as a Fetch) and abort it if required via an AbortController object. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortSignal) - */ interface AbortSignal extends EventTarget { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortSignal/aborted) */ readonly aborted: boolean; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortSignal/abort_event) */ onabort: ((this: AbortSignal, ev: Event) => any) | null; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortSignal/reason) */ readonly reason: any; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortSignal/throwIfAborted) */ throwIfAborted(): void; addEventListener(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; @@ -3967,50 +4476,38 @@ interface AbortSignal extends EventTarget { declare var AbortSignal: { prototype: AbortSignal; new(): AbortSignal; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortSignal/abort_static) */ + isInstance: IsInstance; abort(reason?: any): AbortSignal; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbortSignal/timeout_static) */ + any(signals: AbortSignal[]): AbortSignal; timeout(milliseconds: number): AbortSignal; - isInstance(obj): obj is AbortSignal; }; -/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbstractRange) */ interface AbstractRange { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbstractRange/collapsed) */ readonly collapsed: boolean; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbstractRange/endContainer) */ readonly endContainer: Node; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbstractRange/endOffset) */ readonly endOffset: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbstractRange/startContainer) */ readonly startContainer: Node; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AbstractRange/startOffset) */ readonly startOffset: number; } declare var AbstractRange: { prototype: AbstractRange; new(): AbstractRange; - isInstance(obj): obj is AbstractRange; + isInstance: IsInstance; }; interface AbstractWorkerEventMap { - "error": ErrorEvent; + "error": Event; } interface AbstractWorker { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ServiceWorker/error_event) */ - onerror: OnErrorEventHandler; + onerror: ((this: AbstractWorker, ev: Event) => any) | null; addEventListener(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } -interface AccessibilityRole { - role: string | null; -} - interface AccessibleNode { readonly DOMNode: Node | null; activeDescendant: AccessibleNode | null; @@ -4066,7 +4563,7 @@ interface AccessibleNode { declare var AccessibleNode: { prototype: AccessibleNode; new(): AccessibleNode; - isInstance(obj): obj is AccessibleNode; + isInstance: IsInstance; }; interface Addon { @@ -4085,7 +4582,7 @@ interface Addon { declare var Addon: { prototype: Addon; new(): Addon; - isInstance(obj): obj is Addon; + isInstance: IsInstance; }; interface AddonEvent extends Event { @@ -4095,11 +4592,11 @@ interface AddonEvent extends Event { declare var AddonEvent: { prototype: AddonEvent; new(type: string, eventInitDict: AddonEventInit): AddonEvent; - isInstance(obj): obj is AddonEvent; + isInstance: IsInstance; }; interface AddonInstall extends EventTarget { - "error": ErrorEvent; + readonly error: string | null; readonly maxProgress: number; readonly progress: number; readonly state: string; @@ -4110,58 +4607,41 @@ interface AddonInstall extends EventTarget { declare var AddonInstall: { prototype: AddonInstall; new(): AddonInstall; - isInstance(obj): obj is AddonInstall; + isInstance: IsInstance; }; interface AddonManager extends EventTarget { - readonly abuseReportPanelEnabled: boolean; createInstall(options?: addonInstallOptions): Promise; getAddonByID(id: string): Promise; - reportAbuse(id: string): Promise; + sendAbuseReport(addonId: string, data: Record, options?: sendAbuseReportOptions): Promise; } declare var AddonManager: { prototype: AddonManager; new(): AddonManager; - isInstance(obj): obj is AddonManager; + isInstance: IsInstance; }; -/** - * A node able to provide real-time frequency and time-domain analysis information. It is an AudioNode that passes the audio stream unchanged from the input to the output, but allows you to take the generated data, process it, and create audio visualizations. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnalyserNode) - */ interface AnalyserNode extends AudioNode, AudioNodePassThrough { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnalyserNode/fftSize) */ fftSize: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnalyserNode/frequencyBinCount) */ readonly frequencyBinCount: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnalyserNode/maxDecibels) */ maxDecibels: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnalyserNode/minDecibels) */ minDecibels: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnalyserNode/smoothingTimeConstant) */ smoothingTimeConstant: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnalyserNode/getByteFrequencyData) */ getByteFrequencyData(array: Uint8Array): void; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnalyserNode/getByteTimeDomainData) */ getByteTimeDomainData(array: Uint8Array): void; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnalyserNode/getFloatFrequencyData) */ getFloatFrequencyData(array: Float32Array): void; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnalyserNode/getFloatTimeDomainData) */ getFloatTimeDomainData(array: Float32Array): void; } declare var AnalyserNode: { prototype: AnalyserNode; new(context: BaseAudioContext, options?: AnalyserOptions): AnalyserNode; - isInstance(obj): obj is AnalyserNode; + isInstance: IsInstance; }; interface Animatable { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/animate) */ animate(keyframes: any, options?: UnrestrictedDoubleOrKeyframeAnimationOptions): Animation; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/getAnimations) */ getAnimations(options?: GetAnimationsOptions): Animation[]; } @@ -4171,52 +4651,29 @@ interface AnimationEventMap { "remove": Event; } -/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation) */ interface Animation extends EventTarget { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/currentTime) */ currentTime: number | null; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/effect) */ effect: AnimationEffect | null; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/finished) */ readonly finished: Promise; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/id) */ id: string; readonly isRunningOnCompositor: boolean; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/cancel_event) */ oncancel: ((this: Animation, ev: Event) => any) | null; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/finish_event) */ onfinish: ((this: Animation, ev: Event) => any) | null; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/remove_event) */ onremove: ((this: Animation, ev: Event) => any) | null; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/pending) */ readonly pending: boolean; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/playState) */ readonly playState: AnimationPlayState; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/playbackRate) */ playbackRate: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/ready) */ readonly ready: Promise; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/replaceState) */ readonly replaceState: AnimationReplaceState; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/startTime) */ startTime: number | null; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/timeline) */ timeline: AnimationTimeline | null; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/cancel) */ cancel(): void; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/commitStyles) */ commitStyles(): void; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/finish) */ finish(): void; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/pause) */ pause(): void; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/persist) */ persist(): void; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/play) */ play(): void; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/reverse) */ reverse(): void; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Animation/updatePlaybackRate) */ updatePlaybackRate(playbackRate: number): void; addEventListener(type: K, listener: (this: Animation, ev: AnimationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; @@ -4227,76 +4684,57 @@ interface Animation extends EventTarget { declare var Animation: { prototype: Animation; new(effect?: AnimationEffect | null, timeline?: AnimationTimeline | null): Animation; - isInstance(obj): obj is Animation; + isInstance: IsInstance; }; -/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationEffect) */ interface AnimationEffect { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationEffect/getComputedTiming) */ getComputedTiming(): ComputedEffectTiming; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationEffect/getTiming) */ getTiming(): EffectTiming; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationEffect/updateTiming) */ updateTiming(timing?: OptionalEffectTiming): void; } declare var AnimationEffect: { prototype: AnimationEffect; new(): AnimationEffect; - isInstance(obj): obj is AnimationEffect; + isInstance: IsInstance; }; -/** - * Events providing information related to animations. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationEvent) - */ interface AnimationEvent extends Event { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationEvent/animationName) */ readonly animationName: string; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationEvent/elapsedTime) */ readonly elapsedTime: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationEvent/pseudoElement) */ readonly pseudoElement: string; } declare var AnimationEvent: { prototype: AnimationEvent; new(type: string, eventInitDict?: AnimationEventInit): AnimationEvent; - isInstance(obj): obj is AnimationEvent; + isInstance: IsInstance; }; interface AnimationFrameProvider { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/cancelAnimationFrame) */ cancelAnimationFrame(handle: number): void; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/requestAnimationFrame) */ requestAnimationFrame(callback: FrameRequestCallback): number; } -/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationPlaybackEvent) */ interface AnimationPlaybackEvent extends Event { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationPlaybackEvent/currentTime) */ readonly currentTime: number | null; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationPlaybackEvent/timelineTime) */ readonly timelineTime: number | null; } declare var AnimationPlaybackEvent: { prototype: AnimationPlaybackEvent; new(type: string, eventInitDict?: AnimationPlaybackEventInit): AnimationPlaybackEvent; - isInstance(obj): obj is AnimationPlaybackEvent; + isInstance: IsInstance; }; -/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationTimeline) */ interface AnimationTimeline { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AnimationTimeline/currentTime) */ readonly currentTime: number | null; } declare var AnimationTimeline: { prototype: AnimationTimeline; new(): AnimationTimeline; - isInstance(obj): obj is AnimationTimeline; + isInstance: IsInstance; }; interface AnonymousContent { @@ -4306,132 +4744,48 @@ interface AnonymousContent { declare var AnonymousContent: { prototype: AnonymousContent; new(): AnonymousContent; - isInstance(obj): obj is AnonymousContent; + isInstance: IsInstance; }; -interface AriaAttributes { - ariaAtomic: string | null; - ariaAutoComplete: string | null; - ariaBusy: string | null; - ariaChecked: string | null; - ariaColCount: string | null; - ariaColIndex: string | null; - ariaColIndexText: string | null; - ariaColSpan: string | null; - ariaCurrent: string | null; - ariaDescription: string | null; - ariaDisabled: string | null; - ariaExpanded: string | null; - ariaHasPopup: string | null; - ariaHidden: string | null; - ariaInvalid: string | null; - ariaKeyShortcuts: string | null; - ariaLabel: string | null; - ariaLevel: string | null; - ariaLive: string | null; - ariaModal: string | null; - ariaMultiLine: string | null; - ariaMultiSelectable: string | null; - ariaOrientation: string | null; - ariaPlaceholder: string | null; - ariaPosInSet: string | null; - ariaPressed: string | null; - ariaReadOnly: string | null; - ariaRelevant: string | null; - ariaRequired: string | null; - ariaRoleDescription: string | null; - ariaRowCount: string | null; - ariaRowIndex: string | null; - ariaRowIndexText: string | null; - ariaRowSpan: string | null; - ariaSelected: string | null; - ariaSetSize: string | null; - ariaSort: string | null; - ariaValueMax: string | null; - ariaValueMin: string | null; - ariaValueNow: string | null; - ariaValueText: string | null; -} - -/** - * A DOM element's attribute as an object. In most DOM methods, you will probably directly retrieve the attribute as a string (e.g., Element.getAttribute(), but certain functions (e.g., Element.getAttributeNode()) or means of iterating give Attr types. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Attr) - */ interface Attr extends Node { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Attr/localName) */ readonly localName: string; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Attr/name) */ readonly name: string; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Attr/namespaceURI) */ readonly namespaceURI: string | null; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Attr/ownerElement) */ readonly ownerElement: Element | null; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Attr/prefix) */ readonly prefix: string | null; - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Attr/specified) - */ readonly specified: boolean; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Attr/value) */ value: string; } declare var Attr: { prototype: Attr; new(): Attr; - isInstance(obj): obj is Attr; + isInstance: IsInstance; }; -/** - * A short audio asset residing in memory, created from an audio file using the AudioContext.decodeAudioData() method, or from raw data using AudioContext.createBuffer(). Once put into an AudioBuffer, the audio can then be played by being passed into an AudioBufferSourceNode. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBuffer) - */ interface AudioBuffer { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBuffer/duration) */ readonly duration: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBuffer/length) */ readonly length: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBuffer/numberOfChannels) */ readonly numberOfChannels: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBuffer/sampleRate) */ readonly sampleRate: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBuffer/copyFromChannel) */ copyFromChannel(destination: Float32Array, channelNumber: number, startInChannel?: number): void; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBuffer/copyToChannel) */ copyToChannel(source: Float32Array, channelNumber: number, startInChannel?: number): void; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBuffer/getChannelData) */ getChannelData(channel: number): Float32Array; } declare var AudioBuffer: { prototype: AudioBuffer; new(options: AudioBufferOptions): AudioBuffer; - isInstance(obj): obj is AudioBuffer; + isInstance: IsInstance; }; -/** - * An AudioScheduledSourceNode which represents an audio source consisting of in-memory audio data, stored in an AudioBuffer. It's especially useful for playing back audio which has particularly stringent timing accuracy requirements, such as for sounds that must match a specific rhythm and can be kept in memory rather than being played from disk or the network. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBufferSourceNode) - */ interface AudioBufferSourceNode extends AudioScheduledSourceNode, AudioNodePassThrough { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBufferSourceNode/buffer) */ buffer: AudioBuffer | null; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBufferSourceNode/detune) */ readonly detune: AudioParam; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBufferSourceNode/loop) */ loop: boolean; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBufferSourceNode/loopEnd) */ loopEnd: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBufferSourceNode/loopStart) */ loopStart: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBufferSourceNode/playbackRate) */ readonly playbackRate: AudioParam; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioBufferSourceNode/start) */ start(when?: number, grainOffset?: number, grainDuration?: number): void; addEventListener(type: K, listener: (this: AudioBufferSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; @@ -4442,32 +4796,18 @@ interface AudioBufferSourceNode extends AudioScheduledSourceNode, AudioNodePassT declare var AudioBufferSourceNode: { prototype: AudioBufferSourceNode; new(context: BaseAudioContext, options?: AudioBufferSourceOptions): AudioBufferSourceNode; - isInstance(obj): obj is AudioBufferSourceNode; + isInstance: IsInstance; }; -/** - * An audio-processing graph built from audio modules linked together, each represented by an AudioNode. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioContext) - */ interface AudioContext extends BaseAudioContext { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioContext/baseLatency) */ readonly baseLatency: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioContext/outputLatency) */ readonly outputLatency: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioContext/close) */ close(): Promise; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioContext/createMediaElementSource) */ createMediaElementSource(mediaElement: HTMLMediaElement): MediaElementAudioSourceNode; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioContext/createMediaStreamDestination) */ createMediaStreamDestination(): MediaStreamAudioDestinationNode; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioContext/createMediaStreamSource) */ createMediaStreamSource(mediaStream: MediaStream): MediaStreamAudioSourceNode; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioContext/createMediaStreamTrackSource) */ createMediaStreamTrackSource(mediaStreamTrack: MediaStreamTrack): MediaStreamTrackAudioSourceNode; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioContext/getOutputTimestamp) */ getOutputTimestamp(): AudioTimestamp; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioContext/suspend) */ suspend(): Promise; addEventListener(type: K, listener: (this: AudioContext, ev: BaseAudioContextEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; @@ -4478,74 +4818,113 @@ interface AudioContext extends BaseAudioContext { declare var AudioContext: { prototype: AudioContext; new(contextOptions?: AudioContextOptions): AudioContext; - isInstance(obj): obj is AudioContext; + isInstance: IsInstance; +}; + +interface AudioData { + readonly duration: number; + readonly format: AudioSampleFormat | null; + readonly numberOfChannels: number; + readonly numberOfFrames: number; + readonly sampleRate: number; + readonly timestamp: number; + allocationSize(options: AudioDataCopyToOptions): number; + clone(): AudioData; + close(): void; + copyTo(destination: AllowSharedBufferSource, options: AudioDataCopyToOptions): void; +} + +declare var AudioData: { + prototype: AudioData; + new(init: AudioDataInit): AudioData; + isInstance: IsInstance; +}; + +interface AudioDecoderEventMap { + "dequeue": Event; +} + +/** Available only in secure contexts. */ +interface AudioDecoder extends EventTarget { + readonly decodeQueueSize: number; + ondequeue: ((this: AudioDecoder, ev: Event) => any) | null; + readonly state: CodecState; + close(): void; + configure(config: AudioDecoderConfig): void; + decode(chunk: EncodedAudioChunk): void; + flush(): Promise; + reset(): void; + addEventListener(type: K, listener: (this: AudioDecoder, ev: AudioDecoderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: AudioDecoder, ev: AudioDecoderEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var AudioDecoder: { + prototype: AudioDecoder; + new(init: AudioDecoderInit): AudioDecoder; + isInstance: IsInstance; + isConfigSupported(config: AudioDecoderConfig): Promise; }; -/** - * AudioDestinationNode has no output (as it is the output, no more AudioNode can be linked after it in the audio graph) and one input. The number of channels in the input must be between 0 and the maxChannelCount value or an exception is raised. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioDestinationNode) - */ interface AudioDestinationNode extends AudioNode { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioDestinationNode/maxChannelCount) */ readonly maxChannelCount: number; } declare var AudioDestinationNode: { prototype: AudioDestinationNode; new(): AudioDestinationNode; - isInstance(obj): obj is AudioDestinationNode; + isInstance: IsInstance; +}; + +interface AudioEncoderEventMap { + "dequeue": Event; +} + +/** Available only in secure contexts. */ +interface AudioEncoder extends EventTarget { + readonly encodeQueueSize: number; + ondequeue: ((this: AudioEncoder, ev: Event) => any) | null; + readonly state: CodecState; + close(): void; + configure(config: AudioEncoderConfig): void; + encode(data: AudioData): void; + flush(): Promise; + reset(): void; + addEventListener(type: K, listener: (this: AudioEncoder, ev: AudioEncoderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: AudioEncoder, ev: AudioEncoderEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var AudioEncoder: { + prototype: AudioEncoder; + new(init: AudioEncoderInit): AudioEncoder; + isInstance: IsInstance; + isConfigSupported(config: AudioEncoderConfig): Promise; }; -/** - * The position and orientation of the unique person listening to the audio scene, and is used in audio spatialization. All PannerNodes spatialize in relation to the AudioListener stored in the BaseAudioContext.listener attribute. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioListener) - */ interface AudioListener { - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioListener/setOrientation) - */ setOrientation(x: number, y: number, z: number, xUp: number, yUp: number, zUp: number): void; - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioListener/setPosition) - */ setPosition(x: number, y: number, z: number): void; } declare var AudioListener: { prototype: AudioListener; new(): AudioListener; - isInstance(obj): obj is AudioListener; + isInstance: IsInstance; }; -/** - * A generic interface for representing an audio processing module. Examples include: - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioNode) - */ interface AudioNode extends EventTarget { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioNode/channelCount) */ channelCount: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioNode/channelCountMode) */ channelCountMode: ChannelCountMode; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioNode/channelInterpretation) */ channelInterpretation: ChannelInterpretation; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioNode/context) */ readonly context: BaseAudioContext; readonly id: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioNode/numberOfInputs) */ readonly numberOfInputs: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioNode/numberOfOutputs) */ readonly numberOfOutputs: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioNode/connect) */ connect(destination: AudioNode, output?: number, input?: number): AudioNode; connect(destination: AudioParam, output?: number): void; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect) */ disconnect(): void; disconnect(output: number): void; disconnect(destination: AudioNode): void; @@ -4558,55 +4937,36 @@ interface AudioNode extends EventTarget { declare var AudioNode: { prototype: AudioNode; new(): AudioNode; - isInstance(obj): obj is AudioNode; + isInstance: IsInstance; }; interface AudioNodePassThrough { passThrough: boolean; } -/** - * The Web Audio API's AudioParam interface represents an audio-related parameter, usually a parameter of an AudioNode (such as GainNode.gain). - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioParam) - */ interface AudioParam { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioParam/defaultValue) */ readonly defaultValue: number; readonly isTrackSuspended: boolean; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioParam/maxValue) */ readonly maxValue: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioParam/minValue) */ readonly minValue: number; readonly name: string; readonly parentNodeId: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioParam/value) */ value: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioParam/cancelScheduledValues) */ cancelScheduledValues(startTime: number): AudioParam; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioParam/exponentialRampToValueAtTime) */ exponentialRampToValueAtTime(value: number, endTime: number): AudioParam; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioParam/linearRampToValueAtTime) */ linearRampToValueAtTime(value: number, endTime: number): AudioParam; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioParam/setTargetAtTime) */ setTargetAtTime(target: number, startTime: number, timeConstant: number): AudioParam; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioParam/setValueAtTime) */ setValueAtTime(value: number, startTime: number): AudioParam; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioParam/setValueCurveAtTime) */ setValueCurveAtTime(values: number[] | Float32Array, startTime: number, duration: number): AudioParam; } declare var AudioParam: { prototype: AudioParam; new(): AudioParam; - isInstance(obj): obj is AudioParam; + isInstance: IsInstance; }; -/** - * Available only in secure contexts. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioParamMap) - */ +/** Available only in secure contexts. */ interface AudioParamMap { forEach(callbackfn: (value: AudioParam, key: string, parent: AudioParamMap) => void, thisArg?: any): void; } @@ -4614,54 +4974,28 @@ interface AudioParamMap { declare var AudioParamMap: { prototype: AudioParamMap; new(): AudioParamMap; - isInstance(obj): obj is AudioParamMap; + isInstance: IsInstance; }; -/** - * The Web Audio API events that occur when a ScriptProcessorNode input buffer is ready to be processed. - * @deprecated As of the August 29 2014 Web Audio API spec publication, this feature has been marked as deprecated, and is soon to be replaced by AudioWorklet. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioProcessingEvent) - */ interface AudioProcessingEvent extends Event { - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioProcessingEvent/inputBuffer) - */ readonly inputBuffer: AudioBuffer; - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioProcessingEvent/outputBuffer) - */ readonly outputBuffer: AudioBuffer; - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioProcessingEvent/playbackTime) - */ readonly playbackTime: number; } -/** @deprecated */ declare var AudioProcessingEvent: { prototype: AudioProcessingEvent; new(): AudioProcessingEvent; - isInstance(obj): obj is AudioProcessingEvent; + isInstance: IsInstance; }; interface AudioScheduledSourceNodeEventMap { "ended": Event; } -/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioScheduledSourceNode) */ interface AudioScheduledSourceNode extends AudioNode { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioScheduledSourceNode/ended_event) */ onended: ((this: AudioScheduledSourceNode, ev: Event) => any) | null; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioScheduledSourceNode/start) */ start(when?: number): void; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioScheduledSourceNode/stop) */ stop(when?: number): void; addEventListener(type: K, listener: (this: AudioScheduledSourceNode, ev: AudioScheduledSourceNodeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; @@ -4672,31 +5006,21 @@ interface AudioScheduledSourceNode extends AudioNode { declare var AudioScheduledSourceNode: { prototype: AudioScheduledSourceNode; new(): AudioScheduledSourceNode; - isInstance(obj): obj is AudioScheduledSourceNode; + isInstance: IsInstance; }; -/** - * A single audio track from one of the HTML media elements,