Bug 1829123 [wpt PR 39623] - Sync interfaces/ with @webref/idl 3.34.0, a=testonly

Automatic update from web-platform-tests
Sync interfaces/ with @webref/idl 3.34.0 (#39623)

Co-authored-by: wpt-pr-bot <wpt-pr-bot@users.noreply.github.com>
--

wpt-commits: 27b458386da087fb6b457dca1a687b18dfd12a72
wpt-pr: 39623
This commit is contained in:
github-actions[bot]
2023-05-17 16:44:39 +00:00
committed by moz-wptsync-bot
parent c0acda928d
commit bec97a5406
26 changed files with 427 additions and 128 deletions

View File

@@ -4,9 +4,23 @@
// Source: Attribution Reporting (https://wicg.github.io/attribution-reporting-api/)
interface mixin HTMLAttributionSrcElementUtils {
[CEReactions] attribute USVString attributionSrc;
[CEReactions, SecureContext] attribute USVString attributionSrc;
};
HTMLAnchorElement includes HTMLAttributionSrcElementUtils;
HTMLImageElement includes HTMLAttributionSrcElementUtils;
HTMLScriptElement includes HTMLAttributionSrcElementUtils;
dictionary AttributionReportingRequestOptions {
required boolean eventSourceEligible;
required boolean triggerEligible;
};
partial dictionary RequestInit {
AttributionReportingRequestOptions attributionReporting;
};
partial interface XMLHttpRequest {
[SecureContext]
undefined setAttributionReporting(AttributionReportingRequestOptions options);
};

View File

@@ -5,6 +5,6 @@
[Exposed=Window]
interface CSSScopeRule : CSSGroupingRule {
readonly attribute CSSOMString start;
readonly attribute CSSOMString end;
readonly attribute CSSOMString? start;
readonly attribute CSSOMString? end;
};

View File

@@ -3,10 +3,6 @@
// (https://github.com/w3c/webref)
// Source: CSS Cascading and Inheritance Level 5 (https://drafts.csswg.org/css-cascade-5/)
partial interface CSSImportRule {
readonly attribute CSSOMString? layerName;
};
[Exposed=Window]
interface CSSLayerBlockRule : CSSGroupingRule {
readonly attribute CSSOMString name;

View File

@@ -106,7 +106,9 @@ interface CSSStyleRule : CSSRule {
interface CSSImportRule : CSSRule {
readonly attribute USVString href;
[SameObject, PutForwards=mediaText] readonly attribute MediaList media;
[SameObject] readonly attribute CSSStyleSheet styleSheet;
[SameObject] readonly attribute CSSStyleSheet? styleSheet;
readonly attribute CSSOMString? layerName;
readonly attribute CSSOMString? supportsText;
};
[Exposed=Window]

View File

@@ -10,19 +10,23 @@ interface HTMLFencedFrameElement : HTMLElement {
[CEReactions] attribute FencedFrameConfig? config;
[CEReactions] attribute DOMString width;
[CEReactions] attribute DOMString height;
[CEReactions] attribute DOMString allow;
};
enum OpaqueProperty {"opaque"};
typedef (unsigned long or OpaqueProperty) FencedFrameConfigSize;
typedef (USVString or OpaqueProperty) FencedFrameConfigURL;
typedef USVString FencedFrameConfigURL;
[Exposed=Window]
interface FencedFrameConfig {
constructor(USVString url);
readonly attribute FencedFrameConfigURL? url;
readonly attribute FencedFrameConfigSize? width;
readonly attribute FencedFrameConfigSize? height;
readonly attribute FencedFrameConfigSize? containerWidth;
readonly attribute FencedFrameConfigSize? containerHeight;
readonly attribute FencedFrameConfigSize? contentWidth;
readonly attribute FencedFrameConfigSize? contentHeight;
undefined setSharedStorageContext(DOMString contextString);
};
enum FenceReportingDestination {

View File

@@ -15,6 +15,7 @@ interface FileSystemHandle {
Promise<boolean> isSameEntry(FileSystemHandle other);
};
dictionary FileSystemCreateWritableOptions {
boolean keepExistingData = false;
};
@@ -26,6 +27,7 @@ interface FileSystemFileHandle : FileSystemHandle {
[Exposed=DedicatedWorker]
Promise<FileSystemSyncAccessHandle> createSyncAccessHandle();
};
dictionary FileSystemGetFileOptions {
boolean create = false;
};
@@ -49,6 +51,7 @@ interface FileSystemDirectoryHandle : FileSystemHandle {
Promise<sequence<USVString>?> resolve(FileSystemHandle possibleDescendant);
};
enum WriteCommandType {
"write",
"seek",
@@ -70,6 +73,7 @@ interface FileSystemWritableFileStream : WritableStream {
Promise<undefined> seek(unsigned long long position);
Promise<undefined> truncate(unsigned long long size);
};
dictionary FileSystemReadWriteOptions {
[EnforceRange] unsigned long long at;
};

View File

@@ -1643,6 +1643,14 @@ dictionary ValidityStateFlags {
boolean customError = false;
};
[Exposed=(Window)]
interface VisibilityStateEntry : PerformanceEntry {
readonly attribute DOMString name; // shadows inherited name
readonly attribute DOMString entryType; // shadows inherited entryType
readonly attribute DOMHighResTimeStamp startTime; // shadows inherited startTime
readonly attribute unsigned long duration; // shadows inherited duration
};
[Exposed=Window]
interface UserActivation {
readonly attribute boolean hasBeenActive;

View File

@@ -34,6 +34,8 @@ dictionary MediaRecorderOptions {
unsigned long videoBitsPerSecond;
unsigned long bitsPerSecond;
BitrateMode audioBitrateMode = "variable";
DOMHighResTimeStamp videoKeyFrameIntervalDuration;
unsigned long videoKeyFrameIntervalCount;
};
enum BitrateMode {

View File

@@ -0,0 +1,21 @@
// GENERATED CONTENT - DO NOT EDIT
// Content was automatically extracted by Reffy into webref
// (https://github.com/w3c/webref)
// Source: WebXR Mesh Detection Module (https://immersive-web.github.io/real-world-meshing/)
[Exposed=Window] interface XRMesh {
[SameObject] readonly attribute XRSpace meshSpace;
readonly attribute FrozenArray<Float32Array> vertices;
readonly attribute Uint32Array indices;
readonly attribute DOMHighResTimeStamp lastChangedTime;
readonly attribute DOMString? semanticLabel;
};
[Exposed=Window] interface XRMeshSet {
readonly setlike<XRMesh>;
};
partial interface XRFrame {
readonly attribute XRMeshSet detectedMeshs;
};

View File

@@ -18,6 +18,7 @@ interface PerformanceResourceTiming : PerformanceEntry {
readonly attribute DOMHighResTimeStamp connectEnd;
readonly attribute DOMHighResTimeStamp secureConnectionStart;
readonly attribute DOMHighResTimeStamp requestStart;
readonly attribute DOMHighResTimeStamp firstInterimResponseStart;
readonly attribute DOMHighResTimeStamp responseStart;
readonly attribute DOMHighResTimeStamp responseEnd;
readonly attribute unsigned long long transferSize;

View File

@@ -36,7 +36,11 @@ interface ViewTimeline : ScrollTimeline {
readonly attribute CSSNumericValue endOffset;
};
dictionary AnimationTimeOptions {
DOMString? range;
};
[Exposed=Window]
partial interface AnimationTimeline {
CSSNumericValue? getCurrentTime(optional CSSOMString rangeName);
CSSNumericValue? getCurrentTime(optional AnimationTimeOptions options = {});
};

View File

@@ -15,6 +15,7 @@ dictionary SecurePaymentConfirmationRequest {
sequence<USVString> locale;
boolean showOptOut;
};
partial dictionary AuthenticationExtensionsClientInputs {
AuthenticationExtensionsPaymentInputs payment;
};
@@ -30,9 +31,11 @@ dictionary AuthenticationExtensionsPaymentInputs {
PaymentCurrencyAmount total;
PaymentCredentialInstrument instrument;
};
dictionary CollectedClientPaymentData : CollectedClientData {
required CollectedClientAdditionalPaymentData payment;
};
dictionary CollectedClientAdditionalPaymentData {
required USVString rpId;
required USVString topOrigin;
@@ -41,6 +44,7 @@ dictionary CollectedClientAdditionalPaymentData {
required PaymentCurrencyAmount total;
required PaymentCredentialInstrument instrument;
};
dictionary PaymentCredentialInstrument {
required USVString displayName;
required USVString icon;

View File

@@ -0,0 +1,80 @@
// GENERATED CONTENT - DO NOT EDIT
// Content was automatically extracted by Reffy into webref
// (https://github.com/w3c/webref)
// Source: Shared Storage API (https://wicg.github.io/shared-storage/)
[Exposed=(Window)]
interface SharedStorageWorklet : Worklet {
};
[Exposed=SharedStorageWorklet, Global=SharedStorageWorklet]
interface SharedStorageWorkletGlobalScope : WorkletGlobalScope {
undefined register(DOMString name,
SharedStorageOperationConstructor operationCtor);
};
callback SharedStorageOperationConstructor =
SharedStorageOperation(optional SharedStorageRunOperationMethodOptions options);
[Exposed=SharedStorageWorklet]
interface SharedStorageOperation {
};
dictionary SharedStorageRunOperationMethodOptions {
object data;
boolean resolveToConfig = false;
boolean keepAlive = false;
};
[Exposed=SharedStorageWorklet]
interface SharedStorageRunOperation : SharedStorageOperation {
Promise<undefined> run(object data);
};
[Exposed=SharedStorageWorklet]
interface SharedStorageSelectURLOperation : SharedStorageOperation {
Promise<long> run(object data,
FrozenArray<SharedStorageUrlWithMetadata> urls);
};
[Exposed=(Window,SharedStorageWorklet)]
interface SharedStorage {
Promise<any> set(DOMString key,
DOMString value,
optional SharedStorageSetMethodOptions options = {});
Promise<any> append(DOMString key,
DOMString value);
Promise<any> delete(DOMString key);
Promise<any> clear();
};
dictionary SharedStorageSetMethodOptions {
boolean ignoreIfPresent = false;
};
typedef (USVString or FencedFrameConfig) SharedStorageResponse;
[Exposed=(Window)]
interface WindowSharedStorage : SharedStorage {
Promise<any> run(DOMString name,
optional SharedStorageRunOperationMethodOptions options = {});
Promise<SharedStorageResponse> selectURL(DOMString name,
FrozenArray<SharedStorageUrlWithMetadata> urls,
optional SharedStorageRunOperationMethodOptions options = {});
readonly attribute SharedStorageWorklet worklet;
};
dictionary SharedStorageUrlWithMetadata {
required USVString url;
object reportingMetadata;
};
[Exposed=(SharedStorageWorklet)]
interface WorkletSharedStorage : SharedStorage {
Promise<DOMString> get(DOMString key);
Promise<unsigned long> length();
Promise<double> remainingBudget();
async iterable<DOMString, DOMString>;
};

View File

@@ -0,0 +1,53 @@
// GENERATED CONTENT - DO NOT EDIT
// Content was automatically extracted by Reffy into webref
// (https://github.com/w3c/webref)
// Source: Storage Buckets API (https://wicg.github.io/storage-buckets/)
[SecureContext]
interface mixin NavigatorStorageBuckets {
[SameObject] readonly attribute StorageBucketManager storageBuckets;
};
Navigator includes NavigatorStorageBuckets;
WorkerNavigator includes NavigatorStorageBuckets;
[Exposed=(Window,Worker),
SecureContext]
interface StorageBucketManager {
Promise<StorageBucket> open(DOMString name, optional StorageBucketOptions options = {});
Promise<sequence<DOMString>> keys();
Promise<undefined> delete(DOMString name);
};
enum StorageBucketDurability {
"strict",
"relaxed"
};
dictionary StorageBucketOptions {
boolean? persisted = null;
StorageBucketDurability? durability = null;
unsigned long long? quota = null;
DOMHighResTimeStamp? expires = null;
};
[Exposed=(Window,Worker),
SecureContext]
interface StorageBucket {
readonly attribute DOMString name;
[Exposed=Window] Promise<boolean> persist();
Promise<boolean> persisted();
Promise<StorageEstimate> estimate();
Promise<StorageBucketDurability> durability();
Promise<undefined> setExpires(DOMHighResTimeStamp expires);
Promise<DOMHighResTimeStamp?> expires();
[SameObject] readonly attribute IDBFactory indexedDB;
[SameObject] readonly attribute CacheStorage caches;
Promise<FileSystemDirectoryHandle> getDirectory();
};

View File

@@ -5,14 +5,11 @@
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";
@@ -24,6 +21,6 @@ partial dictionary RequestInit {
};
partial interface Document {
Promise<boolean> hasPrivateTokens(USVString issuer, USVString type);
Promise<boolean> hasRedemptionRecord(USVString issuer, USVString type);
Promise<boolean> hasPrivateTokens(USVString issuer);
Promise<boolean> hasRedemptionRecord(USVString issuer);
};

View File

@@ -1,7 +1,7 @@
// 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/)
// Source: Protected Audience (formerly FLEDGE) (https://wicg.github.io/turtledove/)
[SecureContext]
partial interface Navigator {
@@ -25,7 +25,7 @@ dictionary AuctionAdInterestGroup {
DOMString executionMode = "compatibility";
USVString biddingLogicURL;
USVString biddingWasmHelperURL;
USVString dailyUpdateURL;
USVString updateURL;
USVString trustedBiddingSignalsURL;
sequence<USVString> trustedBiddingSignalsKeys;
any userBiddingSignals;
@@ -67,9 +67,15 @@ dictionary AuctionAdConfig {
AbortSignal? signal;
};
[Exposed=InterestGroupScriptRunnerGlobalScope]
interface InterestGroupScriptRunnerGlobalScope {
};
[Exposed=InterestGroupBiddingScriptRunnerGlobalScope,
Global=InterestGroupBiddingScriptRunnerGlobalScope]
interface InterestGroupBiddingScriptRunnerGlobalScope {
Global=(InterestGroupScriptRunnerGlobalScope,
InterestGroupBiddingScriptRunnerGlobalScope)]
interface InterestGroupBiddingScriptRunnerGlobalScope
: InterestGroupScriptRunnerGlobalScope {
boolean setBid();
boolean setBid(GenerateBidOutput generateBidOutput);
undefined setPriority(double priority);
@@ -77,13 +83,17 @@ interface InterestGroupBiddingScriptRunnerGlobalScope {
};
[Exposed=InterestGroupScoringScriptRunnerGlobalScope,
Global=InterestGroupScoringScriptRunnerGlobalScope]
interface InterestGroupScoringScriptRunnerGlobalScope {
Global=(InterestGroupScriptRunnerGlobalScope,
InterestGroupScoringScriptRunnerGlobalScope)]
interface InterestGroupScoringScriptRunnerGlobalScope
: InterestGroupScriptRunnerGlobalScope {
};
[Exposed=InterestGroupReportingScriptRunnerGlobalScope,
Global=InterestGroupReportingScriptRunnerGlobalScope]
interface InterestGroupReportingScriptRunnerGlobalScope {
Global=(InterestGroupScriptRunnerGlobalScope,
InterestGroupReportingScriptRunnerGlobalScope)]
interface InterestGroupReportingScriptRunnerGlobalScope
: InterestGroupScriptRunnerGlobalScope {
undefined sendReportTo(DOMString url);
};
@@ -96,7 +106,7 @@ dictionary AdRender {
dictionary GenerateBidOutput {
required double bid;
required (DOMString or AdRender) adRender;
DOMString ad;
any ad;
sequence<(DOMString or AdRender)> adComponents;
double adCost;
double modelingSignals;

View File

@@ -33,10 +33,10 @@ interface URLSearchParams {
readonly attribute unsigned long size;
undefined append(USVString name, USVString value);
undefined delete(USVString name);
undefined delete(USVString name, optional USVString value);
USVString? get(USVString name);
sequence<USVString> getAll(USVString name);
boolean has(USVString name);
boolean has(USVString name, optional USVString value);
undefined set(USVString name, USVString value);
undefined sort();

View File

@@ -12,6 +12,7 @@ interface PublicKeyCredential : Credential {
static Promise<boolean> isConditionalMediationAvailable();
PublicKeyCredentialJSON toJSON();
};
typedef DOMString Base64URLString;
typedef (RegistrationResponseJSON or AuthenticationResponseJSON) PublicKeyCredentialJSON;
@@ -48,15 +49,19 @@ dictionary AuthenticatorAssertionResponseJSON {
dictionary AuthenticationExtensionsClientOutputsJSON {
};
partial dictionary CredentialCreationOptions {
PublicKeyCredentialCreationOptions publicKey;
};
partial dictionary CredentialRequestOptions {
PublicKeyCredentialRequestOptions publicKey;
};
partial interface PublicKeyCredential {
static Promise<boolean> isUserVerifyingPlatformAuthenticatorAvailable();
};
partial interface PublicKeyCredential {
static PublicKeyCredentialCreationOptions parseCreationOptionsFromJSON(PublicKeyCredentialCreationOptionsJSON options);
};
@@ -87,6 +92,7 @@ dictionary PublicKeyCredentialDescriptorJSON {
dictionary AuthenticationExtensionsClientInputsJSON {
};
partial interface PublicKeyCredential {
static PublicKeyCredentialRequestOptions parseRequestOptionsFromJSON(PublicKeyCredentialRequestOptionsJSON options);
};
@@ -99,10 +105,12 @@ 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;
@@ -111,6 +119,7 @@ interface AuthenticatorAttestationResponse : AuthenticatorResponse {
ArrayBuffer? getPublicKey();
COSEAlgorithmIdentifier getPublicKeyAlgorithm();
};
[SecureContext, Exposed=Window]
interface AuthenticatorAssertionResponse : AuthenticatorResponse {
[SameObject] readonly attribute ArrayBuffer authenticatorData;
@@ -118,10 +127,12 @@ 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;
@@ -136,37 +147,45 @@ dictionary PublicKeyCredentialCreationOptions {
sequence<DOMString> 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;
@@ -177,10 +196,13 @@ dictionary PublicKeyCredentialRequestOptions {
sequence<DOMString> attestationFormats = [];
AuthenticationExtensionsClientInputs extensions;
};
dictionary AuthenticationExtensionsClientInputs {
};
dictionary AuthenticationExtensionsClientOutputs {
};
dictionary CollectedClientData {
required DOMString type;
required DOMString challenge;
@@ -195,42 +217,54 @@ dictionary TokenBinding {
};
enum TokenBindingStatus { "present", "supported" };
enum PublicKeyCredentialType {
"public-key"
};
dictionary PublicKeyCredentialDescriptor {
required DOMString type;
required BufferSource id;
sequence<DOMString> transports;
};
enum AuthenticatorTransport {
"usb",
"nfc",
"ble",
"smart-card",
"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;
};
@@ -238,6 +272,7 @@ dictionary CredentialPropertiesOutput {
partial dictionary AuthenticationExtensionsClientOutputs {
CredentialPropertiesOutput credProps;
};
dictionary AuthenticationExtensionsPRFValues {
required BufferSource first;
BufferSource second;
@@ -289,12 +324,14 @@ dictionary AuthenticationExtensionsLargeBlobOutputs {
partial dictionary AuthenticationExtensionsClientInputs {
boolean uvm;
};
typedef sequence<unsigned long> UvmEntry;
typedef sequence<UvmEntry> UvmEntries;
partial dictionary AuthenticationExtensionsClientOutputs {
UvmEntries uvm;
};
dictionary AuthenticationExtensionsDevicePublicKeyInputs {
DOMString attestation = "none";
sequence<DOMString> attestationFormats = [];

View File

@@ -3,6 +3,14 @@
// (https://github.com/w3c/webref)
// Source: AV1 WebCodecs Registration (https://w3c.github.io/webcodecs/av1_codec_registration.html)
partial dictionary VideoEncoderConfig {
AV1EncoderConfig av1;
};
dictionary AV1EncoderConfig {
boolean forceScreenContentTools = false;
};
partial dictionary VideoEncoderEncodeOptions {
VideoEncoderEncodeOptionsForAv1 av1;
};

View File

@@ -15,3 +15,11 @@ enum AvcBitstreamFormat {
"annexb",
"avc",
};
partial dictionary VideoEncoderEncodeOptions {
VideoEncoderEncodeOptionsForAvc avc;
};
dictionary VideoEncoderEncodeOptionsForAvc {
unsigned short? quantizer;
};

View File

@@ -161,6 +161,7 @@ dictionary AudioEncoderConfig {
[EnforceRange] unsigned long sampleRate;
[EnforceRange] unsigned long numberOfChannels;
[EnforceRange] unsigned long long bitrate;
BitrateMode bitrateMode;
};
dictionary VideoEncoderConfig {

View File

@@ -18,6 +18,7 @@ interface GPUSupportedLimits {
readonly attribute unsigned long maxTextureDimension3D;
readonly attribute unsigned long maxTextureArrayLayers;
readonly attribute unsigned long maxBindGroups;
readonly attribute unsigned long maxBindGroupsPlusVertexBuffers;
readonly attribute unsigned long maxBindingsPerBindGroup;
readonly attribute unsigned long maxDynamicUniformBuffersPerPipelineLayout;
readonly attribute unsigned long maxDynamicStorageBuffersPerPipelineLayout;
@@ -26,7 +27,6 @@ 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;
@@ -85,7 +85,7 @@ dictionary GPURequestAdapterOptions {
enum GPUPowerPreference {
"low-power",
"high-performance"
"high-performance",
};
[Exposed=(Window, DedicatedWorker), SecureContext]
@@ -98,7 +98,8 @@ interface GPUAdapter {
Promise<GPUAdapterInfo> requestAdapterInfo(optional sequence<DOMString> unmaskHints = []);
};
dictionary GPUDeviceDescriptor : GPUObjectDescriptorBase {
dictionary GPUDeviceDescriptor
: GPUObjectDescriptorBase {
sequence<GPUFeatureName> requiredFeatures = [];
record<DOMString, GPUSize64> requiredLimits = {};
GPUQueueDescriptor defaultQueue = {};
@@ -115,7 +116,7 @@ enum GPUFeatureName {
"shader-f16",
"rg11b10ufloat-renderable",
"bgra8unorm-storage",
"float32-filterable"
"float32-filterable",
};
[Exposed=(Window, DedicatedWorker), SecureContext]
@@ -167,10 +168,11 @@ GPUBuffer includes GPUObjectBase;
enum GPUBufferMapState {
"unmapped",
"pending",
"mapped"
"mapped",
};
dictionary GPUBufferDescriptor : GPUObjectDescriptorBase {
dictionary GPUBufferDescriptor
: GPUObjectDescriptorBase {
required GPUSize64 size;
required GPUBufferUsageFlags usage;
boolean mappedAtCreation = false;
@@ -215,7 +217,8 @@ interface GPUTexture {
};
GPUTexture includes GPUObjectBase;
dictionary GPUTextureDescriptor : GPUObjectDescriptorBase {
dictionary GPUTextureDescriptor
: GPUObjectDescriptorBase {
required GPUExtent3D size;
GPUIntegerCoordinate mipLevelCount = 1;
GPUSize32 sampleCount = 1;
@@ -228,7 +231,7 @@ dictionary GPUTextureDescriptor : GPUObjectDescriptorBase {
enum GPUTextureDimension {
"1d",
"2d",
"3d"
"3d",
};
typedef [EnforceRange] unsigned long GPUTextureUsageFlags;
@@ -246,7 +249,8 @@ interface GPUTextureView {
};
GPUTextureView includes GPUObjectBase;
dictionary GPUTextureViewDescriptor : GPUObjectDescriptorBase {
dictionary GPUTextureViewDescriptor
: GPUObjectDescriptorBase {
GPUTextureFormat format;
GPUTextureViewDimension dimension;
GPUTextureAspect aspect = "all";
@@ -262,13 +266,13 @@ enum GPUTextureViewDimension {
"2d-array",
"cube",
"cube-array",
"3d"
"3d",
};
enum GPUTextureAspect {
"all",
"stencil-only",
"depth-only"
"depth-only",
};
enum GPUTextureFormat {
@@ -388,7 +392,7 @@ enum GPUTextureFormat {
"astc-12x10-unorm",
"astc-12x10-unorm-srgb",
"astc-12x12-unorm",
"astc-12x12-unorm-srgb"
"astc-12x12-unorm-srgb",
};
[Exposed=(Window, DedicatedWorker), SecureContext]
@@ -396,8 +400,9 @@ interface GPUExternalTexture {
};
GPUExternalTexture includes GPUObjectBase;
dictionary GPUExternalTextureDescriptor : GPUObjectDescriptorBase {
required HTMLVideoElement source;
dictionary GPUExternalTextureDescriptor
: GPUObjectDescriptorBase {
required (HTMLVideoElement or VideoFrame) source;
PredefinedColorSpace colorSpace = "srgb";
};
@@ -406,7 +411,8 @@ interface GPUSampler {
};
GPUSampler includes GPUObjectBase;
dictionary GPUSamplerDescriptor : GPUObjectDescriptorBase {
dictionary GPUSamplerDescriptor
: GPUObjectDescriptorBase {
GPUAddressMode addressModeU = "clamp-to-edge";
GPUAddressMode addressModeV = "clamp-to-edge";
GPUAddressMode addressModeW = "clamp-to-edge";
@@ -422,17 +428,17 @@ dictionary GPUSamplerDescriptor : GPUObjectDescriptorBase {
enum GPUAddressMode {
"clamp-to-edge",
"repeat",
"mirror-repeat"
"mirror-repeat",
};
enum GPUFilterMode {
"nearest",
"linear"
"linear",
};
enum GPUMipmapFilterMode {
"nearest",
"linear"
"linear",
};
enum GPUCompareFunction {
@@ -443,7 +449,7 @@ enum GPUCompareFunction {
"greater",
"not-equal",
"greater-equal",
"always"
"always",
};
[Exposed=(Window, DedicatedWorker), SecureContext]
@@ -451,7 +457,8 @@ interface GPUBindGroupLayout {
};
GPUBindGroupLayout includes GPUObjectBase;
dictionary GPUBindGroupLayoutDescriptor : GPUObjectDescriptorBase {
dictionary GPUBindGroupLayoutDescriptor
: GPUObjectDescriptorBase {
required sequence<GPUBindGroupLayoutEntry> entries;
};
@@ -477,7 +484,7 @@ namespace GPUShaderStage {
enum GPUBufferBindingType {
"uniform",
"storage",
"read-only-storage"
"read-only-storage",
};
dictionary GPUBufferBindingLayout {
@@ -489,7 +496,7 @@ dictionary GPUBufferBindingLayout {
enum GPUSamplerBindingType {
"filtering",
"non-filtering",
"comparison"
"comparison",
};
dictionary GPUSamplerBindingLayout {
@@ -501,7 +508,7 @@ enum GPUTextureSampleType {
"unfilterable-float",
"depth",
"sint",
"uint"
"uint",
};
dictionary GPUTextureBindingLayout {
@@ -511,7 +518,7 @@ dictionary GPUTextureBindingLayout {
};
enum GPUStorageTextureAccess {
"write-only"
"write-only",
};
dictionary GPUStorageTextureBindingLayout {
@@ -528,7 +535,8 @@ interface GPUBindGroup {
};
GPUBindGroup includes GPUObjectBase;
dictionary GPUBindGroupDescriptor : GPUObjectDescriptorBase {
dictionary GPUBindGroupDescriptor
: GPUObjectDescriptorBase {
required GPUBindGroupLayout layout;
required sequence<GPUBindGroupEntry> entries;
};
@@ -551,7 +559,8 @@ interface GPUPipelineLayout {
};
GPUPipelineLayout includes GPUObjectBase;
dictionary GPUPipelineLayoutDescriptor : GPUObjectDescriptorBase {
dictionary GPUPipelineLayoutDescriptor
: GPUObjectDescriptorBase {
required sequence<GPUBindGroupLayout> bindGroupLayouts;
};
@@ -561,7 +570,8 @@ interface GPUShaderModule {
};
GPUShaderModule includes GPUObjectBase;
dictionary GPUShaderModuleDescriptor : GPUObjectDescriptorBase {
dictionary GPUShaderModuleDescriptor
: GPUObjectDescriptorBase {
required USVString code;
object sourceMap;
record<USVString, GPUShaderModuleCompilationHint> hints;
@@ -574,7 +584,7 @@ dictionary GPUShaderModuleCompilationHint {
enum GPUCompilationMessageType {
"error",
"warning",
"info"
"info",
};
[Exposed=(Window, DedicatedWorker), Serializable, SecureContext]
@@ -604,14 +614,15 @@ dictionary GPUPipelineErrorInit {
enum GPUPipelineErrorReason {
"validation",
"internal"
"internal",
};
enum GPUAutoLayoutMode {
"auto"
"auto",
};
dictionary GPUPipelineDescriptorBase : GPUObjectDescriptorBase {
dictionary GPUPipelineDescriptorBase
: GPUObjectDescriptorBase {
required (GPUPipelineLayout or GPUAutoLayoutMode) layout;
};
@@ -633,7 +644,8 @@ interface GPUComputePipeline {
GPUComputePipeline includes GPUObjectBase;
GPUComputePipeline includes GPUPipelineBase;
dictionary GPUComputePipelineDescriptor : GPUPipelineDescriptorBase {
dictionary GPUComputePipelineDescriptor
: GPUPipelineDescriptorBase {
required GPUProgrammableStage compute;
};
@@ -643,7 +655,8 @@ interface GPURenderPipeline {
GPURenderPipeline includes GPUObjectBase;
GPURenderPipeline includes GPUPipelineBase;
dictionary GPURenderPipelineDescriptor : GPUPipelineDescriptorBase {
dictionary GPURenderPipelineDescriptor
: GPUPipelineDescriptorBase {
required GPUVertexState vertex;
GPUPrimitiveState primitive = {};
GPUDepthStencilState depthStencil;
@@ -666,18 +679,18 @@ enum GPUPrimitiveTopology {
"line-list",
"line-strip",
"triangle-list",
"triangle-strip"
"triangle-strip",
};
enum GPUFrontFace {
"ccw",
"cw"
"cw",
};
enum GPUCullMode {
"none",
"front",
"back"
"back",
};
dictionary GPUMultisampleState {
@@ -686,7 +699,8 @@ dictionary GPUMultisampleState {
boolean alphaToCoverageEnabled = false;
};
dictionary GPUFragmentState : GPUProgrammableStage {
dictionary GPUFragmentState
: GPUProgrammableStage {
required sequence<GPUColorTargetState?> targets;
};
@@ -731,7 +745,7 @@ enum GPUBlendFactor {
"one-minus-dst-alpha",
"src-alpha-saturated",
"constant",
"one-minus-constant"
"one-minus-constant",
};
enum GPUBlendOperation {
@@ -739,7 +753,7 @@ enum GPUBlendOperation {
"subtract",
"reverse-subtract",
"min",
"max"
"max",
};
dictionary GPUDepthStencilState {
@@ -774,12 +788,12 @@ enum GPUStencilOperation {
"increment-clamp",
"decrement-clamp",
"increment-wrap",
"decrement-wrap"
"decrement-wrap",
};
enum GPUIndexFormat {
"uint16",
"uint32"
"uint32",
};
enum GPUVertexFormat {
@@ -812,15 +826,16 @@ enum GPUVertexFormat {
"sint32",
"sint32x2",
"sint32x3",
"sint32x4"
"sint32x4",
};
enum GPUVertexStepMode {
"vertex",
"instance"
"instance",
};
dictionary GPUVertexState : GPUProgrammableStage {
dictionary GPUVertexState
: GPUProgrammableStage {
sequence<GPUVertexBufferLayout?> buffers = [];
};
@@ -837,17 +852,43 @@ 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 {
};
GPUCommandBuffer includes GPUObjectBase;
dictionary GPUCommandBufferDescriptor : GPUObjectDescriptorBase {
dictionary GPUCommandBufferDescriptor
: GPUObjectDescriptorBase {
};
interface mixin GPUCommandsMixin {
@@ -900,14 +941,15 @@ GPUCommandEncoder includes GPUObjectBase;
GPUCommandEncoder includes GPUCommandsMixin;
GPUCommandEncoder includes GPUDebugCommandsMixin;
dictionary GPUCommandEncoderDescriptor : GPUObjectDescriptorBase {
dictionary GPUCommandEncoderDescriptor
: GPUObjectDescriptorBase {
};
interface mixin GPUBindingCommandsMixin {
undefined setBindGroup(GPUIndex32 index, GPUBindGroup bindGroup,
undefined setBindGroup(GPUIndex32 index, GPUBindGroup? bindGroup,
optional sequence<GPUBufferDynamicOffset> dynamicOffsets = []);
undefined setBindGroup(GPUIndex32 index, GPUBindGroup bindGroup,
undefined setBindGroup(GPUIndex32 index, GPUBindGroup? bindGroup,
Uint32Array dynamicOffsetsData,
GPUSize64 dynamicOffsetsDataStart,
GPUSize32 dynamicOffsetsDataLength);
@@ -932,21 +974,15 @@ GPUComputePassEncoder includes GPUCommandsMixin;
GPUComputePassEncoder includes GPUDebugCommandsMixin;
GPUComputePassEncoder includes GPUBindingCommandsMixin;
enum GPUComputePassTimestampLocation {
"beginning",
"end"
};
dictionary GPUComputePassTimestampWrite {
dictionary GPUComputePassTimestampWrites {
required GPUQuerySet querySet;
required GPUSize32 queryIndex;
required GPUComputePassTimestampLocation location;
GPUSize32 beginningOfPassWriteIndex;
GPUSize32 endOfPassWriteIndex;
};
typedef sequence<GPUComputePassTimestampWrite> GPUComputePassTimestampWrites;
dictionary GPUComputePassDescriptor : GPUObjectDescriptorBase {
GPUComputePassTimestampWrites timestampWrites = [];
dictionary GPUComputePassDescriptor
: GPUObjectDescriptorBase {
GPUComputePassTimestampWrites timestampWrites;
};
[Exposed=(Window, DedicatedWorker), SecureContext]
@@ -973,24 +1009,18 @@ GPURenderPassEncoder includes GPUDebugCommandsMixin;
GPURenderPassEncoder includes GPUBindingCommandsMixin;
GPURenderPassEncoder includes GPURenderCommandsMixin;
enum GPURenderPassTimestampLocation {
"beginning",
"end"
};
dictionary GPURenderPassTimestampWrite {
dictionary GPURenderPassTimestampWrites {
required GPUQuerySet querySet;
required GPUSize32 queryIndex;
required GPURenderPassTimestampLocation location;
GPUSize32 beginningOfPassWriteIndex;
GPUSize32 endOfPassWriteIndex;
};
typedef sequence<GPURenderPassTimestampWrite> GPURenderPassTimestampWrites;
dictionary GPURenderPassDescriptor : GPUObjectDescriptorBase {
dictionary GPURenderPassDescriptor
: GPUObjectDescriptorBase {
required sequence<GPURenderPassColorAttachment?> colorAttachments;
GPURenderPassDepthStencilAttachment depthStencilAttachment;
GPUQuerySet occlusionQuerySet;
GPURenderPassTimestampWrites timestampWrites = [];
GPURenderPassTimestampWrites timestampWrites;
GPUSize64 maxDrawCount = 50000000;
};
@@ -1019,15 +1049,16 @@ dictionary GPURenderPassDepthStencilAttachment {
enum GPULoadOp {
"load",
"clear"
"clear",
};
enum GPUStoreOp {
"store",
"discard"
"discard",
};
dictionary GPURenderPassLayout : GPUObjectDescriptorBase {
dictionary GPURenderPassLayout
: GPUObjectDescriptorBase {
required sequence<GPUTextureFormat?> colorFormats;
GPUTextureFormat depthStencilFormat;
GPUSize32 sampleCount = 1;
@@ -1037,7 +1068,7 @@ interface mixin GPURenderCommandsMixin {
undefined setPipeline(GPURenderPipeline pipeline);
undefined setIndexBuffer(GPUBuffer buffer, GPUIndexFormat indexFormat, optional GPUSize64 offset = 0, optional GPUSize64 size);
undefined setVertexBuffer(GPUIndex32 slot, GPUBuffer buffer, optional GPUSize64 offset = 0, optional GPUSize64 size);
undefined setVertexBuffer(GPUIndex32 slot, GPUBuffer? buffer, optional GPUSize64 offset = 0, optional GPUSize64 size);
undefined draw(GPUSize32 vertexCount, optional GPUSize32 instanceCount = 1,
optional GPUSize32 firstVertex = 0, optional GPUSize32 firstInstance = 0);
@@ -1055,7 +1086,8 @@ interface GPURenderBundle {
};
GPURenderBundle includes GPUObjectBase;
dictionary GPURenderBundleDescriptor : GPUObjectDescriptorBase {
dictionary GPURenderBundleDescriptor
: GPUObjectDescriptorBase {
};
[Exposed=(Window, DedicatedWorker), SecureContext]
@@ -1068,12 +1100,14 @@ GPURenderBundleEncoder includes GPUDebugCommandsMixin;
GPURenderBundleEncoder includes GPUBindingCommandsMixin;
GPURenderBundleEncoder includes GPURenderCommandsMixin;
dictionary GPURenderBundleEncoderDescriptor : GPURenderPassLayout {
dictionary GPURenderBundleEncoderDescriptor
: GPURenderPassLayout {
boolean depthReadOnly = false;
boolean stencilReadOnly = false;
};
dictionary GPUQueueDescriptor : GPUObjectDescriptorBase {
dictionary GPUQueueDescriptor
: GPUObjectDescriptorBase {
};
[Exposed=(Window, DedicatedWorker), SecureContext]
@@ -1111,14 +1145,15 @@ interface GPUQuerySet {
};
GPUQuerySet includes GPUObjectBase;
dictionary GPUQuerySetDescriptor : GPUObjectDescriptorBase {
dictionary GPUQuerySetDescriptor
: GPUObjectDescriptorBase {
required GPUQueryType type;
required GPUSize32 count;
};
enum GPUQueryType {
"occlusion",
"timestamp"
"timestamp",
};
[Exposed=(Window, DedicatedWorker), SecureContext]
@@ -1133,7 +1168,7 @@ interface GPUCanvasContext {
enum GPUCanvasAlphaMode {
"opaque",
"premultiplied"
"premultiplied",
};
dictionary GPUCanvasConfiguration {
@@ -1147,7 +1182,7 @@ dictionary GPUCanvasConfiguration {
enum GPUDeviceLostReason {
"unknown",
"destroyed"
"destroyed",
};
[Exposed=(Window, DedicatedWorker), SecureContext]
@@ -1166,24 +1201,27 @@ interface GPUError {
};
[Exposed=(Window, DedicatedWorker), SecureContext]
interface GPUValidationError : GPUError {
interface GPUValidationError
: GPUError {
constructor(DOMString message);
};
[Exposed=(Window, DedicatedWorker), SecureContext]
interface GPUOutOfMemoryError : GPUError {
interface GPUOutOfMemoryError
: GPUError {
constructor(DOMString message);
};
[Exposed=(Window, DedicatedWorker), SecureContext]
interface GPUInternalError : GPUError {
interface GPUInternalError
: GPUError {
constructor(DOMString message);
};
enum GPUErrorFilter {
"validation",
"out-of-memory",
"internal"
"internal",
};
partial interface GPUDevice {

View File

@@ -489,13 +489,8 @@ partial interface MLGraphBuilder {
MLActivation sigmoid();
};
dictionary MLSliceOptions {
sequence<unsigned long> axes;
};
partial interface MLGraphBuilder {
MLOperand slice(MLOperand input, sequence<long> starts, sequence<long> sizes,
optional MLSliceOptions options = {});
MLOperand slice(MLOperand input, sequence<unsigned long> starts, sequence<unsigned long> sizes);
};
partial interface MLGraphBuilder {

View File

@@ -72,7 +72,8 @@ dictionary RTCEncodedVideoFrameMetadata {
unsigned long temporalIndex;
unsigned long synchronizationSource;
octet payloadType;
sequence<unsigned long> contributingSources;
sequence<unsigned long> contributingSources;
long long timestamp; // microseconds
};
// New interfaces to define encoded video and audio frames. Will eventually

View File

@@ -94,6 +94,8 @@ dictionary RTCInboundRtpStreamStats : RTCReceivedRtpStreamStats {
boolean powerEfficientDecoder;
unsigned long framesAssembledFromMultiplePackets;
double totalAssemblyTime;
unsigned long long retransmittedPacketsReceived;
unsigned long long retransmittedBytesReceived;
};
dictionary RTCRemoteInboundRtpStreamStats : RTCReceivedRtpStreamStats {

View File

@@ -11,6 +11,12 @@ enum XRLayerLayout {
"stereo-top-bottom"
};
enum XRLayerQuality {
"default",
"text-optimized",
"graphics-optimized"
};
[Exposed=Window] interface XRCompositionLayer : XRLayer {
readonly attribute XRLayerLayout layout;
@@ -18,6 +24,7 @@ enum XRLayerLayout {
attribute boolean forceMonoPresentation;
attribute float opacity;
readonly attribute unsigned long mipLevels;
attribute XRLayerQuality quality;
readonly attribute boolean needsRedraw;
@@ -106,6 +113,7 @@ dictionary XRProjectionLayerInit {
GLenum colorFormat = 0x1908; // RGBA
GLenum depthFormat = 0x1902; // DEPTH_COMPONENT
double scaleFactor = 1.0;
boolean clearOnAccess = true;
};
dictionary XRLayerInit {
@@ -117,6 +125,7 @@ dictionary XRLayerInit {
required unsigned long viewPixelHeight;
XRLayerLayout layout = "mono";
boolean isStatic = false;
boolean clearOnAccess = true;
};
dictionary XRQuadLayerInit : XRLayerInit {