summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/interfaces
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 01:13:33 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 01:13:33 +0000
commit086c044dc34dfc0f74fbe41f4ecb402b2cd34884 (patch)
treea4f824bd33cb075dd5aa3eb5a0a94af221bbe83a /testing/web-platform/tests/interfaces
parentAdding debian version 124.0.1-1. (diff)
downloadfirefox-086c044dc34dfc0f74fbe41f4ecb402b2cd34884.tar.xz
firefox-086c044dc34dfc0f74fbe41f4ecb402b2cd34884.zip
Merging upstream version 125.0.1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/interfaces')
-rw-r--r--testing/web-platform/tests/interfaces/CSP.idl24
-rw-r--r--testing/web-platform/tests/interfaces/contact-picker.idl2
-rw-r--r--testing/web-platform/tests/interfaces/css-anchor-position.idl6
-rw-r--r--testing/web-platform/tests/interfaces/css-fonts.idl1
-rw-r--r--testing/web-platform/tests/interfaces/css-view-transitions-2.idl2
-rw-r--r--testing/web-platform/tests/interfaces/digital-identities.idl27
-rw-r--r--testing/web-platform/tests/interfaces/edit-context.idl2
-rw-r--r--testing/web-platform/tests/interfaces/gamepad.idl6
-rw-r--r--testing/web-platform/tests/interfaces/html.idl31
-rw-r--r--testing/web-platform/tests/interfaces/interest-invokers.tentative.idl7
-rw-r--r--testing/web-platform/tests/interfaces/invokers.tentative.idl4
-rw-r--r--testing/web-platform/tests/interfaces/longtasks.idl4
-rw-r--r--testing/web-platform/tests/interfaces/mediasession.idl16
-rw-r--r--testing/web-platform/tests/interfaces/service-workers.idl36
-rw-r--r--testing/web-platform/tests/interfaces/trusted-types.idl3
-rw-r--r--testing/web-platform/tests/interfaces/turtledove.idl32
-rw-r--r--testing/web-platform/tests/interfaces/uievents.idl10
-rw-r--r--testing/web-platform/tests/interfaces/wai-aria.idl1
-rw-r--r--testing/web-platform/tests/interfaces/webgl1.idl3
-rw-r--r--testing/web-platform/tests/interfaces/webgpu.idl84
-rw-r--r--testing/web-platform/tests/interfaces/webnn.idl134
-rw-r--r--testing/web-platform/tests/interfaces/webtransport.idl14
22 files changed, 272 insertions, 177 deletions
diff --git a/testing/web-platform/tests/interfaces/CSP.idl b/testing/web-platform/tests/interfaces/CSP.idl
index ac0a6ff563..d4a6377ebb 100644
--- a/testing/web-platform/tests/interfaces/CSP.idl
+++ b/testing/web-platform/tests/interfaces/CSP.idl
@@ -41,16 +41,16 @@ interface SecurityPolicyViolationEvent : Event {
};
dictionary SecurityPolicyViolationEventInit : EventInit {
- required USVString documentURI;
- USVString referrer = "";
- USVString blockedURI = "";
- required DOMString violatedDirective;
- required DOMString effectiveDirective;
- required DOMString originalPolicy;
- USVString sourceFile = "";
- DOMString sample = "";
- required SecurityPolicyViolationEventDisposition disposition;
- required unsigned short statusCode;
- unsigned long lineNumber = 0;
- unsigned long columnNumber = 0;
+ USVString documentURI = "";
+ USVString referrer = "";
+ USVString blockedURI = "";
+ DOMString violatedDirective = "";
+ DOMString effectiveDirective = "";
+ DOMString originalPolicy = "";
+ USVString sourceFile = "";
+ DOMString sample = "";
+ SecurityPolicyViolationEventDisposition disposition = "enforce";
+ unsigned short statusCode = 0;
+ unsigned long lineNumber = 0;
+ unsigned long columnNumber = 0;
};
diff --git a/testing/web-platform/tests/interfaces/contact-picker.idl b/testing/web-platform/tests/interfaces/contact-picker.idl
index 0119d0e2ce..fc589fa066 100644
--- a/testing/web-platform/tests/interfaces/contact-picker.idl
+++ b/testing/web-platform/tests/interfaces/contact-picker.idl
@@ -37,7 +37,7 @@ dictionary ContactsSelectOptions {
boolean multiple = false;
};
-[Exposed=Window,SecureContext]
+[Exposed=Window, SecureContext]
interface ContactsManager {
Promise<sequence<ContactProperty>> getProperties();
Promise<sequence<ContactInfo>> select(sequence<ContactProperty> properties, optional ContactsSelectOptions options = {});
diff --git a/testing/web-platform/tests/interfaces/css-anchor-position.idl b/testing/web-platform/tests/interfaces/css-anchor-position.idl
index 5d3973eff3..b79e3fce89 100644
--- a/testing/web-platform/tests/interfaces/css-anchor-position.idl
+++ b/testing/web-platform/tests/interfaces/css-anchor-position.idl
@@ -4,11 +4,7 @@
// Source: CSS Anchor Positioning (https://drafts.csswg.org/css-anchor-position-1/)
[Exposed=Window]
-interface CSSPositionFallbackRule : CSSGroupingRule {
+interface CSSPositionTryRule : CSSRule {
readonly attribute CSSOMString name;
-};
-
-[Exposed=Window]
-interface CSSTryRule : CSSRule {
[SameObject, PutForwards=cssText] readonly attribute CSSStyleDeclaration style;
};
diff --git a/testing/web-platform/tests/interfaces/css-fonts.idl b/testing/web-platform/tests/interfaces/css-fonts.idl
index 070cbc58f5..7a917662b5 100644
--- a/testing/web-platform/tests/interfaces/css-fonts.idl
+++ b/testing/web-platform/tests/interfaces/css-fonts.idl
@@ -19,6 +19,7 @@ interface CSSFontFeatureValuesRule : CSSRule {
readonly attribute CSSFontFeatureValuesMap swash;
readonly attribute CSSFontFeatureValuesMap characterVariant;
readonly attribute CSSFontFeatureValuesMap styleset;
+ readonly attribute CSSFontFeatureValuesMap historicalForms;
};
[Exposed=Window]
diff --git a/testing/web-platform/tests/interfaces/css-view-transitions-2.idl b/testing/web-platform/tests/interfaces/css-view-transitions-2.idl
index 7435605cda..89e57e251b 100644
--- a/testing/web-platform/tests/interfaces/css-view-transitions-2.idl
+++ b/testing/web-platform/tests/interfaces/css-view-transitions-2.idl
@@ -21,5 +21,5 @@ enum ViewTransitionNavigation { "auto", "none" };
[Exposed=Window]
interface CSSViewTransitionRule : CSSRule {
attribute ViewTransitionNavigation navigation;
- attribute DOMTokenList type;
+ attribute DOMTokenList typeList;
};
diff --git a/testing/web-platform/tests/interfaces/digital-identities.idl b/testing/web-platform/tests/interfaces/digital-identities.idl
new file mode 100644
index 0000000000..9027ce61af
--- /dev/null
+++ b/testing/web-platform/tests/interfaces/digital-identities.idl
@@ -0,0 +1,27 @@
+// GENERATED CONTENT - DO NOT EDIT
+// Content was automatically extracted by Reffy into webref
+// (https://github.com/w3c/webref)
+// Source: Digital Credentials (https://wicg.github.io/digital-identities/)
+
+partial interface Navigator {
+ [SecureContext, SameObject] readonly attribute CredentialsContainer identity;
+};
+
+partial dictionary CredentialRequestOptions {
+ DigitalCredentialRequestOptions digital;
+};
+
+dictionary DigitalCredentialRequestOptions {
+ sequence<IdentityRequestProvider> providers;
+};
+
+dictionary IdentityRequestProvider {
+ required DOMString protocol;
+ required DOMString request;
+};
+
+[Exposed=Window, SecureContext]
+interface DigitalCredential : Credential {
+ readonly attribute DOMString protocol;
+ readonly attribute DOMString data;
+};
diff --git a/testing/web-platform/tests/interfaces/edit-context.idl b/testing/web-platform/tests/interfaces/edit-context.idl
index eb3174e25f..60ddbafe75 100644
--- a/testing/web-platform/tests/interfaces/edit-context.idl
+++ b/testing/web-platform/tests/interfaces/edit-context.idl
@@ -59,7 +59,7 @@ interface TextUpdateEvent : Event {
readonly attribute unsigned long selectionEnd;
};
-enum UnderlineStyle { "none", "solid", "double", "dotted", "dashed", "wavy" };
+enum UnderlineStyle { "none", "solid", "dotted", "dashed", "wavy" };
enum UnderlineThickness { "none", "thin", "thick" };
dictionary TextFormatInit {
diff --git a/testing/web-platform/tests/interfaces/gamepad.idl b/testing/web-platform/tests/interfaces/gamepad.idl
index 77a22c1d85..024e5ea58c 100644
--- a/testing/web-platform/tests/interfaces/gamepad.idl
+++ b/testing/web-platform/tests/interfaces/gamepad.idl
@@ -3,7 +3,7 @@
// (https://github.com/w3c/webref)
// Source: Gamepad (https://w3c.github.io/gamepad/)
-[Exposed=Window, SecureContext]
+[Exposed=Window]
interface Gamepad {
readonly attribute DOMString id;
readonly attribute long index;
@@ -15,7 +15,7 @@ interface Gamepad {
[SameObject] readonly attribute GamepadHapticActuator vibrationActuator;
};
-[Exposed=Window, SecureContext]
+[Exposed=Window]
interface GamepadButton {
readonly attribute boolean pressed;
readonly attribute boolean touched;
@@ -59,7 +59,7 @@ partial interface Navigator {
sequence<Gamepad?> getGamepads();
};
-[Exposed=Window, SecureContext]
+[Exposed=Window]
interface GamepadEvent: Event {
constructor(DOMString type, GamepadEventInit eventInitDict);
diff --git a/testing/web-platform/tests/interfaces/html.idl b/testing/web-platform/tests/interfaces/html.idl
index 9193a7487e..7211231980 100644
--- a/testing/web-platform/tests/interfaces/html.idl
+++ b/testing/web-platform/tests/interfaces/html.idl
@@ -1243,6 +1243,7 @@ interface HTMLTemplateElement : HTMLElement {
readonly attribute DocumentFragment content;
[CEReactions] attribute DOMString shadowRootMode;
[CEReactions] attribute boolean shadowRootDelegatesFocus;
+ [CEReactions] attribute boolean shadowRootClonable;
};
[Exposed=Window]
@@ -2061,6 +2062,18 @@ dictionary HashChangeEventInit : EventInit {
};
[Exposed=Window]
+interface PageSwapEvent : Event {
+ constructor(DOMString type, optional PageSwapEventInit eventInitDict = {});
+ readonly attribute NavigationActivation? activation;
+ readonly attribute ViewTransition? viewTransition;
+};
+
+dictionary PageSwapEventInit : EventInit {
+ NavigationActivation? activation = null;
+ ViewTransition? viewTransition = null;
+};
+
+[Exposed=Window]
interface PageRevealEvent : Event {
constructor(DOMString type, optional PageRevealEventInit eventInitDict = {});
readonly attribute ViewTransition? viewTransition;
@@ -2086,6 +2099,23 @@ interface BeforeUnloadEvent : Event {
attribute DOMString returnValue;
};
+[Exposed=Window]
+interface NotRestoredReasonDetails {
+ readonly attribute DOMString reason;
+ [Default] object toJSON();
+};
+
+[Exposed=Window]
+interface NotRestoredReasons {
+ readonly attribute DOMString? src;
+ readonly attribute DOMString? id;
+ readonly attribute DOMString? name;
+ readonly attribute DOMString? url;
+ readonly attribute FrozenArray<NotRestoredReasonDetails>? reasons;
+ readonly attribute FrozenArray<NotRestoredReasons>? children;
+ [Default] object toJSON();
+};
+
[Exposed=*]
interface ErrorEvent : Event {
constructor(DOMString type, optional ErrorEventInit eventInitDict = {});
@@ -2221,6 +2251,7 @@ interface mixin WindowEventHandlers {
attribute EventHandler onpagehide;
attribute EventHandler onpagereveal;
attribute EventHandler onpageshow;
+ attribute EventHandler onpageswap;
attribute EventHandler onpopstate;
attribute EventHandler onrejectionhandled;
attribute EventHandler onstorage;
diff --git a/testing/web-platform/tests/interfaces/interest-invokers.tentative.idl b/testing/web-platform/tests/interfaces/interest-invokers.tentative.idl
new file mode 100644
index 0000000000..f89af4d734
--- /dev/null
+++ b/testing/web-platform/tests/interfaces/interest-invokers.tentative.idl
@@ -0,0 +1,7 @@
+interface mixin InterestInvokerElement {
+ [CEReactions,Reflect=interesttarget] attribute Element? interestTargetElement;
+};
+
+HTMLInputElement includes InterestInvokerElement;
+HTMLButtonElement includes InterestInvokerElement;
+HTMLAnchorElement includes InterestInvokerElement; \ No newline at end of file
diff --git a/testing/web-platform/tests/interfaces/invokers.tentative.idl b/testing/web-platform/tests/interfaces/invokers.tentative.idl
index 62f7398b82..eb1b8247f0 100644
--- a/testing/web-platform/tests/interfaces/invokers.tentative.idl
+++ b/testing/web-platform/tests/interfaces/invokers.tentative.idl
@@ -1,6 +1,6 @@
interface mixin InvokerElement {
[CEReactions,Reflect=invoketarget] attribute Element? invokeTargetElement;
- [CEReactions,Reflect,ReflectMissing="auto",ReflectEmpty="auto"] attribute DOMString invokeAction;
+ [CEReactions,Reflect=invokeaction] attribute DOMString invokeAction;
};
interface InvokeEvent : Event {
@@ -11,5 +11,5 @@ interface InvokeEvent : Event {
dictionary InvokeEventInit : EventInit {
Element? invoker = null;
- DOMString action = "auto";
+ DOMString action = "";
};
diff --git a/testing/web-platform/tests/interfaces/longtasks.idl b/testing/web-platform/tests/interfaces/longtasks.idl
index 13d4940c1c..e5b6ece16a 100644
--- a/testing/web-platform/tests/interfaces/longtasks.idl
+++ b/testing/web-platform/tests/interfaces/longtasks.idl
@@ -70,7 +70,9 @@ interface PerformanceScriptTiming : PerformanceEntry {
readonly attribute ScriptInvokerType invokerType;
readonly attribute DOMString invoker;
readonly attribute DOMHighResTimeStamp executionStart;
- readonly attribute DOMString sourceLocation;
+ readonly attribute DOMString sourceURL;
+ readonly attribute DOMString sourceFunctionName;
+ readonly attribute long long sourceCharPosition;
readonly attribute DOMHighResTimeStamp pauseDuration;
readonly attribute DOMHighResTimeStamp forcedStyleAndLayoutDuration;
readonly attribute Window? window;
diff --git a/testing/web-platform/tests/interfaces/mediasession.idl b/testing/web-platform/tests/interfaces/mediasession.idl
index 57c62dfbc9..8e9a21aff0 100644
--- a/testing/web-platform/tests/interfaces/mediasession.idl
+++ b/testing/web-platform/tests/interfaces/mediasession.idl
@@ -44,9 +44,9 @@ interface MediaSession {
undefined setPositionState(optional MediaPositionState state = {});
- undefined setMicrophoneActive(boolean active);
+ Promise<undefined> setMicrophoneActive(boolean active);
- undefined setCameraActive(boolean active);
+ Promise<undefined> setCameraActive(boolean active);
};
[Exposed=Window]
@@ -79,7 +79,17 @@ dictionary MediaPositionState {
dictionary MediaSessionActionDetails {
required MediaSessionAction action;
+};
+
+dictionary MediaSessionSeekActionDetails : MediaSessionActionDetails {
double seekOffset;
- double seekTime;
+};
+
+dictionary MediaSessionSeekToActionDetails : MediaSessionActionDetails {
+ required double seekTime;
boolean fastSeek;
};
+
+dictionary MediaSessionCaptureActionDetails : MediaSessionActionDetails {
+ boolean isActivating;
+};
diff --git a/testing/web-platform/tests/interfaces/service-workers.idl b/testing/web-platform/tests/interfaces/service-workers.idl
index 6d44d61deb..c740e1098a 100644
--- a/testing/web-platform/tests/interfaces/service-workers.idl
+++ b/testing/web-platform/tests/interfaces/service-workers.idl
@@ -92,7 +92,7 @@ dictionary NavigationPreloadState {
ByteString headerValue;
};
-[Global=(Worker,ServiceWorker), Exposed=ServiceWorker]
+[Global=(Worker,ServiceWorker), Exposed=ServiceWorker, SecureContext]
interface ServiceWorkerGlobalScope : WorkerGlobalScope {
[SameObject] readonly attribute Clients clients;
[SameObject] readonly attribute ServiceWorkerRegistration registration;
@@ -166,6 +166,40 @@ dictionary ExtendableEventInit : EventInit {
};
[Exposed=ServiceWorker]
+interface InstallEvent : ExtendableEvent {
+ Promise<undefined> addRoutes((RouterRule or sequence<RouterRule>) rules);
+};
+
+dictionary RouterRule {
+ required RouterCondition condition;
+ required RouterSource source;
+};
+
+dictionary RouterCondition {
+ URLPatternCompatible urlPattern;
+ ByteString requestMethod;
+ RequestMode requestMode;
+ RequestDestination requestDestination;
+ RunningStatus runningStatus;
+
+ sequence<RouterCondition> _or;
+};
+
+typedef (RouterSourceDict or RouterSourceEnum) RouterSource;
+
+dictionary RouterSourceDict {
+ DOMString cacheName;
+};
+
+enum RunningStatus { "running", "not-running" };
+enum RouterSourceEnum {
+ "cache",
+ "fetch-event",
+ "network",
+ "race-network-and-fetch-handler"
+};
+
+[Exposed=ServiceWorker]
interface FetchEvent : ExtendableEvent {
constructor(DOMString type, FetchEventInit eventInitDict);
[SameObject] readonly attribute Request request;
diff --git a/testing/web-platform/tests/interfaces/trusted-types.idl b/testing/web-platform/tests/interfaces/trusted-types.idl
index 6723994aae..db5bd635cf 100644
--- a/testing/web-platform/tests/interfaces/trusted-types.idl
+++ b/testing/web-platform/tests/interfaces/trusted-types.idl
@@ -7,21 +7,18 @@
interface TrustedHTML {
stringifier;
DOMString toJSON();
- static TrustedHTML fromLiteral(object templateStringsArray);
};
[Exposed=(Window,Worker)]
interface TrustedScript {
stringifier;
DOMString toJSON();
- static TrustedScript fromLiteral(object templateStringsArray);
};
[Exposed=(Window,Worker)]
interface TrustedScriptURL {
stringifier;
USVString toJSON();
- static TrustedScriptURL fromLiteral(object templateStringsArray);
};
[Exposed=(Window,Worker)] interface TrustedTypePolicyFactory {
diff --git a/testing/web-platform/tests/interfaces/turtledove.idl b/testing/web-platform/tests/interfaces/turtledove.idl
index f5813b5d03..8a2d7bb594 100644
--- a/testing/web-platform/tests/interfaces/turtledove.idl
+++ b/testing/web-platform/tests/interfaces/turtledove.idl
@@ -31,6 +31,7 @@ dictionary GenerateBidInterestGroup {
USVString updateURL;
USVString trustedBiddingSignalsURL;
sequence<USVString> trustedBiddingSignalsKeys;
+ DOMString trustedBiddingSignalsSlotSizeMode = "none";
any userBiddingSignals;
sequence<AuctionAd> ads;
sequence<AuctionAd> adComponents;
@@ -70,6 +71,7 @@ dictionary AuctionAdConfig {
sequence<USVString> interestGroupBuyers;
Promise<any> auctionSignals;
record<DOMString, DOMString> requestedSize;
+ sequence<record<DOMString, DOMString>> allSlotsRequestedSizes;
Promise<any> sellerSignals;
Promise<DOMString> directFromSellerSignalsHeaderAdSlot;
unsigned long long sellerTimeout;
@@ -98,11 +100,24 @@ partial interface Navigator {
interface InterestGroupScriptRunnerGlobalScope {
};
+[Exposed=InterestGroupBiddingAndScoringScriptRunnerGlobalScope]
+interface ForDebuggingOnly {
+ undefined reportAdAuctionWin(USVString url);
+ undefined reportAdAuctionLoss(USVString url);
+};
+
+[Exposed=InterestGroupBiddingAndScoringScriptRunnerGlobalScope,
+ Global=InterestGroupBiddingAndScoringScriptRunnerGlobalScope]
+interface InterestGroupBiddingAndScoringScriptRunnerGlobalScope : InterestGroupScriptRunnerGlobalScope {
+
+ readonly attribute ForDebuggingOnly forDebuggingOnly;
+};
+
[Exposed=InterestGroupBiddingScriptRunnerGlobalScope,
Global=(InterestGroupScriptRunnerGlobalScope,
InterestGroupBiddingScriptRunnerGlobalScope)]
interface InterestGroupBiddingScriptRunnerGlobalScope
- : InterestGroupScriptRunnerGlobalScope {
+ : InterestGroupBiddingAndScoringScriptRunnerGlobalScope {
boolean setBid(optional GenerateBidOutput generateBidOutput = {});
undefined setPriority(double priority);
undefined setPrioritySignalsOverride(DOMString key, optional double? priority);
@@ -129,7 +144,7 @@ dictionary GenerateBidOutput {
Global=(InterestGroupScriptRunnerGlobalScope,
InterestGroupScoringScriptRunnerGlobalScope)]
interface InterestGroupScoringScriptRunnerGlobalScope
- : InterestGroupScriptRunnerGlobalScope {
+ : InterestGroupBiddingAndScoringScriptRunnerGlobalScope {
};
[Exposed=InterestGroupReportingScriptRunnerGlobalScope,
@@ -147,6 +162,16 @@ partial interface Navigator {
undefined updateAdInterestGroups();
};
+[SecureContext]
+partial interface Navigator {
+ [SameObject] readonly attribute ProtectedAudience protectedAudience;
+};
+
+[SecureContext, Exposed=Window]
+interface ProtectedAudience {
+ any queryFeatureSupport(DOMString feature);
+};
+
partial dictionary RequestInit {
boolean adAuctionHeaders;
};
@@ -166,11 +191,13 @@ dictionary BiddingBrowserSignals {
required long joinCount;
required long bidCount;
required long recency;
+ required long adComponentsLimit;
USVString topLevelSeller;
sequence<PreviousWin> prevWinsMs;
object wasmHelper;
unsigned long dataVersion;
+ boolean forDebuggingOnlyInCooldownOrLockout = false;
};
dictionary ScoringBrowserSignals {
@@ -182,6 +209,7 @@ dictionary ScoringBrowserSignals {
unsigned long dataVersion;
sequence<USVString> adComponents;
+ boolean forDebuggingOnlyInCooldownOrLockout = false;
};
dictionary ReportingBrowserSignals {
diff --git a/testing/web-platform/tests/interfaces/uievents.idl b/testing/web-platform/tests/interfaces/uievents.idl
index b34ca2e775..0f9d3d3c18 100644
--- a/testing/web-platform/tests/interfaces/uievents.idl
+++ b/testing/web-platform/tests/interfaces/uievents.idl
@@ -227,6 +227,16 @@ partial dictionary KeyboardEventInit {
};
[Exposed=Window]
+interface TextEvent : UIEvent {
+ readonly attribute DOMString data;
+ undefined initTextEvent(DOMString type,
+ optional boolean bubbles = false,
+ optional boolean cancelable = false,
+ optional Window? view = null,
+ optional DOMString data = "undefined");
+};
+
+[Exposed=Window]
interface MutationEvent : Event {
// attrChangeType
const unsigned short MODIFICATION = 1;
diff --git a/testing/web-platform/tests/interfaces/wai-aria.idl b/testing/web-platform/tests/interfaces/wai-aria.idl
index 13e3b0f8b1..78083f03f9 100644
--- a/testing/web-platform/tests/interfaces/wai-aria.idl
+++ b/testing/web-platform/tests/interfaces/wai-aria.idl
@@ -57,5 +57,4 @@ interface mixin ARIAMixin {
[CEReactions] attribute DOMString? ariaValueNow;
[CEReactions] attribute DOMString? ariaValueText;
};
-
Element includes ARIAMixin;
diff --git a/testing/web-platform/tests/interfaces/webgl1.idl b/testing/web-platform/tests/interfaces/webgl1.idl
index 4552610c0d..1b711e1a4c 100644
--- a/testing/web-platform/tests/interfaces/webgl1.idl
+++ b/testing/web-platform/tests/interfaces/webgl1.idl
@@ -518,6 +518,9 @@ interface mixin WebGLRenderingContextBase
readonly attribute GLsizei drawingBufferWidth;
readonly attribute GLsizei drawingBufferHeight;
readonly attribute GLenum drawingBufferFormat;
+
+ /* Upon context creation, drawingBufferColorSpace and unpackColorSpace both
+ default to the value "srgb". */
attribute PredefinedColorSpace drawingBufferColorSpace;
attribute PredefinedColorSpace unpackColorSpace;
diff --git a/testing/web-platform/tests/interfaces/webgpu.idl b/testing/web-platform/tests/interfaces/webgpu.idl
index 15074009cf..ef5b9c730a 100644
--- a/testing/web-platform/tests/interfaces/webgpu.idl
+++ b/testing/web-platform/tests/interfaces/webgpu.idl
@@ -11,7 +11,7 @@ dictionary GPUObjectDescriptorBase {
USVString label = "";
};
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
interface GPUSupportedLimits {
readonly attribute unsigned long maxTextureDimension1D;
readonly attribute unsigned long maxTextureDimension2D;
@@ -47,17 +47,17 @@ interface GPUSupportedLimits {
readonly attribute unsigned long maxComputeWorkgroupsPerDimension;
};
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
interface GPUSupportedFeatures {
readonly setlike<DOMString>;
};
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
interface WGSLLanguageFeatures {
readonly setlike<DOMString>;
};
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
interface GPUAdapterInfo {
readonly attribute DOMString vendor;
readonly attribute DOMString architecture;
@@ -71,7 +71,7 @@ interface mixin NavigatorGPU {
Navigator includes NavigatorGPU;
WorkerNavigator includes NavigatorGPU;
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
interface GPU {
Promise<GPUAdapter?> requestAdapter(optional GPURequestAdapterOptions options = {});
GPUTextureFormat getPreferredCanvasFormat();
@@ -88,7 +88,7 @@ enum GPUPowerPreference {
"high-performance",
};
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
interface GPUAdapter {
[SameObject] readonly attribute GPUSupportedFeatures features;
[SameObject] readonly attribute GPUSupportedLimits limits;
@@ -119,7 +119,7 @@ enum GPUFeatureName {
"float32-filterable",
};
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
interface GPUDevice : EventTarget {
[SameObject] readonly attribute GPUSupportedFeatures features;
[SameObject] readonly attribute GPUSupportedLimits limits;
@@ -150,7 +150,7 @@ interface GPUDevice : EventTarget {
};
GPUDevice includes GPUObjectBase;
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
interface GPUBuffer {
readonly attribute GPUSize64Out size;
readonly attribute GPUFlagsConstant usage;
@@ -179,7 +179,7 @@ dictionary GPUBufferDescriptor
};
typedef [EnforceRange] unsigned long GPUBufferUsageFlags;
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
namespace GPUBufferUsage {
const GPUFlagsConstant MAP_READ = 0x0001;
const GPUFlagsConstant MAP_WRITE = 0x0002;
@@ -194,13 +194,13 @@ namespace GPUBufferUsage {
};
typedef [EnforceRange] unsigned long GPUMapModeFlags;
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
namespace GPUMapMode {
const GPUFlagsConstant READ = 0x0001;
const GPUFlagsConstant WRITE = 0x0002;
};
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
interface GPUTexture {
GPUTextureView createView(optional GPUTextureViewDescriptor descriptor = {});
@@ -235,7 +235,7 @@ enum GPUTextureDimension {
};
typedef [EnforceRange] unsigned long GPUTextureUsageFlags;
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
namespace GPUTextureUsage {
const GPUFlagsConstant COPY_SRC = 0x01;
const GPUFlagsConstant COPY_DST = 0x02;
@@ -244,7 +244,7 @@ namespace GPUTextureUsage {
const GPUFlagsConstant RENDER_ATTACHMENT = 0x10;
};
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
interface GPUTextureView {
};
GPUTextureView includes GPUObjectBase;
@@ -396,7 +396,7 @@ enum GPUTextureFormat {
"astc-12x12-unorm-srgb",
};
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
interface GPUExternalTexture {
};
GPUExternalTexture includes GPUObjectBase;
@@ -407,7 +407,7 @@ dictionary GPUExternalTextureDescriptor
PredefinedColorSpace colorSpace = "srgb";
};
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
interface GPUSampler {
};
GPUSampler includes GPUObjectBase;
@@ -453,7 +453,7 @@ enum GPUCompareFunction {
"always",
};
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
interface GPUBindGroupLayout {
};
GPUBindGroupLayout includes GPUObjectBase;
@@ -475,7 +475,7 @@ dictionary GPUBindGroupLayoutEntry {
};
typedef [EnforceRange] unsigned long GPUShaderStageFlags;
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
namespace GPUShaderStage {
const GPUFlagsConstant VERTEX = 0x1;
const GPUFlagsConstant FRAGMENT = 0x2;
@@ -533,7 +533,7 @@ dictionary GPUStorageTextureBindingLayout {
dictionary GPUExternalTextureBindingLayout {
};
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
interface GPUBindGroup {
};
GPUBindGroup includes GPUObjectBase;
@@ -557,7 +557,7 @@ dictionary GPUBufferBinding {
GPUSize64 size;
};
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
interface GPUPipelineLayout {
};
GPUPipelineLayout includes GPUObjectBase;
@@ -567,7 +567,7 @@ dictionary GPUPipelineLayoutDescriptor
required sequence<GPUBindGroupLayout> bindGroupLayouts;
};
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
interface GPUShaderModule {
Promise<GPUCompilationInfo> getCompilationInfo();
};
@@ -591,7 +591,7 @@ enum GPUCompilationMessageType {
"info",
};
-[Exposed=(Window, DedicatedWorker), Serializable, SecureContext]
+[Exposed=(Window, Worker), Serializable, SecureContext]
interface GPUCompilationMessage {
readonly attribute DOMString message;
readonly attribute GPUCompilationMessageType type;
@@ -601,12 +601,12 @@ interface GPUCompilationMessage {
readonly attribute unsigned long long length;
};
-[Exposed=(Window, DedicatedWorker), Serializable, SecureContext]
+[Exposed=(Window, Worker), Serializable, SecureContext]
interface GPUCompilationInfo {
readonly attribute FrozenArray<GPUCompilationMessage> messages;
};
-[Exposed=(Window, DedicatedWorker), SecureContext, Serializable]
+[Exposed=(Window, Worker), SecureContext, Serializable]
interface GPUPipelineError : DOMException {
constructor(optional DOMString message = "", GPUPipelineErrorInit options);
readonly attribute GPUPipelineErrorReason reason;
@@ -642,7 +642,7 @@ dictionary GPUProgrammableStage {
typedef double GPUPipelineConstantValue; // May represent WGSL's bool, f32, i32, u32, and f16 if enabled.
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
interface GPUComputePipeline {
};
GPUComputePipeline includes GPUObjectBase;
@@ -653,7 +653,7 @@ dictionary GPUComputePipelineDescriptor
required GPUProgrammableStage compute;
};
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
interface GPURenderPipeline {
};
GPURenderPipeline includes GPUObjectBase;
@@ -721,7 +721,7 @@ dictionary GPUBlendState {
};
typedef [EnforceRange] unsigned long GPUColorWriteFlags;
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
namespace GPUColorWrite {
const GPUFlagsConstant RED = 0x1;
const GPUFlagsConstant GREEN = 0x2;
@@ -895,7 +895,7 @@ dictionary GPUImageCopyExternalImage {
boolean flipY = false;
};
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
interface GPUCommandBuffer {
};
GPUCommandBuffer includes GPUObjectBase;
@@ -907,7 +907,7 @@ dictionary GPUCommandBufferDescriptor
interface mixin GPUCommandsMixin {
};
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
interface GPUCommandEncoder {
GPURenderPassEncoder beginRenderPass(GPURenderPassDescriptor descriptor);
GPUComputePassEncoder beginComputePass(optional GPUComputePassDescriptor descriptor = {});
@@ -972,7 +972,7 @@ interface mixin GPUDebugCommandsMixin {
undefined insertDebugMarker(USVString markerLabel);
};
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
interface GPUComputePassEncoder {
undefined setPipeline(GPUComputePipeline pipeline);
undefined dispatchWorkgroups(GPUSize32 workgroupCountX, optional GPUSize32 workgroupCountY = 1, optional GPUSize32 workgroupCountZ = 1);
@@ -996,7 +996,7 @@ dictionary GPUComputePassDescriptor
GPUComputePassTimestampWrites timestampWrites;
};
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
interface GPURenderPassEncoder {
undefined setViewport(float x, float y,
float width, float height,
@@ -1093,7 +1093,7 @@ interface mixin GPURenderCommandsMixin {
undefined drawIndexedIndirect(GPUBuffer indirectBuffer, GPUSize64 indirectOffset);
};
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
interface GPURenderBundle {
};
GPURenderBundle includes GPUObjectBase;
@@ -1102,7 +1102,7 @@ dictionary GPURenderBundleDescriptor
: GPUObjectDescriptorBase {
};
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
interface GPURenderBundleEncoder {
GPURenderBundle finish(optional GPURenderBundleDescriptor descriptor = {});
};
@@ -1122,7 +1122,7 @@ dictionary GPUQueueDescriptor
: GPUObjectDescriptorBase {
};
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
interface GPUQueue {
undefined submit(sequence<GPUCommandBuffer> commandBuffers);
@@ -1148,7 +1148,7 @@ interface GPUQueue {
};
GPUQueue includes GPUObjectBase;
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
interface GPUQuerySet {
undefined destroy();
@@ -1168,7 +1168,7 @@ enum GPUQueryType {
"timestamp",
};
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
interface GPUCanvasContext {
readonly attribute (HTMLCanvasElement or OffscreenCanvas) canvas;
@@ -1197,7 +1197,7 @@ enum GPUDeviceLostReason {
"destroyed",
};
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
interface GPUDeviceLostInfo {
readonly attribute GPUDeviceLostReason reason;
readonly attribute DOMString message;
@@ -1207,24 +1207,24 @@ partial interface GPUDevice {
readonly attribute Promise<GPUDeviceLostInfo> lost;
};
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
interface GPUError {
readonly attribute DOMString message;
};
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
interface GPUValidationError
: GPUError {
constructor(DOMString message);
};
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
interface GPUOutOfMemoryError
: GPUError {
constructor(DOMString message);
};
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
interface GPUInternalError
: GPUError {
constructor(DOMString message);
@@ -1241,7 +1241,7 @@ partial interface GPUDevice {
Promise<GPUError?> popErrorScope();
};
-[Exposed=(Window, DedicatedWorker), SecureContext]
+[Exposed=(Window, Worker), SecureContext]
interface GPUUncapturedErrorEvent : Event {
constructor(
DOMString type,
@@ -1255,7 +1255,7 @@ dictionary GPUUncapturedErrorEventInit : EventInit {
};
partial interface GPUDevice {
- [Exposed=(Window, DedicatedWorker)]
+ [Exposed=(Window, Worker)]
attribute EventHandler onuncapturederror;
};
diff --git a/testing/web-platform/tests/interfaces/webnn.idl b/testing/web-platform/tests/interfaces/webnn.idl
index 721ee788bd..50ee64b185 100644
--- a/testing/web-platform/tests/interfaces/webnn.idl
+++ b/testing/web-platform/tests/interfaces/webnn.idl
@@ -29,74 +29,60 @@ dictionary MLContextOptions {
interface ML {
Promise<MLContext> createContext(optional MLContextOptions options = {});
Promise<MLContext> createContext(GPUDevice gpuDevice);
-
- [Exposed=(DedicatedWorker)]
- MLContext createContextSync(optional MLContextOptions options = {});
- [Exposed=(DedicatedWorker)]
- MLContext createContextSync(GPUDevice gpuDevice);
-};
-
-[SecureContext, Exposed=(Window, DedicatedWorker)]
-interface MLActivation {
};
-typedef (GPUBuffer or GPUTexture) MLGPUResource;
-
-typedef record<DOMString, MLGPUResource> MLNamedGPUResources;
-
-[SecureContext, Exposed=(Window, DedicatedWorker)]
-interface MLCommandEncoder {};
-
-partial interface MLCommandEncoder {
- undefined initializeGraph(MLGraph graph);
-};
+typedef record<DOMString, ArrayBufferView> MLNamedArrayBufferViews;
-partial interface MLCommandEncoder {
- undefined dispatch(MLGraph graph, MLNamedGPUResources inputs, MLNamedGPUResources outputs);
+dictionary MLComputeResult {
+ MLNamedArrayBufferViews inputs;
+ MLNamedArrayBufferViews outputs;
};
-partial interface MLCommandEncoder {
- GPUCommandBuffer finish(optional GPUCommandBufferDescriptor descriptor = {});
+[SecureContext, Exposed=(Window, DedicatedWorker)]
+interface MLContext {
+ Promise<MLComputeResult> compute(
+ MLGraph graph, MLNamedArrayBufferViews inputs, MLNamedArrayBufferViews outputs);
};
-typedef record<DOMString, ArrayBufferView> MLNamedArrayBufferViews;
-
[SecureContext, Exposed=(Window, DedicatedWorker)]
-interface MLContext {};
+interface MLGraph {};
-partial interface MLContext {
- [Exposed=(DedicatedWorker)]
- undefined computeSync(
- MLGraph graph, MLNamedArrayBufferViews inputs, MLNamedArrayBufferViews outputs);
+enum MLInputOperandLayout {
+ "nchw",
+ "nhwc"
};
-dictionary MLComputeResult {
- MLNamedArrayBufferViews inputs;
- MLNamedArrayBufferViews outputs;
+enum MLOperandDataType {
+ "float32",
+ "float16",
+ "int32",
+ "uint32",
+ "int64",
+ "uint64",
+ "int8",
+ "uint8"
};
-partial interface MLContext {
- Promise<MLComputeResult> compute(
- MLGraph graph, MLNamedArrayBufferViews inputs, MLNamedArrayBufferViews outputs);
+dictionary MLOperandDescriptor {
+ // The operand type.
+ required MLOperandDataType dataType;
+
+ // The dimensions field is empty for scalar operands,
+ // and non-empty for tensor operands.
+ sequence<unsigned long> dimensions = [];
};
-partial interface MLContext {
- MLCommandEncoder createCommandEncoder();
+[SecureContext, Exposed=(Window, DedicatedWorker)]
+interface MLOperand {
+ MLOperandDataType dataType();
+ sequence<unsigned long> shape();
};
[SecureContext, Exposed=(Window, DedicatedWorker)]
-interface MLGraph {};
+interface MLActivation {};
typedef record<DOMString, MLOperand> MLNamedOperands;
-dictionary MLBufferResourceView {
- required GPUBuffer resource;
- unsigned long long offset = 0;
- unsigned long long size;
-};
-
-typedef (ArrayBufferView or MLBufferResourceView) MLBufferView;
-
[SecureContext, Exposed=(Window, DedicatedWorker)]
interface MLGraphBuilder {
// Construct the graph builder from the context.
@@ -106,21 +92,17 @@ interface MLGraphBuilder {
MLOperand input(DOMString name, MLOperandDescriptor descriptor);
// Create an operand for a graph constant.
- MLOperand constant(MLOperandDescriptor descriptor, MLBufferView bufferView);
+ MLOperand constant(MLOperandDescriptor descriptor, ArrayBufferView bufferView);
// Create a single-value operand from the specified number of the specified type.
MLOperand constant(double value, optional MLOperandDataType type = "float32");
// Compile the graph up to the specified output operands asynchronously.
Promise<MLGraph> build(MLNamedOperands outputs);
-
- // Compile the graph up to the specified output operands synchronously.
- [Exposed=(DedicatedWorker)]
- MLGraph buildSync(MLNamedOperands outputs);
};
dictionary MLArgMinMaxOptions {
- sequence<unsigned long> axes = null;
+ sequence<unsigned long> axes;
boolean keepDimensions = false;
boolean selectLastIndex = false;
};
@@ -168,17 +150,10 @@ enum MLConv2dFilterOperandLayout {
"ihwo"
};
-enum MLAutoPad {
- "explicit",
- "same-upper",
- "same-lower"
-};
-
dictionary MLConv2dOptions {
sequence<unsigned long> padding;
sequence<unsigned long> strides;
sequence<unsigned long> dilations;
- MLAutoPad autoPad = "explicit";
unsigned long groups = 1;
MLInputOperandLayout inputLayout = "nchw";
MLConv2dFilterOperandLayout filterLayout = "oihw";
@@ -202,7 +177,6 @@ dictionary MLConvTranspose2dOptions {
sequence<unsigned long> dilations;
sequence<unsigned long> outputPadding;
sequence<unsigned long> outputSizes;
- MLAutoPad autoPad = "explicit";
unsigned long groups = 1;
MLInputOperandLayout inputLayout = "nchw";
MLConvTranspose2dFilterOperandLayout filterLayout = "iohw";
@@ -452,7 +426,6 @@ dictionary MLPool2dOptions {
sequence<unsigned long> padding;
sequence<unsigned long> strides;
sequence<unsigned long> dilations;
- MLAutoPad autoPad = "explicit";
MLInputOperandLayout layout = "nchw";
MLRoundingType roundingType = "floor";
sequence<unsigned long> outputSizes;
@@ -469,7 +442,7 @@ partial interface MLGraphBuilder {
};
dictionary MLReduceOptions {
- sequence<unsigned long> axes = null;
+ sequence<unsigned long> axes;
boolean keepDimensions = false;
};
@@ -574,38 +547,3 @@ partial interface MLGraphBuilder {
partial interface MLGraphBuilder {
MLOperand where(MLOperand condition, MLOperand input, MLOperand other);
};
-
-[SecureContext, Exposed=(Window, DedicatedWorker)]
-interface MLOperand {};
-
-partial interface MLOperand {
- MLOperandDataType dataType();
-};
-
-partial interface MLOperand {
- sequence<unsigned long> shape();
-};
-
-enum MLInputOperandLayout {
- "nchw",
- "nhwc"
-};
-
-enum MLOperandDataType {
- "float32",
- "float16",
- "int32",
- "uint32",
- "int64",
- "uint64",
- "int8",
- "uint8"
-};
-
-dictionary MLOperandDescriptor {
- // The operand type.
- required MLOperandDataType dataType;
-
- // The dimensions field is only required for tensor operands.
- sequence<unsigned long> dimensions;
-};
diff --git a/testing/web-platform/tests/interfaces/webtransport.idl b/testing/web-platform/tests/interfaces/webtransport.idl
index 281c096d21..e598059c93 100644
--- a/testing/web-platform/tests/interfaces/webtransport.idl
+++ b/testing/web-platform/tests/interfaces/webtransport.idl
@@ -23,6 +23,9 @@ interface WebTransport {
readonly attribute Promise<undefined> ready;
readonly attribute WebTransportReliabilityMode reliability;
readonly attribute WebTransportCongestionControl congestionControl;
+ [EnforceRange] attribute unsigned short? anticipatedConcurrentIncomingUnidirectionalStreams;
+ [EnforceRange] attribute unsigned short? anticipatedConcurrentIncomingBidirectionalStreams;
+
readonly attribute Promise<WebTransportCloseInfo> closed;
readonly attribute Promise<undefined> draining;
undefined close(optional WebTransportCloseInfo closeInfo = {});
@@ -59,6 +62,8 @@ dictionary WebTransportOptions {
boolean requireUnreliable = false;
sequence<WebTransportHash> serverCertificateHashes;
WebTransportCongestionControl congestionControl = "default";
+ [EnforceRange] unsigned short? anticipatedConcurrentIncomingUnidirectionalStreams = null;
+ [EnforceRange] unsigned short? anticipatedConcurrentIncomingBidirectionalStreams = null;
};
enum WebTransportCongestionControl {
@@ -93,8 +98,9 @@ dictionary WebTransportConnectionStats {
};
dictionary WebTransportDatagramStats {
- unsigned long long expiredOutgoing;
unsigned long long droppedIncoming;
+ unsigned long long expiredIncoming;
+ unsigned long long expiredOutgoing;
unsigned long long lostOutgoing;
};
@@ -103,6 +109,7 @@ interface WebTransportSendStream : WritableStream {
attribute WebTransportSendGroup? sendGroup;
attribute long long sendOrder;
Promise<WebTransportSendStreamStats> getStats();
+ WebTransportWriter getWriter();
};
dictionary WebTransportSendStreamStats {
@@ -132,6 +139,11 @@ interface WebTransportBidirectionalStream {
readonly attribute WebTransportSendStream writable;
};
+[Exposed=*, SecureContext]
+interface WebTransportWriter : WritableStreamDefaultWriter {
+ Promise<undefined> atomicWrite(optional any chunk);
+};
+
[Exposed=(Window,Worker), Serializable, SecureContext]
interface WebTransportError : DOMException {
constructor(optional DOMString message = "", optional WebTransportErrorOptions options = {});