@webref/idl 3.50.0 → 3.52.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -79,6 +79,6 @@ interface CSSPositionTryDescriptors : CSSStyleDeclaration {
79
79
  attribute CSSOMString justify-self;
80
80
  attribute CSSOMString positionAnchor;
81
81
  attribute CSSOMString position-anchor;
82
- attribute CSSOMString insetArea;
83
- attribute CSSOMString inset-area;
82
+ attribute CSSOMString positionArea;
83
+ attribute CSSOMString position-area;
84
84
  };
@@ -15,10 +15,12 @@ interface CSSConditionRule : CSSGroupingRule {
15
15
  [Exposed=Window]
16
16
  interface CSSMediaRule : CSSConditionRule {
17
17
  [SameObject, PutForwards=mediaText] readonly attribute MediaList media;
18
+ readonly attribute boolean matches;
18
19
  };
19
20
 
20
21
  [Exposed=Window]
21
22
  interface CSSSupportsRule : CSSConditionRule {
23
+ readonly attribute boolean matches;
22
24
  };
23
25
 
24
26
  partial namespace CSS {
@@ -97,8 +97,6 @@ enum FontFaceSetLoadStatus { "loading", "loaded" };
97
97
 
98
98
  [Exposed=(Window,Worker)]
99
99
  interface FontFaceSet : EventTarget {
100
- constructor(sequence<FontFace> initialFaces);
101
-
102
100
  setlike<FontFace>;
103
101
  FontFaceSet add(FontFace font);
104
102
  boolean delete(FontFace font);
package/css-mixins.idl ADDED
@@ -0,0 +1,7 @@
1
+ // GENERATED CONTENT - DO NOT EDIT
2
+ // Content was automatically extracted by Reffy into webref
3
+ // (https://github.com/w3c/webref)
4
+ // Source: CSS Functions and Mixins Module (https://drafts.csswg.org/css-mixins-1/)
5
+
6
+ [Exposed=Window]
7
+ interface CSSFunctionRule : CSSGroupingRule { };
@@ -3,10 +3,6 @@
3
3
  // (https://github.com/w3c/webref)
4
4
  // Source: CSS View Transitions Module Level 2 (https://drafts.csswg.org/css-view-transitions-2/)
5
5
 
6
- partial interface CSSRule {
7
- const unsigned short VIEW_TRANSITION_RULE = 15;
8
- };
9
-
10
6
  enum ViewTransitionNavigation { "auto", "none" };
11
7
 
12
8
  [Exposed=Window]
package/cssom.idl CHANGED
@@ -122,7 +122,8 @@ interface CSSPageDescriptors : CSSStyleDeclaration {
122
122
  attribute [LegacyNullToEmptyString] CSSOMString margin-bottom;
123
123
  attribute [LegacyNullToEmptyString] CSSOMString margin-left;
124
124
  attribute [LegacyNullToEmptyString] CSSOMString size;
125
- attribute [LegacyNullToEmptyString] CSSOMString orientation;
125
+ attribute [LegacyNullToEmptyString] CSSOMString pageOrientation;
126
+ attribute [LegacyNullToEmptyString] CSSOMString page-orientation;
126
127
  attribute [LegacyNullToEmptyString] CSSOMString marks;
127
128
  attribute [LegacyNullToEmptyString] CSSOMString bleed;
128
129
  };
package/html.idl CHANGED
@@ -1411,8 +1411,6 @@ interface mixin CanvasDrawPath {
1411
1411
  interface mixin CanvasUserInterface {
1412
1412
  undefined drawFocusIfNeeded(Element element);
1413
1413
  undefined drawFocusIfNeeded(Path2D path, Element element);
1414
- undefined scrollPathIntoView();
1415
- undefined scrollPathIntoView(Path2D path);
1416
1414
  };
1417
1415
 
1418
1416
  interface mixin CanvasText {
package/mediasession.idl CHANGED
@@ -30,7 +30,8 @@ enum MediaSessionAction {
30
30
  "hangup",
31
31
  "previousslide",
32
32
  "nextslide",
33
- "enterpictureinpicture"
33
+ "enterpictureinpicture",
34
+ "voiceactivity"
34
35
  };
35
36
 
36
37
  callback MediaSessionActionHandler = undefined(MediaSessionActionDetails details);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@webref/idl",
3
3
  "description": "Web IDL definitions of the web platform",
4
- "version": "3.50.0",
4
+ "version": "3.52.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/w3c/webref.git"
@@ -1,7 +1,7 @@
1
1
  // GENERATED CONTENT - DO NOT EDIT
2
2
  // Content was automatically extracted by Reffy into webref
3
3
  // (https://github.com/w3c/webref)
4
- // Source: Payment Request API 1.1 (https://w3c.github.io/payment-request/)
4
+ // Source: Payment Request API (https://w3c.github.io/payment-request/)
5
5
 
6
6
  [SecureContext, Exposed=Window]
7
7
  interface PaymentRequest : EventTarget {
@@ -5,6 +5,8 @@
5
5
 
6
6
  typedef (USVString or FencedFrameConfig) SharedStorageResponse;
7
7
 
8
+ enum SharedStorageDataOrigin { "context-origin", "script-origin" };
9
+
8
10
  [Exposed=(Window)]
9
11
  interface SharedStorageWorklet : Worklet {
10
12
  Promise<SharedStorageResponse> selectURL(DOMString name,
@@ -52,7 +54,7 @@ interface WindowSharedStorage : SharedStorage {
52
54
  Promise<any> run(DOMString name,
53
55
  optional SharedStorageRunOperationMethodOptions options = {});
54
56
 
55
- Promise<SharedStorageWorklet> createWorklet(USVString moduleURL, optional WorkletOptions options = {});
57
+ Promise<SharedStorageWorklet> createWorklet(USVString moduleURL, optional SharedStorageWorkletOptions options = {});
56
58
 
57
59
  readonly attribute SharedStorageWorklet worklet;
58
60
  };
@@ -63,6 +65,10 @@ dictionary SharedStorageRunOperationMethodOptions {
63
65
  boolean keepAlive = false;
64
66
  };
65
67
 
68
+ dictionary SharedStorageWorkletOptions : WorkletOptions {
69
+ SharedStorageDataOrigin dataOrigin = "context-origin";
70
+ };
71
+
66
72
  partial interface Window {
67
73
  [SecureContext] readonly attribute WindowSharedStorage? sharedStorage;
68
74
  };
package/touch-events.idl CHANGED
@@ -53,9 +53,9 @@ interface TouchList {
53
53
  };
54
54
 
55
55
  dictionary TouchEventInit : EventModifierInit {
56
- sequence<Touch> touches = [];
57
- sequence<Touch> targetTouches = [];
58
- sequence<Touch> changedTouches = [];
56
+ sequence<Touch> touches = [];
57
+ sequence<Touch> targetTouches = [];
58
+ sequence<Touch> changedTouches = [];
59
59
  };
60
60
 
61
61
  [Exposed=Window]
package/turtledove.idl CHANGED
@@ -215,6 +215,7 @@ dictionary BiddingBrowserSignals {
215
215
  sequence<PreviousWin> prevWinsMs;
216
216
  object wasmHelper;
217
217
  unsigned long dataVersion;
218
+ unsigned long crossOriginDataVersion;
218
219
  boolean forDebuggingOnlyInCooldownOrLockout = false;
219
220
  };
220
221
 
@@ -227,6 +228,7 @@ dictionary ScoringBrowserSignals {
227
228
 
228
229
  record<DOMString, DOMString> renderSize;
229
230
  unsigned long dataVersion;
231
+ unsigned long crossOriginDataVersion;
230
232
  sequence<USVString> adComponents;
231
233
  boolean forDebuggingOnlyInCooldownOrLockout = false;
232
234
  };
package/webaudio.idl CHANGED
@@ -82,6 +82,7 @@ interface AudioContext : BaseAudioContext {
82
82
  [SecureContext] readonly attribute (DOMString or AudioSinkInfo) sinkId;
83
83
  [SecureContext] readonly attribute AudioRenderCapacity renderCapacity;
84
84
  attribute EventHandler onsinkchange;
85
+ attribute EventHandler onerror;
85
86
  AudioTimestamp getOutputTimestamp ();
86
87
  Promise<undefined> resume ();
87
88
  Promise<undefined> suspend ();
package/webauthn.idl CHANGED
@@ -38,7 +38,7 @@ dictionary AuthenticatorAttestationResponseJSON {
38
38
  // algorithm then the public key must be parsed directly from
39
39
  // attestationObject or authenticatorData.
40
40
  Base64URLString publicKey;
41
- required long long publicKeyAlgorithm;
41
+ required COSEAlgorithmIdentifier publicKeyAlgorithm;
42
42
  // This value contains copies of some of the fields above. See
43
43
  // section “Easily accessing credential data”.
44
44
  required Base64URLString attestationObject;
@@ -272,6 +272,7 @@ enum ClientCapability {
272
272
  "hybridTransport",
273
273
  "passkeyPlatformAuthenticator",
274
274
  "userVerifyingPlatformAuthenticator",
275
+ "relatedOrigins"
275
276
  };
276
277
 
277
278
  enum PublicKeyCredentialHints {
package/webcodecs.idl CHANGED
@@ -488,7 +488,7 @@ interface ImageDecoder {
488
488
  static Promise<boolean> isTypeSupported(DOMString type);
489
489
  };
490
490
 
491
- typedef (BufferSource or ReadableStream) ImageBufferSource;
491
+ typedef (AllowSharedBufferSource or ReadableStream) ImageBufferSource;
492
492
  dictionary ImageDecoderInit {
493
493
  required DOMString type;
494
494
  required ImageBufferSource data;
package/webmidi.idl CHANGED
@@ -17,22 +17,22 @@ dictionary MIDIOptions {
17
17
  boolean software;
18
18
  };
19
19
 
20
- [SecureContext, Exposed=Window] interface MIDIInputMap {
20
+ [SecureContext, Exposed=(Window,Worker)] interface MIDIInputMap {
21
21
  readonly maplike <DOMString, MIDIInput>;
22
22
  };
23
23
 
24
- [SecureContext, Exposed=Window] interface MIDIOutputMap {
24
+ [SecureContext, Exposed=(Window,Worker)] interface MIDIOutputMap {
25
25
  readonly maplike <DOMString, MIDIOutput>;
26
26
  };
27
27
 
28
- [SecureContext, Exposed=Window] interface MIDIAccess: EventTarget {
28
+ [SecureContext, Exposed=(Window,Worker), Transferable] interface MIDIAccess: EventTarget {
29
29
  readonly attribute MIDIInputMap inputs;
30
30
  readonly attribute MIDIOutputMap outputs;
31
31
  attribute EventHandler onstatechange;
32
32
  readonly attribute boolean sysexEnabled;
33
33
  };
34
34
 
35
- [SecureContext, Exposed=Window] interface MIDIPort: EventTarget {
35
+ [SecureContext, Exposed=(Window,Worker)] interface MIDIPort: EventTarget {
36
36
  readonly attribute DOMString id;
37
37
  readonly attribute DOMString? manufacturer;
38
38
  readonly attribute DOMString? name;
@@ -45,11 +45,11 @@ dictionary MIDIOptions {
45
45
  Promise <MIDIPort> close();
46
46
  };
47
47
 
48
- [SecureContext, Exposed=Window] interface MIDIInput: MIDIPort {
48
+ [SecureContext, Exposed=(Window,Worker)] interface MIDIInput: MIDIPort {
49
49
  attribute EventHandler onmidimessage;
50
50
  };
51
51
 
52
- [SecureContext, Exposed=Window] interface MIDIOutput : MIDIPort {
52
+ [SecureContext, Exposed=(Window,Worker)] interface MIDIOutput : MIDIPort {
53
53
  undefined send(sequence<octet> data, optional DOMHighResTimeStamp timestamp = 0);
54
54
  undefined clear();
55
55
  };
@@ -70,7 +70,7 @@ enum MIDIPortConnectionState {
70
70
  "pending",
71
71
  };
72
72
 
73
- [SecureContext, Exposed=Window]
73
+ [SecureContext, Exposed=(Window,Worker)]
74
74
  interface MIDIMessageEvent : Event {
75
75
  constructor(DOMString type, optional MIDIMessageEventInit eventInitDict = {});
76
76
  readonly attribute Uint8Array? data;
@@ -80,7 +80,7 @@ dictionary MIDIMessageEventInit: EventInit {
80
80
  Uint8Array data;
81
81
  };
82
82
 
83
- [SecureContext, Exposed=Window]
83
+ [SecureContext, Exposed=(Window,Worker)]
84
84
  interface MIDIConnectionEvent : Event {
85
85
  constructor(DOMString type, optional MIDIConnectionEventInit eventInitDict = {});
86
86
  readonly attribute MIDIPort? port;
package/webnn.idl CHANGED
@@ -32,7 +32,7 @@ interface ML {
32
32
  Promise<MLContext> createContext(GPUDevice gpuDevice);
33
33
  };
34
34
 
35
- typedef record<DOMString, ArrayBufferView> MLNamedArrayBufferViews;
35
+ typedef record<USVString, ArrayBufferView> MLNamedArrayBufferViews;
36
36
 
37
37
  dictionary MLComputeResult {
38
38
  MLNamedArrayBufferViews inputs;
@@ -75,10 +75,9 @@ interface MLOperand {
75
75
  sequence<unsigned long> shape();
76
76
  };
77
77
 
78
- [SecureContext, Exposed=(Window, DedicatedWorker)]
79
- interface MLActivation {};
78
+ typedef (bigint or unrestricted double) MLNumber;
80
79
 
81
- typedef record<DOMString, MLOperand> MLNamedOperands;
80
+ typedef record<USVString, MLOperand> MLNamedOperands;
82
81
 
83
82
  [SecureContext, Exposed=(Window, DedicatedWorker)]
84
83
  interface MLGraphBuilder {
@@ -86,34 +85,35 @@ interface MLGraphBuilder {
86
85
  constructor(MLContext context);
87
86
 
88
87
  // Create an operand for a graph input.
89
- MLOperand input(DOMString name, MLOperandDescriptor descriptor);
88
+ MLOperand input(USVString name, MLOperandDescriptor descriptor);
90
89
 
91
90
  // Create an operand for a graph constant.
92
91
  MLOperand constant(MLOperandDescriptor descriptor, ArrayBufferView bufferView);
93
92
 
94
93
  // Create a scalar operand from the specified number of the specified type.
95
- MLOperand constant(MLOperandDataType type, double value);
94
+ MLOperand constant(MLOperandDataType type, MLNumber value);
96
95
 
97
96
  // Compile the graph up to the specified output operands asynchronously.
98
97
  Promise<MLGraph> build(MLNamedOperands outputs);
99
98
  };
100
99
 
101
100
  dictionary MLArgMinMaxOptions {
102
- sequence<[EnforceRange] unsigned long> axes;
103
101
  boolean keepDimensions = false;
104
- boolean selectLastIndex = false;
102
+ MLOperandDataType outputDataType = "int32";
105
103
  };
106
104
 
107
105
  partial interface MLGraphBuilder {
108
- MLOperand argMin(MLOperand input, optional MLArgMinMaxOptions options = {});
109
- MLOperand argMax(MLOperand input, optional MLArgMinMaxOptions options = {});
106
+ MLOperand argMin(MLOperand input, [EnforceRange] unsigned long axis,
107
+ optional MLArgMinMaxOptions options = {});
108
+ MLOperand argMax(MLOperand input, [EnforceRange] unsigned long axis,
109
+ optional MLArgMinMaxOptions options = {});
110
110
  };
111
111
 
112
112
  dictionary MLBatchNormalizationOptions {
113
113
  MLOperand scale;
114
114
  MLOperand bias;
115
115
  [EnforceRange] unsigned long axis = 1;
116
- float epsilon = 1e-5;
116
+ double epsilon = 1e-5;
117
117
  };
118
118
 
119
119
  partial interface MLGraphBuilder {
@@ -126,8 +126,8 @@ partial interface MLGraphBuilder {
126
126
  };
127
127
 
128
128
  dictionary MLClampOptions {
129
- float minValue;
130
- float maxValue;
129
+ MLNumber minValue;
130
+ MLNumber maxValue;
131
131
  };
132
132
 
133
133
  partial interface MLGraphBuilder {
@@ -220,12 +220,11 @@ partial interface MLGraphBuilder {
220
220
  };
221
221
 
222
222
  dictionary MLEluOptions {
223
- float alpha = 1;
223
+ double alpha = 1;
224
224
  };
225
225
 
226
226
  partial interface MLGraphBuilder {
227
227
  MLOperand elu(MLOperand input, optional MLEluOptions options = {});
228
- MLActivation elu(optional MLEluOptions options = {});
229
228
  };
230
229
 
231
230
  partial interface MLGraphBuilder {
@@ -244,13 +243,12 @@ partial interface MLGraphBuilder {
244
243
 
245
244
  partial interface MLGraphBuilder {
246
245
  MLOperand gelu(MLOperand input);
247
- MLActivation gelu();
248
246
  };
249
247
 
250
248
  dictionary MLGemmOptions {
251
249
  MLOperand c;
252
- float alpha = 1.0;
253
- float beta = 1.0;
250
+ double alpha = 1.0;
251
+ double beta = 1.0;
254
252
  boolean aTranspose = false;
255
253
  boolean bTranspose = false;
256
254
  };
@@ -264,6 +262,12 @@ enum MLGruWeightLayout {
264
262
  "rzn" // reset-update-new gate ordering
265
263
  };
266
264
 
265
+ enum MLRecurrentNetworkActivation {
266
+ "relu",
267
+ "sigmoid",
268
+ "tanh"
269
+ };
270
+
267
271
  enum MLRecurrentNetworkDirection {
268
272
  "forward",
269
273
  "backward",
@@ -278,7 +282,7 @@ dictionary MLGruOptions {
278
282
  boolean returnSequence = false;
279
283
  MLRecurrentNetworkDirection direction = "forward";
280
284
  MLGruWeightLayout layout = "zrn";
281
- sequence<MLActivation> activations;
285
+ sequence<MLRecurrentNetworkActivation> activations;
282
286
  };
283
287
 
284
288
  partial interface MLGraphBuilder {
@@ -295,7 +299,7 @@ dictionary MLGruCellOptions {
295
299
  MLOperand recurrentBias;
296
300
  boolean resetAfter = true;
297
301
  MLGruWeightLayout layout = "zrn";
298
- sequence<MLActivation> activations;
302
+ sequence<MLRecurrentNetworkActivation> activations;
299
303
  };
300
304
 
301
305
  partial interface MLGraphBuilder {
@@ -308,24 +312,22 @@ partial interface MLGraphBuilder {
308
312
  };
309
313
 
310
314
  dictionary MLHardSigmoidOptions {
311
- float alpha = 0.2;
312
- float beta = 0.5;
315
+ double alpha = 0.2;
316
+ double beta = 0.5;
313
317
  };
314
318
 
315
319
  partial interface MLGraphBuilder {
316
320
  MLOperand hardSigmoid(MLOperand input, optional MLHardSigmoidOptions options = {});
317
- MLActivation hardSigmoid(optional MLHardSigmoidOptions options = {});
318
321
  };
319
322
 
320
323
  partial interface MLGraphBuilder {
321
324
  MLOperand hardSwish(MLOperand input);
322
- MLActivation hardSwish();
323
325
  };
324
326
 
325
327
  dictionary MLInstanceNormalizationOptions {
326
328
  MLOperand scale;
327
329
  MLOperand bias;
328
- float epsilon = 1e-5;
330
+ double epsilon = 1e-5;
329
331
  MLInputOperandLayout layout = "nchw";
330
332
  };
331
333
 
@@ -338,7 +340,7 @@ dictionary MLLayerNormalizationOptions {
338
340
  MLOperand scale;
339
341
  MLOperand bias;
340
342
  sequence<[EnforceRange] unsigned long> axes;
341
- float epsilon = 1e-5;
343
+ double epsilon = 1e-5;
342
344
  };
343
345
 
344
346
  partial interface MLGraphBuilder {
@@ -347,22 +349,20 @@ partial interface MLGraphBuilder {
347
349
  };
348
350
 
349
351
  dictionary MLLeakyReluOptions {
350
- float alpha = 0.01;
352
+ double alpha = 0.01;
351
353
  };
352
354
 
353
355
  partial interface MLGraphBuilder {
354
356
  MLOperand leakyRelu(MLOperand input, optional MLLeakyReluOptions options = {});
355
- MLActivation leakyRelu(optional MLLeakyReluOptions options = {});
356
357
  };
357
358
 
358
359
  dictionary MLLinearOptions {
359
- float alpha = 1;
360
- float beta = 0;
360
+ double alpha = 1;
361
+ double beta = 0;
361
362
  };
362
363
 
363
364
  partial interface MLGraphBuilder {
364
365
  MLOperand linear(MLOperand input, optional MLLinearOptions options = {});
365
- MLActivation linear(optional MLLinearOptions options = {});
366
366
  };
367
367
 
368
368
  enum MLLstmWeightLayout {
@@ -379,7 +379,7 @@ dictionary MLLstmOptions {
379
379
  boolean returnSequence = false;
380
380
  MLRecurrentNetworkDirection direction = "forward";
381
381
  MLLstmWeightLayout layout = "iofg";
382
- sequence<MLActivation> activations;
382
+ sequence<MLRecurrentNetworkActivation> activations;
383
383
  };
384
384
 
385
385
  partial interface MLGraphBuilder {
@@ -396,7 +396,7 @@ dictionary MLLstmCellOptions {
396
396
  MLOperand recurrentBias;
397
397
  MLOperand peepholeWeight;
398
398
  MLLstmWeightLayout layout = "iofg";
399
- sequence<MLActivation> activations;
399
+ sequence<MLRecurrentNetworkActivation> activations;
400
400
  };
401
401
 
402
402
  partial interface MLGraphBuilder {
@@ -422,7 +422,7 @@ enum MLPaddingMode {
422
422
 
423
423
  dictionary MLPadOptions {
424
424
  MLPaddingMode mode = "constant";
425
- float value = 0;
425
+ MLNumber value = 0;
426
426
  };
427
427
 
428
428
  partial interface MLGraphBuilder {
@@ -477,7 +477,6 @@ partial interface MLGraphBuilder {
477
477
 
478
478
  partial interface MLGraphBuilder {
479
479
  MLOperand relu(MLOperand input);
480
- MLActivation relu();
481
480
  };
482
481
 
483
482
  enum MLInterpolationMode {
@@ -502,7 +501,6 @@ partial interface MLGraphBuilder {
502
501
 
503
502
  partial interface MLGraphBuilder {
504
503
  MLOperand sigmoid(MLOperand input);
505
- MLActivation sigmoid();
506
504
  };
507
505
 
508
506
  partial interface MLGraphBuilder {
@@ -517,12 +515,10 @@ partial interface MLGraphBuilder {
517
515
 
518
516
  partial interface MLGraphBuilder {
519
517
  MLOperand softplus(MLOperand input);
520
- MLActivation softplus();
521
518
  };
522
519
 
523
520
  partial interface MLGraphBuilder {
524
521
  MLOperand softsign(MLOperand input);
525
- MLActivation softsign();
526
522
  };
527
523
 
528
524
  dictionary MLSplitOptions {
@@ -538,7 +534,6 @@ partial interface MLGraphBuilder {
538
534
 
539
535
  partial interface MLGraphBuilder {
540
536
  MLOperand tanh(MLOperand input);
541
- MLActivation tanh();
542
537
  };
543
538
 
544
539
  dictionary MLTransposeOptions {
@@ -559,5 +554,5 @@ partial interface MLGraphBuilder {
559
554
  };
560
555
 
561
556
  partial interface MLGraphBuilder {
562
- MLOperand where(MLOperand condition, MLOperand input, MLOperand other);
557
+ MLOperand where(MLOperand condition, MLOperand trueValue, MLOperand falseValue);
563
558
  };
package/webtransport.idl CHANGED
@@ -84,24 +84,24 @@ dictionary WebTransportSendStreamOptions {
84
84
  };
85
85
 
86
86
  dictionary WebTransportConnectionStats {
87
- unsigned long long bytesSent;
88
- unsigned long long packetsSent;
89
- unsigned long long bytesLost;
90
- unsigned long long packetsLost;
91
- unsigned long long bytesReceived;
92
- unsigned long long packetsReceived;
93
- DOMHighResTimeStamp smoothedRtt;
94
- DOMHighResTimeStamp rttVariation;
95
- DOMHighResTimeStamp minRtt;
96
- WebTransportDatagramStats datagrams;
97
- unsigned long long? estimatedSendRate;
87
+ unsigned long long bytesSent = 0;
88
+ unsigned long long packetsSent = 0;
89
+ unsigned long long bytesLost = 0;
90
+ unsigned long long packetsLost = 0;
91
+ unsigned long long bytesReceived = 0;
92
+ unsigned long long packetsReceived = 0;
93
+ required DOMHighResTimeStamp smoothedRtt;
94
+ required DOMHighResTimeStamp rttVariation;
95
+ required DOMHighResTimeStamp minRtt;
96
+ required WebTransportDatagramStats datagrams;
97
+ required unsigned long long? estimatedSendRate;
98
98
  };
99
99
 
100
100
  dictionary WebTransportDatagramStats {
101
- unsigned long long droppedIncoming;
102
- unsigned long long expiredIncoming;
103
- unsigned long long expiredOutgoing;
104
- unsigned long long lostOutgoing;
101
+ unsigned long long droppedIncoming = 0;
102
+ unsigned long long expiredIncoming = 0;
103
+ unsigned long long expiredOutgoing = 0;
104
+ unsigned long long lostOutgoing = 0;
105
105
  };
106
106
 
107
107
  [Exposed=(Window,Worker), SecureContext, Transferable]
@@ -113,9 +113,9 @@ interface WebTransportSendStream : WritableStream {
113
113
  };
114
114
 
115
115
  dictionary WebTransportSendStreamStats {
116
- unsigned long long bytesWritten;
117
- unsigned long long bytesSent;
118
- unsigned long long bytesAcknowledged;
116
+ unsigned long long bytesWritten = 0;
117
+ unsigned long long bytesSent = 0;
118
+ unsigned long long bytesAcknowledged = 0;
119
119
  };
120
120
 
121
121
  [Exposed=(Window,Worker), SecureContext]
@@ -129,8 +129,8 @@ interface WebTransportReceiveStream : ReadableStream {
129
129
  };
130
130
 
131
131
  dictionary WebTransportReceiveStreamStats {
132
- unsigned long long bytesReceived;
133
- unsigned long long bytesRead;
132
+ unsigned long long bytesReceived = 0;
133
+ unsigned long long bytesRead = 0;
134
134
  };
135
135
 
136
136
  [Exposed=(Window,Worker), SecureContext]