From 1013efd34639e53b39597ad34295f53c380b641b Mon Sep 17 00:00:00 2001 From: wpt-pr-bot Date: Thu, 13 Apr 2023 12:08:52 +0000 Subject: [PATCH] Sync interfaces/ with @webref/idl 3.33.0 --- interfaces/EXT_clip_cull_distance.idl | 20 --- interfaces/FedCM.idl | 62 +++---- interfaces/WEBGL_clip_cull_distance.idl | 20 +++ interfaces/WEBGL_provoking_vertex.idl | 13 ++ interfaces/anchors.idl | 2 + interfaces/badging.idl | 10 +- interfaces/compression.idl | 10 +- interfaces/compute-pressure.idl | 7 +- interfaces/contact-picker.idl | 2 +- interfaces/cookie-store.idl | 4 +- interfaces/css-cascade-6.idl | 10 ++ interfaces/css-contain.idl | 6 +- interfaces/css-typed-om.idl | 4 +- interfaces/css-view-transitions.idl | 8 +- interfaces/device-posture.idl | 3 +- interfaces/dom.idl | 2 +- interfaces/edit-context.idl | 40 +++-- interfaces/fenced-frame.idl | 54 ++++++ interfaces/fetch.idl | 1 + interfaces/fs.idl | 4 - interfaces/gamepad-extensions.idl | 2 +- interfaces/gpc-spec.idl | 10 ++ interfaces/html.idl | 32 +++- interfaces/mediacapture-streams.idl | 10 +- interfaces/navigation-api.idl | 158 ------------------ interfaces/notifications.idl | 1 - interfaces/orientation-event.idl | 4 - interfaces/permissions-policy.idl | 1 - interfaces/priority-hints.idl | 20 --- interfaces/requestStorageAccessFor.idl | 12 ++ interfaces/resource-timing.idl | 1 + interfaces/scroll-animations.idl | 1 + interfaces/scroll-to-text-fragment.idl | 2 +- interfaces/secure-payment-confirmation.idl | 11 -- interfaces/selection-api.idl | 3 +- interfaces/trust-token-api.idl | 29 ++++ interfaces/turtledove.idl | 109 ++++++++++++ interfaces/ua-client-hints.idl | 7 +- interfaces/url.idl | 4 + interfaces/wasm-js-api.idl | 12 +- interfaces/web-animations-2.idl | 11 ++ interfaces/web-animations.idl | 1 - interfaces/web-bluetooth.idl | 1 + interfaces/webauthn.idl | 42 +---- .../webcodecs-av1-codec-registration.idl | 12 ++ .../webcodecs-vp9-codec-registration.idl | 12 ++ interfaces/webcodecs.idl | 16 +- interfaces/webgpu.idl | 68 +++----- interfaces/webidl.idl | 2 - interfaces/webnn.idl | 25 ++- interfaces/webrtc-encoded-transform.idl | 1 + interfaces/webrtc-stats.idl | 2 +- interfaces/webrtc.idl | 55 +++--- interfaces/webtransport.idl | 20 ++- interfaces/webxr.idl | 1 + ...ow-placement.idl => window-management.idl} | 2 +- interfaces/xhr.idl | 2 +- 57 files changed, 521 insertions(+), 463 deletions(-) delete mode 100644 interfaces/EXT_clip_cull_distance.idl create mode 100644 interfaces/WEBGL_clip_cull_distance.idl create mode 100644 interfaces/WEBGL_provoking_vertex.idl create mode 100644 interfaces/css-cascade-6.idl create mode 100644 interfaces/fenced-frame.idl create mode 100644 interfaces/gpc-spec.idl delete mode 100644 interfaces/navigation-api.idl delete mode 100644 interfaces/priority-hints.idl create mode 100644 interfaces/requestStorageAccessFor.idl create mode 100644 interfaces/trust-token-api.idl create mode 100644 interfaces/turtledove.idl create mode 100644 interfaces/webcodecs-av1-codec-registration.idl create mode 100644 interfaces/webcodecs-vp9-codec-registration.idl rename interfaces/{window-placement.idl => window-management.idl} (93%) diff --git a/interfaces/EXT_clip_cull_distance.idl b/interfaces/EXT_clip_cull_distance.idl deleted file mode 100644 index 18d1c02a11abdf..00000000000000 --- a/interfaces/EXT_clip_cull_distance.idl +++ /dev/null @@ -1,20 +0,0 @@ -// GENERATED CONTENT - DO NOT EDIT -// Content was automatically extracted by Reffy into webref -// (https://github.com/w3c/webref) -// Source: WebGL EXT_clip_cull_distance Extension Draft Specification (https://registry.khronos.org/webgl/extensions/EXT_clip_cull_distance/) - -[Exposed=(Window,Worker), LegacyNoInterfaceObject] -interface EXT_clip_cull_distance { - const GLenum MAX_CLIP_DISTANCES_EXT = 0x0D32; - const GLenum MAX_CULL_DISTANCES_EXT = 0x82F9; - const GLenum MAX_COMBINED_CLIP_AND_CULL_DISTANCES_EXT = 0x82FA; - - const GLenum CLIP_DISTANCE0_EXT = 0x3000; - const GLenum CLIP_DISTANCE1_EXT = 0x3001; - const GLenum CLIP_DISTANCE2_EXT = 0x3002; - const GLenum CLIP_DISTANCE3_EXT = 0x3003; - const GLenum CLIP_DISTANCE4_EXT = 0x3004; - const GLenum CLIP_DISTANCE5_EXT = 0x3005; - const GLenum CLIP_DISTANCE6_EXT = 0x3006; - const GLenum CLIP_DISTANCE7_EXT = 0x3007; -}; diff --git a/interfaces/FedCM.idl b/interfaces/FedCM.idl index b3ddb54e0c646c..8de87e88b05fff 100644 --- a/interfaces/FedCM.idl +++ b/interfaces/FedCM.idl @@ -3,6 +3,25 @@ // (https://github.com/w3c/webref) // Source: Federated Credential Management API (https://fedidcg.github.io/FedCM/) +[Exposed=Window, SecureContext] +interface IdentityCredential : Credential { + readonly attribute USVString? token; +}; + +partial dictionary CredentialRequestOptions { + IdentityCredentialRequestOptions identity; +}; + +dictionary IdentityCredentialRequestOptions { + sequence providers; +}; + +dictionary IdentityProviderConfig { + required USVString configURL; + required USVString clientId; + USVString nonce; +}; + dictionary IdentityProviderWellKnown { required sequence provider_urls; }; @@ -16,6 +35,7 @@ dictionary IdentityProviderBranding { USVString background_color; USVString color; sequence icons; + USVString name; }; dictionary IdentityProviderAPIConfig { @@ -30,52 +50,18 @@ dictionary IdentityProviderAccount { required USVString name; required USVString email; USVString given_name; + USVString picture; sequence approved_clients; }; dictionary IdentityProviderAccountList { sequence accounts; }; -dictionary IdentityProviderClientMetadata { - USVString privacy_policy_url; - USVString terms_of_service_url; -}; - dictionary IdentityProviderToken { required USVString token; }; -[Exposed=Window, SecureContext] -interface IdentityCredential : Credential { - readonly attribute USVString? token; -}; - -partial dictionary CredentialRequestOptions { - IdentityCredentialRequestOptions identity; -}; - -dictionary IdentityCredentialRequestOptions { - sequence providers; -}; - -dictionary IdentityProviderConfig { - required USVString configURL; - required USVString clientId; - USVString nonce; -}; - -dictionary IdentityCredentialLogoutRPsRequest { - required USVString url; - required USVString accountId; -}; - -[Exposed=Window, SecureContext] -partial interface IdentityCredential { - static Promise logoutRPs(sequence logoutRequests); -}; - -[Exposed=Window, SecureContext] -interface IdentityProvider { - static undefined login(); - static undefined logout(); +dictionary IdentityProviderClientMetadata { + USVString privacy_policy_url; + USVString terms_of_service_url; }; diff --git a/interfaces/WEBGL_clip_cull_distance.idl b/interfaces/WEBGL_clip_cull_distance.idl new file mode 100644 index 00000000000000..46fa921fd53928 --- /dev/null +++ b/interfaces/WEBGL_clip_cull_distance.idl @@ -0,0 +1,20 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL WEBGL_clip_cull_distance Extension Draft Specification (https://registry.khronos.org/webgl/extensions/WEBGL_clip_cull_distance/) + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface WEBGL_clip_cull_distance { + const GLenum MAX_CLIP_DISTANCES_WEBGL = 0x0D32; + const GLenum MAX_CULL_DISTANCES_WEBGL = 0x82F9; + const GLenum MAX_COMBINED_CLIP_AND_CULL_DISTANCES_WEBGL = 0x82FA; + + const GLenum CLIP_DISTANCE0_WEBGL = 0x3000; + const GLenum CLIP_DISTANCE1_WEBGL = 0x3001; + const GLenum CLIP_DISTANCE2_WEBGL = 0x3002; + const GLenum CLIP_DISTANCE3_WEBGL = 0x3003; + const GLenum CLIP_DISTANCE4_WEBGL = 0x3004; + const GLenum CLIP_DISTANCE5_WEBGL = 0x3005; + const GLenum CLIP_DISTANCE6_WEBGL = 0x3006; + const GLenum CLIP_DISTANCE7_WEBGL = 0x3007; +}; diff --git a/interfaces/WEBGL_provoking_vertex.idl b/interfaces/WEBGL_provoking_vertex.idl new file mode 100644 index 00000000000000..035e1d233d6f56 --- /dev/null +++ b/interfaces/WEBGL_provoking_vertex.idl @@ -0,0 +1,13 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL WEBGL_provoking_vertex Extension Specification (https://registry.khronos.org/webgl/extensions/WEBGL_provoking_vertex/) + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface WEBGL_provoking_vertex { + const GLenum FIRST_VERTEX_CONVENTION_WEBGL = 0x8E4D; + const GLenum LAST_VERTEX_CONVENTION_WEBGL = 0x8E4E; // default + const GLenum PROVOKING_VERTEX_WEBGL = 0x8E4F; + + undefined provokingVertexWEBGL(GLenum provokeMode); +}; diff --git a/interfaces/anchors.idl b/interfaces/anchors.idl index 5aa9395f09f395..d8c5aa69a87293 100644 --- a/interfaces/anchors.idl +++ b/interfaces/anchors.idl @@ -17,6 +17,8 @@ partial interface XRFrame { }; partial interface XRSession { + readonly attribute FrozenArray persistentAnchors; + Promise restorePersistentAnchor(DOMString uuid); Promise deletePersistentAnchor(DOMString uuid); }; diff --git a/interfaces/badging.idl b/interfaces/badging.idl index f34dfa7e04af9c..8b401e057ade5c 100644 --- a/interfaces/badging.idl +++ b/interfaces/badging.idl @@ -3,15 +3,11 @@ // (https://github.com/w3c/webref) // Source: Badging API (https://w3c.github.io/badging/) -[SecureContext] -partial interface Navigator { - Promise setClientBadge(optional [EnforceRange] unsigned long long contents); - Promise clearClientBadge(); -}; - [SecureContext] interface mixin NavigatorBadge { - Promise setAppBadge(optional [EnforceRange] unsigned long long contents); + Promise setAppBadge( + optional [EnforceRange] unsigned long long contents + ); Promise clearAppBadge(); }; diff --git a/interfaces/compression.idl b/interfaces/compression.idl index 88be302a4a6c9a..7525d7c9847b74 100644 --- a/interfaces/compression.idl +++ b/interfaces/compression.idl @@ -3,14 +3,20 @@ // (https://github.com/w3c/webref) // Source: Compression Streams (https://wicg.github.io/compression/) +enum CompressionFormat { + "deflate", + "deflate-raw", + "gzip", +}; + [Exposed=*] interface CompressionStream { - constructor(DOMString format); + constructor(CompressionFormat format); }; CompressionStream includes GenericTransformStream; [Exposed=*] interface DecompressionStream { - constructor(DOMString format); + constructor(CompressionFormat format); }; DecompressionStream includes GenericTransformStream; diff --git a/interfaces/compute-pressure.idl b/interfaces/compute-pressure.idl index 42ff4f207ab534..3e35dc4ee2d049 100644 --- a/interfaces/compute-pressure.idl +++ b/interfaces/compute-pressure.idl @@ -3,17 +3,15 @@ // (https://github.com/w3c/webref) // Source: Compute Pressure Level 1 (https://w3c.github.io/compute-pressure/) -enum PressureState { "nominal", "fair", "serious", "critical" }; +enum PressureSource { "thermals", "cpu" }; -enum PressureFactor { "thermal", "power-supply" }; +enum PressureState { "nominal", "fair", "serious", "critical" }; callback PressureUpdateCallback = undefined ( sequence changes, PressureObserver observer ); -enum PressureSource { "cpu" }; - [Exposed=(DedicatedWorker,SharedWorker,Window), SecureContext] interface PressureObserver { constructor(PressureUpdateCallback callback, optional PressureObserverOptions options = {}); @@ -30,7 +28,6 @@ interface PressureObserver { interface PressureRecord { readonly attribute PressureSource source; readonly attribute PressureState state; - readonly attribute FrozenArray factors; readonly attribute DOMHighResTimeStamp time; [Default] object toJSON(); }; diff --git a/interfaces/contact-picker.idl b/interfaces/contact-picker.idl index aece81664e4fdd..0119d0e2ce658f 100644 --- a/interfaces/contact-picker.idl +++ b/interfaces/contact-picker.idl @@ -1,7 +1,7 @@ // GENERATED CONTENT - DO NOT EDIT // Content was automatically extracted by Reffy into webref // (https://github.com/w3c/webref) -// Source: Contact Picker API (https://w3c.github.io/contact-picker/spec/) +// Source: Contact Picker API (https://w3c.github.io/contact-picker/) [Exposed=Window] partial interface Navigator { diff --git a/interfaces/cookie-store.idl b/interfaces/cookie-store.idl index 72ef3f8c8242df..f44b4c63546605 100644 --- a/interfaces/cookie-store.idl +++ b/interfaces/cookie-store.idl @@ -36,7 +36,7 @@ enum CookieSameSite { dictionary CookieInit { required USVString name; required USVString value; - EpochTimeStamp? expires = null; + DOMHighResTimeStamp? expires = null; USVString? domain = null; USVString path = "/"; CookieSameSite sameSite = "strict"; @@ -53,7 +53,7 @@ dictionary CookieListItem { USVString value; USVString? domain; USVString path; - EpochTimeStamp? expires; + DOMHighResTimeStamp? expires; boolean secure; CookieSameSite sameSite; }; diff --git a/interfaces/css-cascade-6.idl b/interfaces/css-cascade-6.idl new file mode 100644 index 00000000000000..37cdfb8293097e --- /dev/null +++ b/interfaces/css-cascade-6.idl @@ -0,0 +1,10 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: CSS Cascading and Inheritance Level 6 (https://drafts.csswg.org/css-cascade-6/) + +[Exposed=Window] +interface CSSScopeRule : CSSGroupingRule { + readonly attribute CSSOMString start; + readonly attribute CSSOMString end; +}; diff --git a/interfaces/css-contain.idl b/interfaces/css-contain.idl index 6b29119617a67b..be2137a4a6afe3 100644 --- a/interfaces/css-contain.idl +++ b/interfaces/css-contain.idl @@ -4,10 +4,10 @@ // Source: CSS Containment Module Level 2 (https://drafts.csswg.org/css-contain-2/) [Exposed=Window] -interface ContentVisibilityAutoStateChangedEvent : Event { - constructor(DOMString type, optional ContentVisibilityAutoStateChangedEventInit eventInitDict = {}); +interface ContentVisibilityAutoStateChangeEvent : Event { + constructor(DOMString type, optional ContentVisibilityAutoStateChangeEventInit eventInitDict = {}); readonly attribute boolean skipped; }; -dictionary ContentVisibilityAutoStateChangedEventInit : EventInit { +dictionary ContentVisibilityAutoStateChangeEventInit : EventInit { boolean skipped = false; }; diff --git a/interfaces/css-typed-om.idl b/interfaces/css-typed-om.idl index 595a424e01461e..0df6a0327a2465 100644 --- a/interfaces/css-typed-om.idl +++ b/interfaces/css-typed-om.idl @@ -13,9 +13,7 @@ interface CSSStyleValue { [Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)] interface StylePropertyMapReadOnly { iterable>; - any get(USVString property); - /* 'any' means (undefined or CSSStyleValue) here, - see https://github.com/heycam/webidl/issues/60 */ + (undefined or CSSStyleValue) get(USVString property); sequence getAll(USVString property); boolean has(USVString property); readonly attribute unsigned long size; diff --git a/interfaces/css-view-transitions.idl b/interfaces/css-view-transitions.idl index cf9cb8927e42c5..745eb1d9691338 100644 --- a/interfaces/css-view-transitions.idl +++ b/interfaces/css-view-transitions.idl @@ -4,15 +4,15 @@ // Source: CSS View Transitions Module Level 1 (https://drafts.csswg.org/css-view-transitions-1/) partial interface Document { - ViewTransition startViewTransition(optional UpdateCallback? callback = null); + ViewTransition startViewTransition(optional UpdateCallback? updateCallback = null); }; callback UpdateCallback = Promise (); [Exposed=Window] interface ViewTransition { - undefined skipTransition(); - readonly attribute Promise finished; - readonly attribute Promise ready; readonly attribute Promise updateCallbackDone; + readonly attribute Promise ready; + readonly attribute Promise finished; + undefined skipTransition(); }; diff --git a/interfaces/device-posture.idl b/interfaces/device-posture.idl index ba8f9f51f025d9..0f1dded631329a 100644 --- a/interfaces/device-posture.idl +++ b/interfaces/device-posture.idl @@ -16,6 +16,5 @@ interface DevicePosture : EventTarget { enum DevicePostureType { "continuous", - "folded", - "folded-over" + "folded" }; diff --git a/interfaces/dom.idl b/interfaces/dom.idl index 96acfc6a717fb2..c5b5c94dbccac1 100644 --- a/interfaces/dom.idl +++ b/interfaces/dom.idl @@ -618,7 +618,7 @@ callback interface XPathNSResolver { interface mixin XPathEvaluatorBase { [NewObject] XPathExpression createExpression(DOMString expression, optional XPathNSResolver? resolver = null); - XPathNSResolver createNSResolver(Node nodeResolver); + Node createNSResolver(Node nodeResolver); // legacy // XPathResult.ANY_TYPE = 0 XPathResult evaluate(DOMString expression, Node contextNode, optional XPathNSResolver? resolver = null, optional unsigned short type = 0, optional XPathResult? result = null); }; diff --git a/interfaces/edit-context.idl b/interfaces/edit-context.idl index f5e60bd0d02c45..91d8af2ea689ef 100644 --- a/interfaces/edit-context.idl +++ b/interfaces/edit-context.idl @@ -3,7 +3,7 @@ // (https://github.com/w3c/webref) // Source: EditContext API (https://w3c.github.io/edit-context/) -partial interface Element { +partial interface HTMLElement { attribute EditContext? editContext; }; @@ -20,8 +20,8 @@ interface EditContext : EventTarget { undefined updateText(unsigned long rangeStart, unsigned long rangeEnd, DOMString text); undefined updateSelection(unsigned long start, unsigned long end); - undefined updateControlBound(DOMRect controlBound); - undefined updateSelectionBound(DOMRect selectionBound); + undefined updateControlBounds(DOMRect controlBounds); + undefined updateSelectionBounds(DOMRect selectionBounds); undefined updateCharacterBounds(unsigned long rangeStart, sequence characterBounds); sequence attachedElements(); @@ -31,9 +31,9 @@ interface EditContext : EventTarget { readonly attribute unsigned long selectionEnd; readonly attribute unsigned long compositionRangeStart; readonly attribute unsigned long compositionRangeEnd; - readonly attribute boolean isInComposition; - readonly attribute DOMRect controlBound; - readonly attribute DOMRect selectionBound; + readonly attribute boolean isComposing; + readonly attribute DOMRect controlBounds; + readonly attribute DOMRect selectionBounds; readonly attribute unsigned long characterBoundsRangeStart; sequence characterBounds(); @@ -44,7 +44,7 @@ interface EditContext : EventTarget { attribute EventHandler oncompositionend; }; -dictionary TextUpdateEventInit { +dictionary TextUpdateEventInit : EventInit { unsigned long updateRangeStart; unsigned long updateRangeEnd; DOMString text; @@ -56,7 +56,7 @@ dictionary TextUpdateEventInit { [Exposed=Window] interface TextUpdateEvent : Event { - constructor(optional TextUpdateEventInit options = {}); + constructor(DOMString type, optional TextUpdateEventInit options = {}); readonly attribute unsigned long updateRangeStart; readonly attribute unsigned long updateRangeEnd; readonly attribute DOMString text; @@ -79,35 +79,33 @@ dictionary TextFormatInit { [Exposed=Window] interface TextFormat { constructor(optional TextFormatInit options = {}); - attribute unsigned long rangeStart; - attribute unsigned long rangeEnd; - attribute DOMString textColor; - attribute DOMString backgroundColor; - attribute DOMString underlineStyle; - attribute DOMString underlineThickness; - attribute DOMString underlineColor; + readonly attribute unsigned long rangeStart; + readonly attribute unsigned long rangeEnd; + readonly attribute DOMString textColor; + readonly attribute DOMString backgroundColor; + readonly attribute DOMString underlineStyle; + readonly attribute DOMString underlineThickness; + readonly attribute DOMString underlineColor; }; -dictionary TextFormatUpdateEventInit { +dictionary TextFormatUpdateEventInit : EventInit { sequence textFormats; }; [Exposed=Window] interface TextFormatUpdateEvent : Event { - constructor(optional TextFormatUpdateEventInit options = {}); - + constructor(DOMString type, optional TextFormatUpdateEventInit options = {}); sequence getTextFormats(); }; -dictionary CharacterBoundsUpdateEventInit { +dictionary CharacterBoundsUpdateEventInit : EventInit { unsigned long rangeStart; unsigned long rangeEnd; }; [Exposed=Window] interface CharacterBoundsUpdateEvent : Event { - constructor(optional CharacterBoundsUpdateEventInit options = {}); - + constructor(DOMString type, optional CharacterBoundsUpdateEventInit options = {}); readonly attribute unsigned long rangeStart; readonly attribute unsigned long rangeEnd; }; diff --git a/interfaces/fenced-frame.idl b/interfaces/fenced-frame.idl new file mode 100644 index 00000000000000..2869b95e6bb3c5 --- /dev/null +++ b/interfaces/fenced-frame.idl @@ -0,0 +1,54 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: Fenced frame (https://wicg.github.io/fenced-frame/) + +[Exposed=Window] +interface HTMLFencedFrameElement : HTMLElement { + [HTMLConstructor] constructor(); + + [CEReactions] attribute FencedFrameConfig? config; + [CEReactions] attribute DOMString width; + [CEReactions] attribute DOMString height; +}; + +enum OpaqueProperty {"opaque"}; + +typedef (unsigned long or OpaqueProperty) FencedFrameConfigSize; +typedef (USVString or OpaqueProperty) FencedFrameConfigURL; + +[Exposed=Window] +interface FencedFrameConfig { + constructor(USVString url); + readonly attribute FencedFrameConfigURL? url; + readonly attribute FencedFrameConfigSize? width; + readonly attribute FencedFrameConfigSize? height; +}; + +enum FenceReportingDestination { + "buyer", + "seller", + "component-seller", + "direct-seller", + "shared-storage-select-url", +}; + +dictionary FenceEvent { + required DOMString eventType; + required DOMString eventData; + required sequence destination; +}; + +typedef (FenceEvent or DOMString) ReportEventType; + +[Exposed=Window] +interface Fence { + undefined reportEvent(ReportEventType event); + undefined setReportEventDataForAutomaticBeacons(FenceEvent event); + sequence getNestedConfigs(); +}; + +partial interface Window { + // Collection of fenced frame APIs + readonly attribute Fence? fence; +}; diff --git a/interfaces/fetch.idl b/interfaces/fetch.idl index 866d09d31bd9b9..81a5e69aee57f8 100644 --- a/interfaces/fetch.idl +++ b/interfaces/fetch.idl @@ -12,6 +12,7 @@ interface Headers { undefined append(ByteString name, ByteString value); undefined delete(ByteString name); ByteString? get(ByteString name); + sequence getSetCookie(); boolean has(ByteString name); undefined set(ByteString name, ByteString value); iterable; diff --git a/interfaces/fs.idl b/interfaces/fs.idl index e341ab387d9c47..e2474132abfb4c 100644 --- a/interfaces/fs.idl +++ b/interfaces/fs.idl @@ -15,7 +15,6 @@ interface FileSystemHandle { Promise isSameEntry(FileSystemHandle other); }; - dictionary FileSystemCreateWritableOptions { boolean keepExistingData = false; }; @@ -27,7 +26,6 @@ interface FileSystemFileHandle : FileSystemHandle { [Exposed=DedicatedWorker] Promise createSyncAccessHandle(); }; - dictionary FileSystemGetFileOptions { boolean create = false; }; @@ -51,7 +49,6 @@ interface FileSystemDirectoryHandle : FileSystemHandle { Promise?> resolve(FileSystemHandle possibleDescendant); }; - enum WriteCommandType { "write", "seek", @@ -73,7 +70,6 @@ interface FileSystemWritableFileStream : WritableStream { Promise seek(unsigned long long position); Promise truncate(unsigned long long size); }; - dictionary FileSystemReadWriteOptions { [EnforceRange] unsigned long long at; }; diff --git a/interfaces/gamepad-extensions.idl b/interfaces/gamepad-extensions.idl index ddfc0d9c06ac9f..d7d750654fd9da 100644 --- a/interfaces/gamepad-extensions.idl +++ b/interfaces/gamepad-extensions.idl @@ -67,5 +67,5 @@ partial interface Gamepad { readonly attribute FrozenArray hapticActuators; readonly attribute GamepadPose? pose; readonly attribute FrozenArray? touchEvents; - [SameObject] readonly attribute GamepadHapticActuator vibrationActuator; + [SameObject] readonly attribute GamepadHapticActuator? vibrationActuator; }; diff --git a/interfaces/gpc-spec.idl b/interfaces/gpc-spec.idl new file mode 100644 index 00000000000000..0e9a063c54cb55 --- /dev/null +++ b/interfaces/gpc-spec.idl @@ -0,0 +1,10 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: Global Privacy Control (GPC) (https://privacycg.github.io/gpc-spec/) + +interface mixin GlobalPrivacyControl { + readonly attribute boolean globalPrivacyControl; +}; +Navigator includes GlobalPrivacyControl; +WorkerNavigator includes GlobalPrivacyControl; diff --git a/interfaces/html.idl b/interfaces/html.idl index e4752f079ceb2e..33d4de0db976e1 100644 --- a/interfaces/html.idl +++ b/interfaces/html.idl @@ -127,6 +127,12 @@ interface HTMLElement : Element { [CEReactions] attribute [LegacyNullToEmptyString] DOMString outerText; ElementInternals attachInternals(); + + // The popover API + undefined showPopover(); + undefined hidePopover(); + undefined togglePopover(optional boolean force); + [CEReactions] attribute DOMString? popover; }; HTMLElement includes GlobalEventHandlers; @@ -202,6 +208,7 @@ interface HTMLLinkElement : HTMLElement { [CEReactions] attribute DOMString referrerPolicy; [SameObject, PutForwards=value] readonly attribute DOMTokenList blocking; [CEReactions] attribute boolean disabled; + [CEReactions] attribute DOMString fetchPriority; // also has obsolete members }; @@ -430,6 +437,7 @@ interface HTMLImageElement : HTMLElement { [CEReactions] attribute DOMString referrerPolicy; [CEReactions] attribute DOMString decoding; [CEReactions] attribute DOMString loading; + [CEReactions] attribute DOMString fetchPriority; Promise decode(); @@ -929,6 +937,7 @@ interface HTMLInputElement : HTMLElement { // also has obsolete members }; +HTMLInputElement includes PopoverInvokerElement; [Exposed=Window] interface HTMLButtonElement : HTMLElement { @@ -954,6 +963,7 @@ interface HTMLButtonElement : HTMLElement { readonly attribute NodeList labels; }; +HTMLButtonElement includes PopoverInvokerElement; [Exposed=Window] interface HTMLSelectElement : HTMLElement { @@ -1214,6 +1224,7 @@ interface HTMLScriptElement : HTMLElement { [CEReactions] attribute DOMString integrity; [CEReactions] attribute DOMString referrerPolicy; [SameObject, PutForwards=value] readonly attribute DOMTokenList blocking; + [CEReactions] attribute DOMString fetchPriority; static boolean supports(DOMString type); @@ -1704,6 +1715,23 @@ dictionary DragEventInit : MouseEventInit { DataTransfer? dataTransfer = null; }; +interface mixin PopoverInvokerElement { + [CEReactions] attribute Element? popoverTargetElement; + [CEReactions] attribute DOMString popoverTargetAction; +}; + +[Exposed=Window] +interface ToggleEvent : Event { + constructor(DOMString type, optional ToggleEventInit eventInitDict = {}); + readonly attribute DOMString oldState; + readonly attribute DOMString newState; +}; + +dictionary ToggleEventInit : EventInit { + DOMString oldState = ""; + DOMString newState = ""; +}; + [Global=Window, Exposed=Window, LegacyUnenumerableNamedProperties] @@ -1737,10 +1765,11 @@ interface Window : EventTarget { [Replaceable] readonly attribute WindowProxy? parent; readonly attribute Element? frameElement; WindowProxy? open(optional USVString url = "", optional DOMString target = "_blank", optional [LegacyNullToEmptyString] DOMString features = ""); - getter object (DOMString name); + // Since this is the global object, the IDL named getter adds a NamedPropertiesObject exotic // object on the prototype chain. Indeed, this does not make the global object an exotic object. // Indexed access is taken care of by the WindowProxy exotic object. + getter object (DOMString name); // the user agent readonly attribute Navigator navigator; @@ -1893,6 +1922,7 @@ interface mixin GlobalEventHandlers { attribute EventHandler onauxclick; attribute EventHandler onbeforeinput; attribute EventHandler onbeforematch; + attribute EventHandler onbeforetoggle; attribute EventHandler onblur; attribute EventHandler oncancel; attribute EventHandler oncanplay; diff --git a/interfaces/mediacapture-streams.idl b/interfaces/mediacapture-streams.idl index 5b41f3fa6538e2..3197ff73689b4c 100644 --- a/interfaces/mediacapture-streams.idl +++ b/interfaces/mediacapture-streams.idl @@ -104,19 +104,19 @@ dictionary MediaTrackConstraintSet { }; dictionary MediaTrackSettings { - long width; - long height; + unsigned long width; + unsigned long height; double aspectRatio; double frameRate; DOMString facingMode; DOMString resizeMode; - long sampleRate; - long sampleSize; + unsigned long sampleRate; + unsigned long sampleSize; boolean echoCancellation; boolean autoGainControl; boolean noiseSuppression; double latency; - long channelCount; + unsigned long channelCount; DOMString deviceId; DOMString groupId; }; diff --git a/interfaces/navigation-api.idl b/interfaces/navigation-api.idl deleted file mode 100644 index 111785182926a0..00000000000000 --- a/interfaces/navigation-api.idl +++ /dev/null @@ -1,158 +0,0 @@ -// GENERATED CONTENT - DO NOT EDIT -// Content was automatically extracted by Reffy into webref -// (https://github.com/w3c/webref) -// Source: Navigation API (https://wicg.github.io/navigation-api/) - -partial interface Window { - [Replaceable] readonly attribute Navigation navigation; -}; - -[Exposed=Window] -interface Navigation : EventTarget { - sequence entries(); - readonly attribute NavigationHistoryEntry? currentEntry; - undefined updateCurrentEntry(NavigationUpdateCurrentEntryOptions options); - readonly attribute NavigationTransition? transition; - - readonly attribute boolean canGoBack; - readonly attribute boolean canGoForward; - - NavigationResult navigate(USVString url, optional NavigationNavigateOptions options = {}); - NavigationResult reload(optional NavigationReloadOptions options = {}); - - NavigationResult traverseTo(DOMString key, optional NavigationOptions options = {}); - NavigationResult back(optional NavigationOptions options = {}); - NavigationResult forward(optional NavigationOptions options = {}); - - attribute EventHandler onnavigate; - attribute EventHandler onnavigatesuccess; - attribute EventHandler onnavigateerror; - attribute EventHandler oncurrententrychange; -}; - -dictionary NavigationUpdateCurrentEntryOptions { - required any state; -}; - -dictionary NavigationOptions { - any info; -}; - -dictionary NavigationNavigateOptions : NavigationOptions { - any state; - NavigationHistoryBehavior history = "auto"; -}; - -dictionary NavigationReloadOptions : NavigationOptions { - any state; -}; - -dictionary NavigationResult { - Promise committed; - Promise finished; -}; - -enum NavigationHistoryBehavior { - "auto", - "push", - "replace" -}; - -[Exposed=Window] -interface NavigationCurrentEntryChangeEvent : Event { - constructor(DOMString type, NavigationCurrentEntryChangeEventInit eventInit); - - readonly attribute NavigationType? navigationType; - readonly attribute NavigationHistoryEntry from; -}; - -dictionary NavigationCurrentEntryChangeEventInit : EventInit { - NavigationType? navigationType = null; - required NavigationHistoryEntry destination; -}; - -[Exposed=Window] -interface NavigationTransition { - readonly attribute NavigationType navigationType; - readonly attribute NavigationHistoryEntry from; - readonly attribute Promise finished; -}; - -[Exposed=Window] -interface NavigateEvent : Event { - constructor(DOMString type, NavigateEventInit eventInit); - - readonly attribute NavigationType navigationType; - readonly attribute NavigationDestination destination; - readonly attribute boolean canIntercept; - readonly attribute boolean userInitiated; - readonly attribute boolean hashChange; - readonly attribute AbortSignal signal; - readonly attribute FormData? formData; - readonly attribute DOMString? downloadRequest; - readonly attribute any info; - - undefined intercept(optional NavigationInterceptOptions options = {}); - undefined scroll(); -}; - -dictionary NavigateEventInit : EventInit { - NavigationType navigationType = "push"; - required NavigationDestination destination; - boolean canIntercept = false; - boolean userInitiated = false; - boolean hashChange = false; - required AbortSignal signal; - FormData? formData = null; - DOMString? downloadRequest = null; - any info; -}; - -dictionary NavigationInterceptOptions { - NavigationInterceptHandler handler; - NavigationFocusReset focusReset; - NavigationScrollBehavior scroll; -}; - -enum NavigationFocusReset { - "after-transition", - "manual" -}; - -enum NavigationScrollBehavior { - "after-transition", - "manual" -}; - -callback NavigationInterceptHandler = Promise (); - -enum NavigationType { - "reload", - "push", - "replace", - "traverse" -}; - -[Exposed=Window] -interface NavigationDestination { - readonly attribute USVString url; - readonly attribute DOMString? key; - readonly attribute DOMString? id; - readonly attribute long long index; - readonly attribute boolean sameDocument; - - any getState(); -}; - -[Exposed=Window] -interface NavigationHistoryEntry : EventTarget { - readonly attribute USVString? url; - readonly attribute DOMString key; - readonly attribute DOMString id; - readonly attribute long long index; - readonly attribute boolean sameDocument; - - any getState(); - - attribute EventHandler ondispose; -}; diff --git a/interfaces/notifications.idl b/interfaces/notifications.idl index 2be22213d789fc..bfcfa2e66afb96 100644 --- a/interfaces/notifications.idl +++ b/interfaces/notifications.idl @@ -72,7 +72,6 @@ dictionary NotificationAction { }; callback NotificationPermissionCallback = undefined (NotificationPermission permission); - dictionary GetNotificationOptions { DOMString tag = ""; }; diff --git a/interfaces/orientation-event.idl b/interfaces/orientation-event.idl index f6ff96f0e013fe..a93d4658830c61 100644 --- a/interfaces/orientation-event.idl +++ b/interfaces/orientation-event.idl @@ -29,10 +29,6 @@ partial interface Window { [SecureContext] attribute EventHandler ondeviceorientationabsolute; }; -partial interface Window { - attribute EventHandler oncompassneedscalibration; -}; - partial interface Window { [SecureContext] attribute EventHandler ondevicemotion; }; diff --git a/interfaces/permissions-policy.idl b/interfaces/permissions-policy.idl index 16945e3a9b7cde..a789d41738c157 100644 --- a/interfaces/permissions-policy.idl +++ b/interfaces/permissions-policy.idl @@ -18,7 +18,6 @@ partial interface Document { partial interface HTMLIFrameElement { [SameObject] readonly attribute PermissionsPolicy permissionsPolicy; }; - [Exposed=Window] interface PermissionsPolicyViolationReportBody : ReportBody { readonly attribute DOMString featureId; diff --git a/interfaces/priority-hints.idl b/interfaces/priority-hints.idl deleted file mode 100644 index cbff6a5222d0a9..00000000000000 --- a/interfaces/priority-hints.idl +++ /dev/null @@ -1,20 +0,0 @@ -// GENERATED CONTENT - DO NOT EDIT -// Content was automatically extracted by Reffy into webref -// (https://github.com/w3c/webref) -// Source: Priority Hints (https://wicg.github.io/priority-hints/) - -partial interface HTMLImageElement { - [CEReactions] attribute DOMString fetchPriority; -}; - -partial interface HTMLLinkElement { - [CEReactions] attribute DOMString fetchPriority; -}; - -partial interface HTMLScriptElement { - [CEReactions] attribute DOMString fetchPriority; -}; - -partial interface HTMLIFrameElement { - [CEReactions] attribute DOMString fetchPriority; -}; diff --git a/interfaces/requestStorageAccessFor.idl b/interfaces/requestStorageAccessFor.idl new file mode 100644 index 00000000000000..adca77a2b03955 --- /dev/null +++ b/interfaces/requestStorageAccessFor.idl @@ -0,0 +1,12 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: requestStorageAccessFor API (https://privacycg.github.io/requestStorageAccessFor/) + +partial interface Document { + Promise requestStorageAccessFor(USVString requestedOrigin); +}; + +dictionary TopLevelStorageAccessPermissionDescriptor : PermissionDescriptor { + USVString requestedOrigin = ""; +}; diff --git a/interfaces/resource-timing.idl b/interfaces/resource-timing.idl index 242df0bd804af4..151e5d46d84274 100644 --- a/interfaces/resource-timing.idl +++ b/interfaces/resource-timing.idl @@ -6,6 +6,7 @@ [Exposed=(Window,Worker)] interface PerformanceResourceTiming : PerformanceEntry { readonly attribute DOMString initiatorType; + readonly attribute DOMString deliveryType; readonly attribute ByteString nextHopProtocol; readonly attribute DOMHighResTimeStamp workerStart; readonly attribute DOMHighResTimeStamp redirectStart; diff --git a/interfaces/scroll-animations.idl b/interfaces/scroll-animations.idl index 1fd52dece191c6..14215509c9fec9 100644 --- a/interfaces/scroll-animations.idl +++ b/interfaces/scroll-animations.idl @@ -25,6 +25,7 @@ interface ScrollTimeline : AnimationTimeline { dictionary ViewTimelineOptions { Element subject; ScrollAxis axis = "block"; + (DOMString or sequence<(CSSNumericValue or CSSKeywordValue)>) inset = "auto"; }; [Exposed=Window] diff --git a/interfaces/scroll-to-text-fragment.idl b/interfaces/scroll-to-text-fragment.idl index ce571ddd694d4e..be7bf73968ea20 100644 --- a/interfaces/scroll-to-text-fragment.idl +++ b/interfaces/scroll-to-text-fragment.idl @@ -1,7 +1,7 @@ // GENERATED CONTENT - DO NOT EDIT // Content was automatically extracted by Reffy into webref // (https://github.com/w3c/webref) -// Source: Text Fragments (https://wicg.github.io/scroll-to-text-fragment/) +// Source: URL Fragment Text Directives (https://wicg.github.io/scroll-to-text-fragment/) [Exposed=Window] interface FragmentDirective { diff --git a/interfaces/secure-payment-confirmation.idl b/interfaces/secure-payment-confirmation.idl index 6b6083b165e774..9061b243477b4a 100644 --- a/interfaces/secure-payment-confirmation.idl +++ b/interfaces/secure-payment-confirmation.idl @@ -15,7 +15,6 @@ dictionary SecurePaymentConfirmationRequest { sequence locale; boolean showOptOut; }; - partial dictionary AuthenticationExtensionsClientInputs { AuthenticationExtensionsPaymentInputs payment; }; @@ -31,11 +30,9 @@ dictionary AuthenticationExtensionsPaymentInputs { PaymentCurrencyAmount total; PaymentCredentialInstrument instrument; }; - dictionary CollectedClientPaymentData : CollectedClientData { required CollectedClientAdditionalPaymentData payment; }; - dictionary CollectedClientAdditionalPaymentData { required USVString rpId; required USVString topOrigin; @@ -44,16 +41,8 @@ dictionary CollectedClientAdditionalPaymentData { required PaymentCurrencyAmount total; required PaymentCredentialInstrument instrument; }; - dictionary PaymentCredentialInstrument { required USVString displayName; required USVString icon; boolean iconMustBeShown = true; }; - -enum TransactionAutomationMode { - "none", - "autoAccept", - "autoReject", - "autoOptOut" -}; diff --git a/interfaces/selection-api.idl b/interfaces/selection-api.idl index c1eed2a9cf243d..a84536ab0f58bb 100644 --- a/interfaces/selection-api.idl +++ b/interfaces/selection-api.idl @@ -12,12 +12,13 @@ interface Selection { readonly attribute boolean isCollapsed; readonly attribute unsigned long rangeCount; readonly attribute DOMString type; + readonly attribute DOMString direction; Range getRangeAt(unsigned long index); undefined addRange(Range range); undefined removeRange(Range range); undefined removeAllRanges(); undefined empty(); - StaticRange getComposedRange(ShadowRoot... shadowRoots); + sequence getComposedRanges(ShadowRoot... shadowRoots); undefined collapse(Node? node, optional unsigned long offset = 0); undefined setPosition(Node? node, optional unsigned long offset = 0); undefined collapseToStart(); diff --git a/interfaces/trust-token-api.idl b/interfaces/trust-token-api.idl new file mode 100644 index 00000000000000..ee339590827e0f --- /dev/null +++ b/interfaces/trust-token-api.idl @@ -0,0 +1,29 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: Private State Token API (https://wicg.github.io/trust-token-api/) + +enum RefreshPolicy { "none", "refresh" }; + +enum TokenType { "private-state-token" }; + +enum TokenVersion { "1" }; + +enum OperationType { "token-request", "send-redemption-record", "token-redemption" }; + +dictionary PrivateToken { + required TokenType type; + required TokenVersion version; + required OperationType operation; + RefreshPolicy refreshPolicy = "none"; + sequence issuers; +}; + +partial dictionary RequestInit { + PrivateToken privateToken; +}; + +partial interface Document { + Promise hasPrivateTokens(USVString issuer, USVString type); + Promise hasRedemptionRecord(USVString issuer, USVString type); +}; diff --git a/interfaces/turtledove.idl b/interfaces/turtledove.idl new file mode 100644 index 00000000000000..cd81a3d87ef8cb --- /dev/null +++ b/interfaces/turtledove.idl @@ -0,0 +1,109 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: FLEDGE (https://wicg.github.io/turtledove/) + +[SecureContext] +partial interface Navigator { + Promise joinAdInterestGroup(AuctionAdInterestGroup group, double durationSeconds); +}; + +dictionary AuctionAd { + required USVString renderURL; + any metadata; +}; + +dictionary AuctionAdInterestGroup { + required USVString owner; + required USVString name; + + double priority = 0.0; + boolean enableBiddingSignalsPrioritization = false; + record priorityVector; + record prioritySignalsOverrides; + + DOMString executionMode = "compatibility"; + USVString biddingLogicURL; + USVString biddingWasmHelperURL; + USVString dailyUpdateURL; + USVString trustedBiddingSignalsURL; + sequence trustedBiddingSignalsKeys; + any userBiddingSignals; + sequence ads; + sequence adComponents; +}; + +[SecureContext] +partial interface Navigator { + Promise leaveAdInterestGroup(AuctionAdInterestGroupKey group); +}; + +dictionary AuctionAdInterestGroupKey { + required USVString owner; + required USVString name; +}; + +[SecureContext] +partial interface Navigator { + Promise runAdAuction(AuctionAdConfig config); +}; + +dictionary AuctionAdConfig { + required USVString seller; + required USVString decisionLogicURL; + USVString trustedScoringSignalsURL; + sequence interestGroupBuyers; + any auctionSignals; + any sellerSignals; + USVString directFromSellerSignals; + unsigned long long sellerTimeout; + unsigned short sellerExperimentGroupId; + record perBuyerSignals; + record perBuyerTimeouts; + record perBuyerGroupLimits; + record perBuyerExperimentGroupIds; + record> perBuyerPrioritySignals; + sequence componentAuctions = []; + AbortSignal? signal; +}; + +[Exposed=InterestGroupBiddingScriptRunnerGlobalScope, +Global=InterestGroupBiddingScriptRunnerGlobalScope] +interface InterestGroupBiddingScriptRunnerGlobalScope { + boolean setBid(); + boolean setBid(GenerateBidOutput generateBidOutput); + undefined setPriority(double priority); + undefined setPrioritySignalsOverride(DOMString key, double priority); +}; + +[Exposed=InterestGroupScoringScriptRunnerGlobalScope, +Global=InterestGroupScoringScriptRunnerGlobalScope] +interface InterestGroupScoringScriptRunnerGlobalScope { +}; + +[Exposed=InterestGroupReportingScriptRunnerGlobalScope, +Global=InterestGroupReportingScriptRunnerGlobalScope] +interface InterestGroupReportingScriptRunnerGlobalScope { + undefined sendReportTo(DOMString url); +}; + +dictionary AdRender { + required DOMString url; + required DOMString width; + required DOMString height; +}; + +dictionary GenerateBidOutput { + required double bid; + required (DOMString or AdRender) adRender; + DOMString ad; + sequence<(DOMString or AdRender)> adComponents; + double adCost; + double modelingSignals; + boolean allowComponentAuction = false; +}; + +[SecureContext] +partial interface Navigator { + undefined updateAdInterestGroups(); +}; diff --git a/interfaces/ua-client-hints.idl b/interfaces/ua-client-hints.idl index f5070a0e0904f7..c69714b9734ade 100644 --- a/interfaces/ua-client-hints.idl +++ b/interfaces/ua-client-hints.idl @@ -9,16 +9,17 @@ dictionary NavigatorUABrandVersion { }; dictionary UADataValues { - sequence brands; - boolean mobile; DOMString architecture; DOMString bitness; + sequence brands; + DOMString formFactor; + sequence fullVersionList; DOMString model; + boolean mobile; DOMString platform; DOMString platformVersion; DOMString uaFullVersion; // deprecated in favor of fullVersionList boolean wow64; - sequence fullVersionList; }; dictionary UALowEntropyJSON { diff --git a/interfaces/url.idl b/interfaces/url.idl index 360c9adcfa1104..6549e45f419cd8 100644 --- a/interfaces/url.idl +++ b/interfaces/url.idl @@ -8,6 +8,8 @@ interface URL { constructor(USVString url, optional USVString base); + static boolean canParse(USVString url, optional USVString base); + stringifier attribute USVString href; readonly attribute USVString origin; attribute USVString protocol; @@ -28,6 +30,8 @@ interface URL { interface URLSearchParams { constructor(optional (sequence> or record or USVString) init = ""); + readonly attribute unsigned long size; + undefined append(USVString name, USVString value); undefined delete(USVString name); USVString? get(USVString name); diff --git a/interfaces/wasm-js-api.idl b/interfaces/wasm-js-api.idl index 141af90fd2d9d9..0d4384251df458 100644 --- a/interfaces/wasm-js-api.idl +++ b/interfaces/wasm-js-api.idl @@ -8,7 +8,7 @@ dictionary WebAssemblyInstantiatedSource { required Instance instance; }; -[Exposed=(Window,Worker,Worklet)] +[Exposed=*] namespace WebAssembly { boolean validate(BufferSource bytes); Promise compile(BufferSource bytes); @@ -39,7 +39,7 @@ dictionary ModuleImportDescriptor { required ImportExportKind kind; }; -[LegacyNamespace=WebAssembly, Exposed=(Window,Worker,Worklet)] +[LegacyNamespace=WebAssembly, Exposed=*] interface Module { constructor(BufferSource bytes); static sequence exports(Module moduleObject); @@ -47,7 +47,7 @@ interface Module { static sequence customSections(Module moduleObject, DOMString sectionName); }; -[LegacyNamespace=WebAssembly, Exposed=(Window,Worker,Worklet)] +[LegacyNamespace=WebAssembly, Exposed=*] interface Instance { constructor(Module module, optional object importObject); readonly attribute object exports; @@ -58,7 +58,7 @@ dictionary MemoryDescriptor { [EnforceRange] unsigned long maximum; }; -[LegacyNamespace=WebAssembly, Exposed=(Window,Worker,Worklet)] +[LegacyNamespace=WebAssembly, Exposed=*] interface Memory { constructor(MemoryDescriptor descriptor); unsigned long grow([EnforceRange] unsigned long delta); @@ -78,7 +78,7 @@ dictionary TableDescriptor { [EnforceRange] unsigned long maximum; }; -[LegacyNamespace=WebAssembly, Exposed=(Window,Worker,Worklet)] +[LegacyNamespace=WebAssembly, Exposed=*] interface Table { constructor(TableDescriptor descriptor, optional any value); unsigned long grow([EnforceRange] unsigned long delta, optional any value); @@ -102,7 +102,7 @@ dictionary GlobalDescriptor { boolean mutable = false; }; -[LegacyNamespace=WebAssembly, Exposed=(Window,Worker,Worklet)] +[LegacyNamespace=WebAssembly, Exposed=*] interface Global { constructor(GlobalDescriptor descriptor, optional any v); any valueOf(); diff --git a/interfaces/web-animations-2.idl b/interfaces/web-animations-2.idl index 61df2cd1518319..f9f68a0d49a5ba 100644 --- a/interfaces/web-animations-2.idl +++ b/interfaces/web-animations-2.idl @@ -5,6 +5,7 @@ [Exposed=Window] partial interface AnimationTimeline { + readonly attribute CSSNumberish? currentTime; readonly attribute CSSNumberish? duration; Animation play (optional AnimationEffect? effect = null); }; @@ -88,6 +89,16 @@ callback EffectCallback = undefined (double? progress, (Element or CSSPseudoElement) currentTarget, Animation animation); +dictionary TimelineRangeOffset { + CSSOMString? rangeName; + CSSNumericValue offset; +}; + +partial dictionary KeyframeAnimationOptions { + (TimelineRangeOffset or CSSNumericValue or CSSKeywordValue or DOMString) rangeStart = "normal"; + (TimelineRangeOffset or CSSNumericValue or CSSKeywordValue or DOMString) rangeEnd = "normal"; +}; + [Exposed=Window] interface AnimationPlaybackEvent : Event { constructor(DOMString type, optional AnimationPlaybackEventInit diff --git a/interfaces/web-animations.idl b/interfaces/web-animations.idl index ed612302a47f5a..956d700f49b703 100644 --- a/interfaces/web-animations.idl +++ b/interfaces/web-animations.idl @@ -5,7 +5,6 @@ [Exposed=Window] interface AnimationTimeline { - readonly attribute double? currentTime; }; dictionary DocumentTimelineOptions { diff --git a/interfaces/web-bluetooth.idl b/interfaces/web-bluetooth.idl index 21c237040ebbb9..5d461194a833e1 100644 --- a/interfaces/web-bluetooth.idl +++ b/interfaces/web-bluetooth.idl @@ -26,6 +26,7 @@ dictionary BluetoothLEScanFilterInit { dictionary RequestDeviceOptions { sequence filters; + sequence exclusionFilters; sequence optionalServices = []; sequence optionalManufacturerData = []; boolean acceptAllDevices = false; diff --git a/interfaces/webauthn.idl b/interfaces/webauthn.idl index ef27322312f1cb..58a9e285232184 100644 --- a/interfaces/webauthn.idl +++ b/interfaces/webauthn.idl @@ -12,7 +12,6 @@ interface PublicKeyCredential : Credential { static Promise isConditionalMediationAvailable(); PublicKeyCredentialJSON toJSON(); }; - typedef DOMString Base64URLString; typedef (RegistrationResponseJSON or AuthenticationResponseJSON) PublicKeyCredentialJSON; @@ -49,19 +48,15 @@ dictionary AuthenticatorAssertionResponseJSON { dictionary AuthenticationExtensionsClientOutputsJSON { }; - partial dictionary CredentialCreationOptions { PublicKeyCredentialCreationOptions publicKey; }; - partial dictionary CredentialRequestOptions { PublicKeyCredentialRequestOptions publicKey; }; - partial interface PublicKeyCredential { static Promise isUserVerifyingPlatformAuthenticatorAvailable(); }; - partial interface PublicKeyCredential { static PublicKeyCredentialCreationOptions parseCreationOptionsFromJSON(PublicKeyCredentialCreationOptionsJSON options); }; @@ -92,7 +87,6 @@ dictionary PublicKeyCredentialDescriptorJSON { dictionary AuthenticationExtensionsClientInputsJSON { }; - partial interface PublicKeyCredential { static PublicKeyCredentialRequestOptions parseRequestOptionsFromJSON(PublicKeyCredentialRequestOptionsJSON options); }; @@ -105,12 +99,10 @@ dictionary PublicKeyCredentialRequestOptionsJSON { DOMString userVerification = "preferred"; AuthenticationExtensionsClientInputsJSON extensions; }; - [SecureContext, Exposed=Window] interface AuthenticatorResponse { [SameObject] readonly attribute ArrayBuffer clientDataJSON; }; - [SecureContext, Exposed=Window] interface AuthenticatorAttestationResponse : AuthenticatorResponse { [SameObject] readonly attribute ArrayBuffer attestationObject; @@ -119,7 +111,6 @@ interface AuthenticatorAttestationResponse : AuthenticatorResponse { ArrayBuffer? getPublicKey(); COSEAlgorithmIdentifier getPublicKeyAlgorithm(); }; - [SecureContext, Exposed=Window] interface AuthenticatorAssertionResponse : AuthenticatorResponse { [SameObject] readonly attribute ArrayBuffer authenticatorData; @@ -127,12 +118,10 @@ interface AuthenticatorAssertionResponse : AuthenticatorResponse { [SameObject] readonly attribute ArrayBuffer? userHandle; [SameObject] readonly attribute ArrayBuffer? attestationObject; }; - dictionary PublicKeyCredentialParameters { required DOMString type; required COSEAlgorithmIdentifier alg; }; - dictionary PublicKeyCredentialCreationOptions { required PublicKeyCredentialRpEntity rp; required PublicKeyCredentialUserEntity user; @@ -147,45 +136,37 @@ dictionary PublicKeyCredentialCreationOptions { sequence attestationFormats = []; AuthenticationExtensionsClientInputs extensions; }; - dictionary PublicKeyCredentialEntity { required DOMString name; }; - dictionary PublicKeyCredentialRpEntity : PublicKeyCredentialEntity { DOMString id; }; - dictionary PublicKeyCredentialUserEntity : PublicKeyCredentialEntity { required BufferSource id; required DOMString displayName; }; - dictionary AuthenticatorSelectionCriteria { DOMString authenticatorAttachment; DOMString residentKey; boolean requireResidentKey = false; DOMString userVerification = "preferred"; }; - enum AuthenticatorAttachment { "platform", "cross-platform" }; - enum ResidentKeyRequirement { "discouraged", "preferred", "required" }; - enum AttestationConveyancePreference { "none", "indirect", "direct", "enterprise" }; - dictionary PublicKeyCredentialRequestOptions { required BufferSource challenge; unsigned long timeout; @@ -196,17 +177,15 @@ dictionary PublicKeyCredentialRequestOptions { sequence attestationFormats = []; AuthenticationExtensionsClientInputs extensions; }; - dictionary AuthenticationExtensionsClientInputs { }; - dictionary AuthenticationExtensionsClientOutputs { }; - dictionary CollectedClientData { required DOMString type; required DOMString challenge; required DOMString origin; + DOMString topOrigin; boolean crossOrigin; }; @@ -216,17 +195,14 @@ dictionary TokenBinding { }; enum TokenBindingStatus { "present", "supported" }; - enum PublicKeyCredentialType { "public-key" }; - dictionary PublicKeyCredentialDescriptor { required DOMString type; required BufferSource id; sequence transports; }; - enum AuthenticatorTransport { "usb", "nfc", @@ -234,35 +210,27 @@ enum AuthenticatorTransport { "hybrid", "internal" }; - typedef long COSEAlgorithmIdentifier; - enum UserVerificationRequirement { "required", "preferred", "discouraged" }; - partial dictionary AuthenticationExtensionsClientInputs { USVString appid; }; - partial dictionary AuthenticationExtensionsClientOutputs { boolean appid; }; - partial dictionary AuthenticationExtensionsClientInputs { USVString appidExclude; }; - partial dictionary AuthenticationExtensionsClientOutputs { boolean appidExclude; }; - partial dictionary AuthenticationExtensionsClientInputs { boolean credProps; }; - dictionary CredentialPropertiesOutput { boolean rk; }; @@ -270,10 +238,9 @@ dictionary CredentialPropertiesOutput { partial dictionary AuthenticationExtensionsClientOutputs { CredentialPropertiesOutput credProps; }; - dictionary AuthenticationExtensionsPRFValues { - required ArrayBuffer first; - ArrayBuffer second; + required BufferSource first; + BufferSource second; }; dictionary AuthenticationExtensionsPRFInputs { @@ -322,14 +289,12 @@ dictionary AuthenticationExtensionsLargeBlobOutputs { partial dictionary AuthenticationExtensionsClientInputs { boolean uvm; }; - typedef sequence UvmEntry; typedef sequence UvmEntries; partial dictionary AuthenticationExtensionsClientOutputs { UvmEntries uvm; }; - dictionary AuthenticationExtensionsDevicePublicKeyInputs { DOMString attestation = "none"; sequence attestationFormats = []; @@ -340,7 +305,6 @@ partial dictionary AuthenticationExtensionsClientInputs { }; dictionary AuthenticationExtensionsDevicePublicKeyOutputs { - ArrayBuffer authenticatorOutput; ArrayBuffer signature; }; diff --git a/interfaces/webcodecs-av1-codec-registration.idl b/interfaces/webcodecs-av1-codec-registration.idl new file mode 100644 index 00000000000000..00e4493d3c0a95 --- /dev/null +++ b/interfaces/webcodecs-av1-codec-registration.idl @@ -0,0 +1,12 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: AV1 WebCodecs Registration (https://w3c.github.io/webcodecs/av1_codec_registration.html) + +partial dictionary VideoEncoderEncodeOptions { + VideoEncoderEncodeOptionsForAv1 av1; +}; + +dictionary VideoEncoderEncodeOptionsForAv1 { + unsigned short? quantizer; +}; diff --git a/interfaces/webcodecs-vp9-codec-registration.idl b/interfaces/webcodecs-vp9-codec-registration.idl new file mode 100644 index 00000000000000..aca64a78961493 --- /dev/null +++ b/interfaces/webcodecs-vp9-codec-registration.idl @@ -0,0 +1,12 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: VP9 WebCodecs Registration (https://w3c.github.io/webcodecs/vp9_codec_registration.html) + +partial dictionary VideoEncoderEncodeOptions { + VideoEncoderEncodeOptionsForVp9 vp9; +}; + +dictionary VideoEncoderEncodeOptionsForVp9 { + unsigned short? quantizer; +}; diff --git a/interfaces/webcodecs.idl b/interfaces/webcodecs.idl index 68df48584bd327..77649029db69dd 100644 --- a/interfaces/webcodecs.idl +++ b/interfaces/webcodecs.idl @@ -4,7 +4,7 @@ // Source: WebCodecs (https://w3c.github.io/webcodecs/) [Exposed=(Window,DedicatedWorker), SecureContext] -interface AudioDecoder { +interface AudioDecoder : EventTarget { constructor(AudioDecoderInit init); readonly attribute CodecState state; @@ -28,7 +28,7 @@ dictionary AudioDecoderInit { callback AudioDataOutputCallback = undefined(AudioData output); [Exposed=(Window,DedicatedWorker), SecureContext] -interface VideoDecoder { +interface VideoDecoder : EventTarget { constructor(VideoDecoderInit init); readonly attribute CodecState state; @@ -52,7 +52,7 @@ dictionary VideoDecoderInit { callback VideoFrameOutputCallback = undefined(VideoFrame output); [Exposed=(Window,DedicatedWorker), SecureContext] -interface AudioEncoder { +interface AudioEncoder : EventTarget { constructor(AudioEncoderInit init); readonly attribute CodecState state; @@ -82,7 +82,7 @@ dictionary EncodedAudioChunkMetadata { }; [Exposed=(Window,DedicatedWorker), SecureContext] -interface VideoEncoder { +interface VideoEncoder : EventTarget { constructor(VideoEncoderInit init); readonly attribute CodecState state; @@ -174,7 +174,7 @@ dictionary VideoEncoderConfig { HardwareAcceleration hardwareAcceleration = "no-preference"; AlphaOption alpha = "discard"; DOMString scalabilityMode; - BitrateMode bitrateMode = "variable"; + VideoEncoderBitrateMode bitrateMode = "variable"; LatencyMode latencyMode = "quality"; }; @@ -198,6 +198,12 @@ dictionary VideoEncoderEncodeOptions { boolean keyFrame = false; }; +enum VideoEncoderBitrateMode { + "constant", + "variable", + "quantizer" +}; + enum CodecState { "unconfigured", "configured", diff --git a/interfaces/webgpu.idl b/interfaces/webgpu.idl index b00e2374e586a6..284327a578999a 100644 --- a/interfaces/webgpu.idl +++ b/interfaces/webgpu.idl @@ -26,6 +26,7 @@ interface GPUSupportedLimits { readonly attribute unsigned long maxStorageBuffersPerShaderStage; readonly attribute unsigned long maxStorageTexturesPerShaderStage; readonly attribute unsigned long maxUniformBuffersPerShaderStage; + readonly attribute unsigned long maxFragmentCombinedOutputResources; readonly attribute unsigned long long maxUniformBufferBindingSize; readonly attribute unsigned long long maxStorageBufferBindingSize; readonly attribute unsigned long minUniformBufferOffsetAlignment; @@ -51,6 +52,11 @@ interface GPUSupportedFeatures { readonly setlike; }; +[Exposed=(Window, DedicatedWorker), SecureContext] +interface WGSLLanguageFeatures { + readonly setlike; +}; + [Exposed=(Window, DedicatedWorker), SecureContext] interface GPUAdapterInfo { readonly attribute DOMString vendor; @@ -69,6 +75,7 @@ WorkerNavigator includes NavigatorGPU; interface GPU { Promise requestAdapter(optional GPURequestAdapterOptions options = {}); GPUTextureFormat getPreferredCanvasFormat(); + [SameObject] readonly attribute WGSLLanguageFeatures wgslLanguageFeatures; }; dictionary GPURequestAdapterOptions { @@ -106,7 +113,9 @@ enum GPUFeatureName { "timestamp-query", "indirect-first-instance", "shader-f16", - "rg11b10ufloat-renderable" + "rg11b10ufloat-renderable", + "bgra8unorm-storage", + "float32-filterable" }; [Exposed=(Window, DedicatedWorker), SecureContext] @@ -168,7 +177,7 @@ dictionary GPUBufferDescriptor : GPUObjectDescriptorBase { }; typedef [EnforceRange] unsigned long GPUBufferUsageFlags; -[Exposed=(Window, DedicatedWorker)] +[Exposed=(Window, DedicatedWorker), SecureContext] namespace GPUBufferUsage { const GPUFlagsConstant MAP_READ = 0x0001; const GPUFlagsConstant MAP_WRITE = 0x0002; @@ -183,7 +192,7 @@ namespace GPUBufferUsage { }; typedef [EnforceRange] unsigned long GPUMapModeFlags; -[Exposed=(Window, DedicatedWorker)] +[Exposed=(Window, DedicatedWorker), SecureContext] namespace GPUMapMode { const GPUFlagsConstant READ = 0x0001; const GPUFlagsConstant WRITE = 0x0002; @@ -223,7 +232,7 @@ enum GPUTextureDimension { }; typedef [EnforceRange] unsigned long GPUTextureUsageFlags; -[Exposed=(Window, DedicatedWorker)] +[Exposed=(Window, DedicatedWorker), SecureContext] namespace GPUTextureUsage { const GPUFlagsConstant COPY_SRC = 0x01; const GPUFlagsConstant COPY_DST = 0x02; @@ -384,7 +393,6 @@ enum GPUTextureFormat { [Exposed=(Window, DedicatedWorker), SecureContext] interface GPUExternalTexture { - readonly attribute boolean expired; }; GPUExternalTexture includes GPUObjectBase; @@ -459,7 +467,7 @@ dictionary GPUBindGroupLayoutEntry { }; typedef [EnforceRange] unsigned long GPUShaderStageFlags; -[Exposed=(Window, DedicatedWorker)] +[Exposed=(Window, DedicatedWorker), SecureContext] namespace GPUShaderStage { const GPUFlagsConstant VERTEX = 0x1; const GPUFlagsConstant FRAGMENT = 0x2; @@ -549,7 +557,7 @@ dictionary GPUPipelineLayoutDescriptor : GPUObjectDescriptorBase { [Exposed=(Window, DedicatedWorker), SecureContext] interface GPUShaderModule { - Promise compilationInfo(); + Promise getCompilationInfo(); }; GPUShaderModule includes GPUObjectBase; @@ -586,7 +594,7 @@ interface GPUCompilationInfo { [Exposed=(Window, DedicatedWorker), SecureContext, Serializable] interface GPUPipelineError : DOMException { - constructor(DOMString message, GPUPipelineErrorInit options); + constructor((DOMString or undefined) message, GPUPipelineErrorInit options); readonly attribute GPUPipelineErrorReason reason; }; @@ -695,7 +703,7 @@ dictionary GPUBlendState { }; typedef [EnforceRange] unsigned long GPUColorWriteFlags; -[Exposed=(Window, DedicatedWorker)] +[Exposed=(Window, DedicatedWorker), SecureContext] namespace GPUColorWrite { const GPUFlagsConstant RED = 0x1; const GPUFlagsConstant GREEN = 0x2; @@ -737,8 +745,8 @@ enum GPUBlendOperation { dictionary GPUDepthStencilState { required GPUTextureFormat format; - boolean depthWriteEnabled = false; - GPUCompareFunction depthCompare = "always"; + required boolean depthWriteEnabled; + required GPUCompareFunction depthCompare; GPUStencilFaceState stencilFront = {}; GPUStencilFaceState stencilBack = {}; @@ -829,34 +837,11 @@ dictionary GPUVertexAttribute { required GPUIndex32 shaderLocation; }; -dictionary GPUImageDataLayout { - GPUSize64 offset = 0; - GPUSize32 bytesPerRow; - GPUSize32 rowsPerImage; -}; - -dictionary GPUImageCopyBuffer : GPUImageDataLayout { - required GPUBuffer buffer; -}; - -dictionary GPUImageCopyTexture { - required GPUTexture texture; - GPUIntegerCoordinate mipLevel = 0; - GPUOrigin3D origin = {}; - GPUTextureAspect aspect = "all"; -}; - -dictionary GPUImageCopyTextureTagged : GPUImageCopyTexture { - PredefinedColorSpace colorSpace = "srgb"; - boolean premultipliedAlpha = false; -}; - -dictionary GPUImageCopyExternalImage { - required (ImageBitmap or HTMLVideoElement or HTMLCanvasElement or OffscreenCanvas) source; - GPUOrigin2D origin = {}; - boolean flipY = false; -}; - +dictionary GPUImageDataLayout { GPUSize64 offset = 0; GPUSize32 bytesPerRow; GPUSize32 rowsPerImage;}; +dictionary GPUImageCopyBuffer : GPUImageDataLayout { required GPUBuffer buffer;}; +dictionary GPUImageCopyTexture { required GPUTexture texture; GPUIntegerCoordinate mipLevel = 0; GPUOrigin3D origin = {}; GPUTextureAspect aspect = "all";}; +dictionary GPUImageCopyTextureTagged : GPUImageCopyTexture { PredefinedColorSpace colorSpace = "srgb"; boolean premultipliedAlpha = false;}; +dictionary GPUImageCopyExternalImage { required (ImageBitmap or HTMLVideoElement or HTMLCanvasElement or OffscreenCanvas) source; GPUOrigin2D origin = {}; boolean flipY = false;}; [Exposed=(Window, DedicatedWorker), SecureContext] interface GPUCommandBuffer { }; @@ -1021,7 +1006,7 @@ dictionary GPURenderPassColorAttachment { dictionary GPURenderPassDepthStencilAttachment { required GPUTextureView view; - float depthClearValue = 0; + float depthClearValue; GPULoadOp depthLoadOp; GPUStoreOp depthStoreOp; boolean depthReadOnly = false; @@ -1161,12 +1146,13 @@ dictionary GPUCanvasConfiguration { }; enum GPUDeviceLostReason { + "unknown", "destroyed" }; [Exposed=(Window, DedicatedWorker), SecureContext] interface GPUDeviceLostInfo { - readonly attribute (GPUDeviceLostReason or undefined) reason; + readonly attribute GPUDeviceLostReason reason; readonly attribute DOMString message; }; diff --git a/interfaces/webidl.idl b/interfaces/webidl.idl index 9993673361aad6..7271f19dfa65f6 100644 --- a/interfaces/webidl.idl +++ b/interfaces/webidl.idl @@ -46,5 +46,3 @@ interface DOMException { // but see below note about ECMAScript binding callback Function = any (any... arguments); callback VoidFunction = undefined (); - -typedef unsigned long long DOMTimeStamp; diff --git a/interfaces/webnn.idl b/interfaces/webnn.idl index 820c79e96666f8..2c2ab35e909712 100644 --- a/interfaces/webnn.idl +++ b/interfaces/webnn.idl @@ -146,7 +146,7 @@ interface MLGraphBuilder { dictionary MLBatchNormalizationOptions { MLOperand scale; MLOperand bias; - long axis = 1; + unsigned long axis = 1; float epsilon = 1e-5; MLActivation activation; }; @@ -167,7 +167,7 @@ partial interface MLGraphBuilder { }; partial interface MLGraphBuilder { - MLOperand concat(sequence inputs, long axis); + MLOperand concat(sequence inputs, unsigned long axis); }; enum MLConv2dFilterOperandLayout { @@ -409,7 +409,10 @@ dictionary MLPadOptions { }; partial interface MLGraphBuilder { - MLOperand pad(MLOperand input, MLOperand padding, optional MLPadOptions options = {}); + MLOperand pad(MLOperand input, + sequence beginningPadding, + sequence endingPadding, + optional MLPadOptions options = {}); }; enum MLRoundingType { @@ -434,8 +437,12 @@ partial interface MLGraphBuilder { MLOperand maxPool2d(MLOperand input, optional MLPool2dOptions options = {}); }; +partial interface MLGraphBuilder { + MLOperand prelu(MLOperand x, MLOperand slope); +}; + dictionary MLReduceOptions { - sequence axes = null; + sequence axes = null; boolean keepDimensions = false; }; @@ -466,7 +473,7 @@ dictionary MLResample2dOptions { MLInterpolationMode mode = "nearest-neighbor"; sequence scales; sequence sizes; - sequence axes; + sequence axes; }; partial interface MLGraphBuilder { @@ -483,7 +490,7 @@ partial interface MLGraphBuilder { }; dictionary MLSliceOptions { - sequence axes; + sequence axes; }; partial interface MLGraphBuilder { @@ -511,7 +518,7 @@ partial interface MLGraphBuilder { }; dictionary MLSplitOptions { - long axis = 0; + unsigned long axis = 0; }; partial interface MLGraphBuilder { @@ -521,7 +528,7 @@ partial interface MLGraphBuilder { }; dictionary MLSqueezeOptions { - sequence axes; + sequence axes; }; partial interface MLGraphBuilder { @@ -534,7 +541,7 @@ partial interface MLGraphBuilder { }; dictionary MLTransposeOptions { - sequence permutation; + sequence permutation; }; partial interface MLGraphBuilder { diff --git a/interfaces/webrtc-encoded-transform.idl b/interfaces/webrtc-encoded-transform.idl index 13f3999db1222c..e48f1080c41209 100644 --- a/interfaces/webrtc-encoded-transform.idl +++ b/interfaces/webrtc-encoded-transform.idl @@ -89,6 +89,7 @@ dictionary RTCEncodedAudioFrameMetadata { unsigned long synchronizationSource; octet payloadType; sequence contributingSources; + short sequenceNumber; }; [Exposed=(Window,DedicatedWorker)] diff --git a/interfaces/webrtc-stats.idl b/interfaces/webrtc-stats.idl index f1dca4a923d465..7e820a26df4844 100644 --- a/interfaces/webrtc-stats.idl +++ b/interfaces/webrtc-stats.idl @@ -105,7 +105,7 @@ dictionary RTCRemoteInboundRtpStreamStats : RTCReceivedRtpStreamStats { }; dictionary RTCSentRtpStreamStats : RTCRtpStreamStats { - unsigned long packetsSent; + unsigned long long packetsSent; unsigned long long bytesSent; }; diff --git a/interfaces/webrtc.idl b/interfaces/webrtc.idl index d631169f46f47a..578cbe92974fd7 100644 --- a/interfaces/webrtc.idl +++ b/interfaces/webrtc.idl @@ -1,7 +1,7 @@ // GENERATED CONTENT - DO NOT EDIT // Content was automatically extracted by Reffy into webref // (https://github.com/w3c/webref) -// Source: WebRTC 1.0: Real-Time Communication Between Browsers (https://w3c.github.io/webrtc-pc/) +// Source: WebRTC: Real-Time Communication in Browsers (https://w3c.github.io/webrtc-pc/) dictionary RTCConfiguration { sequence iceServers = []; @@ -51,29 +51,29 @@ enum RTCSignalingState { }; enum RTCIceGatheringState { -"new", -"gathering", -"complete" - }; + "new", + "gathering", + "complete" +}; enum RTCPeerConnectionState { -"closed", -"failed", -"disconnected", -"new", -"connecting", -"connected" - }; + "closed", + "failed", + "disconnected", + "new", + "connecting", + "connected" +}; enum RTCIceConnectionState { -"closed", -"failed", -"disconnected", -"new", -"checking", -"completed", -"connected" - }; + "closed", + "failed", + "disconnected", + "new", + "checking", + "completed", + "connected" +}; [Exposed=Window] interface RTCPeerConnection : EventTarget { @@ -332,28 +332,27 @@ dictionary RTCRtpHeaderExtensionParameters { boolean encrypted = false; }; -dictionary RTCRtpCodecParameters { - required octet payloadType; +dictionary RTCRtpCodec { required DOMString mimeType; required unsigned long clockRate; unsigned short channels; DOMString sdpFmtpLine; }; +dictionary RTCRtpCodecParameters : RTCRtpCodec { + required octet payloadType; +}; + dictionary RTCRtpCapabilities { required sequence codecs; required sequence headerExtensions; }; -dictionary RTCRtpCodecCapability { - required DOMString mimeType; - required unsigned long clockRate; - unsigned short channels; - DOMString sdpFmtpLine; +dictionary RTCRtpCodecCapability : RTCRtpCodec { }; dictionary RTCRtpHeaderExtensionCapability { - DOMString uri; + required DOMString uri; }; [Exposed=Window] diff --git a/interfaces/webtransport.idl b/interfaces/webtransport.idl index ba705807f1298d..2bea483e1b91f7 100644 --- a/interfaces/webtransport.idl +++ b/interfaces/webtransport.idl @@ -9,10 +9,10 @@ interface WebTransportDatagramDuplexStream { readonly attribute WritableStream writable; readonly attribute unsigned long maxDatagramSize; - attribute double? incomingMaxAge; - attribute double? outgoingMaxAge; - attribute long incomingHighWaterMark; - attribute long outgoingHighWaterMark; + attribute unrestricted double incomingMaxAge; + attribute unrestricted double outgoingMaxAge; + attribute unrestricted double incomingHighWaterMark; + attribute unrestricted double outgoingHighWaterMark; }; [Exposed=(Window,Worker), SecureContext] @@ -24,6 +24,7 @@ interface WebTransport { readonly attribute WebTransportReliabilityMode reliability; readonly attribute WebTransportCongestionControl congestionControl; readonly attribute Promise closed; + readonly attribute Promise draining; undefined close(optional WebTransportCloseInfo closeInfo = {}); readonly attribute WebTransportDatagramDuplexStream datagrams; @@ -85,6 +86,7 @@ dictionary WebTransportStats { DOMHighResTimeStamp rttVariation; DOMHighResTimeStamp minRtt; WebTransportDatagramStats datagrams; + unsigned long long? estimatedSendRate; }; dictionary WebTransportDatagramStats { @@ -123,17 +125,17 @@ interface WebTransportBidirectionalStream { readonly attribute WebTransportSendStream writable; }; -[Exposed=(Window,Worker), SecureContext] +[Exposed=(Window,Worker), Serializable, SecureContext] interface WebTransportError : DOMException { - constructor(optional WebTransportErrorInit init = {}); + constructor(optional DOMString message = "", optional WebTransportErrorOptions options = {}); readonly attribute WebTransportErrorSource source; readonly attribute octet? streamErrorCode; }; -dictionary WebTransportErrorInit { - [Clamp] octet streamErrorCode; - DOMString message; +dictionary WebTransportErrorOptions { + WebTransportErrorSource source = "stream"; + [Clamp] octet? streamErrorCode = null; }; enum WebTransportErrorSource { diff --git a/interfaces/webxr.idl b/interfaces/webxr.idl index 939da53364deef..de2b04691b32f6 100644 --- a/interfaces/webxr.idl +++ b/interfaces/webxr.idl @@ -41,6 +41,7 @@ enum XRVisibilityState { [SameObject] readonly attribute XRRenderState renderState; [SameObject] readonly attribute XRInputSourceArray inputSources; readonly attribute FrozenArray enabledFeatures; + readonly attribute boolean isSystemKeyboardSupported; // Methods undefined updateRenderState(optional XRRenderStateInit state = {}); diff --git a/interfaces/window-placement.idl b/interfaces/window-management.idl similarity index 93% rename from interfaces/window-placement.idl rename to interfaces/window-management.idl index ac86c1d502aa81..527c41deb6cda2 100644 --- a/interfaces/window-placement.idl +++ b/interfaces/window-management.idl @@ -1,7 +1,7 @@ // GENERATED CONTENT - DO NOT EDIT // Content was automatically extracted by Reffy into webref // (https://github.com/w3c/webref) -// Source: Multi-Screen Window Placement (https://w3c.github.io/window-placement/) +// Source: Window Management (https://w3c.github.io/window-management/) partial interface Screen /* : EventTarget */ { [SecureContext] diff --git a/interfaces/xhr.idl b/interfaces/xhr.idl index 3abd09ce5ed7fa..b4c27c8aca9ab3 100644 --- a/interfaces/xhr.idl +++ b/interfaces/xhr.idl @@ -70,7 +70,7 @@ typedef (File or USVString) FormDataEntryValue; [Exposed=(Window,Worker)] interface FormData { - constructor(optional HTMLFormElement form); + constructor(optional HTMLFormElement form, optional HTMLElement? submitter = null); undefined append(USVString name, USVString value); undefined append(USVString name, Blob blobValue, optional USVString filename);