diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 81e514517..596214206 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -135,29 +135,21 @@ interface AudioWorkletNodeOptions extends AudioNodeOptions { interface AuthenticationExtensionsClientInputs { appid?: string; - authnSel?: AuthenticatorSelectionList; - exts?: boolean; - loc?: boolean; - txAuthGeneric?: txAuthGenericArg; - txAuthSimple?: string; - uvi?: boolean; + appidExclude?: string; + credProps?: boolean; uvm?: boolean; } interface AuthenticationExtensionsClientOutputs { appid?: boolean; - authnSel?: boolean; - exts?: AuthenticationExtensionsSupported; - loc?: Coordinates; - txAuthGeneric?: ArrayBuffer; - txAuthSimple?: string; - uvi?: ArrayBuffer; + credProps?: CredentialPropertiesOutput; uvm?: UvmEntries; } interface AuthenticatorSelectionCriteria { authenticatorAttachment?: AuthenticatorAttachment; requireResidentKey?: boolean; + residentKey?: ResidentKeyRequirement; userVerification?: UserVerificationRequirement; } @@ -284,6 +276,10 @@ interface CredentialCreationOptions { signal?: AbortSignal; } +interface CredentialPropertiesOutput { + rk?: boolean; +} + interface CredentialRequestOptions { mediation?: CredentialMediationRequirement; publicKey?: PublicKeyCredentialRequestOptions; @@ -1096,7 +1092,6 @@ interface PublicKeyCredentialDescriptor { } interface PublicKeyCredentialEntity { - icon?: string; name: string; } @@ -1896,11 +1891,6 @@ interface WorkletOptions { credentials?: RequestCredentials; } -interface txAuthGenericArg { - content: ArrayBuffer; - contentType: string; -} - interface EventListener { (evt: Event): void; } @@ -3620,17 +3610,6 @@ declare var ConvolverNode: { new(context: BaseAudioContext, options?: ConvolverOptions): ConvolverNode; }; -/** The position and altitude of the device on Earth, as well as the accuracy with which these properties are calculated. */ -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; -} - /** This Streams API interface provides a built-in byte length queuing strategy that can be used when constructing streams. */ interface CountQueuingStrategy extends QueuingStrategy { highWaterMark: number; @@ -5659,6 +5638,52 @@ interface Geolocation { watchPosition(successCallback: PositionCallback, errorCallback?: PositionErrorCallback, options?: PositionOptions): number; } +declare var Geolocation: { + prototype: Geolocation; + new(): Geolocation; +}; + +interface GeolocationCoordinates { + 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; +} + +declare var GeolocationCoordinates: { + prototype: GeolocationCoordinates; + new(): GeolocationCoordinates; +}; + +interface GeolocationPosition { + readonly coords: GeolocationCoordinates; + readonly timestamp: number; +} + +declare var GeolocationPosition: { + prototype: GeolocationPosition; + new(): GeolocationPosition; +}; + +interface GeolocationPositionError { + readonly code: number; + readonly message: string; + readonly PERMISSION_DENIED: number; + readonly POSITION_UNAVAILABLE: number; + readonly TIMEOUT: number; +} + +declare var GeolocationPositionError: { + prototype: GeolocationPositionError; + new(): GeolocationPositionError; + readonly PERMISSION_DENIED: number; + readonly POSITION_UNAVAILABLE: number; + readonly TIMEOUT: number; +}; + interface GlobalEventHandlersEventMap { "abort": UIEvent; "animationcancel": AnimationEvent; @@ -11767,21 +11792,6 @@ declare var PopStateEvent: { new(type: string, eventInitDict?: PopStateEventInit): PopStateEvent; }; -/** The position of the concerned device at a given time. The position, represented by a Coordinates object, comprehends the 2D position of the device, on a spheroid representing the Earth, but also its altitude and its speed. */ -interface Position { - readonly coords: Coordinates; - readonly timestamp: number; -} - -/** The reason of an error occurring when using the geolocating device. */ -interface PositionError { - readonly code: number; - readonly message: string; - readonly PERMISSION_DENIED: number; - readonly POSITION_UNAVAILABLE: number; - readonly TIMEOUT: number; -} - /** A processing instruction embeds application-specific instructions in XML which can be ignored by other applications that don't recognize them. */ interface ProcessingInstruction extends CharacterData, LinkStyle { readonly ownerDocument: Document; @@ -12473,6 +12483,11 @@ interface ReadableByteStreamController { error(error?: any): void; } +declare var ReadableByteStreamController: { + prototype: ReadableByteStreamController; + new(): ReadableByteStreamController; +}; + /** This Streams API interface represents a readable stream of byte data. The Fetch API offers a concrete instance of a ReadableStream through the body property of a Response object. */ interface ReadableStream { readonly locked: boolean; @@ -12497,12 +12512,22 @@ interface ReadableStreamBYOBReader { releaseLock(): void; } +declare var ReadableStreamBYOBReader: { + prototype: ReadableStreamBYOBReader; + new(): ReadableStreamBYOBReader; +}; + interface ReadableStreamBYOBRequest { readonly view: ArrayBufferView; respond(bytesWritten: number): void; respondWithNewView(view: ArrayBufferView): void; } +declare var ReadableStreamBYOBRequest: { + prototype: ReadableStreamBYOBRequest; + new(): ReadableStreamBYOBRequest; +}; + interface ReadableStreamDefaultController { readonly desiredSize: number | null; close(): void; @@ -12510,6 +12535,11 @@ interface ReadableStreamDefaultController { error(error?: any): void; } +declare var ReadableStreamDefaultController: { + prototype: ReadableStreamDefaultController; + new(): ReadableStreamDefaultController; +}; + interface ReadableStreamDefaultReader { readonly closed: Promise; cancel(reason?: any): Promise; @@ -12517,6 +12547,11 @@ interface ReadableStreamDefaultReader { releaseLock(): void; } +declare var ReadableStreamDefaultReader: { + prototype: ReadableStreamDefaultReader; + new(): ReadableStreamDefaultReader; +}; + interface ReadableStreamReader { cancel(): Promise; read(): Promise>; @@ -15864,6 +15899,11 @@ interface TransformStreamDefaultController { terminate(): void; } +declare var TransformStreamDefaultController: { + prototype: TransformStreamDefaultController; + new(): TransformStreamDefaultController; +}; + /** Events providing information related to transitions. */ interface TransitionEvent extends Event { readonly elapsedTime: number; @@ -18664,6 +18704,11 @@ interface WritableStreamDefaultController { error(error?: any): void; } +declare var WritableStreamDefaultController: { + prototype: WritableStreamDefaultController; + new(): WritableStreamDefaultController; +}; + /** This Streams API interface is the object returned by WritableStream.getWriter() and once created locks the < writer to the WritableStream ensuring that no other streams can write to the underlying sink. */ interface WritableStreamDefaultWriter { readonly closed: Promise; @@ -18675,6 +18720,11 @@ interface WritableStreamDefaultWriter { write(chunk: W): Promise; } +declare var WritableStreamDefaultWriter: { + prototype: WritableStreamDefaultWriter; + new(): WritableStreamDefaultWriter; +}; + /** An XML document. It inherits from the generic Document and does not add any specific methods or properties to it: nevertheless, several algorithms behave differently with the two types of documents. */ interface XMLDocument extends Document { addEventListener(type: K, listener: (this: XMLDocument, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; @@ -19177,11 +19227,11 @@ interface PerformanceObserverCallback { } interface PositionCallback { - (position: Position): void; + (position: GeolocationPosition): void; } interface PositionErrorCallback { - (positionError: PositionError): void; + (positionError: GeolocationPositionError): void; } interface QueuingStrategySizeCallback { @@ -19891,9 +19941,6 @@ type PerformanceEntryList = PerformanceEntry[]; type ReadableStreamReadResult = ReadableStreamReadValueResult | ReadableStreamReadDoneResult; type VibratePattern = number | number[]; type COSEAlgorithmIdentifier = number; -type AuthenticatorSelectionList = AAGUID[]; -type AAGUID = BufferSource; -type AuthenticationExtensionsSupported = string[]; type UvmEntry = number[]; type UvmEntries = UvmEntry[]; type AlgorithmIdentifier = string | Algorithm; @@ -19933,7 +19980,7 @@ type WindowProxy = Window; type AlignSetting = "center" | "end" | "left" | "right" | "start"; type AnimationPlayState = "finished" | "idle" | "paused" | "running"; type AppendMode = "segments" | "sequence"; -type AttestationConveyancePreference = "direct" | "indirect" | "none"; +type AttestationConveyancePreference = "direct" | "enterprise" | "indirect" | "none"; type AudioContextLatencyCategory = "balanced" | "interactive" | "playback"; type AudioContextState = "closed" | "running" | "suspended"; type AuthenticatorAttachment = "cross-platform" | "platform"; @@ -20045,6 +20092,7 @@ type RequestCredentials = "include" | "omit" | "same-origin"; type RequestDestination = "" | "audio" | "audioworklet" | "document" | "embed" | "font" | "image" | "manifest" | "object" | "paintworklet" | "report" | "script" | "sharedworker" | "style" | "track" | "video" | "worker" | "xslt"; type RequestMode = "cors" | "navigate" | "no-cors" | "same-origin"; type RequestRedirect = "error" | "follow" | "manual"; +type ResidentKeyRequirement = "discouraged" | "preferred" | "required"; type ResizeQuality = "high" | "low" | "medium" | "pixelated"; type ResponseType = "basic" | "cors" | "default" | "error" | "opaque" | "opaqueredirect"; type ScopedCredentialType = "ScopedCred"; diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index 5d76c914b..b5de8a78e 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -2715,6 +2715,11 @@ interface ReadableByteStreamController { error(error?: any): void; } +declare var ReadableByteStreamController: { + prototype: ReadableByteStreamController; + new(): ReadableByteStreamController; +}; + /** This Streams API interface represents a readable stream of byte data. The Fetch API offers a concrete instance of a ReadableStream through the body property of a Response object. */ interface ReadableStream { readonly locked: boolean; @@ -2739,12 +2744,22 @@ interface ReadableStreamBYOBReader { releaseLock(): void; } +declare var ReadableStreamBYOBReader: { + prototype: ReadableStreamBYOBReader; + new(): ReadableStreamBYOBReader; +}; + interface ReadableStreamBYOBRequest { readonly view: ArrayBufferView; respond(bytesWritten: number): void; respondWithNewView(view: ArrayBufferView): void; } +declare var ReadableStreamBYOBRequest: { + prototype: ReadableStreamBYOBRequest; + new(): ReadableStreamBYOBRequest; +}; + interface ReadableStreamDefaultController { readonly desiredSize: number | null; close(): void; @@ -2752,6 +2767,11 @@ interface ReadableStreamDefaultController { error(error?: any): void; } +declare var ReadableStreamDefaultController: { + prototype: ReadableStreamDefaultController; + new(): ReadableStreamDefaultController; +}; + interface ReadableStreamDefaultReader { readonly closed: Promise; cancel(reason?: any): Promise; @@ -2759,6 +2779,11 @@ interface ReadableStreamDefaultReader { releaseLock(): void; } +declare var ReadableStreamDefaultReader: { + prototype: ReadableStreamDefaultReader; + new(): ReadableStreamDefaultReader; +}; + interface ReadableStreamReader { cancel(): Promise; read(): Promise>; @@ -3236,6 +3261,11 @@ interface TransformStreamDefaultController { terminate(): void; } +declare var TransformStreamDefaultController: { + prototype: TransformStreamDefaultController; + new(): TransformStreamDefaultController; +}; + /** The URL interface represents an object providing static methods used for creating object URLs. */ interface URL { hash: string; @@ -5512,6 +5542,11 @@ interface WritableStreamDefaultController { error(error?: any): void; } +declare var WritableStreamDefaultController: { + prototype: WritableStreamDefaultController; + new(): WritableStreamDefaultController; +}; + /** This Streams API interface is the object returned by WritableStream.getWriter() and once created locks the < writer to the WritableStream ensuring that no other streams can write to the underlying sink. */ interface WritableStreamDefaultWriter { readonly closed: Promise; @@ -5523,6 +5558,11 @@ interface WritableStreamDefaultWriter { write(chunk: W): Promise; } +declare var WritableStreamDefaultWriter: { + prototype: WritableStreamDefaultWriter; + new(): WritableStreamDefaultWriter; +}; + interface XMLHttpRequestEventMap extends XMLHttpRequestEventTargetEventMap { "readystatechange": Event; } diff --git a/inputfiles/idl/Geolocation.widl b/inputfiles/idl/Geolocation.widl index b53424124..f84cf8dce 100644 --- a/inputfiles/idl/Geolocation.widl +++ b/inputfiles/idl/Geolocation.widl @@ -1,23 +1,23 @@ partial interface Navigator { - readonly attribute Geolocation geolocation; + [SameObject] readonly attribute Geolocation geolocation; }; -[NoInterfaceObject] -interface Geolocation { +[Exposed=Window] +interface Geolocation { void getCurrentPosition(PositionCallback successCallback, optional PositionErrorCallback errorCallback, - optional PositionOptions options); + optional PositionOptions options = {}); long watchPosition(PositionCallback successCallback, optional PositionErrorCallback errorCallback, - optional PositionOptions options); + optional PositionOptions options = {}); void clearWatch(long watchId); }; -callback PositionCallback = void (Position position); +callback PositionCallback = void (GeolocationPosition position); -callback PositionErrorCallback = void (PositionError positionError); +callback PositionErrorCallback = void (GeolocationPositionError positionError); dictionary PositionOptions { boolean enableHighAccuracy = false; @@ -25,14 +25,14 @@ dictionary PositionOptions { [Clamp] unsigned long maximumAge = 0; }; -[NoInterfaceObject] -interface Position { - readonly attribute Coordinates coords; +[Exposed=Window, SecureContext] +interface GeolocationPosition { + readonly attribute GeolocationCoordinates coords; readonly attribute DOMTimeStamp timestamp; }; -[NoInterfaceObject] -interface Coordinates { +[Exposed=Window, SecureContext] +interface GeolocationCoordinates { readonly attribute double latitude; readonly attribute double longitude; readonly attribute double? altitude; @@ -42,8 +42,8 @@ interface Coordinates { readonly attribute double? speed; }; -[NoInterfaceObject] -interface PositionError { +[Exposed=Window] +interface GeolocationPositionError { const unsigned short PERMISSION_DENIED = 1; const unsigned short POSITION_UNAVAILABLE = 2; const unsigned short TIMEOUT = 3; diff --git a/inputfiles/idl/Streams.commentmap.json b/inputfiles/idl/Streams.commentmap.json new file mode 100644 index 000000000..47dc90aaa --- /dev/null +++ b/inputfiles/idl/Streams.commentmap.json @@ -0,0 +1,7 @@ +{ + "readablestreamgetreaderoptions-mode": "Creates a ReadableStreamBYOBReader and locks the stream to the new reader.\n\nThis call behaves the same way as the no-argument variant, except that it only works on readable byte streams, i.e. streams which were constructed specifically with the ability to handle \"bring your own buffer\" reading. The returned BYOB reader provides the ability to directly read individual chunks from the stream via its read() method, into developer-supplied buffers, allowing more precise control over allocation.", + "readablewritablepair-writable": "Provides a convenient, chainable way of piping this readable stream through a transform stream (or any other { writable, readable } pair). It simply pipes the stream into the writable side of the supplied pair, and returns the readable side for further use.\n\nPiping a stream will lock it for the duration of the pipe, preventing any other consumer from acquiring a reader.", + "streampipeoptions-preventclose": "Pipes this readable stream to a given writable stream destination. The way in which the piping process behaves under various error conditions can be customized with a number of passed options. It returns a promise that fulfills when the piping process completes successfully, or rejects if any errors were encountered.\n\nPiping a stream will lock it for the duration of the pipe, preventing any other consumer from acquiring a reader.\n\nErrors and closures of the source and destination streams propagate as follows:\n\nAn error in this source readable stream will abort destination, unless preventAbort is truthy. The returned promise will be rejected with the source's error, or with any error that occurs during aborting the destination.\n\nAn error in destination will cancel this source readable stream, unless preventCancel is truthy. The returned promise will be rejected with the destination's error, or with any error that occurs during canceling the source.\n\nWhen this source readable stream closes, destination will be closed, unless preventCancel is truthy. The returned promise will be fulfilled once this process completes, unless an error is encountered while closing the destination, in which case it will be rejected with that error.\n\nIf destination starts out closed or closing, this source readable stream will be canceled, unless preventCancel is true. The returned promise will be rejected with an error indicating piping to a closed stream failed, or with any error that occurs during canceling the source.\n\nThe signal option can be set to an AbortSignal to allow aborting an ongoing pipe operation via the corresponding AbortController. In this case, this source readable stream will be canceled, and destination aborted, unless the respective options preventCancel or preventAbort are set.", + "readablestreamiteratoroptions-preventcancel": "Asynchronously iterates over the chunks in the stream's internal queue.\n\nAsynchronously iterating over the stream will lock it, preventing any other consumer from acquiring a reader. The lock will be released if the async iterator's return() method is called, e.g. by breaking out of the loop.\n\nBy default, calling the async iterator's return() method will also cancel the stream. To prevent this, use the stream's values() method, passing true for the preventCancel option.", + "queuingstrategyinit-highwatermark": "Creates a new ByteLengthQueuingStrategy with the provided high water mark.\n\nNote that the provided high water mark will not be validated ahead of time. Instead, if it is negative, NaN, or not a number, the resulting ByteLengthQueuingStrategy will cause the corresponding stream constructor to throw." +} diff --git a/inputfiles/idl/Streams.widl b/inputfiles/idl/Streams.widl index 2fd1f3890..040d5d503 100644 --- a/inputfiles/idl/Streams.widl +++ b/inputfiles/idl/Streams.widl @@ -59,8 +59,7 @@ dictionary ReadableStreamReadDoneResult { [Exposed=(Window,Worker)] typedef (ReadableStreamReadValueResult or ReadableStreamReadDoneResult) ReadableStreamReadResult; -[Exposed=(Window,Worker), - NoInterfaceObject] +[Exposed=(Window,Worker)] interface ReadableStreamDefaultReader { readonly attribute Promise closed; @@ -69,8 +68,7 @@ interface ReadableStreamDefaultReader { void releaseLock(); }; -[Exposed=(Window,Worker), - NoInterfaceObject] +[Exposed=(Window,Worker)] interface ReadableStreamBYOBReader { readonly attribute Promise closed; @@ -79,8 +77,7 @@ interface ReadableStreamBYOBReader { void releaseLock(); }; -[Exposed=(Window,Worker), - NoInterfaceObject] +[Exposed=(Window,Worker)] interface ReadableStreamDefaultController { readonly attribute unrestricted double? desiredSize; @@ -89,8 +86,7 @@ interface ReadableStreamDefaultController { void error(optional any error); }; -[Exposed=(Window,Worker), - NoInterfaceObject] +[Exposed=(Window,Worker)] interface ReadableByteStreamController { readonly attribute ReadableStreamBYOBRequest byobRequest; readonly attribute unrestricted double? desiredSize; @@ -100,8 +96,7 @@ interface ReadableByteStreamController { void error(optional any error); }; -[Exposed=(Window,Worker), - NoInterfaceObject] +[Exposed=(Window,Worker)] interface ReadableStreamBYOBRequest { readonly attribute ArrayBufferView view; @@ -131,8 +126,7 @@ dictionary UnderlyingSink { any type; }; -[Exposed=(Window,Worker), - NoInterfaceObject] +[Exposed=(Window,Worker)] interface WritableStreamDefaultWriter { readonly attribute Promise closed; readonly attribute unrestricted double? desiredSize; @@ -144,8 +138,7 @@ interface WritableStreamDefaultWriter { Promise write(any chunk); }; -[Exposed=(Window,Worker), - NoInterfaceObject] +[Exposed=(Window,Worker)] interface WritableStreamDefaultController { void error(optional any error); }; @@ -169,8 +162,7 @@ dictionary Transformer { any writableType; }; -[Exposed=(Window,Worker), - NoInterfaceObject] +[Exposed=(Window,Worker)] interface TransformStreamDefaultController { readonly attribute unrestricted double? desiredSize; diff --git a/inputfiles/idl/Web Authentication.widl b/inputfiles/idl/Web Authentication.widl index fe0aefe46..575a5362e 100644 --- a/inputfiles/idl/Web Authentication.widl +++ b/inputfiles/idl/Web Authentication.widl @@ -25,6 +25,10 @@ interface AuthenticatorResponse { [SecureContext, Exposed=Window] interface AuthenticatorAttestationResponse : AuthenticatorResponse { [SameObject] readonly attribute ArrayBuffer attestationObject; + sequence getTransports(); + ArrayBuffer getAuthenticatorData(); + ArrayBuffer? getPublicKey(); + COSEAlgorithmIdentifier getPublicKeyAlgorithm(); }; [SecureContext, Exposed=Window] @@ -35,7 +39,7 @@ interface AuthenticatorAssertionResponse : AuthenticatorResponse { }; dictionary PublicKeyCredentialParameters { - required PublicKeyCredentialType type; + required DOMString type; required COSEAlgorithmIdentifier alg; }; @@ -49,13 +53,12 @@ dictionary PublicKeyCredentialCreationOptions { unsigned long timeout; sequence excludeCredentials = []; AuthenticatorSelectionCriteria authenticatorSelection; - AttestationConveyancePreference attestation = "none"; + DOMString attestation = "none"; AuthenticationExtensionsClientInputs extensions; }; dictionary PublicKeyCredentialEntity { required DOMString name; - USVString icon; }; dictionary PublicKeyCredentialRpEntity : PublicKeyCredentialEntity { @@ -68,9 +71,10 @@ dictionary PublicKeyCredentialUserEntity : PublicKeyCredentialEntity { }; dictionary AuthenticatorSelectionCriteria { - AuthenticatorAttachment authenticatorAttachment; + DOMString authenticatorAttachment; boolean requireResidentKey = false; - UserVerificationRequirement userVerification = "preferred"; + DOMString residentKey; + DOMString userVerification = "preferred"; }; enum AuthenticatorAttachment { @@ -78,10 +82,17 @@ enum AuthenticatorAttachment { "cross-platform" }; +enum ResidentKeyRequirement { + "discouraged", + "preferred", + "required" +}; + enum AttestationConveyancePreference { "none", "indirect", - "direct" + "direct", + "enterprise" }; dictionary PublicKeyCredentialRequestOptions { @@ -89,7 +100,7 @@ dictionary PublicKeyCredentialRequestOptions { unsigned long timeout; USVString rpId; sequence allowCredentials = []; - UserVerificationRequirement userVerification = "preferred"; + DOMString userVerification = "preferred"; AuthenticationExtensionsClientInputs extensions; }; @@ -105,11 +116,12 @@ dictionary CollectedClientData { required DOMString type; required DOMString challenge; required DOMString origin; + boolean crossOrigin; TokenBinding tokenBinding; }; dictionary TokenBinding { - required TokenBindingStatus status; + required DOMString status; DOMString id; }; @@ -120,9 +132,9 @@ enum PublicKeyCredentialType { }; dictionary PublicKeyCredentialDescriptor { - required PublicKeyCredentialType type; + required DOMString type; required BufferSource id; - sequence transports; + sequence transports; }; enum AuthenticatorTransport { @@ -149,76 +161,28 @@ partial dictionary AuthenticationExtensionsClientOutputs { }; partial dictionary AuthenticationExtensionsClientInputs { - USVString txAuthSimple; -}; - -partial dictionary AuthenticationExtensionsClientOutputs { - USVString txAuthSimple; -}; - -dictionary txAuthGenericArg { - required USVString contentType; // MIME-Type of the content, e.g., "image/png" - required ArrayBuffer content; -}; - -partial dictionary AuthenticationExtensionsClientInputs { - txAuthGenericArg txAuthGeneric; -}; - -partial dictionary AuthenticationExtensionsClientOutputs { - ArrayBuffer txAuthGeneric; -}; - -typedef sequence AuthenticatorSelectionList; - -partial dictionary AuthenticationExtensionsClientInputs { - AuthenticatorSelectionList authnSel; -}; - -typedef BufferSource AAGUID; - -partial dictionary AuthenticationExtensionsClientOutputs { - boolean authnSel; + USVString appidExclude; }; partial dictionary AuthenticationExtensionsClientInputs { - boolean exts; + boolean uvm; }; -typedef sequence AuthenticationExtensionsSupported; +typedef sequence UvmEntry; +typedef sequence UvmEntries; partial dictionary AuthenticationExtensionsClientOutputs { - AuthenticationExtensionsSupported exts; + UvmEntries uvm; }; partial dictionary AuthenticationExtensionsClientInputs { - boolean uvi; + boolean credProps; }; -partial dictionary AuthenticationExtensionsClientOutputs { - ArrayBuffer uvi; -}; - -partial dictionary AuthenticationExtensionsClientInputs { - boolean loc; +dictionary CredentialPropertiesOutput { + boolean rk; }; partial dictionary AuthenticationExtensionsClientOutputs { - Coordinates loc; + CredentialPropertiesOutput credProps; }; - -partial dictionary AuthenticationExtensionsClientInputs { - boolean uvm; -}; - -typedef sequence UvmEntry; -typedef sequence UvmEntries; - -partial dictionary AuthenticationExtensionsClientOutputs { - UvmEntries uvm; -}; - -dictionary authenticatorBiometricPerfBounds{ - float FAR; - float FRR; - }; diff --git a/inputfiles/idl/WebGL ANGLE_instanced_arrays.widl b/inputfiles/idl/WebGL ANGLE_instanced_arrays.widl index 523735525..133fa5140 100644 --- a/inputfiles/idl/WebGL ANGLE_instanced_arrays.widl +++ b/inputfiles/idl/WebGL ANGLE_instanced_arrays.widl @@ -1,4 +1,4 @@ -[NoInterfaceObject] +[LegacyNoInterfaceObject] interface ANGLE_instanced_arrays { const GLenum VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE = 0x88FE; void drawArraysInstancedANGLE(GLenum mode, GLint first, GLsizei count, GLsizei primcount); diff --git a/inputfiles/idl/WebGL EXT_blend_minmax.widl b/inputfiles/idl/WebGL EXT_blend_minmax.widl index f63e542fa..17bdda8eb 100644 --- a/inputfiles/idl/WebGL EXT_blend_minmax.widl +++ b/inputfiles/idl/WebGL EXT_blend_minmax.widl @@ -1,4 +1,4 @@ -[NoInterfaceObject] +[LegacyNoInterfaceObject] interface EXT_blend_minmax { const GLenum MIN_EXT = 0x8007; const GLenum MAX_EXT = 0x8008; diff --git a/inputfiles/idl/WebGL EXT_frag_depth.widl b/inputfiles/idl/WebGL EXT_frag_depth.widl index 60145f35f..1d584707a 100644 --- a/inputfiles/idl/WebGL EXT_frag_depth.widl +++ b/inputfiles/idl/WebGL EXT_frag_depth.widl @@ -1,3 +1,3 @@ -[NoInterfaceObject] +[LegacyNoInterfaceObject] interface EXT_frag_depth { }; diff --git a/inputfiles/idl/WebGL EXT_sRGB.widl b/inputfiles/idl/WebGL EXT_sRGB.widl index a00d72159..c49b3ae43 100644 --- a/inputfiles/idl/WebGL EXT_sRGB.widl +++ b/inputfiles/idl/WebGL EXT_sRGB.widl @@ -1,4 +1,4 @@ -[NoInterfaceObject] +[LegacyNoInterfaceObject] interface EXT_sRGB { const GLenum SRGB_EXT = 0x8C40; const GLenum SRGB_ALPHA_EXT = 0x8C42; diff --git a/inputfiles/idl/WebGL EXT_shader_texture_lod.widl b/inputfiles/idl/WebGL EXT_shader_texture_lod.widl index fcb5fd09a..091c08b2a 100644 --- a/inputfiles/idl/WebGL EXT_shader_texture_lod.widl +++ b/inputfiles/idl/WebGL EXT_shader_texture_lod.widl @@ -1,3 +1,3 @@ -[NoInterfaceObject] +[LegacyNoInterfaceObject] interface EXT_shader_texture_lod { }; diff --git a/inputfiles/idl/WebGL EXT_texture_filter_anisotropic.widl b/inputfiles/idl/WebGL EXT_texture_filter_anisotropic.widl index 1b7dc756a..a5f4fb284 100644 --- a/inputfiles/idl/WebGL EXT_texture_filter_anisotropic.widl +++ b/inputfiles/idl/WebGL EXT_texture_filter_anisotropic.widl @@ -1,4 +1,4 @@ -[NoInterfaceObject] +[LegacyNoInterfaceObject] interface EXT_texture_filter_anisotropic { const GLenum TEXTURE_MAX_ANISOTROPY_EXT = 0x84FE; const GLenum MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FF; diff --git a/inputfiles/idl/WebGL OES_element_index_uint.widl b/inputfiles/idl/WebGL OES_element_index_uint.widl index a8e72d6fd..57d6421a6 100644 --- a/inputfiles/idl/WebGL OES_element_index_uint.widl +++ b/inputfiles/idl/WebGL OES_element_index_uint.widl @@ -1,3 +1,3 @@ -[NoInterfaceObject] +[LegacyNoInterfaceObject] interface OES_element_index_uint { }; diff --git a/inputfiles/idl/WebGL OES_standard_derivatives.widl b/inputfiles/idl/WebGL OES_standard_derivatives.widl index 8054b1234..10210320c 100644 --- a/inputfiles/idl/WebGL OES_standard_derivatives.widl +++ b/inputfiles/idl/WebGL OES_standard_derivatives.widl @@ -1,4 +1,4 @@ -[NoInterfaceObject] +[LegacyNoInterfaceObject] interface OES_standard_derivatives { const GLenum FRAGMENT_SHADER_DERIVATIVE_HINT_OES = 0x8B8B; }; diff --git a/inputfiles/idl/WebGL OES_texture_float.widl b/inputfiles/idl/WebGL OES_texture_float.widl index c5cbc04b5..1c432b1ea 100644 --- a/inputfiles/idl/WebGL OES_texture_float.widl +++ b/inputfiles/idl/WebGL OES_texture_float.widl @@ -1,2 +1,2 @@ -[NoInterfaceObject] +[LegacyNoInterfaceObject] interface OES_texture_float { }; diff --git a/inputfiles/idl/WebGL OES_texture_float_linear.widl b/inputfiles/idl/WebGL OES_texture_float_linear.widl index 58b168e5d..df6996c7b 100644 --- a/inputfiles/idl/WebGL OES_texture_float_linear.widl +++ b/inputfiles/idl/WebGL OES_texture_float_linear.widl @@ -1,2 +1,2 @@ -[NoInterfaceObject] +[LegacyNoInterfaceObject] interface OES_texture_float_linear { }; diff --git a/inputfiles/idl/WebGL OES_texture_half_float.widl b/inputfiles/idl/WebGL OES_texture_half_float.widl index 97c43b5df..5fc123ca5 100644 --- a/inputfiles/idl/WebGL OES_texture_half_float.widl +++ b/inputfiles/idl/WebGL OES_texture_half_float.widl @@ -1,4 +1,4 @@ -[NoInterfaceObject] +[LegacyNoInterfaceObject] interface OES_texture_half_float { const GLenum HALF_FLOAT_OES = 0x8D61; }; diff --git a/inputfiles/idl/WebGL OES_texture_half_float_linear.widl b/inputfiles/idl/WebGL OES_texture_half_float_linear.widl index 86d2fc108..c054a50b3 100644 --- a/inputfiles/idl/WebGL OES_texture_half_float_linear.widl +++ b/inputfiles/idl/WebGL OES_texture_half_float_linear.widl @@ -1,2 +1,2 @@ -[NoInterfaceObject] +[LegacyNoInterfaceObject] interface OES_texture_half_float_linear { }; diff --git a/inputfiles/idl/WebGL OES_vertex_array_object.widl b/inputfiles/idl/WebGL OES_vertex_array_object.widl index 31e39fce6..9b60bbb1c 100644 --- a/inputfiles/idl/WebGL OES_vertex_array_object.widl +++ b/inputfiles/idl/WebGL OES_vertex_array_object.widl @@ -1,8 +1,8 @@ -[NoInterfaceObject] +[LegacyNoInterfaceObject] interface WebGLVertexArrayObjectOES : WebGLObject { }; -[NoInterfaceObject] +[LegacyNoInterfaceObject] interface OES_vertex_array_object { const GLenum VERTEX_ARRAY_BINDING_OES = 0x85B5; diff --git a/inputfiles/idl/WebGL WEBGL_color_buffer_float.widl b/inputfiles/idl/WebGL WEBGL_color_buffer_float.widl index bda538bfe..cecdf2b1d 100644 --- a/inputfiles/idl/WebGL WEBGL_color_buffer_float.widl +++ b/inputfiles/idl/WebGL WEBGL_color_buffer_float.widl @@ -1,4 +1,4 @@ -[NoInterfaceObject] +[LegacyNoInterfaceObject] interface WEBGL_color_buffer_float { const GLenum RGBA32F_EXT = 0x8814; const GLenum FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT = 0x8211; diff --git a/inputfiles/idl/WebGL WEBGL_compressed_texture_astc.widl b/inputfiles/idl/WebGL WEBGL_compressed_texture_astc.widl index 86ac81146..2db8b5fc2 100644 --- a/inputfiles/idl/WebGL WEBGL_compressed_texture_astc.widl +++ b/inputfiles/idl/WebGL WEBGL_compressed_texture_astc.widl @@ -1,4 +1,4 @@ -[NoInterfaceObject] +[LegacyNoInterfaceObject] interface WEBGL_compressed_texture_astc { /* Compressed Texture Format */ const GLenum COMPRESSED_RGBA_ASTC_4x4_KHR = 0x93B0; diff --git a/inputfiles/idl/WebGL WEBGL_compressed_texture_s3tc.widl b/inputfiles/idl/WebGL WEBGL_compressed_texture_s3tc.widl index 900a712a1..cff4867b2 100644 --- a/inputfiles/idl/WebGL WEBGL_compressed_texture_s3tc.widl +++ b/inputfiles/idl/WebGL WEBGL_compressed_texture_s3tc.widl @@ -1,4 +1,4 @@ -[NoInterfaceObject] +[LegacyNoInterfaceObject] interface WEBGL_compressed_texture_s3tc { /* Compressed Texture Formats */ const GLenum COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83F0; diff --git a/inputfiles/idl/WebGL WEBGL_compressed_texture_s3tc_srgb.widl b/inputfiles/idl/WebGL WEBGL_compressed_texture_s3tc_srgb.widl index 3a9be0616..8046cd67b 100644 --- a/inputfiles/idl/WebGL WEBGL_compressed_texture_s3tc_srgb.widl +++ b/inputfiles/idl/WebGL WEBGL_compressed_texture_s3tc_srgb.widl @@ -1,4 +1,4 @@ -[NoInterfaceObject] +[LegacyNoInterfaceObject] interface WEBGL_compressed_texture_s3tc_srgb { /* Compressed Texture Formats */ const GLenum COMPRESSED_SRGB_S3TC_DXT1_EXT = 0x8C4C; diff --git a/inputfiles/idl/WebGL WEBGL_debug_renderer_info.widl b/inputfiles/idl/WebGL WEBGL_debug_renderer_info.widl index 49bdac602..60d6b7d00 100644 --- a/inputfiles/idl/WebGL WEBGL_debug_renderer_info.widl +++ b/inputfiles/idl/WebGL WEBGL_debug_renderer_info.widl @@ -1,4 +1,4 @@ -[NoInterfaceObject] +[LegacyNoInterfaceObject] interface WEBGL_debug_renderer_info { const GLenum UNMASKED_VENDOR_WEBGL = 0x9245; diff --git a/inputfiles/idl/WebGL WEBGL_debug_shaders.widl b/inputfiles/idl/WebGL WEBGL_debug_shaders.widl index b72c40b21..b425e9aed 100644 --- a/inputfiles/idl/WebGL WEBGL_debug_shaders.widl +++ b/inputfiles/idl/WebGL WEBGL_debug_shaders.widl @@ -1,4 +1,4 @@ -[NoInterfaceObject] +[LegacyNoInterfaceObject] interface WEBGL_debug_shaders { DOMString getTranslatedShaderSource(WebGLShader shader); diff --git a/inputfiles/idl/WebGL WEBGL_depth_texture.widl b/inputfiles/idl/WebGL WEBGL_depth_texture.widl index d25ccf1f2..adc5bde98 100644 --- a/inputfiles/idl/WebGL WEBGL_depth_texture.widl +++ b/inputfiles/idl/WebGL WEBGL_depth_texture.widl @@ -1,4 +1,4 @@ -[NoInterfaceObject] +[LegacyNoInterfaceObject] interface WEBGL_depth_texture { const GLenum UNSIGNED_INT_24_8_WEBGL = 0x84FA; }; diff --git a/inputfiles/idl/WebGL WEBGL_draw_buffers.widl b/inputfiles/idl/WebGL WEBGL_draw_buffers.widl index 35362c27b..e8e554ca0 100644 --- a/inputfiles/idl/WebGL WEBGL_draw_buffers.widl +++ b/inputfiles/idl/WebGL WEBGL_draw_buffers.widl @@ -1,4 +1,4 @@ -[NoInterfaceObject] +[LegacyNoInterfaceObject] interface WEBGL_draw_buffers { const GLenum COLOR_ATTACHMENT0_WEBGL = 0x8CE0; const GLenum COLOR_ATTACHMENT1_WEBGL = 0x8CE1; diff --git a/inputfiles/idl/WebGL WEBGL_lose_context.widl b/inputfiles/idl/WebGL WEBGL_lose_context.widl index 069807ffe..b7e3acd41 100644 --- a/inputfiles/idl/WebGL WEBGL_lose_context.widl +++ b/inputfiles/idl/WebGL WEBGL_lose_context.widl @@ -1,4 +1,4 @@ -[NoInterfaceObject] +[LegacyNoInterfaceObject] interface WEBGL_lose_context { void loseContext(); void restoreContext(); diff --git a/inputfiles/idlSources.json b/inputfiles/idlSources.json index a8e0bd4b2..c8e33221e 100644 --- a/inputfiles/idlSources.json +++ b/inputfiles/idlSources.json @@ -221,7 +221,7 @@ "title": "Gamepad Extensions" }, { - "url": "https://www.w3.org/TR/geolocation-API/", + "url": "https://w3c.github.io/geolocation-api/", "title": "Geolocation" }, { @@ -464,8 +464,7 @@ }, { "url": "https://streams.spec.whatwg.org/", - "title": "Streams", - "local": true + "title": "Streams" }, { "url": "https://www.w3.org/TR/SVG2/types.html", @@ -524,7 +523,7 @@ "title": "Web Audio" }, { - "url": "https://www.w3.org/TR/2019/REC-webauthn-1-20190304/", + "url": "https://w3c.github.io/webauthn/", "title": "Web Authentication" }, { diff --git a/inputfiles/overridingTypes.json b/inputfiles/overridingTypes.json index dbcc6100f..c6b5266a2 100644 --- a/inputfiles/overridingTypes.json +++ b/inputfiles/overridingTypes.json @@ -2895,6 +2895,21 @@ } } }, + "AuthenticatorSelectionCriteria": { + "members": { + "member": { + "authenticatorAttachment": { + "type": "AuthenticatorAttachment" + }, + "residentKey": { + "type": "ResidentKeyRequirement" + }, + "userVerification": { + "type": "UserVerificationRequirement" + } + } + } + }, "BaseKeyframe": { "name": "Keyframe", "override-index-signatures": [ @@ -2947,6 +2962,47 @@ } } }, + "PublicKeyCredentialCreationOptions": { + "members": { + "member": { + "attestation": { + "type": "AttestationConveyancePreference" + } + } + } + }, + "PublicKeyCredentialDescriptor": { + "members": { + "member": { + "type": { + "type": "PublicKeyCredentialType" + }, + "transports": { + "subtype": { + "type": "AuthenticatorTransport" + } + } + } + } + }, + "PublicKeyCredentialParameters": { + "members": { + "member": { + "type": { + "type": "PublicKeyCredentialType" + } + } + } + }, + "PublicKeyCredentialRequestOptions": { + "members": { + "member": { + "userVerification": { + "type": "UserVerificationRequirement" + } + } + } + }, "QueuingStrategy": { "type-parameters": [ { @@ -3075,6 +3131,15 @@ } } }, + "TokenBinding": { + "members": { + "member": { + "status": { + "type": "TokenBindingStatus" + } + } + } + }, "Transformer": { "type-parameters": [ { diff --git a/inputfiles/removedTypes.json b/inputfiles/removedTypes.json index c34eddd64..729a0e86f 100644 --- a/inputfiles/removedTypes.json +++ b/inputfiles/removedTypes.json @@ -65,6 +65,16 @@ "interfaces": { "interface": { "AudioTrackList": null, + "AuthenticatorAttestationResponse": { + "methods": { + "method": { + "getAuthenticatorData": null, + "getPublicKey": null, + "getPublicKeyAlgorithm": null, + "getTransports": null + } + } + }, "CanvasRenderingContext2D": { "methods": { "method": { @@ -82,6 +92,7 @@ }, "ClipboardItem": null, "Console": null, + "Coordinates": null, "CSS": null, "CSSMarginRule": null, "CSSRule": { @@ -240,6 +251,8 @@ "MSDSHEvent": null, "MSStreamReader": null, "PasswordCredential": null, + "Position": null, + "PositionError": null, "RTCDataChannel": { "properties": { "property": { diff --git a/src/widlprocess.ts b/src/widlprocess.ts index 686e78a7c..6e63313dd 100644 --- a/src/widlprocess.ts +++ b/src/widlprocess.ts @@ -121,7 +121,7 @@ function convertInterfaceCommon(i: webidl2.InterfaceType | webidl2.InterfaceMixi "named-constructor": getLegacyFactoryFunction(i.extAttrs, i.name), exposed: getExtAttrConcatenated(i.extAttrs, "Exposed"), global: getExtAttrConcatenated(i.extAttrs, "Global"), - "no-interface-object": hasExtAttr(i.extAttrs, "NoInterfaceObject") ? 1 : undefined, + "no-interface-object": hasExtAttr(i.extAttrs, "LegacyNoInterfaceObject") ? 1 : undefined, "legacy-window-alias": getExtAttr(i.extAttrs, "LegacyWindowAlias"), "legacy-namespace": getExtAttr(i.extAttrs, "LegacyNamespace")[0] };